1 /* 2 Copyright (C) 1994-1995 Apogee Software, Ltd. 3 4 This program is free software; you can redistribute it and/or 5 modify it under the terms of the GNU General Public License 6 as published by the Free Software Foundation; either version 2 7 of the License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 13 See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19 */ 20 //*************************************************************************** 21 // 22 // RT_MAIN.H 23 // 24 //*************************************************************************** 25 26 #ifndef _rt_main_public 27 #define _rt_main_public 28 29 #include "develop.h" 30 #include "rt_def.h" 31 #include "rottnet.h" 32 #include "rt_battl.h" 33 34 enum 35 {vl_low, 36 vl_medium, 37 vl_high, 38 vl_excessive 39 }; 40 41 // Enum for each version of the game 42 typedef enum 43 { 44 ROTT_SHAREWARE, 45 ROTT_REGISTERED, 46 ROTT_SUPERCD, 47 ROTT_SITELICENSE 48 } version_type; 49 50 typedef struct 51 { 52 int GodModeTime; 53 int DogModeTime; 54 int ShroomsModeTime; 55 int ElastoModeTime; 56 int AsbestosVestTime; 57 int BulletProofVestTime; 58 int GasMaskTime; 59 int MercuryModeTime; 60 61 int GodModeRespawnTime; 62 int DogModeRespawnTime; 63 int ShroomsModeRespawnTime; 64 int ElastoModeRespawnTime; 65 int AsbestosVestRespawnTime; 66 int BulletProofVestRespawnTime; 67 int GasMaskRespawnTime; 68 int MercuryModeRespawnTime; 69 70 }specials; 71 72 73 typedef struct 74 { 75 unsigned Version; 76 // Variable for which version of the game can be played 77 version_type Product; 78 79 long TimeCount; 80 long frame; 81 int secrettotal,treasuretotal,killtotal; 82 int secretcount,treasurecount,killcount; 83 int supertotal,healthtotal,missiletotal; 84 int supercount,healthcount,missilecount; 85 int democratictotal,planttotal; 86 int democraticcount,plantcount; 87 int dipballs; 88 int difficulty; 89 int violence; 90 int mapon; 91 long score; 92 int episode; 93 int battlemode; 94 int battleoption; 95 int randomseed; 96 boolean teamplay; 97 boolean DODEMOCRATICBONUS1; 98 boolean DOGROUNDZEROBONUS; 99 int autorun; 100 101 // Battle Options 102 battle_type BattleOptions; 103 104 boolean SpawnCollectItems; 105 boolean SpawnEluder; 106 boolean SpawnDeluder; 107 boolean ShowScores; 108 boolean PlayerHasGun[ MAXPLAYERS ]; 109 specials SpecialsTimes; 110 } gametype; 111 112 113 extern int doublestep; 114 extern boolean tedlevel; 115 extern int tedlevelnum; 116 extern int tedx; 117 extern int tedy; 118 extern boolean fizzlein; 119 extern int pheight; 120 extern int NoSound; 121 extern int timelimit; 122 extern boolean timelimitenabled; 123 extern boolean noecho; 124 extern boolean demoexit; 125 extern boolean quiet; 126 127 extern gametype gamestate; 128 extern boolean DebugOk; 129 extern boolean newlevel; 130 131 void QuitGame( void ); 132 void PlayCinematic (void); 133 void InitCharacter(void); 134 void ShutDown ( void ); 135 void UpdateGameObjects ( void ); 136 137 #if (WHEREAMI==1) 138 extern int programlocation; 139 #endif 140 141 extern int polltime; 142 extern int oldpolltime; 143 extern volatile int oldtime; 144 void PauseLoop ( void ); 145 #if SAVE_SCREEN 146 extern boolean inhmenu; 147 void SaveScreen (boolean saveLBM); 148 #endif 149 void SetupWads( void ); 150 151 extern boolean SCREENSHOTS; 152 extern boolean MEMORYTEST; 153 extern boolean MODEMTEST; 154 extern boolean STATICMEMORYTEST; 155 extern boolean STATICMEMORYPREVIEWTEST; 156 extern boolean COMPUTELEVELSIZE; 157 extern boolean MONOPRESENT; 158 extern boolean MAPSTATS; 159 extern boolean TILESTATS; 160 extern boolean HUD; 161 extern boolean SOUNDSETUP; 162 163 extern char CWD[40]; 164 165 #endif 166