Subversion Repositories Games.Carmageddon

Rev

Rev 18 | 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 "brender/br_types.h"
  11. #include "dr_types.h"
  12.  
  13. #include "harness/compiler.h"
  14.  
  15. #include <math.h>
  16. #include <stdio.h>
  17. #include <stdlib.h>
  18. #include <string.h>
  19.  
  20. extern int gASCII_table[128];
  21. extern tU32 gKeyboard_bits[8];
  22. extern int gASCII_shift_table[128];
  23. extern tGraf_spec gGraf_specs[2];
  24. extern char gNetwork_profile_fname[256];
  25. extern tS32 gJoystick_min1y;
  26. extern tS32 gJoystick_min2y;
  27. extern tS32 gJoystick_min2x;
  28. extern tS32 gRaw_joystick2y;
  29. extern tS32 gRaw_joystick2x;
  30. extern tS32 gRaw_joystick1y;
  31. extern tS32 gRaw_joystick1x;
  32. extern tS32 gJoystick_range2y;
  33. extern tS32 gJoystick_range2x;
  34. extern tS32 gJoystick_range1y;
  35. extern tS32 gJoystick_range1x;
  36. extern int gNo_voodoo;
  37. extern int gSwitched_resolution;
  38. extern int gReplay_override;
  39. extern br_pixelmap* gReal_back_screen;
  40. extern tS32 gJoystick_min1x;
  41. extern br_pixelmap* gTemp_screen;
  42. extern int gDOSGfx_initialized;
  43. extern tU32 gUpper_loop_limit;
  44. extern int gExtra_mem;
  45. extern int gReal_back_screen_locked;
  46. extern void (*gPrev_keyboard_handler)(void);
  47.  
  48. // DOS
  49. // extern tU8 gScan_code[123][2];
  50. // Windows
  51. extern tU32 gScan_code[123];
  52.  
  53. extern char* _unittest_last_fatal_error;
  54.  
  55. // void KeyboardHandler(void);
  56.  
  57. // int KeyDown(tU8 pScan_code);
  58.  
  59. // void KeyTranslation(tU8 pKey_index, tU8 pScan_code_1, tU8 pScan_code_2);
  60.  
  61. // void KeyBegin(void);
  62.  
  63. // void KeyEnd(void);
  64.  
  65. // int KeyDown22(int pKey_index);
  66.  
  67. void PDSetKeyArray(int* pKeys, int pMark);
  68.  
  69. int PDGetASCIIFromKey(int pKey);
  70.  
  71. HARNESS_NORETURN void PDFatalError(char* pThe_str);
  72.  
  73. void PDNonFatalError(char* pThe_str);
  74.  
  75. void PDInitialiseSystem(void);
  76.  
  77. HARNESS_NORETURN void PDShutdownSystem(void);
  78.  
  79. void PDSaveOriginalPalette(void);
  80.  
  81. void PDRevertPalette(void);
  82.  
  83. int PDInitScreenVars(int pArgc, char** pArgv);
  84.  
  85. void PDInitScreen(void);
  86.  
  87. void PDLockRealBackScreen(void);
  88.  
  89. void PDUnlockRealBackScreen(void);
  90.  
  91. void PDAllocateScreenAndBack(void);
  92.  
  93. // void Copy8BitTo16BitPixelmap(br_pixelmap* pDst, br_pixelmap* pSrc, br_pixelmap* pPalette);
  94.  
  95. // void Double8BitTo16BitPixelmap(br_pixelmap* pDst, br_pixelmap* pSrc, br_pixelmap* pPalette, tU16 pOff, tU16 pSrc_width, tU16 pSrc_height);
  96.  
  97. br_pixelmap* PDInterfacePixelmap(void);
  98.  
  99. // void SwapBackScreen(void);
  100.  
  101. // void ReallyCopyBackScreen(int pRendering_area_only, int pClear_top_and_bottom);
  102.  
  103. // void CopyBackScreen(int pRendering_area_only);
  104.  
  105. void PDScreenBufferSwap(int pRendering_area_only);
  106.  
  107. 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);
  108.  
  109. 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);
  110.  
  111. 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);
  112.  
  113. void PDInstallErrorHandlers(void);
  114.  
  115. void PDSetFileVariables(void);
  116.  
  117. void PDBuildAppPath(char* pThe_path);
  118.  
  119. void PDForEveryFile(char* pThe_path, void (*pAction_routine)(char*));
  120.  
  121. void PDSetPalette(br_pixelmap* pThe_palette);
  122.  
  123. void PDSetPaletteEntries(br_pixelmap* pPalette, int pFirst_colour, int pCount);
  124.  
  125. void PDSwitchToRealResolution(void);
  126.  
  127. void PDSwitchToLoresMode(void);
  128.  
  129. void PDMouseButtons(int* pButton_1, int* pButton_2);
  130.  
  131. void PDGetMousePosition(int* pX_coord, int* pY_coord);
  132.  
  133. int PDGetTotalTime(void);
  134.  
  135. int PDServiceSystem(tU32 pTime_since_last_call);
  136.  
  137. // tU32 LargestBlockAvail(void);
  138.  
  139. void* PDGrabLargestMammaryWeCanPlayWith(tU32 pMaximum_required, tU32* pAmount_allocated);
  140.  
  141. void PDAllocateActionReplayBuffer(char** pBuffer, tU32* pBuffer_size);
  142.  
  143. void PDDisposeActionReplayBuffer(char* pBuffer);
  144.  
  145. // void Usage(char* pProgpath);
  146.  
  147. // int OurGetChar(void);
  148.  
  149. int PDGetGorePassword(void);
  150.  
  151. void PDDisplayGoreworthiness(int pGory);
  152.  
  153. void PDEnterDebugger(char* pStr);
  154.  
  155. // Added function
  156. br_material* PDMissingMaterial(char* name);
  157.  
  158. // Added function
  159. br_pixelmap* PDMissingTable(char* name);
  160.  
  161. // Added function
  162. br_model* PDMissingModel(char* name);
  163.  
  164. // Added function
  165. br_pixelmap* PDMissingMap(char* name);
  166.  
  167. void PDEndItAllAndReRunTheBastard(void);
  168.  
  169. // int matherr(struct exception_* err);
  170.  
  171. // int LoopLimitTooLow(tU32 limit);
  172.  
  173. // tS32 UpperLoopLimit(void);
  174.  
  175. // int InitJoysticks(void);
  176.  
  177. // tU32 ReadJoystickAxis(int pBit);
  178.  
  179. void PDReadJoySticks(void);
  180.  
  181. tS32 PDGetJoy1X(void);
  182.  
  183. tS32 PDGetJoy1Y(void);
  184.  
  185. tS32 PDGetJoy2X(void);
  186.  
  187. tS32 PDGetJoy2Y(void);
  188.  
  189. int PDGetJoy1Button1(void);
  190.  
  191. int PDGetJoy1Button2(void);
  192.  
  193. int PDGetJoy1Button3(void);
  194.  
  195. int PDGetJoy1Button4(void);
  196.  
  197. int PDGetJoy2Button1(void);
  198.  
  199. int PDGetJoy2Button2(void);
  200.  
  201. int PDGetJoy2Button3(void);
  202.  
  203. int PDGetJoy2Button4(void);
  204.  
  205. int PDFileUnlock(char* pThe_path);
  206.  
  207. // void CriticalISR(INTPACK pRegs);
  208.  
  209. int PDCheckDriveExists2(char* pThe_path, char* pFile_name, tU32 pMin_size);
  210.  
  211. int PDDoWeLeadAnAustereExistance(void);
  212.  
  213. #endif
  214.