| /*
|
| Copyright (C) 1996-1997 Id Software, Inc.
|
|
|
| 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.
|
|
|
| */
|
| // quakedef.h -- primary header for client |
| |
| #define QUAKE_GAME // as opposed to utilities |
| |
| //define PARANOID // speed sapping error checking |
| |
| #ifdef _WIN32 |
| #pragma warning( disable : 4244 4127 4201 4214 4514 4305 4115 4018) |
| #endif |
| |
| |
| #include <math.h> |
| #include <string.h> |
| #include <stdarg.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <setjmp.h> |
| #include <time.h> |
| |
| #include "bothdefs.h" |
| |
| #include "common.h" |
| #include "bspfile.h" |
| #include "vid.h" |
| #include "sys.h" |
| #include "zone.h" |
| #include "mathlib.h" |
| #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" |
| |
| #ifdef GLQUAKE |
| #include "gl_model.h" |
| #else |
| #include "model.h" |
| #include "d_iface.h" |
| #endif |
| |
| #include "input.h" |
| #include "keys.h" |
| #include "console.h" |
| #include "view.h" |
| #include "menu.h" |
| #include "crc.h" |
| #include "cdaudio.h" |
| #include "pmove.h" |
| |
| #ifdef GLQUAKE |
| #include "glquake.h" |
| #endif |
| |
| #ifndef max |
| #define max(a,b) ((a) > (b) ? (a) : (b)) |
| #define min(a,b) ((a) < (b) ? (a) : (b)) |
| #endif |
| |
| //============================================================================= |
| |
| // 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; |
| |
| |
| //============================================================================= |
| |
| #define MAX_NUM_ARGVS 50 |
| |
| |
| 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 cvar_t password; |
| |
| 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_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, ...); |
| qboolean Host_SimulationTime(float time); |
| void Host_Frame (float time); |
| void Host_Quit_f (void); |
| void Host_ClientCommands (char *fmt, ...); |
| void Host_ShutdownServer (qboolean crash); |
| |
| extern qboolean msg_suppress_1; // suppresses resolution and cache size console output |
| // an fullscreen DIB focus gain/loss |
| |