|
|
1.1 root 1: // Emacs style mode select -*- C++ -*-
2: //-----------------------------------------------------------------------------
3: //
4: // $Id:$
5: //
6: // Copyright (C) 1993-1996 by id Software, Inc.
7: //
1.1.1.2 ! root 8: // This program is free software; you can redistribute it and/or
! 9: // modify it under the terms of the GNU General Public License
! 10: // as published by the Free Software Foundation; either version 2
! 11: // of the License, or (at your option) any later version.
1.1 root 12: //
1.1.1.2 ! root 13: // This program is distributed in the hope that it will be useful,
1.1 root 14: // but WITHOUT ANY WARRANTY; without even the implied warranty of
1.1.1.2 ! root 15: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 16: // GNU General Public License for more details.
1.1 root 17: //
18: // DESCRIPTION:
19: // System specific interface stuff.
20: //
21: //-----------------------------------------------------------------------------
22:
23:
24: #ifndef __I_SYSTEM__
25: #define __I_SYSTEM__
26:
27: #include "d_ticcmd.h"
28: #include "d_event.h"
29:
30: #ifdef __GNUG__
31: #pragma interface
32: #endif
33:
34:
35: // Called by DoomMain.
36: void I_Init (void);
37:
38: // Called by startup code
39: // to get the ammount of memory to malloc
40: // for the zone management.
41: byte* I_ZoneBase (int *size);
42:
43:
44: // Called by D_DoomLoop,
45: // returns current time in tics.
46: int I_GetTime (void);
47:
48:
49: //
50: // Called by D_DoomLoop,
51: // called before processing any tics in a frame
52: // (just after displaying a frame).
53: // Time consuming syncronous operations
54: // are performed here (joystick reading).
55: // Can call D_PostEvent.
56: //
57: void I_StartFrame (void);
58:
59:
60: //
61: // Called by D_DoomLoop,
62: // called before processing each tic in a frame.
63: // Quick syncronous operations are performed here.
64: // Can call D_PostEvent.
65: void I_StartTic (void);
66:
67: // Asynchronous interrupt functions should maintain private queues
68: // that are read by the synchronous functions
69: // to be converted into events.
70:
71: // Either returns a null ticcmd,
72: // or calls a loadable driver to build it.
73: // This ticcmd will then be modified by the gameloop
74: // for normal input.
75: ticcmd_t* I_BaseTiccmd (void);
76:
77:
78: // Called by M_Responder when quit is selected.
79: // Clean exit, displays sell blurb.
80: void I_Quit (void);
81:
82:
83: // Allocates from low memory under dos,
84: // just mallocs under unix
85: byte* I_AllocLow (int length);
86:
87: void I_Tactile (int on, int off, int total);
88:
89:
90: void I_Error (char *error, ...);
91:
92:
93: #endif
94: //-----------------------------------------------------------------------------
95: //
96: // $Log:$
97: //
98: //-----------------------------------------------------------------------------
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.