Subversion Repositories Games.Carmageddon

Rev

Rev 20 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef HARNESS_CONFIG_H
  2. #define HARNESS_CONFIG_H
  3.  
  4. typedef enum tHarness_game_type {
  5.     eGame_none,
  6.     eGame_carmageddon,
  7.     eGame_splatpack,
  8.     eGame_carmageddon_demo,
  9.     eGame_splatpack_demo,
  10.     eGame_splatpack_xmas_demo,
  11. } tHarness_game_type;
  12.  
  13. typedef enum {
  14.     eGameLocalization_none,
  15.     eGameLocalization_german,
  16. } tHarness_game_localization;
  17.  
  18. typedef struct tHarness_game_info {
  19.     tHarness_game_type mode;
  20.     tHarness_game_localization localization;
  21.     struct {
  22.         // different between carmageddon and splatpack
  23.         char* INTRO_SMK_FILE;
  24.         // different between demo and full game
  25.         char* GERMAN_LOADSCRN;
  26.         // some versions have an ascii table built-in, others provide it through KEYBOARD.COK
  27.         int requires_ascii_table;
  28.         // built-in keyboard look-up table for certain localized Carmageddon releases
  29.         int* ascii_table;
  30.         // built-in shifted keyboard look-up table for certain localized Carmageddon releases
  31.         int* ascii_shift_table;
  32.     } defines;
  33. } tHarness_game_info;
  34.  
  35. typedef struct tHarness_game_config {
  36.     int enable_cd_check;
  37.     float physics_step_time;
  38.     float fps;
  39.     int freeze_timer;
  40.     unsigned demo_timeout;
  41.     int enable_diagnostics;
  42.     float volume_multiplier;
  43.     int start_full_screen;
  44.     int gore_check;
  45.     int sound_options;
  46.     int no_bind;
  47.     int no_music;
  48.  
  49.     int install_signalhandler;
  50. } tHarness_game_config;
  51.  
  52. extern tHarness_game_info harness_game_info;
  53. extern tHarness_game_config harness_game_config;
  54.  
  55. #endif
  56.