/* quakedef.h -- primary header for client */ #define QUAKE_GAME /* as opposed to utilities */ #define VERSION 1.01 /*define PARANOID speed sapping error checking */ #include #include #include #include #include #include #define CACHE_SIZE 32 /* used to align key data structures */ #define UNUSED(x) (x = x) /* for pesky compiler / lint warnings */ #define MINIMUM_MEMORY 0x550000 /* up / down */ #define PITCH 0 /* left / right */ #define YAW 1 /* fall over */ #define ROLL 2 #define MAX_QPATH 64 /* max length of a quake game pathname */ #define MAX_OSPATH 128 /* max length of a filesystem pathname */ #define ON_EPSILON 0.1 /* point on plane side epsilon */ #define MAX_MSGLEN 8000 /* max length of a reliable message */ #define MAX_DATAGRAM 1024 /* max length of unreliable message */ /* */ /* per-level limits */ /* */ #define MAX_EDICTS 450 /* FIXME: ouch! ouch! ouch! */ #define MAX_LIGHTSTYLES 64 #define MAX_MODELS 256 /* these are sent over the net as bytes */ #define MAX_SOUNDS 256 /* so they cannot be blindly increased */ #define SAVEGAME_COMMENT_LENGTH 39 #define MAX_STYLESTRING 64 /* stats are integers communicated to the client by the server */ #define MAX_CL_STATS 32 #define STAT_HEALTH 0 #define STAT_FRAGS 1 #define STAT_WEAPON 2 #define STAT_AMMO 3 #define STAT_ARMOR 4 #define STAT_WEAPONFRAME 5 #define STAT_SHELLS 6 #define STAT_NAILS 7 #define STAT_ROCKETS 8 #define STAT_CELLS 9 #define STAT_ACTIVEWEAPON 10 #define STAT_TOTALSECRETS 11 #define STAT_TOTALMONSTERS 12 #define STAT_SECRETS 13 /* bumped on client side by svc_foundsecret */ #define STAT_MONSTERS 14 /* bumped by svc_killedmonster */ #define IT_SHOTGUN 1 #define IT_SUPER_SHOTGUN 2 #define IT_NAILGUN 4 #define IT_SUPER_NAILGUN 8 #define IT_GRENADE_LAUNCHER 16 #define IT_ROCKET_LAUNCHER 32 #define IT_LIGHTNING 64 #define IT_SUPER_LIGHTNING 128 #define IT_SHELLS 256 #define IT_NAILS 512 #define IT_ROCKETS 1024 #define IT_CELLS 2048 #define IT_AXE 4096 #define IT_ARMOR1 8192 #define IT_ARMOR2 16384 #define IT_ARMOR3 32768 #define IT_SUPERHEALTH 65536 #define IT_KEY1 131072 #define IT_KEY2 262144 #define IT_INVISIBILITY 524288 #define IT_INVULNERABILITY 1048576 #define IT_SUIT 2097152 #define IT_QUAD 4194304 #define IT_SIGIL1 (1<<28) #define IT_SIGIL2 (1<<29) #define IT_SIGIL3 (1<<30) #define IT_SIGIL4 (1<<31) #define MAX_SCOREBOARD 16 #define MAX_SCOREBOARDNAME 32 #define SOUND_CHANNELS 8 /* define IDGODS */ #include "common.h" #include "bspfile.h" #include "vid.h" #include "sys.h" #include "zone.h" #include "mathlib.h" typedef struct { vec3_t origin; vec3_t angles; int modelindex; int frame; int colormap; int skin; int effects; } entity_state_t; #include "wad.h" #include "draw.h" #include "cvar.h" #include "screen.h" #include "net.h" #include "protocol.h" #include "cmd.h" #include "sbar.h" #include "sound.h" #include "render.h" #include "client.h" #include "progs.h" #include "server.h" #include "model.h" #include "input.h" #include "d_iface.h" #include "world.h" #include "keys.h" #include "console.h" #include "view.h" #include "menu.h" #include "crc.h" #include "cdaudio.h" /*============================================================================= */ /* the host system specifies the base of the directory tree, the */ /* command line parms passed to the program, and the amount of memory */ /* available for the program to use */ typedef struct { char *basedir; char *cachedir; /* for development over ISDN lines */ int argc; char **argv; void *membase; int memsize; } quakeparms_t; /*============================================================================= */ extern qboolean noclip_anglehack; /* */ /* host */ /* */ extern quakeparms_t host_parms; extern cvar_t sys_ticrate; extern cvar_t sys_nostdout; extern cvar_t developer; extern qboolean host_initialized; /* true if into command execution */ extern double host_frametime; extern byte *host_basepal; extern byte *host_colormap; extern int host_framecount; /* incremented every frame, never reset */ extern double realtime; /* not bounded in any way, changed at */ /* start of every frame, never reset */ void Host_ClearMemory(void); void Host_ServerFrame(void); void Host_InitCommands(void); void Host_Init(quakeparms_t * parms); void Host_Shutdown(void); void Host_Error(char *error, ...); void Host_EndGame(char *message, ...); void Host_Frame(float time); void Host_Quit_f(void); void Host_ClientCommands(char *fmt, ...); void Host_ShutdownServer(qboolean crash);