rott/rott/rt_main.h

168 lines
3.8 KiB
C
Executable File

/*
Copyright (C) 1994-1995 Apogee Software, Ltd.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
//***************************************************************************
//
// RT_MAIN.H
//
//***************************************************************************
#ifndef _rt_main_public
#define _rt_main_public
#include "develop.h"
#include "rt_def.h"
#include "rottnet.h"
#include "rt_battl.h"
enum
{vl_low,
vl_medium,
vl_high,
vl_excessive
};
// Enum for each version of the game
typedef enum
{
ROTT_SHAREWARE,
ROTT_REGISTERED,
ROTT_SUPERCD,
ROTT_SITELICENSE
} version_type;
typedef struct
{
int GodModeTime;
int DogModeTime;
int ShroomsModeTime;
int ElastoModeTime;
int AsbestosVestTime;
int BulletProofVestTime;
int GasMaskTime;
int MercuryModeTime;
int GodModeRespawnTime;
int DogModeRespawnTime;
int ShroomsModeRespawnTime;
int ElastoModeRespawnTime;
int AsbestosVestRespawnTime;
int BulletProofVestRespawnTime;
int GasMaskRespawnTime;
int MercuryModeRespawnTime;
}specials;
typedef struct
{
unsigned Version;
// Variable for which version of the game can be played
version_type Product;
int TimeCount;
int frame;
int secrettotal,treasuretotal,killtotal;
int secretcount,treasurecount,killcount;
int supertotal,healthtotal,missiletotal;
int supercount,healthcount,missilecount;
int democratictotal,planttotal;
int democraticcount,plantcount;
int dipballs;
int difficulty;
int violence;
int mapon;
int score;
int episode;
int battlemode;
int battleoption;
int randomseed;
boolean teamplay;
boolean DODEMOCRATICBONUS1;
boolean DOGROUNDZEROBONUS;
int autorun;
// Battle Options
battle_type BattleOptions;
boolean SpawnCollectItems;
boolean SpawnEluder;
boolean SpawnDeluder;
boolean ShowScores;
boolean PlayerHasGun[ MAXPLAYERS ];
specials SpecialsTimes;
} gametype;
extern int doublestep;
extern boolean tedlevel;
extern int tedlevelnum;
extern int tedx;
extern int tedy;
extern boolean fizzlein;
extern int pheight;
extern int NoSound;
extern int timelimit;
extern boolean timelimitenabled;
extern boolean noecho;
extern boolean demoexit;
extern boolean quiet;
extern gametype gamestate;
extern boolean DebugOk;
extern boolean newlevel;
void QuitGame( void );
void PlayCinematic (void);
void InitCharacter(void);
void ShutDown ( void );
void UpdateGameObjects ( void );
#if (WHEREAMI==1)
extern int programlocation;
#endif
extern int polltime;
extern int oldpolltime;
extern volatile int oldtime;
void PauseLoop ( void );
#if SAVE_SCREEN
extern boolean inhmenu;
void SaveScreen (boolean saveLBM);
#endif
void SetupWads( void );
extern boolean SCREENSHOTS;
extern boolean MEMORYTEST;
extern boolean MODEMTEST;
extern boolean STATICMEMORYTEST;
extern boolean STATICMEMORYPREVIEWTEST;
extern boolean COMPUTELEVELSIZE;
extern boolean MONOPRESENT;
extern boolean MAPSTATS;
extern boolean TILESTATS;
extern boolean HUD;
#ifdef DOS
extern boolean SOUNDSETUP;
#endif
extern char CWD[40];
#endif