Home | History | Annotate | Download | only in server
      1 /*
      2 Copyright (C) 1996-1997 Id Software, Inc.
      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 // quakedef.h -- primary header for server
     21 
     22 #define	QUAKE_GAME			// as opposed to utilities
     23 
     24 //define	PARANOID			// speed sapping error checking
     25 
     26 #ifdef _WIN32
     27 #pragma warning( disable : 4244 4127 4201 4214 4514 4305 4115 4018)
     28 #endif
     29 
     30 #include <math.h>
     31 #include <string.h>
     32 #include <stdarg.h>
     33 #include <stdio.h>
     34 #include <stdlib.h>
     35 #include <setjmp.h>
     36 #include <ctype.h>
     37 
     38 #include "bothdefs.h"
     39 
     40 #include "common.h"
     41 #include "bspfile.h"
     42 #include "sys.h"
     43 #include "zone.h"
     44 #include "mathlib.h"
     45 
     46 #include "cvar.h"
     47 #include "net.h"
     48 #include "protocol.h"
     49 #include "cmd.h"
     50 #include "model.h"
     51 #include "crc.h"
     52 #include "progs.h"
     53 
     54 #include "server.h"
     55 #include "world.h"
     56 #include "pmove.h"
     57 
     58 //=============================================================================
     59 
     60 // the host system specifies the base of the directory tree, the
     61 // command line parms passed to the program, and the amount of memory
     62 // available for the program to use
     63 
     64 typedef struct
     65 {
     66 	char	*basedir;
     67 	char	*cachedir;		// for development over ISDN lines
     68 	int		argc;
     69 	char	**argv;
     70 	void	*membase;
     71 	int		memsize;
     72 } quakeparms_t;
     73 
     74 
     75 //=============================================================================
     76 
     77 //
     78 // host
     79 //
     80 extern	quakeparms_t host_parms;
     81 
     82 extern	cvar_t		sys_nostdout;
     83 extern	cvar_t		developer;
     84 
     85 extern	qboolean	host_initialized;		// true if into command execution
     86 extern	double		host_frametime;
     87 extern	double		realtime;			// not bounded in any way, changed at
     88 										// start of every frame, never reset
     89 
     90 void SV_Error (char *error, ...);
     91 void SV_Init (quakeparms_t *parms);
     92 
     93 void Con_Printf (char *fmt, ...);
     94 void Con_DPrintf (char *fmt, ...);
     95 
     96