Subversion Repositories Games.Carmageddon

Rev

Rev 1 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef _PD_SYS_H_
  2. #define _PD_SYS_H_
  3.  
  4. // Jeff:
  5. // Header files are generated from information in the original symbol dump, but we don't exactly know what this used to look like or be called.
  6. // Each platform build included a platform-dependant `sys` and `net` files. From the symbol dump and debug/error messages in the binaries,
  7. // we know of at least `pc-dos/dossys.c`, `pc-dos/dosnet.c`, `Win95sys.c`.
  8. // Functions contained within these files are prefixed with `PD` - we assume that is short for something like `Platform Dependant`.
  9.  
  10. #include "dr_types.h"
  11.  
  12. #include "harness/compiler.h"
  13.  
  14. #include <math.h>
  15. #include <stdio.h>
  16. #include <stdlib.h>
  17. #include <string.h>
  18.  
  19. extern int gASCII_table[128];
  20. extern tU32 gKeyboard_bits[8];
  21. extern int gASCII_shift_table[128];
  22. extern tGraf_spec gGraf_specs[2];
  23. extern char gNetwork_profile_fname[256];
  24. extern tS32 gJoystick_min1y;
  25. extern tS32 gJoystick_min2y;
  26. extern tS32 gJoystick_min2x;
  27. extern tS32 gRaw_joystick2y;
  28. extern tS32 gRaw_joystick2x;
  29. extern tS32 gRaw_joystick1y;
  30. extern tS32 gRaw_joystick1x;
  31. extern tS32 gJoystick_range2y;
  32. extern tS32 gJoystick_range2x;
  33. extern tS32 gJoystick_range1y;
  34. extern tS32 gJoystick_range1x;
  35. extern int gNo_voodoo;
  36. extern int gSwitched_resolution;
  37. extern int gReplay_override;
  38. extern br_pixelmap* gReal_back_screen;
  39. extern tS32 gJoystick_min1x;
  40. extern br_pixelmap* gTemp_screen;
  41. extern int gDOSGfx_initialized;
  42. extern tU32 gUpper_loop_limit;
  43. extern int gExtra_mem;
  44. extern int gReal_back_screen_locked;
  45. extern void (*gPrev_keyboard_handler)(void);
  46.  
  47. // DOS
  48. // extern tU8 gScan_code[123][2];
  49. // Windows
  50. extern tU32 gScan_code[123];
  51.  
  52. extern char* _unittest_last_fatal_error;
  53.  
  54. // void KeyboardHandler(void);
  55.  
  56. // int KeyDown(tU8 pScan_code);
  57.  
  58. // void KeyTranslation(tU8 pKey_index, tU8 pScan_code_1, tU8 pScan_code_2);
  59.  
  60. // void KeyBegin(void);
  61.  
  62. // void KeyEnd(void);
  63.  
  64. // int KeyDown22(int pKey_index);
  65.  
  66. void PDSetKeyArray(int* pKeys, int pMark);
  67.  
  68. int PDGetASCIIFromKey(int pKey);
  69.  
  70. HARNESS_NORETURN void PDFatalError(char* pThe_str);
  71.  
  72. void PDNonFatalError(char* pThe_str);
  73.  
  74. void PDInitialiseSystem(void);
  75.  
  76. HARNESS_NORETURN void PDShutdownSystem(void);
  77.  
  78. void PDSaveOriginalPalette(void);
  79.  
  80. void PDRevertPalette(void);
  81.  
  82. int PDInitScreenVars(int pArgc, char** pArgv);
  83.  
  84. void PDInitScreen(void);
  85.  
  86. void PDLockRealBackScreen(void);
  87.  
  88. void PDUnlockRealBackScreen(void);
  89.  
  90. void PDAllocateScreenAndBack(void);
  91.  
  92. // void Copy8BitTo16BitPixelmap(br_pixelmap* pDst, br_pixelmap* pSrc, br_pixelmap* pPalette);
  93.  
  94. // void Double8BitTo16BitPixelmap(br_pixelmap* pDst, br_pixelmap* pSrc, br_pixelmap* pPalette, tU16 pOff, tU16 pSrc_width, tU16 pSrc_height);
  95.  
  96. br_pixelmap* PDInterfacePixelmap(void);
  97.  
  98. // void SwapBackScreen(void);
  99.  
  100. // void ReallyCopyBackScreen(int pRendering_area_only, int pClear_top_and_bottom);
  101.  
  102. // void CopyBackScreen(int pRendering_area_only);
  103.  
  104. void PDScreenBufferSwap(int pRendering_area_only);
  105.  
  106. void PDPixelmapToScreenRectangleCopy(br_pixelmap* dst, br_int_16 dx, br_int_16 dy, br_pixelmap* src, br_int_16 sx, br_int_16 sy, br_uint_16 w, br_uint_16 h);
  107.  
  108. void PDPixelmapHLineOnScreen(br_pixelmap* dst, br_int_16 x1, br_int_16 y1, br_int_16 x2, br_int_16 y2, br_uint_32 colour);
  109.  
  110. void PDPixelmapVLineOnScreen(br_pixelmap* dst, br_int_16 x1, br_int_16 y1, br_int_16 x2, br_int_16 y2, br_uint_32 colour);
  111.  
  112. void PDInstallErrorHandlers(void);
  113.  
  114. void PDSetFileVariables(void);
  115.  
  116. void PDBuildAppPath(char* pThe_path);
  117.  
  118. void PDForEveryFile(char* pThe_path, void (*pAction_routine)(char*));
  119.  
  120. void PDSetPalette(br_pixelmap* pThe_palette);
  121.  
  122. void PDSetPaletteEntries(br_pixelmap* pPalette, int pFirst_colour, int pCount);
  123.  
  124. void PDSwitchToRealResolution(void);
  125.  
  126. void PDSwitchToLoresMode(void);
  127.  
  128. void PDMouseButtons(int* pButton_1, int* pButton_2);
  129.  
  130. void PDGetMousePosition(int* pX_coord, int* pY_coord);
  131.  
  132. int PDGetTotalTime(void);
  133.  
  134. int PDServiceSystem(tU32 pTime_since_last_call);
  135.  
  136. // tU32 LargestBlockAvail(void);
  137.  
  138. void* PDGrabLargestMammaryWeCanPlayWith(tU32 pMaximum_required, tU32* pAmount_allocated);
  139.  
  140. void PDAllocateActionReplayBuffer(char** pBuffer, tU32* pBuffer_size);
  141.  
  142. void PDDisposeActionReplayBuffer(char* pBuffer);
  143.  
  144. // void Usage(char* pProgpath);
  145.  
  146. // int OurGetChar(void);
  147.  
  148. int PDGetGorePassword(void);
  149.  
  150. void PDDisplayGoreworthiness(int pGory);
  151.  
  152. void PDEnterDebugger(char* pStr);
  153.  
  154. // Added function
  155. br_material* PDMissingMaterial(char* name);
  156.  
  157. // Added function
  158. br_pixelmap* PDMissingTable(char* name);
  159.  
  160. // Added function
  161. br_model* PDMissingModel(char* name);
  162.  
  163. // Added function
  164. br_pixelmap* PDMissingMap(char* name);
  165.  
  166. void PDEndItAllAndReRunTheBastard(void);
  167.  
  168. // int matherr(struct exception_* err);
  169.  
  170. // int LoopLimitTooLow(tU32 limit);
  171.  
  172. // tS32 UpperLoopLimit(void);
  173.  
  174. // int InitJoysticks(void);
  175.  
  176. // tU32 ReadJoystickAxis(int pBit);
  177.  
  178. void PDReadJoySticks(void);
  179.  
  180. tS32 PDGetJoy1X(void);
  181.  
  182. tS32 PDGetJoy1Y(void);
  183.  
  184. tS32 PDGetJoy2X(void);
  185.  
  186. tS32 PDGetJoy2Y(void);
  187.  
  188. int PDGetJoy1Button1(void);
  189.  
  190. int PDGetJoy1Button2(void);
  191.  
  192. int PDGetJoy1Button3(void);
  193.  
  194. int PDGetJoy1Button4(void);
  195.  
  196. int PDGetJoy2Button1(void);
  197.  
  198. int PDGetJoy2Button2(void);
  199.  
  200. int PDGetJoy2Button3(void);
  201.  
  202. int PDGetJoy2Button4(void);
  203.  
  204. int PDFileUnlock(char* pThe_path);
  205.  
  206. // void CriticalISR(INTPACK pRegs);
  207.  
  208. int PDCheckDriveExists2(char* pThe_path, char* pFile_name, tU32 pMin_size);
  209.  
  210. int PDDoWeLeadAnAustereExistance(void);
  211.  
  212. #endif
  213.