home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / games / doom / pmdoom / include / i_system.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-17  |  2.9 KB  |  110 lines

  1. /*  Emacs style mode select   -*- C++ -*-  */
  2. /* ----------------------------------------------------------------------------- */
  3. /*  */
  4. /*  $Id:$ */
  5. /*  */
  6. /*  Copyright (C) 1993-1996 by id Software, Inc. */
  7. /*  */
  8. /*  This source is available for distribution and/or modification */
  9. /*  only under the terms of the DOOM Source Code License as */
  10. /*  published by id Software. All rights reserved. */
  11. /*  */
  12. /*  The source is distributed in the hope that it will be useful, */
  13. /*  but WITHOUT ANY WARRANTY; without even the implied warranty of */
  14. /*  FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License */
  15. /*  for more details. */
  16. /*  */
  17. /*  DESCRIPTION: */
  18. /*     System specific interface stuff. */
  19. /*  */
  20. /* ----------------------------------------------------------------------------- */
  21.  
  22.  
  23. #ifndef __I_SYSTEM__
  24. #define __I_SYSTEM__
  25.  
  26. #include "d_ticcmd.h"
  27. #include "d_event.h"
  28.  
  29. #ifdef __GNUG__
  30. #pragma interface
  31. #endif
  32.  
  33.  
  34. /*  Called by DoomMain. */
  35. void I_Init (void);
  36.  
  37. /*  Called by startup code */
  38. /*  to get the ammount of memory to malloc */
  39. /*  for the zone management. */
  40. byte*    I_ZoneBase (int *size);
  41.  
  42.  
  43. /*  Called by D_DoomLoop, */
  44. /*  returns current time in tics. */
  45. int I_GetTime (void);
  46.  
  47.  
  48. /*  */
  49. /*  Called by D_DoomLoop, */
  50. /*  called before processing any tics in a frame */
  51. /*  (just after displaying a frame). */
  52. /*  Time consuming syncronous operations */
  53. /*  are performed here (joystick reading). */
  54. /*  Can call D_PostEvent. */
  55. /*  */
  56. void I_StartFrame (void);
  57.  
  58.  
  59. /*  */
  60. /*  Called by D_DoomLoop, */
  61. /*  called before processing each tic in a frame. */
  62. /*  Quick syncronous operations are performed here. */
  63. /*  Can call D_PostEvent. */
  64. /* extern void (*I_StartTic) (void); */
  65. void I_StartTic(void);
  66.  
  67. extern void (*I_InitControl) (void);
  68. extern void (*I_ShutdownControl) (void);
  69.  
  70. extern void (*I_UpdateKeyboard) (void);
  71. extern void (*I_UpdateMouse) (void);
  72. extern void (*I_UpdateJoystick) (void);
  73. #ifdef ATARI
  74. extern void (*I_UpdateJoypad) (void);
  75. #endif
  76.  
  77. /*  Asynchronous interrupt functions should maintain private queues */
  78. /*  that are read by the synchronous functions */
  79. /*  to be converted into events. */
  80.  
  81. /*  Either returns a null ticcmd, */
  82. /*  or calls a loadable driver to build it. */
  83. /*  This ticcmd will then be modified by the gameloop */
  84. /*  for normal input. */
  85. ticcmd_t* I_BaseTiccmd (void);
  86.  
  87.  
  88. /*  Called by M_Responder when quit is selected. */
  89. /*  Clean exit, displays sell blurb. */
  90. void I_Quit (void);
  91.  
  92.  
  93. /*  Allocates from low memory under dos, */
  94. /*  just mallocs under unix */
  95. byte* I_AllocLow (int length);
  96.  
  97. void I_Tactile (int on, int off, int total);
  98.  
  99.  
  100. void I_Error (char *error, ...);
  101.  
  102. void I_SysInit(void);    /* Initialize dynamic calls */
  103.  
  104. #endif
  105. /* ----------------------------------------------------------------------------- */
  106. /*  */
  107. /*  $Log:$ */
  108. /*  */
  109. /* ----------------------------------------------------------------------------- */
  110.