diff --git a/old_headers/qwcl/cmd.h b/old_headers/qwcl/cmd.h deleted file mode 100644 index 52eca54..0000000 --- a/old_headers/qwcl/cmd.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -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. - -*/ - -// cmd.h -- Command buffer and command execution - -//=========================================================================== - -/* - -Any number of commands can be added in a frame, from several different sources. -Most commands come from either keybindings or console line input, but remote -servers can also send across commands and entire text files can be execed. - -The + command line options are also added to the command buffer. - -The game starts with a Cbuf_AddText ("exec quake.rc\n"); Cbuf_Execute (); - -*/ - - -void Cbuf_Init (void); -// allocates an initial text buffer that will grow as needed - -void Cbuf_AddText (char *text); -// as new commands are generated from the console or keybindings, -// the text is added to the end of the command buffer. - -void Cbuf_InsertText (char *text); -// when a command wants to issue other commands immediately, the text is -// inserted at the beginning of the buffer, before any remaining unexecuted -// commands. - -void Cbuf_Execute (void); -// Pulls off \n terminated lines of text from the command buffer and sends -// them through Cmd_ExecuteString. Stops when the buffer is empty. -// Normally called once per frame, but may be explicitly invoked. -// Do not call inside a command function! - -//=========================================================================== - -/* - -Command execution takes a null terminated string, breaks it into tokens, -then searches for a command or variable that matches the first token. - -*/ - -typedef void (*xcommand_t) (void); - -void Cmd_Init (void); - -void Cmd_AddCommand (char *cmd_name, xcommand_t function); -// called by the init functions of other parts of the program to -// register commands and functions to call for them. -// The cmd_name is referenced later, so it should not be in temp memory -// if function is NULL, the command will be forwarded to the server -// as a clc_stringcmd instead of executed locally - -qboolean Cmd_Exists (char *cmd_name); -// used by the cvar code to check for cvar / command name overlap - -char *Cmd_CompleteCommand (char *partial); -// attempts to match a partial command for automatic command line completion -// returns NULL if nothing fits - -int Cmd_Argc (void); -char *Cmd_Argv (int arg); -char *Cmd_Args (void); -// The functions that execute commands get their parameters with these -// functions. Cmd_Argv () will return an empty string, not a NULL -// if arg > argc, so string operations are allways safe. - -int Cmd_CheckParm (char *parm); -// Returns the position (1 to argc-1) in the command's argument list -// where the given parameter apears, or 0 if not present - -void Cmd_TokenizeString (char *text); -// Takes a null terminated string. Does not need to be /n terminated. -// breaks the string up into arg tokens. - -void Cmd_ExecuteString (char *text); -// Parses a single line of text into arguments and tries to execute it -// as if it was typed at the console - -void Cmd_ForwardToServer (void); -// adds the current command line as a clc_stringcmd to the client message. -// things like godmode, noclip, etc, are commands directed to the server, -// so when they are typed in at the console, they will need to be forwarded. - -void Cmd_StuffCmds_f (void); diff --git a/old_headers/qwcl/common.h b/old_headers/qwcl/common.h deleted file mode 100644 index 8cd2ced..0000000 --- a/old_headers/qwcl/common.h +++ /dev/null @@ -1,222 +0,0 @@ -/* -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. - -*/ -// comndef.h -- general definitions - -typedef unsigned char byte; -#define _DEF_BYTE_ - -// KJB Undefined true and false defined in SciTech's DEBUG.H header -#undef true -#undef false - -typedef enum {false, true} qboolean; - -#define MAX_INFO_STRING 196 -#define MAX_SERVERINFO_STRING 512 -#define MAX_LOCALINFO_STRING 32768 - -//============================================================================ - -typedef struct sizebuf_s -{ - qboolean allowoverflow; // if false, do a Sys_Error - qboolean overflowed; // set to true if the buffer size failed - byte *data; - int maxsize; - int cursize; -} sizebuf_t; - -void SZ_Clear (sizebuf_t *buf); -void *SZ_GetSpace (sizebuf_t *buf, int length); -void SZ_Write (sizebuf_t *buf, void *data, int length); -void SZ_Print (sizebuf_t *buf, char *data); // strcats onto the sizebuf - -//============================================================================ - -typedef struct link_s -{ - struct link_s *prev, *next; -} link_t; - - -void ClearLink (link_t *l); -void RemoveLink (link_t *l); -void InsertLinkBefore (link_t *l, link_t *before); -void InsertLinkAfter (link_t *l, link_t *after); - -// (type *)STRUCT_FROM_LINK(link_t *link, type, member) -// ent = STRUCT_FROM_LINK(link,entity_t,order) -// FIXME: remove this mess! -#define STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (int)&(((t *)0)->m))) - -//============================================================================ - -#ifndef NULL -#define NULL ((void *)0) -#endif - -#define Q_MAXCHAR ((char)0x7f) -#define Q_MAXSHORT ((short)0x7fff) -#define Q_MAXINT ((int)0x7fffffff) -#define Q_MAXLONG ((int)0x7fffffff) -#define Q_MAXFLOAT ((int)0x7fffffff) - -#define Q_MINCHAR ((char)0x80) -#define Q_MINSHORT ((short)0x8000) -#define Q_MININT ((int)0x80000000) -#define Q_MINLONG ((int)0x80000000) -#define Q_MINFLOAT ((int)0x7fffffff) - -//============================================================================ - -extern qboolean bigendien; - -extern short (*BigShort) (short l); -extern short (*LittleShort) (short l); -extern int (*BigLong) (int l); -extern int (*LittleLong) (int l); -extern float (*BigFloat) (float l); -extern float (*LittleFloat) (float l); - -//============================================================================ - -struct usercmd_s; - -extern struct usercmd_s nullcmd; - -void MSG_WriteChar (sizebuf_t *sb, int c); -void MSG_WriteByte (sizebuf_t *sb, int c); -void MSG_WriteShort (sizebuf_t *sb, int c); -void MSG_WriteLong (sizebuf_t *sb, int c); -void MSG_WriteFloat (sizebuf_t *sb, float f); -void MSG_WriteString (sizebuf_t *sb, char *s); -void MSG_WriteCoord (sizebuf_t *sb, float f); -void MSG_WriteAngle (sizebuf_t *sb, float f); -void MSG_WriteAngle16 (sizebuf_t *sb, float f); -void MSG_WriteDeltaUsercmd (sizebuf_t *sb, struct usercmd_s *from, struct usercmd_s *cmd); - -extern int msg_readcount; -extern qboolean msg_badread; // set if a read goes beyond end of message - -void MSG_BeginReading (void); -int MSG_GetReadCount(void); -int MSG_ReadChar (void); -int MSG_ReadByte (void); -int MSG_ReadShort (void); -int MSG_ReadLong (void); -float MSG_ReadFloat (void); -char *MSG_ReadString (void); -char *MSG_ReadStringLine (void); - -float MSG_ReadCoord (void); -float MSG_ReadAngle (void); -float MSG_ReadAngle16 (void); -void MSG_ReadDeltaUsercmd (struct usercmd_s *from, struct usercmd_s *cmd); - -//============================================================================ - -#define Q_memset(d, f, c) memset((d), (f), (c)) -#define Q_memcpy(d, s, c) memcpy((d), (s), (c)) -#define Q_memcmp(m1, m2, c) memcmp((m1), (m2), (c)) -#define Q_strcpy(d, s) strcpy((d), (s)) -#define Q_strncpy(d, s, n) strncpy((d), (s), (n)) -#define Q_strlen(s) ((int)strlen(s)) -#define Q_strrchr(s, c) strrchr((s), (c)) -#define Q_strcat(d, s) strcat((d), (s)) -#define Q_strcmp(s1, s2) strcmp((s1), (s2)) -#define Q_strncmp(s1, s2, n) strncmp((s1), (s2), (n)) - -#ifdef _WIN32 - -#define Q_strcasecmp(s1, s2) _stricmp((s1), (s2)) -#define Q_strncasecmp(s1, s2, n) _strnicmp((s1), (s2), (n)) - -#else - -#define Q_strcasecmp(s1, s2) strcasecmp((s1), (s2)) -#define Q_strncasecmp(s1, s2, n) strncasecmp((s1), (s2), (n)) - -#endif - -int Q_atoi (char *str); -float Q_atof (char *str); - - - -//============================================================================ - -extern char com_token[1024]; -extern qboolean com_eof; - -char *COM_Parse (char *data); - - -extern int com_argc; -extern char **com_argv; - -int COM_CheckParm (char *parm); -void COM_AddParm (char *parm); - -void COM_Init (void); -void COM_InitArgv (int argc, char **argv); - -char *COM_SkipPath (char *pathname); -void COM_StripExtension (char *in, char *out); -void COM_FileBase (char *in, char *out); -void COM_DefaultExtension (char *path, char *extension); - -char *va(char *format, ...); -// does a varargs printf into a temp buffer - - -//============================================================================ - -extern int com_filesize; -struct cache_user_s; - -extern char com_gamedir[MAX_OSPATH]; - -void COM_WriteFile (char *filename, void *data, int len); -int COM_FOpenFile (char *filename, FILE **file); -void COM_CloseFile (FILE *h); - -byte *COM_LoadStackFile (char *path, void *buffer, int bufsize); -byte *COM_LoadTempFile (char *path); -byte *COM_LoadHunkFile (char *path); -void COM_LoadCacheFile (char *path, struct cache_user_s *cu); -void COM_CreatePath (char *path); -void COM_Gamedir (char *dir); - -extern struct cvar_s registered; -extern qboolean standard_quake, rogue, hipnotic; - -char *Info_ValueForKey (char *s, char *key); -void Info_RemoveKey (char *s, char *key); -void Info_RemovePrefixedKeys (char *start, char prefix); -void Info_SetValueForKey (char *s, char *key, char *value, int maxsize); -void Info_SetValueForStarKey (char *s, char *key, char *value, int maxsize); -void Info_Print (char *s); - -unsigned Com_BlockChecksum (void *buffer, int length); -void Com_BlockFullChecksum (void *buffer, int len, unsigned char *outbuf); -byte COM_BlockSequenceCheckByte (byte *base, int length, int sequence, unsigned mapchecksum); -byte COM_BlockSequenceCRCByte (byte *base, int length, int sequence); - -int build_number( void ); diff --git a/old_headers/qwcl/cvar.h b/old_headers/qwcl/cvar.h deleted file mode 100644 index bc72791..0000000 --- a/old_headers/qwcl/cvar.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -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. - -*/ -// cvar.h - -/* - -cvar_t variables are used to hold scalar or string variables that can be changed or displayed at the console or prog code as well as accessed directly -in C code. - -it is sufficient to initialize a cvar_t with just the first two fields, or -you can add a ,true flag for variables that you want saved to the configuration -file when the game is quit: - -cvar_t r_draworder = {"r_draworder","1"}; -cvar_t scr_screensize = {"screensize","1",true}; - -Cvars must be registered before use, or they will have a 0 value instead of the float interpretation of the string. Generally, all cvar_t declarations should be registered in the apropriate init function before any console commands are executed: -Cvar_RegisterVariable (&host_framerate); - - -C code usually just references a cvar in place: -if ( r_draworder.value ) - -It could optionally ask for the value to be looked up for a string name: -if (Cvar_VariableValue ("r_draworder")) - -Interpreted prog code can access cvars with the cvar(name) or -cvar_set (name, value) internal functions: -teamplay = cvar("teamplay"); -cvar_set ("registered", "1"); - -The user can access cvars from the console in two ways: -r_draworder prints the current value -r_draworder 0 sets the current value to 0 -Cvars are restricted from having the same names as commands to keep this -interface from being ambiguous. -*/ - -typedef struct cvar_s -{ - char *name; - char *string; - qboolean archive; // set to true to cause it to be saved to vars.rc - qboolean info; // added to serverinfo or userinfo when changed - float value; - struct cvar_s *next; -} cvar_t; - -void Cvar_RegisterVariable (cvar_t *variable); -// registers a cvar that allready has the name, string, and optionally the -// archive elements set. - -void Cvar_Set (char *var_name, char *value); -// equivelant to " " typed at the console - -void Cvar_SetValue (char *var_name, float value); -// expands value to a string and calls Cvar_Set - -float Cvar_VariableValue (char *var_name); -// returns 0 if not defined or non numeric - -char *Cvar_VariableString (char *var_name); -// returns an empty string if not defined - -char *Cvar_CompleteVariable (char *partial); -// attempts to match a partial variable name for command line completion -// returns NULL if nothing fits - -qboolean Cvar_Command (void); -// called by Cmd_ExecuteString when Cmd_Argv(0) doesn't match a known -// command. Returns true if the command was a variable reference that -// was handled. (print or change) - -void Cvar_WriteVariables (FILE *f); -// Writes lines containing "set variable value" for all variables -// with the archive flag set to true. - -cvar_t *Cvar_FindVar (char *var_name); - -extern cvar_t *cvar_vars; diff --git a/old_headers/qwcl/gl_model.h b/old_headers/qwcl/gl_model.h deleted file mode 100644 index 65583e3..0000000 --- a/old_headers/qwcl/gl_model.h +++ /dev/null @@ -1,436 +0,0 @@ -/* -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. - -*/ - -#ifndef __MODEL__ -#define __MODEL__ - -#include "modelgen.h" -#include "spritegn.h" - -/* - -d*_t structures are on-disk representations -m*_t structures are in-memory - -*/ - -// entity effects - -#define EF_BRIGHTFIELD 1 -#define EF_MUZZLEFLASH 2 -#define EF_BRIGHTLIGHT 4 -#define EF_DIMLIGHT 8 -#define EF_FLAG1 16 -#define EF_FLAG2 32 -#define EF_BLUE 64 -#define EF_RED 128 - -/* -============================================================================== - -BRUSH MODELS - -============================================================================== -*/ - - -// -// in memory representation -// -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - vec3_t position; -} mvertex_t; - -#define SIDE_FRONT 0 -#define SIDE_BACK 1 -#define SIDE_ON 2 - - -// plane_t structure -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct mplane_s -{ - vec3_t normal; - float dist; - byte type; // for texture axis selection and fast side tests - byte signbits; // signx + signy<<1 + signz<<1 - byte pad[2]; -} mplane_t; - -typedef struct texture_s -{ - char name[16]; - unsigned width, height; - int gl_texturenum; - struct msurface_s *texturechain; // for gl_texsort drawing - int anim_total; // total tenths in sequence ( 0 = no) - int anim_min, anim_max; // time for this frame min <=time< max - struct texture_s *anim_next; // in the animation sequence - struct texture_s *alternate_anims; // bmodels in frmae 1 use these - unsigned offsets[MIPLEVELS]; // four mip maps stored -} texture_t; - - -#define SURF_PLANEBACK 2 -#define SURF_DRAWSKY 4 -#define SURF_DRAWSPRITE 8 -#define SURF_DRAWTURB 0x10 -#define SURF_DRAWTILED 0x20 -#define SURF_DRAWBACKGROUND 0x40 -#define SURF_UNDERWATER 0x80 -#define SURF_DONTWARP 0x100 - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - unsigned short v[2]; - unsigned int cachededgeoffset; -} medge_t; - -typedef struct -{ - float vecs[2][4]; - float mipadjust; - texture_t *texture; - int flags; -} mtexinfo_t; - -#define VERTEXSIZE 7 - -typedef struct glpoly_s -{ - struct glpoly_s *next; - struct glpoly_s *chain; - int numverts; - int flags; // for SURF_UNDERWATER - float verts[4][VERTEXSIZE]; // variable sized (xyz s1t1 s2t2) -} glpoly_t; - -typedef struct msurface_s -{ - int visframe; // should be drawn when node is crossed - - mplane_t *plane; - int flags; - - int firstedge; // look up in model->surfedges[], negative numbers - int numedges; // are backwards edges - - short texturemins[2]; - short extents[2]; - - int light_s, light_t; // gl lightmap coordinates - - glpoly_t *polys; // multiple if warped - struct msurface_s *texturechain; - - mtexinfo_t *texinfo; - -// lighting info - int dlightframe; - int dlightbits; - - int lightmaptexturenum; - byte styles[MAXLIGHTMAPS]; - int cached_light[MAXLIGHTMAPS]; // values currently used in lightmap - qboolean cached_dlight; // true if dynamic light in cache - byte *samples; // [numstyles*surfsize] -} msurface_t; - -typedef struct mnode_s -{ -// common with leaf - int contents; // 0, to differentiate from leafs - int visframe; // node needs to be traversed if current - - float minmaxs[6]; // for bounding box culling - - struct mnode_s *parent; - -// node specific - mplane_t *plane; - struct mnode_s *children[2]; - - unsigned short firstsurface; - unsigned short numsurfaces; -} mnode_t; - - - -typedef struct mleaf_s -{ -// common with node - int contents; // wil be a negative contents number - int visframe; // node needs to be traversed if current - - float minmaxs[6]; // for bounding box culling - - struct mnode_s *parent; - -// leaf specific - byte *compressed_vis; - efrag_t *efrags; - - msurface_t **firstmarksurface; - int nummarksurfaces; - int key; // BSP sequence number for leaf's contents - byte ambient_sound_level[NUM_AMBIENTS]; -} mleaf_t; - -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct -{ - dclipnode_t *clipnodes; - mplane_t *planes; - int firstclipnode; - int lastclipnode; - vec3_t clip_mins; - vec3_t clip_maxs; -} hull_t; - -/* -============================================================================== - -SPRITE MODELS - -============================================================================== -*/ - - -// FIXME: shorten these? -typedef struct mspriteframe_s -{ - int width; - int height; - float up, down, left, right; - int gl_texturenum; -} mspriteframe_t; - -typedef struct -{ - int numframes; - float *intervals; - mspriteframe_t *frames[1]; -} mspritegroup_t; - -typedef struct -{ - spriteframetype_t type; - mspriteframe_t *frameptr; -} mspriteframedesc_t; - -typedef struct -{ - int type; - int maxwidth; - int maxheight; - int numframes; - float beamlength; // remove? - void *cachespot; // remove? - mspriteframedesc_t frames[1]; -} msprite_t; - - -/* -============================================================================== - -ALIAS MODELS - -Alias models are position independent, so the cache manager can move them. -============================================================================== -*/ - -typedef struct -{ - int firstpose; - int numposes; - float interval; - trivertx_t bboxmin; - trivertx_t bboxmax; - int frame; - char name[16]; -} maliasframedesc_t; - -typedef struct -{ - trivertx_t bboxmin; - trivertx_t bboxmax; - int frame; -} maliasgroupframedesc_t; - -typedef struct -{ - int numframes; - int intervals; - maliasgroupframedesc_t frames[1]; -} maliasgroup_t; - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct mtriangle_s { - int facesfront; - int vertindex[3]; -} mtriangle_t; - - -#define MAX_SKINS 32 -typedef struct { - int ident; - int version; - vec3_t scale; - vec3_t scale_origin; - float boundingradius; - vec3_t eyeposition; - int numskins; - int skinwidth; - int skinheight; - int numverts; - int numtris; - int numframes; - synctype_t synctype; - int flags; - float size; - - int numposes; - int poseverts; - int posedata; // numposes*poseverts trivert_t - int commands; // gl command list with embedded s/t - int gl_texturenum[MAX_SKINS][4]; - maliasframedesc_t frames[1]; // variable sized -} aliashdr_t; - -#define MAXALIASVERTS 1024 -#define MAXALIASFRAMES 256 -#define MAXALIASTRIS 2048 -extern aliashdr_t *pheader; -extern stvert_t stverts[MAXALIASVERTS]; -extern mtriangle_t triangles[MAXALIASTRIS]; -extern trivertx_t *poseverts[MAXALIASFRAMES]; - -//=================================================================== - -// -// Whole model -// - -typedef enum {mod_brush, mod_sprite, mod_alias} modtype_t; - -#define EF_ROCKET 1 // leave a trail -#define EF_GRENADE 2 // leave a trail -#define EF_GIB 4 // leave a trail -#define EF_ROTATE 8 // rotate (bonus items) -#define EF_TRACER 16 // green split trail -#define EF_ZOMGIB 32 // small blood trail -#define EF_TRACER2 64 // orange split trail + rotate -#define EF_TRACER3 128 // purple trail - -typedef struct model_s -{ - char name[MAX_QPATH]; - qboolean needload; // bmodels and sprites don't cache normally - - modtype_t type; - int numframes; - synctype_t synctype; - - int flags; - -// -// volume occupied by the model graphics -// - vec3_t mins, maxs; - float radius; - -// -// solid volume for clipping -// - qboolean clipbox; - vec3_t clipmins, clipmaxs; - -// -// brush model -// - int firstmodelsurface, nummodelsurfaces; - - int numsubmodels; - dmodel_t *submodels; - - int numplanes; - mplane_t *planes; - - int numleafs; // number of visible leafs, not counting 0 - mleaf_t *leafs; - - int numvertexes; - mvertex_t *vertexes; - - int numedges; - medge_t *edges; - - int numnodes; - mnode_t *nodes; - - int numtexinfo; - mtexinfo_t *texinfo; - - int numsurfaces; - msurface_t *surfaces; - - int numsurfedges; - int *surfedges; - - int numclipnodes; - dclipnode_t *clipnodes; - - int nummarksurfaces; - msurface_t **marksurfaces; - - hull_t hulls[MAX_MAP_HULLS]; - - int numtextures; - texture_t **textures; - - byte *visdata; - byte *lightdata; - char *entities; - - unsigned checksum; - unsigned checksum2; - -// -// additional model data -// - cache_user_t cache; // only access through Mod_Extradata - -} model_t; - -//============================================================================ - -void Mod_Init (void); -void Mod_ClearAll (void); -model_t *Mod_ForName (char *name, qboolean crash); -void *Mod_Extradata (model_t *mod); // handles caching -void Mod_TouchModel (char *name); - -mleaf_t *Mod_PointInLeaf (float *p, model_t *model); -byte *Mod_LeafPVS (mleaf_t *leaf, model_t *model); - -#endif // __MODEL__ diff --git a/old_headers/qwcl/glquake.h b/old_headers/qwcl/glquake.h deleted file mode 100644 index a58a948..0000000 --- a/old_headers/qwcl/glquake.h +++ /dev/null @@ -1,302 +0,0 @@ -/* -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. - -*/ -// disable data conversion warnings - -/*#pragma warning(disable : 4244) // MIPS -#pragma warning(disable : 4136) // X86 -#pragma warning(disable : 4051) // ALPHA -*/ -#ifdef _WIN32 -#include -#endif - -#include -#include - -void GL_BeginRendering (int *x, int *y, int *width, int *height); -void GL_EndRendering (void); - - -// Function prototypes for the Texture Object Extension routines -typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *, - const GLboolean *); -typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint); -typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *); -typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *); -typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint); -typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *, - const GLclampf *); -typedef void (APIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *); - -extern BINDTEXFUNCPTR bindTexFunc; -extern DELTEXFUNCPTR delTexFunc; -extern TEXSUBIMAGEPTR TexSubImage2DFunc; - -extern int texture_extension_number; -extern int texture_mode; - -extern float gldepthmin, gldepthmax; - -void GL_Upload32 (unsigned *data, int width, int height, qboolean mipmap, qboolean alpha); -void GL_Upload8 (byte *data, int width, int height, qboolean mipmap, qboolean alpha); -void GL_Upload8_EXT (byte *data, int width, int height, qboolean mipmap, qboolean alpha); -int GL_LoadTexture (char *identifier, int width, int height, byte *data, qboolean mipmap, qboolean alpha); -int GL_FindTexture (char *identifier); - -typedef struct -{ - float x, y, z; - float s, t; - float r, g, b; -} glvert_t; - -extern glvert_t glv; - -extern int glx, gly, glwidth, glheight; - -#ifdef _WIN32 -extern PROC glArrayElementEXT; -extern PROC glColorPointerEXT; -extern PROC glTexturePointerEXT; -extern PROC glVertexPointerEXT; -#endif - -// r_local.h -- private refresh defs - -#define ALIAS_BASE_SIZE_RATIO (1.0 / 11.0) - // normalizing factor so player model works out to about - // 1 pixel per triangle -#define MAX_LBM_HEIGHT 480 - -#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf - -#define SKYSHIFT 7 -#define SKYSIZE (1 << SKYSHIFT) -#define SKYMASK (SKYSIZE - 1) - -#define BACKFACE_EPSILON 0.01 - - -void R_TimeRefresh_f (void); -void R_ReadPointFile_f (void); -texture_t *R_TextureAnimation (texture_t *base); - -typedef struct surfcache_s -{ - struct surfcache_s *next; - struct surfcache_s **owner; // NULL is an empty chunk of memory - int lightadj[MAXLIGHTMAPS]; // checked for strobe flush - int dlight; - int size; // including header - unsigned width; - unsigned height; // DEBUG only needed for debug - float mipscale; - struct texture_s *texture; // checked for animating textures - byte data[4]; // width*height elements -} surfcache_t; - - -typedef struct -{ - pixel_t *surfdat; // destination for generated surface - int rowbytes; // destination logical width in bytes - msurface_t *surf; // description for surface to generate - fixed8_t lightadj[MAXLIGHTMAPS]; - // adjust for lightmap levels for dynamic lighting - texture_t *texture; // corrected for animating textures - int surfmip; // mipmapped ratio of surface texels / world pixels - int surfwidth; // in mipmapped texels - int surfheight; // in mipmapped texels -} drawsurf_t; - - -typedef enum { - pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2 -} ptype_t; - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -typedef struct particle_s -{ -// driver-usable fields - vec3_t org; - float color; -// drivers never touch the following fields - struct particle_s *next; - vec3_t vel; - float ramp; - float die; - ptype_t type; -} particle_t; - - -//==================================================== - - -extern entity_t r_worldentity; -extern qboolean r_cache_thrash; // compatability -extern vec3_t modelorg, r_entorigin; -extern entity_t *currententity; -extern int r_visframecount; // ??? what difs? -extern int r_framecount; -extern mplane_t frustum[4]; -extern int c_brush_polys, c_alias_polys; - - -// -// view origin -// -extern vec3_t vup; -extern vec3_t vpn; -extern vec3_t vright; -extern vec3_t r_origin; - -// -// screen size info -// -extern refdef_t r_refdef; -extern mleaf_t *r_viewleaf, *r_oldviewleaf; -extern texture_t *r_notexture_mip; -extern int d_lightstylevalue[256]; // 8.8 fraction of base light value - -extern qboolean envmap; -extern int currenttexture; -extern int cnttextures[2]; -extern int particletexture; -extern int netgraphtexture; // netgraph texture -extern int playertextures; - -extern int skytexturenum; // index in cl.loadmodel, not gl texture object - -extern cvar_t r_norefresh; -extern cvar_t r_drawentities; -extern cvar_t r_drawworld; -extern cvar_t r_drawviewmodel; -extern cvar_t r_speeds; -extern cvar_t r_waterwarp; -extern cvar_t r_fullbright; -extern cvar_t r_lightmap; -extern cvar_t r_shadows; -extern cvar_t r_mirroralpha; -extern cvar_t r_wateralpha; -extern cvar_t r_dynamic; -extern cvar_t r_novis; -extern cvar_t r_netgraph; - -extern cvar_t gl_clear; -extern cvar_t gl_cull; -extern cvar_t gl_poly; -extern cvar_t gl_texsort; -extern cvar_t gl_smoothmodels; -extern cvar_t gl_affinemodels; -extern cvar_t gl_polyblend; -extern cvar_t gl_keeptjunctions; -extern cvar_t gl_reporttjunctions; -extern cvar_t gl_flashblend; -extern cvar_t gl_nocolors; -extern cvar_t gl_finish; - -extern int gl_lightmap_format; -extern int gl_solid_format; -extern int gl_alpha_format; - -extern cvar_t gl_max_size; -extern cvar_t gl_playermip; - -extern int mirrortexturenum; // quake texturenum, not gltexturenum -extern qboolean mirror; -extern mplane_t *mirror_plane; - -extern float r_world_matrix[16]; - -extern const char *gl_vendor; -extern const char *gl_renderer; -extern const char *gl_version; -extern const char *gl_extensions; - -void R_TranslatePlayerSkin (int playernum); -void GL_Bind (int texnum); - -// Multitexture -#define TEXTURE0_SGIS 0x835E -#define TEXTURE1_SGIS 0x835F - -#ifdef _WIN32 -typedef void (APIENTRY *lpMTexFUNC) (GLenum, GLfloat, GLfloat); -typedef void (APIENTRY *lpSelTexFUNC) (GLenum); -extern lpMTexFUNC qglMTexCoord2fSGIS; -extern lpSelTexFUNC qglSelectTextureSGIS; -#endif - -extern qboolean gl_mtexable; - -void GL_DisableMultitexture(void); -void GL_EnableMultitexture(void); - -// -// gl_warp.c -// -void GL_SubdivideSurface (msurface_t *fa); -void EmitBothSkyLayers (msurface_t *fa); -void EmitWaterPolys (msurface_t *fa); -void EmitSkyPolys (msurface_t *fa); -void R_DrawSkyChain (msurface_t *s); - -// -// gl_draw.c -// -int GL_LoadPicTexture (qpic_t *pic); -void GL_Set2D (void); - -// -// gl_rmain.c -// -qboolean R_CullBox (vec3_t mins, vec3_t maxs); -void R_RotateForEntity (entity_t *e); - -// -// gl_rlight.c -// -void R_MarkLights (dlight_t *light, int bit, mnode_t *node); -void R_AnimateLight (void); -void R_RenderDlights (void); -int R_LightPoint (vec3_t p); - -// -// gl_refrag.c -// -void R_StoreEfrags (efrag_t **ppefrag); - -// -// gl_mesh.c -// -void GL_MakeAliasModelDisplayLists (model_t *m, aliashdr_t *hdr); - -// -// gl_rsurf.c -// -void R_DrawBrushModel (entity_t *e); -void R_DrawWorld (void); -void GL_BuildLightmaps (void); - -// -// gl_ngraph.c -// -void R_NetGraph (void); - diff --git a/old_headers/qwcl/menu.h b/old_headers/qwcl/menu.h deleted file mode 100644 index 8a30d09..0000000 --- a/old_headers/qwcl/menu.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -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. - -*/ - -// -// the net drivers should just set the apropriate bits in m_activenet, -// instead of having the menu code look through their internal tables -// -#define MNET_IPX 1 -#define MNET_TCP 2 - -extern int m_activenet; - -// -// menus -// -void M_Init (void); -void M_Keydown (int key); -void M_Draw (void); -void M_ToggleMenu_f (void); -qpic_t *M_CachePic (char *path); -void M_DrawTextBox (int x, int y, int width, int lines); -void M_Menu_Quit_f (void); - - diff --git a/old_headers/qwcl/pmove.h b/old_headers/qwcl/pmove.h deleted file mode 100644 index 302c506..0000000 --- a/old_headers/qwcl/pmove.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -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. - -*/ - -typedef struct -{ - vec3_t normal; - float dist; -} pmplane_t; - -typedef struct -{ - qboolean allsolid; // if true, plane is not valid - qboolean startsolid; // if true, the initial point was in a solid area - qboolean inopen, inwater; - float fraction; // time completed, 1.0 = didn't hit anything - vec3_t endpos; // final position - pmplane_t plane; // surface normal at impact - int ent; // entity the surface is on -} pmtrace_t; - - -#define MAX_PHYSENTS 32 -typedef struct -{ - vec3_t origin; - model_t *model; // only for bsp models - vec3_t mins, maxs; // only for non-bsp models - int info; // for client or server to identify -} physent_t; - - -typedef struct -{ - int sequence; // just for debugging prints - - // player state - vec3_t origin; - vec3_t angles; - vec3_t velocity; - int oldbuttons; - float waterjumptime; - qboolean dead; - int spectator; - - // world state - int numphysent; - physent_t physents[MAX_PHYSENTS]; // 0 should be the world - - // input - usercmd_t cmd; - - // results - int numtouch; - int touchindex[MAX_PHYSENTS]; -} playermove_t; - -typedef struct { - float gravity; - float stopspeed; - float maxspeed; - float spectatormaxspeed; - float accelerate; - float airaccelerate; - float wateraccelerate; - float friction; - float waterfriction; - float entgravity; -} movevars_t; - - -extern movevars_t movevars; -extern playermove_t pmove; -extern int onground; -extern int waterlevel; -extern int watertype; - -void PlayerMove (void); -void Pmove_Init (void); - -int PM_HullPointContents (hull_t *hull, int num, vec3_t p); - -int PM_PointContents (vec3_t point); -qboolean PM_TestPlayerPosition (vec3_t point); -pmtrace_t PM_PlayerMove (vec3_t start, vec3_t stop); diff --git a/old_headers/qwsv/pr_comp.h b/old_headers/qwsv/pr_comp.h deleted file mode 100644 index b237ed5..0000000 --- a/old_headers/qwsv/pr_comp.h +++ /dev/null @@ -1,180 +0,0 @@ -/* -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. - -*/ - -// this file is shared by quake and qcc - -typedef int func_t; -typedef int string_t; - -typedef enum {ev_void, ev_string, ev_float, ev_vector, ev_entity, ev_field, ev_function, ev_pointer} etype_t; - - -#define OFS_NULL 0 -#define OFS_RETURN 1 -#define OFS_PARM0 4 // leave 3 ofs for each parm to hold vectors -#define OFS_PARM1 7 -#define OFS_PARM2 10 -#define OFS_PARM3 13 -#define OFS_PARM4 16 -#define OFS_PARM5 19 -#define OFS_PARM6 22 -#define OFS_PARM7 25 -#define RESERVED_OFS 28 - - -enum { - OP_DONE, - OP_MUL_F, - OP_MUL_V, - OP_MUL_FV, - OP_MUL_VF, - OP_DIV_F, - OP_ADD_F, - OP_ADD_V, - OP_SUB_F, - OP_SUB_V, - - OP_EQ_F, - OP_EQ_V, - OP_EQ_S, - OP_EQ_E, - OP_EQ_FNC, - - OP_NE_F, - OP_NE_V, - OP_NE_S, - OP_NE_E, - OP_NE_FNC, - - OP_LE, - OP_GE, - OP_LT, - OP_GT, - - OP_LOAD_F, - OP_LOAD_V, - OP_LOAD_S, - OP_LOAD_ENT, - OP_LOAD_FLD, - OP_LOAD_FNC, - - OP_ADDRESS, - - OP_STORE_F, - OP_STORE_V, - OP_STORE_S, - OP_STORE_ENT, - OP_STORE_FLD, - OP_STORE_FNC, - - OP_STOREP_F, - OP_STOREP_V, - OP_STOREP_S, - OP_STOREP_ENT, - OP_STOREP_FLD, - OP_STOREP_FNC, - - OP_RETURN, - OP_NOT_F, - OP_NOT_V, - OP_NOT_S, - OP_NOT_ENT, - OP_NOT_FNC, - OP_IF, - OP_IFNOT, - OP_CALL0, - OP_CALL1, - OP_CALL2, - OP_CALL3, - OP_CALL4, - OP_CALL5, - OP_CALL6, - OP_CALL7, - OP_CALL8, - OP_STATE, - OP_GOTO, - OP_AND, - OP_OR, - - OP_BITAND, - OP_BITOR -}; - - -typedef struct statement_s -{ - unsigned short op; - short a,b,c; -} dstatement_t; - -typedef struct -{ - unsigned short type; // if DEF_SAVEGLOBGAL bit is set - // the variable needs to be saved in savegames - unsigned short ofs; - int s_name; -} ddef_t; -#define DEF_SAVEGLOBAL (1<<15) - -#define MAX_PARMS 8 - -typedef struct -{ - int first_statement; // negative numbers are builtins - int parm_start; - int locals; // total ints of parms + locals - - int profile; // runtime - - int s_name; - int s_file; // source file defined in - - int numparms; - byte parm_size[MAX_PARMS]; -} dfunction_t; - - -#define PROG_VERSION 6 -typedef struct -{ - int version; - int crc; // check of header file - - int ofs_statements; - int numstatements; // statement 0 is an error - - int ofs_globaldefs; - int numglobaldefs; - - int ofs_fielddefs; - int numfielddefs; - - int ofs_functions; - int numfunctions; // function 0 is an empty - - int ofs_strings; - int numstrings; // first string is a null string - - int ofs_globals; - int numglobals; - - int entityfields; -} dprograms_t; - diff --git a/old_headers/qwsv/progdefs.h b/old_headers/qwsv/progdefs.h deleted file mode 100644 index 7563a43..0000000 --- a/old_headers/qwsv/progdefs.h +++ /dev/null @@ -1,159 +0,0 @@ -/* -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. - -*/ - -/* file generated by qcc, do not modify */ - -typedef struct -{ int pad[28]; - int self; - int other; - int world; - float time; - float frametime; - int newmis; - float force_retouch; - string_t mapname; - float serverflags; - float total_secrets; - float total_monsters; - float found_secrets; - float killed_monsters; - float parm1; - float parm2; - float parm3; - float parm4; - float parm5; - float parm6; - float parm7; - float parm8; - float parm9; - float parm10; - float parm11; - float parm12; - float parm13; - float parm14; - float parm15; - float parm16; - vec3_t v_forward; - vec3_t v_up; - vec3_t v_right; - float trace_allsolid; - float trace_startsolid; - float trace_fraction; - vec3_t trace_endpos; - vec3_t trace_plane_normal; - float trace_plane_dist; - int trace_ent; - float trace_inopen; - float trace_inwater; - int msg_entity; - func_t main; - func_t StartFrame; - func_t PlayerPreThink; - func_t PlayerPostThink; - func_t ClientKill; - func_t ClientConnect; - func_t PutClientInServer; - func_t ClientDisconnect; - func_t SetNewParms; - func_t SetChangeParms; -} globalvars_t; - -typedef struct -{ - float modelindex; - vec3_t absmin; - vec3_t absmax; - float ltime; - float lastruntime; - float movetype; - float solid; - vec3_t origin; - vec3_t oldorigin; - vec3_t velocity; - vec3_t angles; - vec3_t avelocity; - string_t classname; - string_t model; - float frame; - float skin; - float effects; - vec3_t mins; - vec3_t maxs; - vec3_t size; - func_t touch; - func_t use; - func_t think; - func_t blocked; - float nextthink; - int groundentity; - float health; - float frags; - float weapon; - string_t weaponmodel; - float weaponframe; - float currentammo; - float ammo_shells; - float ammo_nails; - float ammo_rockets; - float ammo_cells; - float items; - float takedamage; - int chain; - float deadflag; - vec3_t view_ofs; - float button0; - float button1; - float button2; - float impulse; - float fixangle; - vec3_t v_angle; - string_t netname; - int enemy; - float flags; - float colormap; - float team; - float max_health; - float teleport_time; - float armortype; - float armorvalue; - float waterlevel; - float watertype; - float ideal_yaw; - float yaw_speed; - int aiment; - int goalentity; - float spawnflags; - string_t target; - string_t targetname; - float dmg_take; - float dmg_save; - int dmg_inflictor; - int owner; - vec3_t movedir; - string_t message; - float sounds; - string_t noise; - string_t noise1; - string_t noise2; - string_t noise3; -} entvars_t; - -#define PROGHEADER_CRC 54730 diff --git a/old_headers/qwsv/progs.h b/old_headers/qwsv/progs.h deleted file mode 100644 index dd23433..0000000 --- a/old_headers/qwsv/progs.h +++ /dev/null @@ -1,147 +0,0 @@ -/* -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. - -*/ - -#include "pr_comp.h" // defs shared with qcc -#include "progdefs.h" // generated by program cdefs - -typedef union eval_s -{ - string_t string; - float _float; - float vector[3]; - func_t function; - int _int; - int edict; -} eval_t; - -#define MAX_ENT_LEAFS 16 -typedef struct edict_s -{ - qboolean free; - link_t area; // linked to a division node or leaf - - int num_leafs; - short leafnums[MAX_ENT_LEAFS]; - - entity_state_t baseline; - - float freetime; // sv.time when the object was freed - entvars_t v; // C exported fields from progs -// other fields from progs come immediately after -} edict_t; -#define EDICT_FROM_AREA(l) STRUCT_FROM_LINK(l,edict_t,area) - -//============================================================================ - -extern dprograms_t *progs; -extern dfunction_t *pr_functions; -extern char *pr_strings; -extern ddef_t *pr_globaldefs; -extern ddef_t *pr_fielddefs; -extern dstatement_t *pr_statements; -extern globalvars_t *pr_global_struct; -extern float *pr_globals; // same as pr_global_struct - -extern int pr_edict_size; // in bytes - -//============================================================================ - -void PR_Init (void); - -void PR_ExecuteProgram (func_t fnum); -void PR_LoadProgs (void); - -void PR_Profile_f (void); - -edict_t *ED_Alloc (void); -void ED_Free (edict_t *ed); - -char *ED_NewString (char *string); -// returns a copy of the string allocated from the server's string heap - -void ED_Print (edict_t *ed); -void ED_Write (FILE *f, edict_t *ed); -char *ED_ParseEdict (char *data, edict_t *ent); - -void ED_WriteGlobals (FILE *f); -void ED_ParseGlobals (char *data); - -void ED_LoadFromFile (char *data); - -//define EDICT_NUM(n) ((edict_t *)(sv.edicts+ (n)*pr_edict_size)) -//define NUM_FOR_EDICT(e) (((byte *)(e) - sv.edicts)/pr_edict_size) - -edict_t *EDICT_NUM(int n); -int NUM_FOR_EDICT(edict_t *e); - -#define NEXT_EDICT(e) ((edict_t *)( (byte *)e + pr_edict_size)) - -#define EDICT_TO_PROG(e) ((byte *)e - (byte *)sv.edicts) -#define PROG_TO_EDICT(e) ((edict_t *)((byte *)sv.edicts + e)) - -//============================================================================ - -#define G_FLOAT(o) (pr_globals[o]) -#define G_INT(o) (*(int *)&pr_globals[o]) -#define G_EDICT(o) ((edict_t *)((byte *)sv.edicts+ *(int *)&pr_globals[o])) -#define G_EDICTNUM(o) NUM_FOR_EDICT(G_EDICT(o)) -#define G_VECTOR(o) (&pr_globals[o]) -#define G_STRING(o) (PR_GetString(*(string_t *)&pr_globals[o])) -#define G_FUNCTION(o) (*(func_t *)&pr_globals[o]) - -#define E_FLOAT(e,o) (((float*)&e->v)[o]) -#define E_INT(e,o) (*(int *)&((float*)&e->v)[o]) -#define E_VECTOR(e,o) (&((float*)&e->v)[o]) -#define E_STRING(e,o) (PR_GetString(*(string_t *)&((float*)&e->v)[o])) - -extern int type_size[8]; - -typedef void (*builtin_t) (void); -extern builtin_t *pr_builtins; -extern int pr_numbuiltins; - -extern int pr_argc; - -extern qboolean pr_trace; -extern dfunction_t *pr_xfunction; -extern int pr_xstatement; - -extern func_t SpectatorConnect; -extern func_t SpectatorThink; -extern func_t SpectatorDisconnect; - -void PR_RunError (char *error, ...); - -void ED_PrintEdicts (void); -void ED_PrintNum (int ent); - -eval_t *GetEdictFieldValue(edict_t *ed, char *field); - -// -// PR STrings stuff -// -#define MAX_PRSTR 1024 - -extern char *pr_strtbl[MAX_PRSTR]; -extern int num_prstr; - -char *PR_GetString(int num); -int PR_SetString(char *s); - diff --git a/old_headers/qwsv/qwsvdef.h b/old_headers/qwsv/qwsvdef.h deleted file mode 100644 index 67058ab..0000000 --- a/old_headers/qwsv/qwsvdef.h +++ /dev/null @@ -1,95 +0,0 @@ -/* -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 server - -#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 -#include -#include -#include -#include -#include -#include - -#include "bothdefs.h" - -#include "common.h" -#include "bspfile.h" -#include "sys.h" -#include "zone.h" -#include "mathlib.h" - -#include "cvar.h" -#include "net.h" -#include "protocol.h" -#include "cmd.h" -#include "model.h" -#include "crc.h" -#include "progs.h" - -#include "server.h" -#include "world.h" -#include "pmove.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; - - -//============================================================================= - -// -// host -// -extern quakeparms_t host_parms; - -extern cvar_t sys_nostdout; -extern cvar_t developer; - -extern qboolean host_initialized; // true if into command execution -extern double host_frametime; -extern double realtime; // not bounded in any way, changed at - // start of every frame, never reset - -void SV_Error (char *error, ...); -void SV_Init (quakeparms_t *parms); - -void Con_Printf (char *fmt, ...); -void Con_DPrintf (char *fmt, ...); - diff --git a/old_headers/qwsv/server.h b/old_headers/qwsv/server.h deleted file mode 100644 index c9622eb..0000000 --- a/old_headers/qwsv/server.h +++ /dev/null @@ -1,456 +0,0 @@ -/* -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. - -*/ -// server.h - -#define QW_SERVER - -#define MAX_MASTERS 8 // max recipients for heartbeat packets - -#define MAX_SIGNON_BUFFERS 8 - -typedef enum { - ss_dead, // no map loaded - ss_loading, // spawning level edicts - ss_active // actively running -} server_state_t; -// some qc commands are only valid before the server has finished -// initializing (precache commands, static sounds / objects, etc) - -typedef struct -{ - qboolean active; // false when server is going down - server_state_t state; // precache commands are only valid during load - - double time; - - int lastcheck; // used by PF_checkclient - double lastchecktime; // for monster ai - - qboolean paused; // are we paused? - - //check player/eyes models for hacks - unsigned model_player_checksum; - unsigned eyes_player_checksum; - - char name[64]; // map name - char modelname[MAX_QPATH]; // maps/.bsp, for model_precache[0] - struct model_s *worldmodel; - char *model_precache[MAX_MODELS]; // NULL terminated - char *sound_precache[MAX_SOUNDS]; // NULL terminated - char *lightstyles[MAX_LIGHTSTYLES]; - struct model_s *models[MAX_MODELS]; - - int num_edicts; // increases towards MAX_EDICTS - edict_t *edicts; // can NOT be array indexed, because - // edict_t is variable sized, but can - // be used to reference the world ent - - byte *pvs, *phs; // fully expanded and decompressed - - // added to every client's unreliable buffer each frame, then cleared - sizebuf_t datagram; - byte datagram_buf[MAX_DATAGRAM]; - - // added to every client's reliable buffer each frame, then cleared - sizebuf_t reliable_datagram; - byte reliable_datagram_buf[MAX_MSGLEN]; - - // the multicast buffer is used to send a message to a set of clients - sizebuf_t multicast; - byte multicast_buf[MAX_MSGLEN]; - - // the master buffer is used for building log packets - sizebuf_t master; - byte master_buf[MAX_DATAGRAM]; - - // the signon buffer will be sent to each client as they connect - // includes the entity baselines, the static entities, etc - // large levels will have >MAX_DATAGRAM sized signons, so - // multiple signon messages are kept - sizebuf_t signon; - int num_signon_buffers; - int signon_buffer_size[MAX_SIGNON_BUFFERS]; - byte signon_buffers[MAX_SIGNON_BUFFERS][MAX_DATAGRAM]; -} server_t; - - -#define NUM_SPAWN_PARMS 16 - -typedef enum -{ - cs_free, // can be reused for a new connection - cs_zombie, // client has been disconnected, but don't reuse - // connection for a couple seconds - cs_connected, // has been assigned to a client_t, but not in game yet - cs_spawned // client is fully in game -} client_state_t; - -typedef struct -{ - // received from client - - // reply - double senttime; - float ping_time; - packet_entities_t entities; -} client_frame_t; - -#define MAX_BACK_BUFFERS 4 - -typedef struct client_s -{ - client_state_t state; - - int spectator; // non-interactive - - qboolean sendinfo; // at end of frame, send info to all - // this prevents malicious multiple broadcasts - float lastnametime; // time of last name change - int lastnamecount; // time of last name change - unsigned checksum; // checksum for calcs - qboolean drop; // lose this guy next opportunity - int lossage; // loss percentage - - int userid; // identifying number - char userinfo[MAX_INFO_STRING]; // infostring - - usercmd_t lastcmd; // for filling in big drops and partial predictions - double localtime; // of last message - int oldbuttons; - - float maxspeed; // localized maxspeed - float entgravity; // localized ent gravity - - edict_t *edict; // EDICT_NUM(clientnum+1) - char name[32]; // for printing to other people - // extracted from userinfo - int messagelevel; // for filtering printed messages - - // the datagram is written to after every frame, but only cleared - // when it is sent out to the client. overflow is tolerated. - sizebuf_t datagram; - byte datagram_buf[MAX_DATAGRAM]; - - // back buffers for client reliable data - sizebuf_t backbuf; - int num_backbuf; - int backbuf_size[MAX_BACK_BUFFERS]; - byte backbuf_data[MAX_BACK_BUFFERS][MAX_MSGLEN]; - - double connection_started; // or time of disconnect for zombies - qboolean send_message; // set on frames a datagram arived on - -// spawn parms are carried from level to level - float spawn_parms[NUM_SPAWN_PARMS]; - -// client known data for deltas - int old_frags; - - int stats[MAX_CL_STATS]; - - - client_frame_t frames[UPDATE_BACKUP]; // updates can be deltad from here - - FILE *download; // file being downloaded - int downloadsize; // total bytes - int downloadcount; // bytes sent - - int spec_track; // entnum of player tracking - - double whensaid[10]; // JACK: For floodprots - int whensaidhead; // Head value for floodprots - double lockedtill; - - qboolean upgradewarn; // did we warn him? - - FILE *upload; - char uploadfn[MAX_QPATH]; - netadr_t snap_from; - qboolean remote_snap; - -//===== NETWORK ============ - int chokecount; - int delta_sequence; // -1 = no compression - netchan_t netchan; -} client_t; - -// a client can leave the server in one of four ways: -// dropping properly by quiting or disconnecting -// timing out if no valid messages are received for timeout.value seconds -// getting kicked off by the server operator -// a program error, like an overflowed reliable buffer - -//============================================================================= - - -#define STATFRAMES 100 -typedef struct -{ - double active; - double idle; - int count; - int packets; - - double latched_active; - double latched_idle; - int latched_packets; -} svstats_t; - -// MAX_CHALLENGES is made large to prevent a denial -// of service attack that could cycle all of them -// out before legitimate users connected -#define MAX_CHALLENGES 1024 - -typedef struct -{ - netadr_t adr; - int challenge; - int time; -} challenge_t; - -typedef struct -{ - int spawncount; // number of servers spawned since start, - // used to check late spawns - client_t clients[MAX_CLIENTS]; - int serverflags; // episode completion information - - double last_heartbeat; - int heartbeat_sequence; - svstats_t stats; - - char info[MAX_SERVERINFO_STRING]; - - // log messages are used so that fraglog processes can get stats - int logsequence; // the message currently being filled - double logtime; // time of last swap - sizebuf_t log[2]; - byte log_buf[2][MAX_DATAGRAM]; - - challenge_t challenges[MAX_CHALLENGES]; // to prevent invalid IPs from connecting -} server_static_t; - -//============================================================================= - -// edict->movetype values -#define MOVETYPE_NONE 0 // never moves -#define MOVETYPE_ANGLENOCLIP 1 -#define MOVETYPE_ANGLECLIP 2 -#define MOVETYPE_WALK 3 // gravity -#define MOVETYPE_STEP 4 // gravity, special edge handling -#define MOVETYPE_FLY 5 -#define MOVETYPE_TOSS 6 // gravity -#define MOVETYPE_PUSH 7 // no clip to world, push and crush -#define MOVETYPE_NOCLIP 8 -#define MOVETYPE_FLYMISSILE 9 // extra size to monsters -#define MOVETYPE_BOUNCE 10 - -// edict->solid values -#define SOLID_NOT 0 // no interaction with other objects -#define SOLID_TRIGGER 1 // touch on edge, but not blocking -#define SOLID_BBOX 2 // touch on edge, block -#define SOLID_SLIDEBOX 3 // touch on edge, but not an onground -#define SOLID_BSP 4 // bsp clip, touch on edge, block - -// edict->deadflag values -#define DEAD_NO 0 -#define DEAD_DYING 1 -#define DEAD_DEAD 2 - -#define DAMAGE_NO 0 -#define DAMAGE_YES 1 -#define DAMAGE_AIM 2 - -// edict->flags -#define FL_FLY 1 -#define FL_SWIM 2 -#define FL_GLIMPSE 4 -#define FL_CLIENT 8 -#define FL_INWATER 16 -#define FL_MONSTER 32 -#define FL_GODMODE 64 -#define FL_NOTARGET 128 -#define FL_ITEM 256 -#define FL_ONGROUND 512 -#define FL_PARTIALGROUND 1024 // not all corners are valid -#define FL_WATERJUMP 2048 // player jumping out of water - -// entity effects - -//define EF_BRIGHTFIELD 1 -//define EF_MUZZLEFLASH 2 -#define EF_BRIGHTLIGHT 4 -#define EF_DIMLIGHT 8 - - -#define SPAWNFLAG_NOT_EASY 256 -#define SPAWNFLAG_NOT_MEDIUM 512 -#define SPAWNFLAG_NOT_HARD 1024 -#define SPAWNFLAG_NOT_DEATHMATCH 2048 - -#define MULTICAST_ALL 0 -#define MULTICAST_PHS 1 -#define MULTICAST_PVS 2 - -#define MULTICAST_ALL_R 3 -#define MULTICAST_PHS_R 4 -#define MULTICAST_PVS_R 5 - -//============================================================================ - -extern cvar_t sv_mintic, sv_maxtic; -extern cvar_t sv_maxspeed; - -extern netadr_t master_adr[MAX_MASTERS]; // address of the master server - -extern cvar_t spawn; -extern cvar_t teamplay; -extern cvar_t deathmatch; -extern cvar_t fraglimit; -extern cvar_t timelimit; - -extern server_static_t svs; // persistant server info -extern server_t sv; // local server - -extern client_t *host_client; - -extern edict_t *sv_player; - -extern char localmodels[MAX_MODELS][5]; // inline model names for precache - -extern char localinfo[MAX_LOCALINFO_STRING+1]; - -extern int host_hunklevel; -extern FILE *sv_logfile; -extern FILE *sv_fraglogfile; - -//=========================================================== - -// -// sv_main.c -// -void SV_Shutdown (void); -void SV_Frame (float time); -void SV_FinalMessage (char *message); -void SV_DropClient (client_t *drop); - -int SV_CalcPing (client_t *cl); -void SV_FullClientUpdate (client_t *client, sizebuf_t *buf); - -int SV_ModelIndex (char *name); - -qboolean SV_CheckBottom (edict_t *ent); -qboolean SV_movestep (edict_t *ent, vec3_t move, qboolean relink); - -void SV_WriteClientdataToMessage (client_t *client, sizebuf_t *msg); - -void SV_MoveToGoal (void); - -void SV_SaveSpawnparms (void); - -void SV_Physics_Client (edict_t *ent); - -void SV_ExecuteUserCommand (char *s); -void SV_InitOperatorCommands (void); - -void SV_SendServerinfo (client_t *client); -void SV_ExtractFromUserinfo (client_t *cl); - - -void Master_Heartbeat (void); -void Master_Packet (void); - -// -// sv_init.c -// -void SV_SpawnServer (char *server); -void SV_FlushSignon (void); - - -// -// sv_phys.c -// -void SV_ProgStartFrame (void); -void SV_Physics (void); -void SV_CheckVelocity (edict_t *ent); -void SV_AddGravity (edict_t *ent, float scale); -qboolean SV_RunThink (edict_t *ent); -void SV_Physics_Toss (edict_t *ent); -void SV_RunNewmis (void); -void SV_Impact (edict_t *e1, edict_t *e2); -void SV_SetMoveVars(void); - -// -// sv_send.c -// -void SV_SendClientMessages (void); - -void SV_Multicast (vec3_t origin, int to); -void SV_StartSound (edict_t *entity, int channel, char *sample, int volume, - float attenuation); -void SV_ClientPrintf (client_t *cl, int level, char *fmt, ...); -void SV_BroadcastPrintf (int level, char *fmt, ...); -void SV_BroadcastCommand (char *fmt, ...); -void SV_SendMessagesToAll (void); -void SV_FindModelNumbers (void); - -// -// sv_user.c -// -void SV_ExecuteClientMessage (client_t *cl); -void SV_UserInit (void); -void SV_TogglePause (const char *msg); - - -// -// svonly.c -// -typedef enum {RD_NONE, RD_CLIENT, RD_PACKET} redirect_t; -void SV_BeginRedirect (redirect_t rd); -void SV_EndRedirect (void); - -// -// sv_ccmds.c -// -void SV_Status_f (void); - -// -// sv_ents.c -// -void SV_WriteEntitiesToClient (client_t *client, sizebuf_t *msg); - -// -// sv_nchan.c -// - -void ClientReliableCheckBlock(client_t *cl, int maxsize); -void ClientReliable_FinishWrite(client_t *cl); -void ClientReliableWrite_Begin(client_t *cl, int c, int maxsize); -void ClientReliableWrite_Angle(client_t *cl, float f); -void ClientReliableWrite_Angle16(client_t *cl, float f); -void ClientReliableWrite_Byte(client_t *cl, int c); -void ClientReliableWrite_Char(client_t *cl, int c); -void ClientReliableWrite_Float(client_t *cl, float f); -void ClientReliableWrite_Coord(client_t *cl, float f); -void ClientReliableWrite_Long(client_t *cl, int c); -void ClientReliableWrite_Short(client_t *cl, int c); -void ClientReliableWrite_String(client_t *cl, char *s); -void ClientReliableWrite_SZ(client_t *cl, void *data, int len); - diff --git a/old_headers/qwsv/sys.h b/old_headers/qwsv/sys.h deleted file mode 100644 index c1bf217..0000000 --- a/old_headers/qwsv/sys.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -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. - -*/ -// sys.h -- non-portable functions - -int Sys_FileTime (char *path); - -void Sys_mkdir (char *path); - -void Sys_Error (char *error, ...); -// an error will cause the entire program to exit - -void Sys_Printf (char *fmt, ...); -// send text to the console - -void Sys_Quit (void); -double Sys_DoubleTime (void); -char *Sys_ConsoleInput (void); -void Sys_Init (void); diff --git a/old_headers/qwsv/world.h b/old_headers/qwsv/world.h deleted file mode 100644 index 3dd9e81..0000000 --- a/old_headers/qwsv/world.h +++ /dev/null @@ -1,93 +0,0 @@ -/* -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. - -*/ -// world.h - -typedef struct -{ - vec3_t normal; - float dist; -} plane_t; - -typedef struct -{ - qboolean allsolid; // if true, plane is not valid - qboolean startsolid; // if true, the initial point was in a solid area - qboolean inopen, inwater; - float fraction; // time completed, 1.0 = didn't hit anything - vec3_t endpos; // final position - plane_t plane; // surface normal at impact - edict_t *ent; // entity the surface is on -} trace_t; - - -#define MOVE_NORMAL 0 -#define MOVE_NOMONSTERS 1 -#define MOVE_MISSILE 2 - -typedef struct areanode_s -{ - int axis; // -1 = leaf node - float dist; - struct areanode_s *children[2]; - link_t trigger_edicts; - link_t solid_edicts; -} areanode_t; - -#define AREA_DEPTH 4 -#define AREA_NODES 32 - -extern areanode_t sv_areanodes[AREA_NODES]; - - -void SV_ClearWorld (void); -// called after the world model has been loaded, before linking any entities - -void SV_UnlinkEdict (edict_t *ent); -// call before removing an entity, and before trying to move one, -// so it doesn't clip against itself -// flags ent->v.modified - -void SV_LinkEdict (edict_t *ent, qboolean touch_triggers); -// Needs to be called any time an entity changes origin, mins, maxs, or solid -// flags ent->v.modified -// sets ent->v.absmin and ent->v.absmax -// if touchtriggers, calls prog functions for the intersected triggers - -int SV_PointContents (vec3_t p); -// returns the CONTENTS_* value from the world at the given point. -// does not check any entities at all - -edict_t *SV_TestEntityPosition (edict_t *ent); - -trace_t SV_Move (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int type, edict_t *passedict); -// mins and maxs are reletive - -// if the entire move stays in a solid volume, trace.allsolid will be set - -// if the starting point is in a solid, it will be allowed to move out -// to an open area - -// nomonsters is used for line of sight or edge testing, where mosnters -// shouldn't be considered solid objects - -// passedict is explicitly excluded from clipping checks (normally NULL) - - -edict_t *SV_TestPlayerPosition (edict_t *ent, vec3_t origin); diff --git a/old_headers/standalone/bspfile.h b/old_headers/standalone/bspfile.h deleted file mode 100644 index 3089026..0000000 --- a/old_headers/standalone/bspfile.h +++ /dev/null @@ -1,324 +0,0 @@ -/* -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. - -*/ - - -// upper design bounds - -#define MAX_MAP_HULLS 4 - -#define MAX_MAP_MODELS 256 -#define MAX_MAP_BRUSHES 4096 -#define MAX_MAP_ENTITIES 1024 -#define MAX_MAP_ENTSTRING 65536 - -#define MAX_MAP_PLANES 32767 -#define MAX_MAP_NODES 32767 // because negative shorts are contents -#define MAX_MAP_CLIPNODES 32767 // -#define MAX_MAP_LEAFS 8192 -#define MAX_MAP_VERTS 65535 -#define MAX_MAP_FACES 65535 -#define MAX_MAP_MARKSURFACES 65535 -#define MAX_MAP_TEXINFO 4096 -#define MAX_MAP_EDGES 256000 -#define MAX_MAP_SURFEDGES 512000 -#define MAX_MAP_TEXTURES 512 -#define MAX_MAP_MIPTEX 0x200000 -#define MAX_MAP_LIGHTING 0x100000 -#define MAX_MAP_VISIBILITY 0x100000 - -#define MAX_MAP_PORTALS 65536 - -// key / value pair sizes - -#define MAX_KEY 32 -#define MAX_VALUE 1024 - -//============================================================================= - - -#define BSPVERSION 29 -#define TOOLVERSION 2 - -typedef struct -{ - int fileofs, filelen; -} lump_t; - -#define LUMP_ENTITIES 0 -#define LUMP_PLANES 1 -#define LUMP_TEXTURES 2 -#define LUMP_VERTEXES 3 -#define LUMP_VISIBILITY 4 -#define LUMP_NODES 5 -#define LUMP_TEXINFO 6 -#define LUMP_FACES 7 -#define LUMP_LIGHTING 8 -#define LUMP_CLIPNODES 9 -#define LUMP_LEAFS 10 -#define LUMP_MARKSURFACES 11 -#define LUMP_EDGES 12 -#define LUMP_SURFEDGES 13 -#define LUMP_MODELS 14 - -#define HEADER_LUMPS 15 - -typedef struct -{ - float mins[3], maxs[3]; - float origin[3]; - int headnode[MAX_MAP_HULLS]; - int visleafs; // not including the solid leaf 0 - int firstface, numfaces; -} dmodel_t; - -typedef struct -{ - int version; - lump_t lumps[HEADER_LUMPS]; -} dheader_t; - -typedef struct -{ - int nummiptex; - int dataofs[4]; // [nummiptex] -} dmiptexlump_t; - -#define MIPLEVELS 4 -typedef struct miptex_s -{ - char name[16]; - unsigned width, height; - unsigned offsets[MIPLEVELS]; // four mip maps stored -} miptex_t; - - -typedef struct -{ - float point[3]; -} dvertex_t; - - -// 0-2 are axial planes -#define PLANE_X 0 -#define PLANE_Y 1 -#define PLANE_Z 2 - -// 3-5 are non-axial planes snapped to the nearest -#define PLANE_ANYX 3 -#define PLANE_ANYY 4 -#define PLANE_ANYZ 5 - -typedef struct -{ - float normal[3]; - float dist; - int type; // PLANE_X - PLANE_ANYZ ?remove? trivial to regenerate -} dplane_t; - - - -#define CONTENTS_EMPTY -1 -#define CONTENTS_SOLID -2 -#define CONTENTS_WATER -3 -#define CONTENTS_SLIME -4 -#define CONTENTS_LAVA -5 -#define CONTENTS_SKY -6 -#define CONTENTS_ORIGIN -7 // removed at csg time -#define CONTENTS_CLIP -8 // changed to contents_solid - -#define CONTENTS_CURRENT_0 -9 -#define CONTENTS_CURRENT_90 -10 -#define CONTENTS_CURRENT_180 -11 -#define CONTENTS_CURRENT_270 -12 -#define CONTENTS_CURRENT_UP -13 -#define CONTENTS_CURRENT_DOWN -14 - - -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct -{ - int planenum; - short children[2]; // negative numbers are -(leafs+1), not nodes - short mins[3]; // for sphere culling - short maxs[3]; - unsigned short firstface; - unsigned short numfaces; // counting both sides -} dnode_t; - -typedef struct -{ - int planenum; - short children[2]; // negative numbers are contents -} dclipnode_t; - - -typedef struct texinfo_s -{ - float vecs[2][4]; // [s/t][xyz offset] - int miptex; - int flags; -} texinfo_t; -#define TEX_SPECIAL 1 // sky or slime, no lightmap or 256 subdivision - -// note that edge 0 is never used, because negative edge nums are used for -// counterclockwise use of the edge in a face -typedef struct -{ - unsigned short v[2]; // vertex numbers -} dedge_t; - -#define MAXLIGHTMAPS 4 -typedef struct -{ - short planenum; - short side; - - int firstedge; // we must support > 64k edges - short numedges; - short texinfo; - -// lighting info - byte styles[MAXLIGHTMAPS]; - int lightofs; // start of [numstyles*surfsize] samples -} dface_t; - - - -#define AMBIENT_WATER 0 -#define AMBIENT_SKY 1 -#define AMBIENT_SLIME 2 -#define AMBIENT_LAVA 3 - -#define NUM_AMBIENTS 4 // automatic ambient sounds - -// leaf 0 is the generic CONTENTS_SOLID leaf, used for all solid areas -// all other leafs need visibility info -typedef struct -{ - int contents; - int visofs; // -1 = no visibility info - - short mins[3]; // for frustum culling - short maxs[3]; - - unsigned short firstmarksurface; - unsigned short nummarksurfaces; - - byte ambient_level[NUM_AMBIENTS]; -} dleaf_t; - - -//============================================================================ - -#ifndef QUAKE_GAME - -#define ANGLE_UP -1 -#define ANGLE_DOWN -2 - - -// the utilities get to be lazy and just use large static arrays - -extern int nummodels; -extern dmodel_t dmodels[MAX_MAP_MODELS]; - -extern int visdatasize; -extern byte dvisdata[MAX_MAP_VISIBILITY]; - -extern int lightdatasize; -extern byte dlightdata[MAX_MAP_LIGHTING]; - -extern int texdatasize; -extern byte dtexdata[MAX_MAP_MIPTEX]; // (dmiptexlump_t) - -extern int entdatasize; -extern char dentdata[MAX_MAP_ENTSTRING]; - -extern int numleafs; -extern dleaf_t dleafs[MAX_MAP_LEAFS]; - -extern int numplanes; -extern dplane_t dplanes[MAX_MAP_PLANES]; - -extern int numvertexes; -extern dvertex_t dvertexes[MAX_MAP_VERTS]; - -extern int numnodes; -extern dnode_t dnodes[MAX_MAP_NODES]; - -extern int numtexinfo; -extern texinfo_t texinfo[MAX_MAP_TEXINFO]; - -extern int numfaces; -extern dface_t dfaces[MAX_MAP_FACES]; - -extern int numclipnodes; -extern dclipnode_t dclipnodes[MAX_MAP_CLIPNODES]; - -extern int numedges; -extern dedge_t dedges[MAX_MAP_EDGES]; - -extern int nummarksurfaces; -extern unsigned short dmarksurfaces[MAX_MAP_MARKSURFACES]; - -extern int numsurfedges; -extern int dsurfedges[MAX_MAP_SURFEDGES]; - - -void DecompressVis (byte *in, byte *decompressed); -int CompressVis (byte *vis, byte *dest); - -void LoadBSPFile (char *filename); -void WriteBSPFile (char *filename); -void PrintBSPFileSizes (void); - -//=============== - - -typedef struct epair_s -{ - struct epair_s *next; - char *key; - char *value; -} epair_t; - -typedef struct -{ - vec3_t origin; - int firstbrush; - int numbrushes; - epair_t *epairs; -} entity_t; - -extern int num_entities; -extern entity_t entities[MAX_MAP_ENTITIES]; - -void ParseEntities (void); -void UnparseEntities (void); - -void SetKeyValue (entity_t *ent, char *key, char *value); -char *ValueForKey (entity_t *ent, char *key); -// will return "" if not present - -vec_t FloatForKey (entity_t *ent, char *key); -void GetVectorForKey (entity_t *ent, char *key, vec3_t vec); - -epair_t *ParseEpair (void); - -#endif diff --git a/old_headers/standalone/client.h b/old_headers/standalone/client.h deleted file mode 100644 index 7c59ee9..0000000 --- a/old_headers/standalone/client.h +++ /dev/null @@ -1,375 +0,0 @@ -/* -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. - -*/ -// client.h - -typedef struct -{ - vec3_t viewangles; - -// intended velocities - float forwardmove; - float sidemove; - float upmove; -#ifdef QUAKE2 - byte lightlevel; -#endif -} usercmd_t; - -typedef struct -{ - int length; - char map[MAX_STYLESTRING]; -} lightstyle_t; - -typedef struct -{ - char name[MAX_SCOREBOARDNAME]; - float entertime; - int frags; - int colors; // two 4 bit fields - byte translations[VID_GRADES*256]; -} scoreboard_t; - -typedef struct -{ - int destcolor[3]; - int percent; // 0-256 -} cshift_t; - -#define CSHIFT_CONTENTS 0 -#define CSHIFT_DAMAGE 1 -#define CSHIFT_BONUS 2 -#define CSHIFT_POWERUP 3 -#define NUM_CSHIFTS 4 - -#define NAME_LENGTH 64 - - -// -// client_state_t should hold all pieces of the client state -// - -#define SIGNONS 4 // signon messages to receive before connected - -#define MAX_DLIGHTS 32 -typedef struct -{ - vec3_t origin; - float radius; - float die; // stop lighting after this time - float decay; // drop this each second - float minlight; // don't add when contributing less - int key; -#ifdef QUAKE2 - qboolean dark; // subtracts light instead of adding -#endif -} dlight_t; - - -#define MAX_BEAMS 24 -typedef struct -{ - int entity; - struct model_s *model; - float endtime; - vec3_t start, end; -} beam_t; - -#define MAX_EFRAGS 640 - -#define MAX_MAPSTRING 2048 -#define MAX_DEMOS 8 -#define MAX_DEMONAME 16 - -typedef enum { -ca_dedicated, // a dedicated server with no ability to start a client -ca_disconnected, // full screen console with no connection -ca_connected // valid netcon, talking to a server -} cactive_t; - -// -// the client_static_t structure is persistant through an arbitrary number -// of server connections -// -typedef struct -{ - cactive_t state; - -// personalization data sent to server - char mapstring[MAX_QPATH]; - char spawnparms[MAX_MAPSTRING]; // to restart a level - -// demo loop control - int demonum; // -1 = don't play demos - char demos[MAX_DEMOS][MAX_DEMONAME]; // when not playing - -// demo recording info must be here, because record is started before -// entering a map (and clearing client_state_t) - qboolean demorecording; - qboolean demoplayback; - qboolean timedemo; - int forcetrack; // -1 = use normal cd track - FILE *demofile; - int td_lastframe; // to meter out one message a frame - int td_startframe; // host_framecount at start - float td_starttime; // realtime at second frame of timedemo - - -// connection information - int signon; // 0 to SIGNONS - struct qsocket_s *netcon; - sizebuf_t message; // writing buffer to send to server - -} client_static_t; - -extern client_static_t cls; - -// -// the client_state_t structure is wiped completely at every -// server signon -// -typedef struct -{ - int movemessages; // since connecting to this server - // throw out the first couple, so the player - // doesn't accidentally do something the - // first frame - usercmd_t cmd; // last command sent to the server - -// information for local display - int stats[MAX_CL_STATS]; // health, etc - int items; // inventory bit flags - float item_gettime[32]; // cl.time of aquiring item, for blinking - float faceanimtime; // use anim frame if cl.time < this - - cshift_t cshifts[NUM_CSHIFTS]; // color shifts for damage, powerups - cshift_t prev_cshifts[NUM_CSHIFTS]; // and content types - -// the client maintains its own idea of view angles, which are -// sent to the server each frame. The server sets punchangle when -// the view is temporarliy offset, and an angle reset commands at the start -// of each level and after teleporting. - vec3_t mviewangles[2]; // during demo playback viewangles is lerped - // between these - vec3_t viewangles; - - vec3_t mvelocity[2]; // update by server, used for lean+bob - // (0 is newest) - vec3_t velocity; // lerped between mvelocity[0] and [1] - - vec3_t punchangle; // temporary offset - -// pitch drifting vars - float idealpitch; - float pitchvel; - qboolean nodrift; - float driftmove; - double laststop; - - float viewheight; - float crouch; // local amount for smoothing stepups - - qboolean paused; // send over by server - qboolean onground; - qboolean inwater; - - int intermission; // don't change view angle, full screen, etc - int completed_time; // latched at intermission start - - double mtime[2]; // the timestamp of last two messages - double time; // clients view of time, should be between - // servertime and oldservertime to generate - // a lerp point for other data - double oldtime; // previous cl.time, time-oldtime is used - // to decay light values and smooth step ups - - - float last_received_message; // (realtime) for net trouble icon - -// -// information that is static for the entire time connected to a server -// - struct model_s *model_precache[MAX_MODELS]; - struct sfx_s *sound_precache[MAX_SOUNDS]; - - char levelname[40]; // for display on solo scoreboard - int viewentity; // cl_entitites[cl.viewentity] = player - int maxclients; - int gametype; - -// refresh related state - struct model_s *worldmodel; // cl_entitites[0].model - struct efrag_s *free_efrags; - int num_entities; // held in cl_entities array - int num_statics; // held in cl_staticentities array - entity_t viewent; // the gun model - - int cdtrack, looptrack; // cd audio - -// frag scoreboard - scoreboard_t *scores; // [cl.maxclients] - -#ifdef QUAKE2 -// light level at player's position including dlights -// this is sent back to the server each frame -// architectually ugly but it works - int light_level; -#endif -} client_state_t; - - -// -// cvars -// -extern cvar_t cl_name; -extern cvar_t cl_color; - -extern cvar_t cl_upspeed; -extern cvar_t cl_forwardspeed; -extern cvar_t cl_backspeed; -extern cvar_t cl_sidespeed; - -extern cvar_t cl_movespeedkey; - -extern cvar_t cl_yawspeed; -extern cvar_t cl_pitchspeed; - -extern cvar_t cl_anglespeedkey; - -extern cvar_t cl_autofire; - -extern cvar_t cl_shownet; -extern cvar_t cl_nolerp; - -extern cvar_t cl_pitchdriftspeed; -extern cvar_t lookspring; -extern cvar_t lookstrafe; -extern cvar_t sensitivity; - -extern cvar_t m_pitch; -extern cvar_t m_yaw; -extern cvar_t m_forward; -extern cvar_t m_side; - - -#define MAX_TEMP_ENTITIES 64 // lightning bolts, etc -#define MAX_STATIC_ENTITIES 128 // torches, etc - -extern client_state_t cl; - -// FIXME, allocate dynamically -extern efrag_t cl_efrags[MAX_EFRAGS]; -extern entity_t cl_entities[MAX_EDICTS]; -extern entity_t cl_static_entities[MAX_STATIC_ENTITIES]; -extern lightstyle_t cl_lightstyle[MAX_LIGHTSTYLES]; -extern dlight_t cl_dlights[MAX_DLIGHTS]; -extern entity_t cl_temp_entities[MAX_TEMP_ENTITIES]; -extern beam_t cl_beams[MAX_BEAMS]; - -//============================================================================= - -// -// cl_main -// -dlight_t *CL_AllocDlight (int key); -void CL_DecayLights (void); - -void CL_Init (void); - -void CL_EstablishConnection (char *host); -void CL_Signon1 (void); -void CL_Signon2 (void); -void CL_Signon3 (void); -void CL_Signon4 (void); - -void CL_Disconnect (void); -void CL_Disconnect_f (void); -void CL_NextDemo (void); - -#define MAX_VISEDICTS 256 -extern int cl_numvisedicts; -extern entity_t *cl_visedicts[MAX_VISEDICTS]; - -// -// cl_input -// -typedef struct -{ - int down[2]; // key nums holding it down - int state; // low bit is down state -} kbutton_t; - -extern kbutton_t in_mlook, in_klook; -extern kbutton_t in_strafe; -extern kbutton_t in_speed; - -void CL_InitInput (void); -void CL_SendCmd (void); -void CL_SendMove (usercmd_t *cmd); - -void CL_ParseTEnt (void); -void CL_UpdateTEnts (void); - -void CL_ClearState (void); - - -int CL_ReadFromServer (void); -void CL_WriteToServer (usercmd_t *cmd); -void CL_BaseMove (usercmd_t *cmd); - - -float CL_KeyState (kbutton_t *key); -char *Key_KeynumToString (int keynum); - -// -// cl_demo.c -// -void CL_StopPlayback (void); -int CL_GetMessage (void); - -void CL_Stop_f (void); -void CL_Record_f (void); -void CL_PlayDemo_f (void); -void CL_TimeDemo_f (void); - -// -// cl_parse.c -// -void CL_ParseServerMessage (void); -void CL_NewTranslation (int slot); - -// -// view -// -void V_StartPitchDrift (void); -void V_StopPitchDrift (void); - -void V_RenderView (void); -void V_UpdatePalette (void); -void V_Register (void); -void V_ParseDamage (void); -void V_SetContentsColor (int contents); - - -// -// cl_tent -// -void CL_InitTEnts (void); -void CL_SignonReply (void); diff --git a/old_headers/standalone/cmd.h b/old_headers/standalone/cmd.h deleted file mode 100644 index f9eab24..0000000 --- a/old_headers/standalone/cmd.h +++ /dev/null @@ -1,121 +0,0 @@ -/* -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. - -*/ - -// cmd.h -- Command buffer and command execution - -//=========================================================================== - -/* - -Any number of commands can be added in a frame, from several different sources. -Most commands come from either keybindings or console line input, but remote -servers can also send across commands and entire text files can be execed. - -The + command line options are also added to the command buffer. - -The game starts with a Cbuf_AddText ("exec quake.rc\n"); Cbuf_Execute (); - -*/ - - -void Cbuf_Init (void); -// allocates an initial text buffer that will grow as needed - -void Cbuf_AddText (char *text); -// as new commands are generated from the console or keybindings, -// the text is added to the end of the command buffer. - -void Cbuf_InsertText (char *text); -// when a command wants to issue other commands immediately, the text is -// inserted at the beginning of the buffer, before any remaining unexecuted -// commands. - -void Cbuf_Execute (void); -// Pulls off \n terminated lines of text from the command buffer and sends -// them through Cmd_ExecuteString. Stops when the buffer is empty. -// Normally called once per frame, but may be explicitly invoked. -// Do not call inside a command function! - -//=========================================================================== - -/* - -Command execution takes a null terminated string, breaks it into tokens, -then searches for a command or variable that matches the first token. - -Commands can come from three sources, but the handler functions may choose -to dissallow the action or forward it to a remote server if the source is -not apropriate. - -*/ - -typedef void (*xcommand_t) (void); - -typedef enum -{ - src_client, // came in over a net connection as a clc_stringcmd - // host_client will be valid during this state. - src_command // from the command buffer -} cmd_source_t; - -extern cmd_source_t cmd_source; - -void Cmd_Init (void); - -void Cmd_AddCommand (char *cmd_name, xcommand_t function); -// called by the init functions of other parts of the program to -// register commands and functions to call for them. -// The cmd_name is referenced later, so it should not be in temp memory - -qboolean Cmd_Exists (char *cmd_name); -// used by the cvar code to check for cvar / command name overlap - -char *Cmd_CompleteCommand (char *partial); -// attempts to match a partial command for automatic command line completion -// returns NULL if nothing fits - -int Cmd_Argc (void); -char *Cmd_Argv (int arg); -char *Cmd_Args (void); -// The functions that execute commands get their parameters with these -// functions. Cmd_Argv () will return an empty string, not a NULL -// if arg > argc, so string operations are allways safe. - -int Cmd_CheckParm (char *parm); -// Returns the position (1 to argc-1) in the command's argument list -// where the given parameter apears, or 0 if not present - -void Cmd_TokenizeString (char *text); -// Takes a null terminated string. Does not need to be /n terminated. -// breaks the string up into arg tokens. - -void Cmd_ExecuteString (char *text, cmd_source_t src); -// Parses a single line of text into arguments and tries to execute it. -// The text can come from the command buffer, a remote client, or stdin. - -void Cmd_ForwardToServer (void); -// adds the current command line as a clc_stringcmd to the client message. -// things like godmode, noclip, etc, are commands directed to the server, -// so when they are typed in at the console, they will need to be forwarded. - -void Cmd_Print (char *text); -// used by command functions to send output to either the graphics console or -// passed as a print message to the client - diff --git a/old_headers/standalone/common.h b/old_headers/standalone/common.h deleted file mode 100644 index 87d4a55..0000000 --- a/old_headers/standalone/common.h +++ /dev/null @@ -1,183 +0,0 @@ -/* -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. - -*/ -// comndef.h -- general definitions - -#if !defined BYTE_DEFINED -typedef unsigned char byte; -#define BYTE_DEFINED 1 -#endif - -#undef true -#undef false - -typedef enum {false, true} qboolean; - -//============================================================================ - -typedef struct sizebuf_s -{ - qboolean allowoverflow; // if false, do a Sys_Error - qboolean overflowed; // set to true if the buffer size failed - byte *data; - int maxsize; - int cursize; -} sizebuf_t; - -void SZ_Alloc (sizebuf_t *buf, int startsize); -void SZ_Free (sizebuf_t *buf); -void SZ_Clear (sizebuf_t *buf); -void *SZ_GetSpace (sizebuf_t *buf, int length); -void SZ_Write (sizebuf_t *buf, void *data, int length); -void SZ_Print (sizebuf_t *buf, char *data); // strcats onto the sizebuf - -//============================================================================ - -typedef struct link_s -{ - struct link_s *prev, *next; -} link_t; - - -void ClearLink (link_t *l); -void RemoveLink (link_t *l); -void InsertLinkBefore (link_t *l, link_t *before); -void InsertLinkAfter (link_t *l, link_t *after); - -// (type *)STRUCT_FROM_LINK(link_t *link, type, member) -// ent = STRUCT_FROM_LINK(link,entity_t,order) -// FIXME: remove this mess! -#define STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (int)&(((t *)0)->m))) - -//============================================================================ - -#ifndef NULL -#define NULL ((void *)0) -#endif - -#define Q_MAXCHAR ((char)0x7f) -#define Q_MAXSHORT ((short)0x7fff) -#define Q_MAXINT ((int)0x7fffffff) -#define Q_MAXLONG ((int)0x7fffffff) -#define Q_MAXFLOAT ((int)0x7fffffff) - -#define Q_MINCHAR ((char)0x80) -#define Q_MINSHORT ((short)0x8000) -#define Q_MININT ((int)0x80000000) -#define Q_MINLONG ((int)0x80000000) -#define Q_MINFLOAT ((int)0x7fffffff) - -//============================================================================ - -extern qboolean bigendien; - -extern short (*BigShort) (short l); -extern short (*LittleShort) (short l); -extern int (*BigLong) (int l); -extern int (*LittleLong) (int l); -extern float (*BigFloat) (float l); -extern float (*LittleFloat) (float l); - -//============================================================================ - -void MSG_WriteChar (sizebuf_t *sb, int c); -void MSG_WriteByte (sizebuf_t *sb, int c); -void MSG_WriteShort (sizebuf_t *sb, int c); -void MSG_WriteLong (sizebuf_t *sb, int c); -void MSG_WriteFloat (sizebuf_t *sb, float f); -void MSG_WriteString (sizebuf_t *sb, char *s); -void MSG_WriteCoord (sizebuf_t *sb, float f); -void MSG_WriteAngle (sizebuf_t *sb, float f); - -extern int msg_readcount; -extern qboolean msg_badread; // set if a read goes beyond end of message - -void MSG_BeginReading (void); -int MSG_ReadChar (void); -int MSG_ReadByte (void); -int MSG_ReadShort (void); -int MSG_ReadLong (void); -float MSG_ReadFloat (void); -char *MSG_ReadString (void); - -float MSG_ReadCoord (void); -float MSG_ReadAngle (void); - -//============================================================================ - -void Q_memset (void *dest, int fill, int count); -void Q_memcpy (void *dest, void *src, int count); -int Q_memcmp (void *m1, void *m2, int count); -void Q_strcpy (char *dest, char *src); -void Q_strncpy (char *dest, char *src, int count); -int Q_strlen (char *str); -char *Q_strrchr (char *s, char c); -void Q_strcat (char *dest, char *src); -int Q_strcmp (char *s1, char *s2); -int Q_strncmp (char *s1, char *s2, int count); -int Q_strcasecmp (char *s1, char *s2); -int Q_strncasecmp (char *s1, char *s2, int n); -int Q_atoi (char *str); -float Q_atof (char *str); - -//============================================================================ - -extern char com_token[1024]; -extern qboolean com_eof; - -char *COM_Parse (char *data); - - -extern int com_argc; -extern char **com_argv; - -int COM_CheckParm (char *parm); -void COM_Init (char *path); -void COM_InitArgv (int argc, char **argv); - -char *COM_SkipPath (char *pathname); -void COM_StripExtension (char *in, char *out); -void COM_FileBase (char *in, char *out); -void COM_DefaultExtension (char *path, char *extension); - -char *va(char *format, ...); -// does a varargs printf into a temp buffer - - -//============================================================================ - -extern int com_filesize; -struct cache_user_s; - -extern char com_gamedir[MAX_OSPATH]; - -void COM_WriteFile (char *filename, void *data, int len); -int COM_OpenFile (char *filename, int *hndl); -int COM_FOpenFile (char *filename, FILE **file); -void COM_CloseFile (int h); - -byte *COM_LoadStackFile (char *path, void *buffer, int bufsize); -byte *COM_LoadTempFile (char *path); -byte *COM_LoadHunkFile (char *path); -void COM_LoadCacheFile (char *path, struct cache_user_s *cu); - - -extern struct cvar_s registered; - -extern qboolean standard_quake, rogue, hipnotic; diff --git a/old_headers/standalone/conproc.h b/old_headers/standalone/conproc.h deleted file mode 100644 index 743526f..0000000 --- a/old_headers/standalone/conproc.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -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. - -*/ -// conproc.h - -#define CCOM_WRITE_TEXT 0x2 -// Param1 : Text - -#define CCOM_GET_TEXT 0x3 -// Param1 : Begin line -// Param2 : End line - -#define CCOM_GET_SCR_LINES 0x4 -// No params - -#define CCOM_SET_SCR_LINES 0x5 -// Param1 : Number of lines - -void InitConProc (HANDLE hFile, HANDLE heventParent, HANDLE heventChild); -void DeinitConProc (void); - diff --git a/old_headers/standalone/console.h b/old_headers/standalone/console.h deleted file mode 100644 index ef01f00..0000000 --- a/old_headers/standalone/console.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -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. - -*/ - -// -// console -// -extern int con_totallines; -extern int con_backscroll; -extern qboolean con_forcedup; // because no entities to refresh -extern qboolean con_initialized; -extern byte *con_chars; -extern int con_notifylines; // scan lines to clear for notify lines - -void Con_DrawCharacter (int cx, int line, int num); - -void Con_CheckResize (void); -void Con_Init (void); -void Con_DrawConsole (int lines, qboolean drawinput); -void Con_Print (char *txt); -void Con_Printf (char *fmt, ...); -void Con_DPrintf (char *fmt, ...); -void Con_SafePrintf (char *fmt, ...); -void Con_Clear_f (void); -void Con_DrawNotify (void); -void Con_ClearNotify (void); -void Con_ToggleConsole_f (void); - -void Con_NotifyBox (char *text); // during startup for sound / cd warnings - diff --git a/old_headers/standalone/crc.h b/old_headers/standalone/crc.h deleted file mode 100644 index cad9772..0000000 --- a/old_headers/standalone/crc.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. - -*/ -/* crc.h */ - -void CRC_Init(unsigned short *crcvalue); -void CRC_ProcessByte(unsigned short *crcvalue, byte data); -unsigned short CRC_Value(unsigned short crcvalue); diff --git a/old_headers/standalone/cvar.h b/old_headers/standalone/cvar.h deleted file mode 100644 index 009b747..0000000 --- a/old_headers/standalone/cvar.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -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. - -*/ -// cvar.h - -/* - -cvar_t variables are used to hold scalar or string variables that can be changed or displayed at the console or prog code as well as accessed directly -in C code. - -it is sufficient to initialize a cvar_t with just the first two fields, or -you can add a ,true flag for variables that you want saved to the configuration -file when the game is quit: - -cvar_t r_draworder = {"r_draworder","1"}; -cvar_t scr_screensize = {"screensize","1",true}; - -Cvars must be registered before use, or they will have a 0 value instead of the float interpretation of the string. Generally, all cvar_t declarations should be registered in the apropriate init function before any console commands are executed: -Cvar_RegisterVariable (&host_framerate); - - -C code usually just references a cvar in place: -if ( r_draworder.value ) - -It could optionally ask for the value to be looked up for a string name: -if (Cvar_VariableValue ("r_draworder")) - -Interpreted prog code can access cvars with the cvar(name) or -cvar_set (name, value) internal functions: -teamplay = cvar("teamplay"); -cvar_set ("registered", "1"); - -The user can access cvars from the console in two ways: -r_draworder prints the current value -r_draworder 0 sets the current value to 0 -Cvars are restricted from having the same names as commands to keep this -interface from being ambiguous. -*/ - -typedef struct cvar_s -{ - char *name; - char *string; - qboolean archive; // set to true to cause it to be saved to vars.rc - qboolean server; // notifies players when changed - float value; - struct cvar_s *next; -} cvar_t; - -void Cvar_RegisterVariable (cvar_t *variable); -// registers a cvar that allready has the name, string, and optionally the -// archive elements set. - -void Cvar_Set (char *var_name, char *value); -// equivelant to " " typed at the console - -void Cvar_SetValue (char *var_name, float value); -// expands value to a string and calls Cvar_Set - -float Cvar_VariableValue (char *var_name); -// returns 0 if not defined or non numeric - -char *Cvar_VariableString (char *var_name); -// returns an empty string if not defined - -char *Cvar_CompleteVariable (char *partial); -// attempts to match a partial variable name for command line completion -// returns NULL if nothing fits - -qboolean Cvar_Command (void); -// called by Cmd_ExecuteString when Cmd_Argv(0) doesn't match a known -// command. Returns true if the command was a variable reference that -// was handled. (print or change) - -void Cvar_WriteVariables (FILE *f); -// Writes lines containing "set variable value" for all variables -// with the archive flag set to true. - -cvar_t *Cvar_FindVar (char *var_name); - -extern cvar_t *cvar_vars; diff --git a/old_headers/standalone/dosisms.h b/old_headers/standalone/dosisms.h deleted file mode 100644 index 7f12268..0000000 --- a/old_headers/standalone/dosisms.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -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. - -*/ - -// -// dosisms.h: I'd call it dos.h, but the name's taken -// - -#ifndef _DOSISMS_H_ -#define _DOSISMS_H_ - -int dos_lockmem(void *addr, int size); -int dos_unlockmem(void *addr, int size); - -typedef union { - struct { - unsigned long edi; - unsigned long esi; - unsigned long ebp; - unsigned long res; - unsigned long ebx; - unsigned long edx; - unsigned long ecx; - unsigned long eax; - } d; - struct { - unsigned short di, di_hi; - unsigned short si, si_hi; - unsigned short bp, bp_hi; - unsigned short res, res_hi; - unsigned short bx, bx_hi; - unsigned short dx, dx_hi; - unsigned short cx, cx_hi; - unsigned short ax, ax_hi; - unsigned short flags; - unsigned short es; - unsigned short ds; - unsigned short fs; - unsigned short gs; - unsigned short ip; - unsigned short cs; - unsigned short sp; - unsigned short ss; - } x; - struct { - unsigned char edi[4]; - unsigned char esi[4]; - unsigned char ebp[4]; - unsigned char res[4]; - unsigned char bl, bh, ebx_b2, ebx_b3; - unsigned char dl, dh, edx_b2, edx_b3; - unsigned char cl, ch, ecx_b2, ecx_b3; - unsigned char al, ah, eax_b2, eax_b3; - } h; -} regs_t; - -unsigned int ptr2real(void *ptr); -void *real2ptr(unsigned int real); -void *far2ptr(unsigned int farptr); -unsigned int ptr2far(void *ptr); - -int dos_inportb(int port); -int dos_inportw(int port); -void dos_outportb(int port, int val); -void dos_outportw(int port, int val); - -void dos_irqenable(void); -void dos_irqdisable(void); -void dos_registerintr(int intr, void (*handler)(void)); -void dos_restoreintr(int intr); - -int dos_int86(int vec); - -void *dos_getmemory(int size); -void dos_freememory(void *ptr); - -void dos_usleep(int usecs); - -int dos_getheapsize(void); - -extern regs_t regs; - -#endif // _DOSISMS_H_ - diff --git a/old_headers/standalone/draw.h b/old_headers/standalone/draw.h deleted file mode 100644 index 5055b65..0000000 --- a/old_headers/standalone/draw.h +++ /dev/null @@ -1,40 +0,0 @@ -/* -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. - -*/ - -// draw.h -- these are the only functions outside the refresh allowed -// to touch the vid buffer - -extern qpic_t *draw_disc; // also used on sbar - -void Draw_Init (void); -void Draw_Character (int x, int y, int num); -void Draw_DebugChar (char num); -void Draw_Pic (int x, int y, qpic_t *pic); -void Draw_TransPic (int x, int y, qpic_t *pic); -void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation); -void Draw_ConsoleBackground (int lines); -void Draw_BeginDisc (void); -void Draw_EndDisc (void); -void Draw_TileClear (int x, int y, int w, int h); -void Draw_Fill (int x, int y, int w, int h, int c); -void Draw_FadeScreen (void); -void Draw_String (int x, int y, char *str); -qpic_t *Draw_PicFromWad (char *name); -qpic_t *Draw_CachePic (char *path); diff --git a/old_headers/standalone/gl_model.h b/old_headers/standalone/gl_model.h deleted file mode 100644 index ae576b8..0000000 --- a/old_headers/standalone/gl_model.h +++ /dev/null @@ -1,430 +0,0 @@ -/* -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. - -*/ - -#ifndef __MODEL__ -#define __MODEL__ - -#include "modelgen.h" -#include "spritegn.h" - -/* - -d*_t structures are on-disk representations -m*_t structures are in-memory - -*/ - -// entity effects - -#define EF_BRIGHTFIELD 1 -#define EF_MUZZLEFLASH 2 -#define EF_BRIGHTLIGHT 4 -#define EF_DIMLIGHT 8 - - -/* -============================================================================== - -BRUSH MODELS - -============================================================================== -*/ - - -// -// in memory representation -// -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - vec3_t position; -} mvertex_t; - -#define SIDE_FRONT 0 -#define SIDE_BACK 1 -#define SIDE_ON 2 - - -// plane_t structure -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct mplane_s -{ - vec3_t normal; - float dist; - byte type; // for texture axis selection and fast side tests - byte signbits; // signx + signy<<1 + signz<<1 - byte pad[2]; -} mplane_t; - -typedef struct texture_s -{ - char name[16]; - unsigned width, height; - int gl_texturenum; - struct msurface_s *texturechain; // for gl_texsort drawing - int anim_total; // total tenths in sequence ( 0 = no) - int anim_min, anim_max; // time for this frame min <=time< max - struct texture_s *anim_next; // in the animation sequence - struct texture_s *alternate_anims; // bmodels in frmae 1 use these - unsigned offsets[MIPLEVELS]; // four mip maps stored -} texture_t; - - -#define SURF_PLANEBACK 2 -#define SURF_DRAWSKY 4 -#define SURF_DRAWSPRITE 8 -#define SURF_DRAWTURB 0x10 -#define SURF_DRAWTILED 0x20 -#define SURF_DRAWBACKGROUND 0x40 -#define SURF_UNDERWATER 0x80 - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - unsigned short v[2]; - unsigned int cachededgeoffset; -} medge_t; - -typedef struct -{ - float vecs[2][4]; - float mipadjust; - texture_t *texture; - int flags; -} mtexinfo_t; - -#define VERTEXSIZE 7 - -typedef struct glpoly_s -{ - struct glpoly_s *next; - struct glpoly_s *chain; - int numverts; - int flags; // for SURF_UNDERWATER - float verts[4][VERTEXSIZE]; // variable sized (xyz s1t1 s2t2) -} glpoly_t; - -typedef struct msurface_s -{ - int visframe; // should be drawn when node is crossed - - mplane_t *plane; - int flags; - - int firstedge; // look up in model->surfedges[], negative numbers - int numedges; // are backwards edges - - short texturemins[2]; - short extents[2]; - - int light_s, light_t; // gl lightmap coordinates - - glpoly_t *polys; // multiple if warped - struct msurface_s *texturechain; - - mtexinfo_t *texinfo; - -// lighting info - int dlightframe; - int dlightbits; - - int lightmaptexturenum; - byte styles[MAXLIGHTMAPS]; - int cached_light[MAXLIGHTMAPS]; // values currently used in lightmap - qboolean cached_dlight; // true if dynamic light in cache - byte *samples; // [numstyles*surfsize] -} msurface_t; - -typedef struct mnode_s -{ -// common with leaf - int contents; // 0, to differentiate from leafs - int visframe; // node needs to be traversed if current - - float minmaxs[6]; // for bounding box culling - - struct mnode_s *parent; - -// node specific - mplane_t *plane; - struct mnode_s *children[2]; - - unsigned short firstsurface; - unsigned short numsurfaces; -} mnode_t; - - - -typedef struct mleaf_s -{ -// common with node - int contents; // wil be a negative contents number - int visframe; // node needs to be traversed if current - - float minmaxs[6]; // for bounding box culling - - struct mnode_s *parent; - -// leaf specific - byte *compressed_vis; - efrag_t *efrags; - - msurface_t **firstmarksurface; - int nummarksurfaces; - int key; // BSP sequence number for leaf's contents - byte ambient_sound_level[NUM_AMBIENTS]; -} mleaf_t; - -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct -{ - dclipnode_t *clipnodes; - mplane_t *planes; - int firstclipnode; - int lastclipnode; - vec3_t clip_mins; - vec3_t clip_maxs; -} hull_t; - -/* -============================================================================== - -SPRITE MODELS - -============================================================================== -*/ - - -// FIXME: shorten these? -typedef struct mspriteframe_s -{ - int width; - int height; - float up, down, left, right; - int gl_texturenum; -} mspriteframe_t; - -typedef struct -{ - int numframes; - float *intervals; - mspriteframe_t *frames[1]; -} mspritegroup_t; - -typedef struct -{ - spriteframetype_t type; - mspriteframe_t *frameptr; -} mspriteframedesc_t; - -typedef struct -{ - int type; - int maxwidth; - int maxheight; - int numframes; - float beamlength; // remove? - void *cachespot; // remove? - mspriteframedesc_t frames[1]; -} msprite_t; - - -/* -============================================================================== - -ALIAS MODELS - -Alias models are position independent, so the cache manager can move them. -============================================================================== -*/ - -typedef struct -{ - int firstpose; - int numposes; - float interval; - trivertx_t bboxmin; - trivertx_t bboxmax; - int frame; - char name[16]; -} maliasframedesc_t; - -typedef struct -{ - trivertx_t bboxmin; - trivertx_t bboxmax; - int frame; -} maliasgroupframedesc_t; - -typedef struct -{ - int numframes; - int intervals; - maliasgroupframedesc_t frames[1]; -} maliasgroup_t; - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct mtriangle_s { - int facesfront; - int vertindex[3]; -} mtriangle_t; - - -#define MAX_SKINS 32 -typedef struct { - int ident; - int version; - vec3_t scale; - vec3_t scale_origin; - float boundingradius; - vec3_t eyeposition; - int numskins; - int skinwidth; - int skinheight; - int numverts; - int numtris; - int numframes; - synctype_t synctype; - int flags; - float size; - - int numposes; - int poseverts; - int posedata; // numposes*poseverts trivert_t - int commands; // gl command list with embedded s/t - int gl_texturenum[MAX_SKINS][4]; - int texels[MAX_SKINS]; // only for player skins - maliasframedesc_t frames[1]; // variable sized -} aliashdr_t; - -#define MAXALIASVERTS 1024 -#define MAXALIASFRAMES 256 -#define MAXALIASTRIS 2048 -extern aliashdr_t *pheader; -extern stvert_t stverts[MAXALIASVERTS]; -extern mtriangle_t triangles[MAXALIASTRIS]; -extern trivertx_t *poseverts[MAXALIASFRAMES]; - -//=================================================================== - -// -// Whole model -// - -typedef enum {mod_brush, mod_sprite, mod_alias} modtype_t; - -#define EF_ROCKET 1 // leave a trail -#define EF_GRENADE 2 // leave a trail -#define EF_GIB 4 // leave a trail -#define EF_ROTATE 8 // rotate (bonus items) -#define EF_TRACER 16 // green split trail -#define EF_ZOMGIB 32 // small blood trail -#define EF_TRACER2 64 // orange split trail + rotate -#define EF_TRACER3 128 // purple trail - -typedef struct model_s -{ - char name[MAX_QPATH]; - qboolean needload; // bmodels and sprites don't cache normally - - modtype_t type; - int numframes; - synctype_t synctype; - - int flags; - -// -// volume occupied by the model graphics -// - vec3_t mins, maxs; - float radius; - -// -// solid volume for clipping -// - qboolean clipbox; - vec3_t clipmins, clipmaxs; - -// -// brush model -// - int firstmodelsurface, nummodelsurfaces; - - int numsubmodels; - dmodel_t *submodels; - - int numplanes; - mplane_t *planes; - - int numleafs; // number of visible leafs, not counting 0 - mleaf_t *leafs; - - int numvertexes; - mvertex_t *vertexes; - - int numedges; - medge_t *edges; - - int numnodes; - mnode_t *nodes; - - int numtexinfo; - mtexinfo_t *texinfo; - - int numsurfaces; - msurface_t *surfaces; - - int numsurfedges; - int *surfedges; - - int numclipnodes; - dclipnode_t *clipnodes; - - int nummarksurfaces; - msurface_t **marksurfaces; - - hull_t hulls[MAX_MAP_HULLS]; - - int numtextures; - texture_t **textures; - - byte *visdata; - byte *lightdata; - char *entities; - -// -// additional model data -// - cache_user_t cache; // only access through Mod_Extradata - -} model_t; - -//============================================================================ - -void Mod_Init (void); -void Mod_ClearAll (void); -model_t *Mod_ForName (char *name, qboolean crash); -void *Mod_Extradata (model_t *mod); // handles caching -void Mod_TouchModel (char *name); - -mleaf_t *Mod_PointInLeaf (float *p, model_t *model); -byte *Mod_LeafPVS (mleaf_t *leaf, model_t *model); - -#endif // __MODEL__ diff --git a/old_headers/standalone/glquake.h b/old_headers/standalone/glquake.h deleted file mode 100644 index f3c253c..0000000 --- a/old_headers/standalone/glquake.h +++ /dev/null @@ -1,251 +0,0 @@ -/* -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. - -*/ -// disable data conversion warnings - -#pragma warning(disable : 4244) // MIPS -#pragma warning(disable : 4136) // X86 -#pragma warning(disable : 4051) // ALPHA - -#ifdef _WIN32 -#include -#endif - -#include -#include - -void GL_BeginRendering (int *x, int *y, int *width, int *height); -void GL_EndRendering (void); - - -#ifdef _WIN32 -// Function prototypes for the Texture Object Extension routines -typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *, - const GLboolean *); -typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint); -typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *); -typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *); -typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint); -typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *, - const GLclampf *); -typedef void (APIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *); - -extern BINDTEXFUNCPTR bindTexFunc; -extern DELTEXFUNCPTR delTexFunc; -extern TEXSUBIMAGEPTR TexSubImage2DFunc; -#endif - -extern int texture_extension_number; -extern int texture_mode; - -extern float gldepthmin, gldepthmax; - -void GL_Upload32 (unsigned *data, int width, int height, qboolean mipmap, qboolean alpha); -void GL_Upload8 (byte *data, int width, int height, qboolean mipmap, qboolean alpha); -int GL_LoadTexture (char *identifier, int width, int height, byte *data, qboolean mipmap, qboolean alpha); -int GL_FindTexture (char *identifier); - -typedef struct -{ - float x, y, z; - float s, t; - float r, g, b; -} glvert_t; - -extern glvert_t glv; - -extern int glx, gly, glwidth, glheight; - -#ifdef _WIN32 -extern PROC glArrayElementEXT; -extern PROC glColorPointerEXT; -extern PROC glTexturePointerEXT; -extern PROC glVertexPointerEXT; -#endif - -// r_local.h -- private refresh defs - -#define ALIAS_BASE_SIZE_RATIO (1.0 / 11.0) - // normalizing factor so player model works out to about - // 1 pixel per triangle -#define MAX_LBM_HEIGHT 480 - -#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf - -#define SKYSHIFT 7 -#define SKYSIZE (1 << SKYSHIFT) -#define SKYMASK (SKYSIZE - 1) - -#define BACKFACE_EPSILON 0.01 - - -void R_TimeRefresh_f (void); -void R_ReadPointFile_f (void); -texture_t *R_TextureAnimation (texture_t *base); - -typedef struct surfcache_s -{ - struct surfcache_s *next; - struct surfcache_s **owner; // NULL is an empty chunk of memory - int lightadj[MAXLIGHTMAPS]; // checked for strobe flush - int dlight; - int size; // including header - unsigned width; - unsigned height; // DEBUG only needed for debug - float mipscale; - struct texture_s *texture; // checked for animating textures - byte data[4]; // width*height elements -} surfcache_t; - - -typedef struct -{ - pixel_t *surfdat; // destination for generated surface - int rowbytes; // destination logical width in bytes - msurface_t *surf; // description for surface to generate - fixed8_t lightadj[MAXLIGHTMAPS]; - // adjust for lightmap levels for dynamic lighting - texture_t *texture; // corrected for animating textures - int surfmip; // mipmapped ratio of surface texels / world pixels - int surfwidth; // in mipmapped texels - int surfheight; // in mipmapped texels -} drawsurf_t; - - -typedef enum { - pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2 -} ptype_t; - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -typedef struct particle_s -{ -// driver-usable fields - vec3_t org; - float color; -// drivers never touch the following fields - struct particle_s *next; - vec3_t vel; - float ramp; - float die; - ptype_t type; -} particle_t; - - -//==================================================== - - -extern entity_t r_worldentity; -extern qboolean r_cache_thrash; // compatability -extern vec3_t modelorg, r_entorigin; -extern entity_t *currententity; -extern int r_visframecount; // ??? what difs? -extern int r_framecount; -extern mplane_t frustum[4]; -extern int c_brush_polys, c_alias_polys; - - -// -// view origin -// -extern vec3_t vup; -extern vec3_t vpn; -extern vec3_t vright; -extern vec3_t r_origin; - -// -// screen size info -// -extern refdef_t r_refdef; -extern mleaf_t *r_viewleaf, *r_oldviewleaf; -extern texture_t *r_notexture_mip; -extern int d_lightstylevalue[256]; // 8.8 fraction of base light value - -extern qboolean envmap; -extern int currenttexture; -extern int cnttextures[2]; -extern int particletexture; -extern int playertextures; - -extern int skytexturenum; // index in cl.loadmodel, not gl texture object - -extern cvar_t r_norefresh; -extern cvar_t r_drawentities; -extern cvar_t r_drawworld; -extern cvar_t r_drawviewmodel; -extern cvar_t r_speeds; -extern cvar_t r_waterwarp; -extern cvar_t r_fullbright; -extern cvar_t r_lightmap; -extern cvar_t r_shadows; -extern cvar_t r_mirroralpha; -extern cvar_t r_wateralpha; -extern cvar_t r_dynamic; -extern cvar_t r_novis; - -extern cvar_t gl_clear; -extern cvar_t gl_cull; -extern cvar_t gl_poly; -extern cvar_t gl_texsort; -extern cvar_t gl_smoothmodels; -extern cvar_t gl_affinemodels; -extern cvar_t gl_polyblend; -extern cvar_t gl_keeptjunctions; -extern cvar_t gl_reporttjunctions; -extern cvar_t gl_flashblend; -extern cvar_t gl_nocolors; -extern cvar_t gl_doubleeyes; - -extern int gl_lightmap_format; -extern int gl_solid_format; -extern int gl_alpha_format; - -extern cvar_t gl_max_size; -extern cvar_t gl_playermip; - -extern int mirrortexturenum; // quake texturenum, not gltexturenum -extern qboolean mirror; -extern mplane_t *mirror_plane; - -extern float r_world_matrix[16]; - -extern const char *gl_vendor; -extern const char *gl_renderer; -extern const char *gl_version; -extern const char *gl_extensions; - -void R_TranslatePlayerSkin (int playernum); -void GL_Bind (int texnum); - -// Multitexture -#define TEXTURE0_SGIS 0x835E -#define TEXTURE1_SGIS 0x835F - -#ifndef _WIN32 -#define APIENTRY /* */ -#endif - -typedef void (APIENTRY *lpMTexFUNC) (GLenum, GLfloat, GLfloat); -typedef void (APIENTRY *lpSelTexFUNC) (GLenum); -extern lpMTexFUNC qglMTexCoord2fSGIS; -extern lpSelTexFUNC qglSelectTextureSGIS; - -extern qboolean gl_mtexable; - -void GL_DisableMultitexture(void); -void GL_EnableMultitexture(void); diff --git a/old_headers/standalone/keys.h b/old_headers/standalone/keys.h deleted file mode 100644 index 3fbefd0..0000000 --- a/old_headers/standalone/keys.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -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. - -*/ - -// -// these are the key numbers that should be passed to Key_Event -// -#define K_TAB 9 -#define K_ENTER 13 -#define K_ESCAPE 27 -#define K_SPACE 32 - -// normal keys should be passed as lowercased ascii - -#define K_BACKSPACE 127 -#define K_UPARROW 128 -#define K_DOWNARROW 129 -#define K_LEFTARROW 130 -#define K_RIGHTARROW 131 - -#define K_ALT 132 -#define K_CTRL 133 -#define K_SHIFT 134 -#define K_F1 135 -#define K_F2 136 -#define K_F3 137 -#define K_F4 138 -#define K_F5 139 -#define K_F6 140 -#define K_F7 141 -#define K_F8 142 -#define K_F9 143 -#define K_F10 144 -#define K_F11 145 -#define K_F12 146 -#define K_INS 147 -#define K_DEL 148 -#define K_PGDN 149 -#define K_PGUP 150 -#define K_HOME 151 -#define K_END 152 - -#define K_PAUSE 255 - -// -// mouse buttons generate virtual keys -// -#define K_MOUSE1 200 -#define K_MOUSE2 201 -#define K_MOUSE3 202 - -// -// joystick buttons -// -#define K_JOY1 203 -#define K_JOY2 204 -#define K_JOY3 205 -#define K_JOY4 206 - -// -// aux keys are for multi-buttoned joysticks to generate so they can use -// the normal binding process -// -#define K_AUX1 207 -#define K_AUX2 208 -#define K_AUX3 209 -#define K_AUX4 210 -#define K_AUX5 211 -#define K_AUX6 212 -#define K_AUX7 213 -#define K_AUX8 214 -#define K_AUX9 215 -#define K_AUX10 216 -#define K_AUX11 217 -#define K_AUX12 218 -#define K_AUX13 219 -#define K_AUX14 220 -#define K_AUX15 221 -#define K_AUX16 222 -#define K_AUX17 223 -#define K_AUX18 224 -#define K_AUX19 225 -#define K_AUX20 226 -#define K_AUX21 227 -#define K_AUX22 228 -#define K_AUX23 229 -#define K_AUX24 230 -#define K_AUX25 231 -#define K_AUX26 232 -#define K_AUX27 233 -#define K_AUX28 234 -#define K_AUX29 235 -#define K_AUX30 236 -#define K_AUX31 237 -#define K_AUX32 238 - -// JACK: Intellimouse(c) Mouse Wheel Support - -#define K_MWHEELUP 239 -#define K_MWHEELDOWN 240 - - - -typedef enum {key_game, key_console, key_message, key_menu} keydest_t; - -extern keydest_t key_dest; -extern char *keybindings[256]; -extern int key_repeats[256]; -extern int key_count; // incremented every key event -extern int key_lastpress; - -void Key_Event (int key, qboolean down); -void Key_Init (void); -void Key_WriteBindings (FILE *f); -void Key_SetBinding (int keynum, char *binding); -void Key_ClearStates (void); - diff --git a/old_headers/standalone/mathlib.h b/old_headers/standalone/mathlib.h deleted file mode 100644 index b5506e2..0000000 --- a/old_headers/standalone/mathlib.h +++ /dev/null @@ -1,89 +0,0 @@ -/* -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. - -*/ -// mathlib.h - -typedef float vec_t; -typedef vec_t vec3_t[3]; -typedef vec_t vec5_t[5]; - -typedef int fixed4_t; -typedef int fixed8_t; -typedef int fixed16_t; - -#ifndef M_PI -#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h -#endif - -struct mplane_s; - -extern vec3_t vec3_origin; -extern int nanmask; - -#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask) - -#define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2]) -#define VectorSubtract(a,b,c) {c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];} -#define VectorAdd(a,b,c) {c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];} -#define VectorCopy(a,b) {b[0]=a[0];b[1]=a[1];b[2]=a[2];} - -void VectorMA (vec3_t veca, float scale, vec3_t vecb, vec3_t vecc); - -vec_t _DotProduct (vec3_t v1, vec3_t v2); -void _VectorSubtract (vec3_t veca, vec3_t vecb, vec3_t out); -void _VectorAdd (vec3_t veca, vec3_t vecb, vec3_t out); -void _VectorCopy (vec3_t in, vec3_t out); - -int VectorCompare (vec3_t v1, vec3_t v2); -vec_t Length (vec3_t v); -void CrossProduct (vec3_t v1, vec3_t v2, vec3_t cross); -float VectorNormalize (vec3_t v); // returns vector length -void VectorInverse (vec3_t v); -void VectorScale (vec3_t in, vec_t scale, vec3_t out); -int Q_log2(int val); - -void R_ConcatRotations (float in1[3][3], float in2[3][3], float out[3][3]); -void R_ConcatTransforms (float in1[3][4], float in2[3][4], float out[3][4]); - -void FloorDivMod (double numer, double denom, int *quotient, - int *rem); -fixed16_t Invert24To16(fixed16_t val); -int GreatestCommonDivisor (int i1, int i2); - -void AngleVectors (vec3_t angles, vec3_t forward, vec3_t right, vec3_t up); -int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct mplane_s *plane); -float anglemod(float a); - - - -#define BOX_ON_PLANE_SIDE(emins, emaxs, p) \ - (((p)->type < 3)? \ - ( \ - ((p)->dist <= (emins)[(p)->type])? \ - 1 \ - : \ - ( \ - ((p)->dist >= (emaxs)[(p)->type])?\ - 2 \ - : \ - 3 \ - ) \ - ) \ - : \ - BoxOnPlaneSide( (emins), (emaxs), (p))) diff --git a/old_headers/standalone/menu.h b/old_headers/standalone/menu.h deleted file mode 100644 index 616de3f..0000000 --- a/old_headers/standalone/menu.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -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. - -*/ - -// -// the net drivers should just set the apropriate bits in m_activenet, -// instead of having the menu code look through their internal tables -// -#define MNET_IPX 1 -#define MNET_TCP 2 - -extern int m_activenet; - -// -// menus -// -void M_Init (void); -void M_Keydown (int key); -void M_Draw (void); -void M_ToggleMenu_f (void); - - diff --git a/old_headers/standalone/model.h b/old_headers/standalone/model.h deleted file mode 100644 index 2e89862..0000000 --- a/old_headers/standalone/model.h +++ /dev/null @@ -1,382 +0,0 @@ -/* -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. - -*/ - -#ifndef __MODEL__ -#define __MODEL__ - -#include "modelgen.h" -#include "spritegn.h" - -/* - -d*_t structures are on-disk representations -m*_t structures are in-memory - -*/ - -/* -============================================================================== - -BRUSH MODELS - -============================================================================== -*/ - - -// -// in memory representation -// -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - vec3_t position; -} mvertex_t; - -#define SIDE_FRONT 0 -#define SIDE_BACK 1 -#define SIDE_ON 2 - - -// plane_t structure -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct mplane_s -{ - vec3_t normal; - float dist; - byte type; // for texture axis selection and fast side tests - byte signbits; // signx + signy<<1 + signz<<1 - byte pad[2]; -} mplane_t; - -typedef struct texture_s -{ - char name[16]; - unsigned width, height; - int anim_total; // total tenths in sequence ( 0 = no) - int anim_min, anim_max; // time for this frame min <=time< max - struct texture_s *anim_next; // in the animation sequence - struct texture_s *alternate_anims; // bmodels in frmae 1 use these - unsigned offsets[MIPLEVELS]; // four mip maps stored -} texture_t; - - -#define SURF_PLANEBACK 2 -#define SURF_DRAWSKY 4 -#define SURF_DRAWSPRITE 8 -#define SURF_DRAWTURB 0x10 -#define SURF_DRAWTILED 0x20 -#define SURF_DRAWBACKGROUND 0x40 - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - unsigned short v[2]; - unsigned int cachededgeoffset; -} medge_t; - -typedef struct -{ - float vecs[2][4]; - float mipadjust; - texture_t *texture; - int flags; -} mtexinfo_t; - -typedef struct msurface_s -{ - int visframe; // should be drawn when node is crossed - - int dlightframe; - int dlightbits; - - mplane_t *plane; - int flags; - - int firstedge; // look up in model->surfedges[], negative numbers - int numedges; // are backwards edges - -// surface generation data - struct surfcache_s *cachespots[MIPLEVELS]; - - short texturemins[2]; - short extents[2]; - - mtexinfo_t *texinfo; - -// lighting info - byte styles[MAXLIGHTMAPS]; - byte *samples; // [numstyles*surfsize] -} msurface_t; - -typedef struct mnode_s -{ -// common with leaf - int contents; // 0, to differentiate from leafs - int visframe; // node needs to be traversed if current - - short minmaxs[6]; // for bounding box culling - - struct mnode_s *parent; - -// node specific - mplane_t *plane; - struct mnode_s *children[2]; - - unsigned short firstsurface; - unsigned short numsurfaces; -} mnode_t; - - - -typedef struct mleaf_s -{ -// common with node - int contents; // wil be a negative contents number - int visframe; // node needs to be traversed if current - - short minmaxs[6]; // for bounding box culling - - struct mnode_s *parent; - -// leaf specific - byte *compressed_vis; - efrag_t *efrags; - - msurface_t **firstmarksurface; - int nummarksurfaces; - int key; // BSP sequence number for leaf's contents - byte ambient_sound_level[NUM_AMBIENTS]; -} mleaf_t; - -// !!! if this is changed, it must be changed in asm_i386.h too !!! -typedef struct -{ - dclipnode_t *clipnodes; - mplane_t *planes; - int firstclipnode; - int lastclipnode; - vec3_t clip_mins; - vec3_t clip_maxs; -} hull_t; - -/* -============================================================================== - -SPRITE MODELS - -============================================================================== -*/ - - -// FIXME: shorten these? -typedef struct mspriteframe_s -{ - int width; - int height; - void *pcachespot; // remove? - float up, down, left, right; - byte pixels[4]; -} mspriteframe_t; - -typedef struct -{ - int numframes; - float *intervals; - mspriteframe_t *frames[1]; -} mspritegroup_t; - -typedef struct -{ - spriteframetype_t type; - mspriteframe_t *frameptr; -} mspriteframedesc_t; - -typedef struct -{ - int type; - int maxwidth; - int maxheight; - int numframes; - float beamlength; // remove? - void *cachespot; // remove? - mspriteframedesc_t frames[1]; -} msprite_t; - - -/* -============================================================================== - -ALIAS MODELS - -Alias models are position independent, so the cache manager can move them. -============================================================================== -*/ - -typedef struct -{ - aliasframetype_t type; - trivertx_t bboxmin; - trivertx_t bboxmax; - int frame; - char name[16]; -} maliasframedesc_t; - -typedef struct -{ - aliasskintype_t type; - void *pcachespot; - int skin; -} maliasskindesc_t; - -typedef struct -{ - trivertx_t bboxmin; - trivertx_t bboxmax; - int frame; -} maliasgroupframedesc_t; - -typedef struct -{ - int numframes; - int intervals; - maliasgroupframedesc_t frames[1]; -} maliasgroup_t; - -typedef struct -{ - int numskins; - int intervals; - maliasskindesc_t skindescs[1]; -} maliasskingroup_t; - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct mtriangle_s { - int facesfront; - int vertindex[3]; -} mtriangle_t; - -typedef struct { - int model; - int stverts; - int skindesc; - int triangles; - maliasframedesc_t frames[1]; -} aliashdr_t; - -//=================================================================== - -// -// Whole model -// - -typedef enum {mod_brush, mod_sprite, mod_alias} modtype_t; - -#define EF_ROCKET 1 // leave a trail -#define EF_GRENADE 2 // leave a trail -#define EF_GIB 4 // leave a trail -#define EF_ROTATE 8 // rotate (bonus items) -#define EF_TRACER 16 // green split trail -#define EF_ZOMGIB 32 // small blood trail -#define EF_TRACER2 64 // orange split trail + rotate -#define EF_TRACER3 128 // purple trail - -typedef struct model_s -{ - char name[MAX_QPATH]; - qboolean needload; // bmodels and sprites don't cache normally - - modtype_t type; - int numframes; - synctype_t synctype; - - int flags; - -// -// volume occupied by the model -// - vec3_t mins, maxs; - float radius; - -// -// brush model -// - int firstmodelsurface, nummodelsurfaces; - - int numsubmodels; - dmodel_t *submodels; - - int numplanes; - mplane_t *planes; - - int numleafs; // number of visible leafs, not counting 0 - mleaf_t *leafs; - - int numvertexes; - mvertex_t *vertexes; - - int numedges; - medge_t *edges; - - int numnodes; - mnode_t *nodes; - - int numtexinfo; - mtexinfo_t *texinfo; - - int numsurfaces; - msurface_t *surfaces; - - int numsurfedges; - int *surfedges; - - int numclipnodes; - dclipnode_t *clipnodes; - - int nummarksurfaces; - msurface_t **marksurfaces; - - hull_t hulls[MAX_MAP_HULLS]; - - int numtextures; - texture_t **textures; - - byte *visdata; - byte *lightdata; - char *entities; - -// -// additional model data -// - cache_user_t cache; // only access through Mod_Extradata - -} model_t; - -//============================================================================ - -void Mod_Init (void); -void Mod_ClearAll (void); -model_t *Mod_ForName (char *name, qboolean crash); -void *Mod_Extradata (model_t *mod); // handles caching -void Mod_TouchModel (char *name); - -mleaf_t *Mod_PointInLeaf (float *p, model_t *model); -byte *Mod_LeafPVS (mleaf_t *leaf, model_t *model); - -#endif // __MODEL__ diff --git a/old_headers/standalone/net.h b/old_headers/standalone/net.h deleted file mode 100644 index 71dc254..0000000 --- a/old_headers/standalone/net.h +++ /dev/null @@ -1,333 +0,0 @@ -/* -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. - -*/ -// net.h -- quake's interface to the networking layer - -struct qsockaddr -{ - short sa_family; - unsigned char sa_data[14]; -}; - - -#define NET_NAMELEN 64 - -#define NET_MAXMESSAGE 8192 -#define NET_HEADERSIZE (2 * sizeof(unsigned int)) -#define NET_DATAGRAMSIZE (MAX_DATAGRAM + NET_HEADERSIZE) - -// NetHeader flags -#define NETFLAG_LENGTH_MASK 0x0000ffff -#define NETFLAG_DATA 0x00010000 -#define NETFLAG_ACK 0x00020000 -#define NETFLAG_NAK 0x00040000 -#define NETFLAG_EOM 0x00080000 -#define NETFLAG_UNRELIABLE 0x00100000 -#define NETFLAG_CTL 0x80000000 - - -#define NET_PROTOCOL_VERSION 3 - -// This is the network info/connection protocol. It is used to find Quake -// servers, get info about them, and connect to them. Once connected, the -// Quake game protocol (documented elsewhere) is used. -// -// -// General notes: -// game_name is currently always "QUAKE", but is there so this same protocol -// can be used for future games as well; can you say Quake2? -// -// CCREQ_CONNECT -// string game_name "QUAKE" -// byte net_protocol_version NET_PROTOCOL_VERSION -// -// CCREQ_SERVER_INFO -// string game_name "QUAKE" -// byte net_protocol_version NET_PROTOCOL_VERSION -// -// CCREQ_PLAYER_INFO -// byte player_number -// -// CCREQ_RULE_INFO -// string rule -// -// -// -// CCREP_ACCEPT -// long port -// -// CCREP_REJECT -// string reason -// -// CCREP_SERVER_INFO -// string server_address -// string host_name -// string level_name -// byte current_players -// byte max_players -// byte protocol_version NET_PROTOCOL_VERSION -// -// CCREP_PLAYER_INFO -// byte player_number -// string name -// long colors -// long frags -// long connect_time -// string address -// -// CCREP_RULE_INFO -// string rule -// string value - -// note: -// There are two address forms used above. The short form is just a -// port number. The address that goes along with the port is defined as -// "whatever address you receive this reponse from". This lets us use -// the host OS to solve the problem of multiple host addresses (possibly -// with no routing between them); the host will use the right address -// when we reply to the inbound connection request. The long from is -// a full address and port in a string. It is used for returning the -// address of a server that is not running locally. - -#define CCREQ_CONNECT 0x01 -#define CCREQ_SERVER_INFO 0x02 -#define CCREQ_PLAYER_INFO 0x03 -#define CCREQ_RULE_INFO 0x04 - -#define CCREP_ACCEPT 0x81 -#define CCREP_REJECT 0x82 -#define CCREP_SERVER_INFO 0x83 -#define CCREP_PLAYER_INFO 0x84 -#define CCREP_RULE_INFO 0x85 - -typedef struct qsocket_s -{ - struct qsocket_s *next; - double connecttime; - double lastMessageTime; - double lastSendTime; - - qboolean disconnected; - qboolean canSend; - qboolean sendNext; - - int driver; - int landriver; - int socket; - void *driverdata; - - unsigned int ackSequence; - unsigned int sendSequence; - unsigned int unreliableSendSequence; - int sendMessageLength; - byte sendMessage [NET_MAXMESSAGE]; - - unsigned int receiveSequence; - unsigned int unreliableReceiveSequence; - int receiveMessageLength; - byte receiveMessage [NET_MAXMESSAGE]; - - struct qsockaddr addr; - char address[NET_NAMELEN]; - -} qsocket_t; - -extern qsocket_t *net_activeSockets; -extern qsocket_t *net_freeSockets; -extern int net_numsockets; - -typedef struct -{ - char *name; - qboolean initialized; - int controlSock; - int (*Init) (void); - void (*Shutdown) (void); - void (*Listen) (qboolean state); - int (*OpenSocket) (int port); - int (*CloseSocket) (int socket); - int (*Connect) (int socket, struct qsockaddr *addr); - int (*CheckNewConnections) (void); - int (*Read) (int socket, byte *buf, int len, struct qsockaddr *addr); - int (*Write) (int socket, byte *buf, int len, struct qsockaddr *addr); - int (*Broadcast) (int socket, byte *buf, int len); - char * (*AddrToString) (struct qsockaddr *addr); - int (*StringToAddr) (char *string, struct qsockaddr *addr); - int (*GetSocketAddr) (int socket, struct qsockaddr *addr); - int (*GetNameFromAddr) (struct qsockaddr *addr, char *name); - int (*GetAddrFromName) (char *name, struct qsockaddr *addr); - int (*AddrCompare) (struct qsockaddr *addr1, struct qsockaddr *addr2); - int (*GetSocketPort) (struct qsockaddr *addr); - int (*SetSocketPort) (struct qsockaddr *addr, int port); -} net_landriver_t; - -#define MAX_NET_DRIVERS 8 -extern int net_numlandrivers; -extern net_landriver_t net_landrivers[MAX_NET_DRIVERS]; - -typedef struct -{ - char *name; - qboolean initialized; - int (*Init) (void); - void (*Listen) (qboolean state); - void (*SearchForHosts) (qboolean xmit); - qsocket_t *(*Connect) (char *host); - qsocket_t *(*CheckNewConnections) (void); - int (*QGetMessage) (qsocket_t *sock); - int (*QSendMessage) (qsocket_t *sock, sizebuf_t *data); - int (*SendUnreliableMessage) (qsocket_t *sock, sizebuf_t *data); - qboolean (*CanSendMessage) (qsocket_t *sock); - qboolean (*CanSendUnreliableMessage) (qsocket_t *sock); - void (*Close) (qsocket_t *sock); - void (*Shutdown) (void); - int controlSock; -} net_driver_t; - -extern int net_numdrivers; -extern net_driver_t net_drivers[MAX_NET_DRIVERS]; - -extern int DEFAULTnet_hostport; -extern int net_hostport; - -extern int net_driverlevel; -extern cvar_t hostname; -extern char playername[]; -extern int playercolor; - -extern int messagesSent; -extern int messagesReceived; -extern int unreliableMessagesSent; -extern int unreliableMessagesReceived; - -qsocket_t *NET_NewQSocket (void); -void NET_FreeQSocket(qsocket_t *); -double SetNetTime(void); - - -#define HOSTCACHESIZE 8 - -typedef struct -{ - char name[16]; - char map[16]; - char cname[32]; - int users; - int maxusers; - int driver; - int ldriver; - struct qsockaddr addr; -} hostcache_t; - -extern int hostCacheCount; -extern hostcache_t hostcache[HOSTCACHESIZE]; - -#if !defined(_WIN32 ) && !defined (__linux__) && !defined (__sun__) -#ifndef htonl -extern unsigned long htonl (unsigned long hostlong); -#endif -#ifndef htons -extern unsigned short htons (unsigned short hostshort); -#endif -#ifndef ntohl -extern unsigned long ntohl (unsigned long netlong); -#endif -#ifndef ntohs -extern unsigned short ntohs (unsigned short netshort); -#endif -#endif - -//============================================================================ -// -// public network functions -// -//============================================================================ - -extern double net_time; -extern sizebuf_t net_message; -extern int net_activeconnections; - -void NET_Init (void); -void NET_Shutdown (void); - -struct qsocket_s *NET_CheckNewConnections (void); -// returns a new connection number if there is one pending, else -1 - -struct qsocket_s *NET_Connect (char *host); -// called by client to connect to a host. Returns -1 if not able to - -qboolean NET_CanSendMessage (qsocket_t *sock); -// Returns true or false if the given qsocket can currently accept a -// message to be transmitted. - -int NET_GetMessage (struct qsocket_s *sock); -// returns data in net_message sizebuf -// returns 0 if no data is waiting -// returns 1 if a message was received -// returns 2 if an unreliable message was received -// returns -1 if the connection died - -int NET_SendMessage (struct qsocket_s *sock, sizebuf_t *data); -int NET_SendUnreliableMessage (struct qsocket_s *sock, sizebuf_t *data); -// returns 0 if the message connot be delivered reliably, but the connection -// is still considered valid -// returns 1 if the message was sent properly -// returns -1 if the connection died - -int NET_SendToAll(sizebuf_t *data, int blocktime); -// This is a reliable *blocking* send to all attached clients. - - -void NET_Close (struct qsocket_s *sock); -// if a dead connection is returned by a get or send function, this function -// should be called when it is convenient - -// Server calls when a client is kicked off for a game related misbehavior -// like an illegal protocal conversation. Client calls when disconnecting -// from a server. -// A netcon_t number will not be reused until this function is called for it - -void NET_Poll(void); - - -typedef struct _PollProcedure -{ - struct _PollProcedure *next; - double nextTime; - void (*procedure)(); - void *arg; -} PollProcedure; - -void SchedulePollProcedure(PollProcedure *pp, double timeOffset); - -extern qboolean serialAvailable; -extern qboolean ipxAvailable; -extern qboolean tcpipAvailable; -extern char my_ipx_address[NET_NAMELEN]; -extern char my_tcpip_address[NET_NAMELEN]; -extern void (*GetComPortConfig) (int portNumber, int *port, int *irq, int *baud, qboolean *useModem); -extern void (*SetComPortConfig) (int portNumber, int port, int irq, int baud, qboolean useModem); -extern void (*GetModemConfig) (int portNumber, char *dialType, char *clear, char *init, char *hangup); -extern void (*SetModemConfig) (int portNumber, char *dialType, char *clear, char *init, char *hangup); - -extern qboolean slistInProgress; -extern qboolean slistSilent; -extern qboolean slistLocal; - -void NET_Slist_f (void); diff --git a/old_headers/standalone/net_bw.h b/old_headers/standalone/net_bw.h deleted file mode 100644 index 341c49a..0000000 --- a/old_headers/standalone/net_bw.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. - -*/ -// net_bw.h - -int BW_Init (void); -void BW_Shutdown (void); -void BW_Listen (qboolean state); -int BW_OpenSocket (int port); -int BW_CloseSocket (int socket); -int BW_Connect (int socket, struct qsockaddr *addr); -int BW_CheckNewConnections (void); -int BW_Read (int socket, byte *buf, int len, struct qsockaddr *addr); -int BW_Write (int socket, byte *buf, int len, struct qsockaddr *addr); -int BW_Broadcast (int socket, byte *buf, int len); -char *BW_AddrToString (struct qsockaddr *addr); -int BW_StringToAddr (char *string, struct qsockaddr *addr); -int BW_GetSocketAddr (int socket, struct qsockaddr *addr); -int BW_GetNameFromAddr (struct qsockaddr *addr, char *name); -int BW_GetAddrFromName (char *name, struct qsockaddr *addr); -int BW_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); -int BW_GetSocketPort (struct qsockaddr *addr); -int BW_SetSocketPort (struct qsockaddr *addr, int port); diff --git a/old_headers/standalone/net_dgrm.h b/old_headers/standalone/net_dgrm.h deleted file mode 100644 index da052e7..0000000 --- a/old_headers/standalone/net_dgrm.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -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. - -*/ -// net_dgrm.h - - -int Datagram_Init (void); -void Datagram_Listen (qboolean state); -void Datagram_SearchForHosts (qboolean xmit); -qsocket_t *Datagram_Connect (char *host); -qsocket_t *Datagram_CheckNewConnections (void); -int Datagram_GetMessage (qsocket_t *sock); -int Datagram_SendMessage (qsocket_t *sock, sizebuf_t *data); -int Datagram_SendUnreliableMessage (qsocket_t *sock, sizebuf_t *data); -qboolean Datagram_CanSendMessage (qsocket_t *sock); -qboolean Datagram_CanSendUnreliableMessage (qsocket_t *sock); -void Datagram_Close (qsocket_t *sock); -void Datagram_Shutdown (void); diff --git a/old_headers/standalone/net_ipx.h b/old_headers/standalone/net_ipx.h deleted file mode 100644 index 464fec4..0000000 --- a/old_headers/standalone/net_ipx.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. - -*/ -// net_ipx.h - -int IPX_Init (void); -void IPX_Shutdown (void); -void IPX_Listen (qboolean state); -int IPX_OpenSocket (int port); -int IPX_CloseSocket (int socket); -int IPX_Connect (int socket, struct qsockaddr *addr); -int IPX_CheckNewConnections (void); -int IPX_Read (int socket, byte *buf, int len, struct qsockaddr *addr); -int IPX_Write (int socket, byte *buf, int len, struct qsockaddr *addr); -int IPX_Broadcast (int socket, byte *buf, int len); -char *IPX_AddrToString (struct qsockaddr *addr); -int IPX_StringToAddr (char *string, struct qsockaddr *addr); -int IPX_GetSocketAddr (int socket, struct qsockaddr *addr); -int IPX_GetNameFromAddr (struct qsockaddr *addr, char *name); -int IPX_GetAddrFromName (char *name, struct qsockaddr *addr); -int IPX_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); -int IPX_GetSocketPort (struct qsockaddr *addr); -int IPX_SetSocketPort (struct qsockaddr *addr, int port); diff --git a/old_headers/standalone/net_loop.h b/old_headers/standalone/net_loop.h deleted file mode 100644 index 90cdb2c..0000000 --- a/old_headers/standalone/net_loop.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. - -*/ -// net_loop.h - -int Loop_Init (void); -void Loop_Listen (qboolean state); -void Loop_SearchForHosts (qboolean xmit); -qsocket_t *Loop_Connect (char *host); -qsocket_t *Loop_CheckNewConnections (void); -int Loop_GetMessage (qsocket_t *sock); -int Loop_SendMessage (qsocket_t *sock, sizebuf_t *data); -int Loop_SendUnreliableMessage (qsocket_t *sock, sizebuf_t *data); -qboolean Loop_CanSendMessage (qsocket_t *sock); -qboolean Loop_CanSendUnreliableMessage (qsocket_t *sock); -void Loop_Close (qsocket_t *sock); -void Loop_Shutdown (void); diff --git a/old_headers/standalone/net_mp.h b/old_headers/standalone/net_mp.h deleted file mode 100644 index 13e1675..0000000 --- a/old_headers/standalone/net_mp.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. - -*/ -// net_mpath.h - -int MPATH_Init (void); -void MPATH_Shutdown (void); -void MPATH_Listen (qboolean state); -int MPATH_OpenSocket (int port); -int MPATH_CloseSocket (int socket); -int MPATH_Connect (int socket, struct qsockaddr *addr); -int MPATH_CheckNewConnections (void); -int MPATH_Read (int socket, byte *buf, int len, struct qsockaddr *addr); -int MPATH_Write (int socket, byte *buf, int len, struct qsockaddr *addr); -int MPATH_Broadcast (int socket, byte *buf, int len); -char *MPATH_AddrToString (struct qsockaddr *addr); -int MPATH_StringToAddr (char *string, struct qsockaddr *addr); -int MPATH_GetSocketAddr (int socket, struct qsockaddr *addr); -int MPATH_GetNameFromAddr (struct qsockaddr *addr, char *name); -int MPATH_GetAddrFromName (char *name, struct qsockaddr *addr); -int MPATH_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); -int MPATH_GetSocketPort (struct qsockaddr *addr); -int MPATH_SetSocketPort (struct qsockaddr *addr, int port); diff --git a/old_headers/standalone/net_ser.h b/old_headers/standalone/net_ser.h deleted file mode 100644 index 5885ab9..0000000 --- a/old_headers/standalone/net_ser.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -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. - -*/ -// net_ser.h - -int Serial_Init (void); -void Serial_Listen (qboolean state); -void Serial_SearchForHosts (qboolean xmit); -qsocket_t *Serial_Connect (char *host); -qsocket_t *Serial_CheckNewConnections (void); -int Serial_GetMessage (qsocket_t *sock); -int Serial_SendMessage (qsocket_t *sock, sizebuf_t *data); -int Serial_SendUnreliableMessage (qsocket_t *sock, sizebuf_t *data); -qboolean Serial_CanSendMessage (qsocket_t *sock); -qboolean Serial_CanSendUnreliableMessage (qsocket_t *sock); -void Serial_Close (qsocket_t *sock); -void Serial_Shutdown (void); diff --git a/old_headers/standalone/net_udp.h b/old_headers/standalone/net_udp.h deleted file mode 100644 index 7530301..0000000 --- a/old_headers/standalone/net_udp.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. - -*/ -// net_udp.h - -int UDP_Init (void); -void UDP_Shutdown (void); -void UDP_Listen (qboolean state); -int UDP_OpenSocket (int port); -int UDP_CloseSocket (int socket); -int UDP_Connect (int socket, struct qsockaddr *addr); -int UDP_CheckNewConnections (void); -int UDP_Read (int socket, byte *buf, int len, struct qsockaddr *addr); -int UDP_Write (int socket, byte *buf, int len, struct qsockaddr *addr); -int UDP_Broadcast (int socket, byte *buf, int len); -char *UDP_AddrToString (struct qsockaddr *addr); -int UDP_StringToAddr (char *string, struct qsockaddr *addr); -int UDP_GetSocketAddr (int socket, struct qsockaddr *addr); -int UDP_GetNameFromAddr (struct qsockaddr *addr, char *name); -int UDP_GetAddrFromName (char *name, struct qsockaddr *addr); -int UDP_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); -int UDP_GetSocketPort (struct qsockaddr *addr); -int UDP_SetSocketPort (struct qsockaddr *addr, int port); diff --git a/old_headers/standalone/net_vcr.h b/old_headers/standalone/net_vcr.h deleted file mode 100644 index 95c2f34..0000000 --- a/old_headers/standalone/net_vcr.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -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. - -*/ -// net_vcr.h - -#define VCR_OP_CONNECT 1 -#define VCR_OP_GETMESSAGE 2 -#define VCR_OP_SENDMESSAGE 3 -#define VCR_OP_CANSENDMESSAGE 4 -#define VCR_MAX_MESSAGE 4 - -int VCR_Init (void); -void VCR_Listen (qboolean state); -void VCR_SearchForHosts (qboolean xmit); -qsocket_t *VCR_Connect (char *host); -qsocket_t *VCR_CheckNewConnections (void); -int VCR_GetMessage (qsocket_t *sock); -int VCR_SendMessage (qsocket_t *sock, sizebuf_t *data); -qboolean VCR_CanSendMessage (qsocket_t *sock); -void VCR_Close (qsocket_t *sock); -void VCR_Shutdown (void); diff --git a/old_headers/standalone/net_wins.h b/old_headers/standalone/net_wins.h deleted file mode 100644 index 756ce64..0000000 --- a/old_headers/standalone/net_wins.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. - -*/ -// net_wins.h - -int WINS_Init (void); -void WINS_Shutdown (void); -void WINS_Listen (qboolean state); -int WINS_OpenSocket (int port); -int WINS_CloseSocket (int socket); -int WINS_Connect (int socket, struct qsockaddr *addr); -int WINS_CheckNewConnections (void); -int WINS_Read (int socket, byte *buf, int len, struct qsockaddr *addr); -int WINS_Write (int socket, byte *buf, int len, struct qsockaddr *addr); -int WINS_Broadcast (int socket, byte *buf, int len); -char *WINS_AddrToString (struct qsockaddr *addr); -int WINS_StringToAddr (char *string, struct qsockaddr *addr); -int WINS_GetSocketAddr (int socket, struct qsockaddr *addr); -int WINS_GetNameFromAddr (struct qsockaddr *addr, char *name); -int WINS_GetAddrFromName (char *name, struct qsockaddr *addr); -int WINS_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); -int WINS_GetSocketPort (struct qsockaddr *addr); -int WINS_SetSocketPort (struct qsockaddr *addr, int port); diff --git a/old_headers/standalone/net_wipx.h b/old_headers/standalone/net_wipx.h deleted file mode 100644 index ed82dc1..0000000 --- a/old_headers/standalone/net_wipx.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. - -*/ -// net_wipx.h - -int WIPX_Init (void); -void WIPX_Shutdown (void); -void WIPX_Listen (qboolean state); -int WIPX_OpenSocket (int port); -int WIPX_CloseSocket (int socket); -int WIPX_Connect (int socket, struct qsockaddr *addr); -int WIPX_CheckNewConnections (void); -int WIPX_Read (int socket, byte *buf, int len, struct qsockaddr *addr); -int WIPX_Write (int socket, byte *buf, int len, struct qsockaddr *addr); -int WIPX_Broadcast (int socket, byte *buf, int len); -char *WIPX_AddrToString (struct qsockaddr *addr); -int WIPX_StringToAddr (char *string, struct qsockaddr *addr); -int WIPX_GetSocketAddr (int socket, struct qsockaddr *addr); -int WIPX_GetNameFromAddr (struct qsockaddr *addr, char *name); -int WIPX_GetAddrFromName (char *name, struct qsockaddr *addr); -int WIPX_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); -int WIPX_GetSocketPort (struct qsockaddr *addr); -int WIPX_SetSocketPort (struct qsockaddr *addr, int port); diff --git a/old_headers/standalone/pr_comp.h b/old_headers/standalone/pr_comp.h deleted file mode 100644 index b237ed5..0000000 --- a/old_headers/standalone/pr_comp.h +++ /dev/null @@ -1,180 +0,0 @@ -/* -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. - -*/ - -// this file is shared by quake and qcc - -typedef int func_t; -typedef int string_t; - -typedef enum {ev_void, ev_string, ev_float, ev_vector, ev_entity, ev_field, ev_function, ev_pointer} etype_t; - - -#define OFS_NULL 0 -#define OFS_RETURN 1 -#define OFS_PARM0 4 // leave 3 ofs for each parm to hold vectors -#define OFS_PARM1 7 -#define OFS_PARM2 10 -#define OFS_PARM3 13 -#define OFS_PARM4 16 -#define OFS_PARM5 19 -#define OFS_PARM6 22 -#define OFS_PARM7 25 -#define RESERVED_OFS 28 - - -enum { - OP_DONE, - OP_MUL_F, - OP_MUL_V, - OP_MUL_FV, - OP_MUL_VF, - OP_DIV_F, - OP_ADD_F, - OP_ADD_V, - OP_SUB_F, - OP_SUB_V, - - OP_EQ_F, - OP_EQ_V, - OP_EQ_S, - OP_EQ_E, - OP_EQ_FNC, - - OP_NE_F, - OP_NE_V, - OP_NE_S, - OP_NE_E, - OP_NE_FNC, - - OP_LE, - OP_GE, - OP_LT, - OP_GT, - - OP_LOAD_F, - OP_LOAD_V, - OP_LOAD_S, - OP_LOAD_ENT, - OP_LOAD_FLD, - OP_LOAD_FNC, - - OP_ADDRESS, - - OP_STORE_F, - OP_STORE_V, - OP_STORE_S, - OP_STORE_ENT, - OP_STORE_FLD, - OP_STORE_FNC, - - OP_STOREP_F, - OP_STOREP_V, - OP_STOREP_S, - OP_STOREP_ENT, - OP_STOREP_FLD, - OP_STOREP_FNC, - - OP_RETURN, - OP_NOT_F, - OP_NOT_V, - OP_NOT_S, - OP_NOT_ENT, - OP_NOT_FNC, - OP_IF, - OP_IFNOT, - OP_CALL0, - OP_CALL1, - OP_CALL2, - OP_CALL3, - OP_CALL4, - OP_CALL5, - OP_CALL6, - OP_CALL7, - OP_CALL8, - OP_STATE, - OP_GOTO, - OP_AND, - OP_OR, - - OP_BITAND, - OP_BITOR -}; - - -typedef struct statement_s -{ - unsigned short op; - short a,b,c; -} dstatement_t; - -typedef struct -{ - unsigned short type; // if DEF_SAVEGLOBGAL bit is set - // the variable needs to be saved in savegames - unsigned short ofs; - int s_name; -} ddef_t; -#define DEF_SAVEGLOBAL (1<<15) - -#define MAX_PARMS 8 - -typedef struct -{ - int first_statement; // negative numbers are builtins - int parm_start; - int locals; // total ints of parms + locals - - int profile; // runtime - - int s_name; - int s_file; // source file defined in - - int numparms; - byte parm_size[MAX_PARMS]; -} dfunction_t; - - -#define PROG_VERSION 6 -typedef struct -{ - int version; - int crc; // check of header file - - int ofs_statements; - int numstatements; // statement 0 is an error - - int ofs_globaldefs; - int numglobaldefs; - - int ofs_fielddefs; - int numfielddefs; - - int ofs_functions; - int numfunctions; // function 0 is an empty - - int ofs_strings; - int numstrings; // first string is a null string - - int ofs_globals; - int numglobals; - - int entityfields; -} dprograms_t; - diff --git a/old_headers/standalone/progdefs.h b/old_headers/standalone/progdefs.h deleted file mode 100644 index db86de1..0000000 --- a/old_headers/standalone/progdefs.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -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. - -*/ -#ifdef QUAKE2 -#include "progdefs.q2" -#else -#include "progdefs.q1" -#endif diff --git a/old_headers/standalone/progs.h b/old_headers/standalone/progs.h deleted file mode 100644 index 6d3aa8a..0000000 --- a/old_headers/standalone/progs.h +++ /dev/null @@ -1,134 +0,0 @@ -/* -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. - -*/ - -#include "pr_comp.h" // defs shared with qcc -#include "progdefs.h" // generated by program cdefs - -typedef union eval_s -{ - string_t string; - float _float; - float vector[3]; - func_t function; - int _int; - int edict; -} eval_t; - -#define MAX_ENT_LEAFS 16 -typedef struct edict_s -{ - qboolean free; - link_t area; // linked to a division node or leaf - - int num_leafs; - short leafnums[MAX_ENT_LEAFS]; - - entity_state_t baseline; - - float freetime; // sv.time when the object was freed - entvars_t v; // C exported fields from progs -// other fields from progs come immediately after -} edict_t; -#define EDICT_FROM_AREA(l) STRUCT_FROM_LINK(l,edict_t,area) - -//============================================================================ - -extern dprograms_t *progs; -extern dfunction_t *pr_functions; -extern char *pr_strings; -extern ddef_t *pr_globaldefs; -extern ddef_t *pr_fielddefs; -extern dstatement_t *pr_statements; -extern globalvars_t *pr_global_struct; -extern float *pr_globals; // same as pr_global_struct - -extern int pr_edict_size; // in bytes - -//============================================================================ - -void PR_Init (void); - -void PR_ExecuteProgram (func_t fnum); -void PR_LoadProgs (void); - -void PR_Profile_f (void); - -edict_t *ED_Alloc (void); -void ED_Free (edict_t *ed); - -char *ED_NewString (char *string); -// returns a copy of the string allocated from the server's string heap - -void ED_Print (edict_t *ed); -void ED_Write (FILE *f, edict_t *ed); -char *ED_ParseEdict (char *data, edict_t *ent); - -void ED_WriteGlobals (FILE *f); -void ED_ParseGlobals (char *data); - -void ED_LoadFromFile (char *data); - -//define EDICT_NUM(n) ((edict_t *)(sv.edicts+ (n)*pr_edict_size)) -//define NUM_FOR_EDICT(e) (((byte *)(e) - sv.edicts)/pr_edict_size) - -edict_t *EDICT_NUM(int n); -int NUM_FOR_EDICT(edict_t *e); - -#define NEXT_EDICT(e) ((edict_t *)( (byte *)e + pr_edict_size)) - -#define EDICT_TO_PROG(e) ((byte *)e - (byte *)sv.edicts) -#define PROG_TO_EDICT(e) ((edict_t *)((byte *)sv.edicts + e)) - -//============================================================================ - -#define G_FLOAT(o) (pr_globals[o]) -#define G_INT(o) (*(int *)&pr_globals[o]) -#define G_EDICT(o) ((edict_t *)((byte *)sv.edicts+ *(int *)&pr_globals[o])) -#define G_EDICTNUM(o) NUM_FOR_EDICT(G_EDICT(o)) -#define G_VECTOR(o) (&pr_globals[o]) -#define G_STRING(o) (pr_strings + *(string_t *)&pr_globals[o]) -#define G_FUNCTION(o) (*(func_t *)&pr_globals[o]) - -#define E_FLOAT(e,o) (((float*)&e->v)[o]) -#define E_INT(e,o) (*(int *)&((float*)&e->v)[o]) -#define E_VECTOR(e,o) (&((float*)&e->v)[o]) -#define E_STRING(e,o) (pr_strings + *(string_t *)&((float*)&e->v)[o]) - -extern int type_size[8]; - -typedef void (*builtin_t) (void); -extern builtin_t *pr_builtins; -extern int pr_numbuiltins; - -extern int pr_argc; - -extern qboolean pr_trace; -extern dfunction_t *pr_xfunction; -extern int pr_xstatement; - -extern unsigned short pr_crc; - -void PR_RunError (char *error, ...); - -void ED_PrintEdicts (void); -void ED_PrintNum (int ent); - -eval_t *GetEdictFieldValue(edict_t *ed, char *field); - diff --git a/old_headers/standalone/protocol.h b/old_headers/standalone/protocol.h deleted file mode 100644 index 01780f8..0000000 --- a/old_headers/standalone/protocol.h +++ /dev/null @@ -1,167 +0,0 @@ -/* -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. - -*/ -// protocol.h -- communications protocols - -#define PROTOCOL_VERSION 15 - -// if the high bit of the servercmd is set, the low bits are fast update flags: -#define U_MOREBITS (1<<0) -#define U_ORIGIN1 (1<<1) -#define U_ORIGIN2 (1<<2) -#define U_ORIGIN3 (1<<3) -#define U_ANGLE2 (1<<4) -#define U_NOLERP (1<<5) // don't interpolate movement -#define U_FRAME (1<<6) -#define U_SIGNAL (1<<7) // just differentiates from other updates - -// svc_update can pass all of the fast update bits, plus more -#define U_ANGLE1 (1<<8) -#define U_ANGLE3 (1<<9) -#define U_MODEL (1<<10) -#define U_COLORMAP (1<<11) -#define U_SKIN (1<<12) -#define U_EFFECTS (1<<13) -#define U_LONGENTITY (1<<14) - - -#define SU_VIEWHEIGHT (1<<0) -#define SU_IDEALPITCH (1<<1) -#define SU_PUNCH1 (1<<2) -#define SU_PUNCH2 (1<<3) -#define SU_PUNCH3 (1<<4) -#define SU_VELOCITY1 (1<<5) -#define SU_VELOCITY2 (1<<6) -#define SU_VELOCITY3 (1<<7) -//define SU_AIMENT (1<<8) AVAILABLE BIT -#define SU_ITEMS (1<<9) -#define SU_ONGROUND (1<<10) // no data follows, the bit is it -#define SU_INWATER (1<<11) // no data follows, the bit is it -#define SU_WEAPONFRAME (1<<12) -#define SU_ARMOR (1<<13) -#define SU_WEAPON (1<<14) - -// a sound with no channel is a local only sound -#define SND_VOLUME (1<<0) // a byte -#define SND_ATTENUATION (1<<1) // a byte -#define SND_LOOPING (1<<2) // a long - - -// defaults for clientinfo messages -#define DEFAULT_VIEWHEIGHT 22 - - -// game types sent by serverinfo -// these determine which intermission screen plays -#define GAME_COOP 0 -#define GAME_DEATHMATCH 1 - -//================== -// note that there are some defs.qc that mirror to these numbers -// also related to svc_strings[] in cl_parse -//================== - -// -// server to client -// -#define svc_bad 0 -#define svc_nop 1 -#define svc_disconnect 2 -#define svc_updatestat 3 // [byte] [long] -#define svc_version 4 // [long] server version -#define svc_setview 5 // [short] entity number -#define svc_sound 6 // -#define svc_time 7 // [float] server time -#define svc_print 8 // [string] null terminated string -#define svc_stufftext 9 // [string] stuffed into client's console buffer - // the string should be \n terminated -#define svc_setangle 10 // [angle3] set the view angle to this absolute value - -#define svc_serverinfo 11 // [long] version - // [string] signon string - // [string]..[0]model cache - // [string]...[0]sounds cache -#define svc_lightstyle 12 // [byte] [string] -#define svc_updatename 13 // [byte] [string] -#define svc_updatefrags 14 // [byte] [short] -#define svc_clientdata 15 // -#define svc_stopsound 16 // -#define svc_updatecolors 17 // [byte] [byte] -#define svc_particle 18 // [vec3] -#define svc_damage 19 - -#define svc_spawnstatic 20 -// svc_spawnbinary 21 -#define svc_spawnbaseline 22 - -#define svc_temp_entity 23 - -#define svc_setpause 24 // [byte] on / off -#define svc_signonnum 25 // [byte] used for the signon sequence - -#define svc_centerprint 26 // [string] to put in center of the screen - -#define svc_killedmonster 27 -#define svc_foundsecret 28 - -#define svc_spawnstaticsound 29 // [coord3] [byte] samp [byte] vol [byte] aten - -#define svc_intermission 30 // [string] music -#define svc_finale 31 // [string] music [string] text - -#define svc_cdtrack 32 // [byte] track [byte] looptrack -#define svc_sellscreen 33 - -#define svc_cutscene 34 - -// -// client to server -// -#define clc_bad 0 -#define clc_nop 1 -#define clc_disconnect 2 -#define clc_move 3 // [usercmd_t] -#define clc_stringcmd 4 // [string] message - - -// -// temp entity events -// -#define TE_SPIKE 0 -#define TE_SUPERSPIKE 1 -#define TE_GUNSHOT 2 -#define TE_EXPLOSION 3 -#define TE_TAREXPLOSION 4 -#define TE_LIGHTNING1 5 -#define TE_LIGHTNING2 6 -#define TE_WIZSPIKE 7 -#define TE_KNIGHTSPIKE 8 -#define TE_LIGHTNING3 9 -#define TE_LAVASPLASH 10 -#define TE_TELEPORT 11 -#define TE_EXPLOSION2 12 - -// PGM 01/21/97 -#define TE_BEAM 13 -// PGM 01/21/97 - -#ifdef QUAKE2 -#define TE_IMPLOSION 14 -#define TE_RAILTRAIL 15 -#endif diff --git a/old_headers/standalone/quakedef.h b/old_headers/standalone/quakedef.h deleted file mode 100644 index b4c5e48..0000000 --- a/old_headers/standalone/quakedef.h +++ /dev/null @@ -1,331 +0,0 @@ -/* -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 GLTEST // experimental stuff - -#define QUAKE_GAME // as opposed to utilities - -#define VERSION 1.09 -#define GLQUAKE_VERSION 1.00 -#define D3DQUAKE_VERSION 0.01 -#define WINQUAKE_VERSION 0.996 -#define LINUX_VERSION 1.30 -#define X11_VERSION 1.10 - -//define PARANOID // speed sapping error checking - -#ifdef QUAKE2 -#define GAMENAME "id1" // directory to look in by default -#else -#define GAMENAME "id1" -#endif - -#include -#include -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(WINDED) - -#if defined(_M_IX86) -#define __i386__ 1 -#endif - -void VID_LockBuffer (void); -void VID_UnlockBuffer (void); - -#else - -#define VID_LockBuffer() -#define VID_UnlockBuffer() - -#endif - -#if defined __i386__ // && !defined __sun__ -#define id386 1 -#else -#define id386 0 -#endif - -#if id386 -#define UNALIGNED_OK 1 // set to 0 if unaligned accesses are not supported -#else -#define UNALIGNED_OK 0 -#endif - -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -#define CACHE_SIZE 32 // used to align key data structures - -#define UNUSED(x) (x = x) // for pesky compiler / lint warnings - -#define MINIMUM_MEMORY 0x550000 -#define MINIMUM_MEMORY_LEVELPAK (MINIMUM_MEMORY + 0x100000) - -#define MAX_NUM_ARGVS 50 - -// 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 600 // 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 - -// stock defines - -#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) - -//=========================================== -//rogue changed and added defines - -#define RIT_SHELLS 128 -#define RIT_NAILS 256 -#define RIT_ROCKETS 512 -#define RIT_CELLS 1024 -#define RIT_AXE 2048 -#define RIT_LAVA_NAILGUN 4096 -#define RIT_LAVA_SUPER_NAILGUN 8192 -#define RIT_MULTI_GRENADE 16384 -#define RIT_MULTI_ROCKET 32768 -#define RIT_PLASMA_GUN 65536 -#define RIT_ARMOR1 8388608 -#define RIT_ARMOR2 16777216 -#define RIT_ARMOR3 33554432 -#define RIT_LAVA_NAILS 67108864 -#define RIT_PLASMA_AMMO 134217728 -#define RIT_MULTI_ROCKETS 268435456 -#define RIT_SHIELD 536870912 -#define RIT_ANTIGRAV 1073741824 -#define RIT_SUPERHEALTH 2147483648 - -//MED 01/04/97 added hipnotic defines -//=========================================== -//hipnotic added defines -#define HIT_PROXIMITY_GUN_BIT 16 -#define HIT_MJOLNIR_BIT 7 -#define HIT_LASER_CANNON_BIT 23 -#define HIT_PROXIMITY_GUN (1< MAXWIDTH) ? MAXHEIGHT : MAXWIDTH) - -#define SIN_BUFFER_SIZE (MAXDIMENSION+CYCLE) - -#define INFINITE_DISTANCE 0x10000 // distance that's always guaranteed to - // be farther away than anything in - // the scene - -//=================================================================== - -extern void R_DrawLine (polyvert_t *polyvert0, polyvert_t *polyvert1); - -extern int cachewidth; -extern pixel_t *cacheblock; -extern int screenwidth; - -extern float pixelAspect; - -extern int r_drawnpolycount; - -extern cvar_t r_clearcolor; - -extern int sintable[SIN_BUFFER_SIZE]; -extern int intsintable[SIN_BUFFER_SIZE]; - -extern vec3_t vup, base_vup; -extern vec3_t vpn, base_vpn; -extern vec3_t vright, base_vright; -extern entity_t *currententity; - -#define NUMSTACKEDGES 2400 -#define MINEDGES NUMSTACKEDGES -#define NUMSTACKSURFACES 800 -#define MINSURFACES NUMSTACKSURFACES -#define MAXSPANS 3000 - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct espan_s -{ - int u, v, count; - struct espan_s *pnext; -} espan_t; - -// FIXME: compress, make a union if that will help -// insubmodel is only 1, flags is fewer than 32, spanstate could be a byte -typedef struct surf_s -{ - struct surf_s *next; // active surface stack in r_edge.c - struct surf_s *prev; // used in r_edge.c for active surf stack - struct espan_s *spans; // pointer to linked list of spans to draw - int key; // sorting key (BSP order) - int last_u; // set during tracing - int spanstate; // 0 = not in span - // 1 = in span - // -1 = in inverted span (end before - // start) - int flags; // currentface flags - void *data; // associated data like msurface_t - entity_t *entity; - float nearzi; // nearest 1/z on surface, for mipmapping - qboolean insubmodel; - float d_ziorigin, d_zistepu, d_zistepv; - - int pad[2]; // to 64 bytes -} surf_t; - -extern surf_t *surfaces, *surface_p, *surf_max; - -// surfaces are generated in back to front order by the bsp, so if a surf -// pointer is greater than another one, it should be drawn in front -// surfaces[1] is the background, and is used as the active surface stack. -// surfaces[0] is a dummy, because index 0 is used to indicate no surface -// attached to an edge_t - -//=================================================================== - -extern vec3_t sxformaxis[4]; // s axis transformed into viewspace -extern vec3_t txformaxis[4]; // t axis transformed into viewspac - -extern vec3_t modelorg, base_modelorg; - -extern float xcenter, ycenter; -extern float xscale, yscale; -extern float xscaleinv, yscaleinv; -extern float xscaleshrink, yscaleshrink; - -extern int d_lightstylevalue[256]; // 8.8 frac of base light value - -extern void TransformVector (vec3_t in, vec3_t out); -extern void SetUpForLineScan(fixed8_t startvertu, fixed8_t startvertv, - fixed8_t endvertu, fixed8_t endvertv); - -extern int r_skymade; -extern void R_MakeSky (void); - -extern int ubasestep, errorterm, erroradjustup, erroradjustdown; - -// flags in finalvert_t.flags -#define ALIAS_LEFT_CLIP 0x0001 -#define ALIAS_TOP_CLIP 0x0002 -#define ALIAS_RIGHT_CLIP 0x0004 -#define ALIAS_BOTTOM_CLIP 0x0008 -#define ALIAS_Z_CLIP 0x0010 -// !!! if this is changed, it must be changed in d_ifacea.h too !!! -#define ALIAS_ONSEAM 0x0020 // also defined in modelgen.h; - // must be kept in sync -#define ALIAS_XY_CLIP_MASK 0x000F - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct edge_s -{ - fixed16_t u; - fixed16_t u_step; - struct edge_s *prev, *next; - unsigned short surfs[2]; - struct edge_s *nextremove; - float nearzi; - medge_t *owner; -} edge_t; - -#endif // _R_SHARED_H_ - -#endif // GLQUAKE diff --git a/old_headers/standalone/render.h b/old_headers/standalone/render.h deleted file mode 100644 index b5f8382..0000000 --- a/old_headers/standalone/render.h +++ /dev/null @@ -1,158 +0,0 @@ -/* -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. - -*/ - -// refresh.h -- public interface to refresh functions - -#define MAXCLIPPLANES 11 - -#define TOP_RANGE 16 // soldier uniform colors -#define BOTTOM_RANGE 96 - -//============================================================================= - -typedef struct efrag_s -{ - struct mleaf_s *leaf; - struct efrag_s *leafnext; - struct entity_s *entity; - struct efrag_s *entnext; -} efrag_t; - - -typedef struct entity_s -{ - qboolean forcelink; // model changed - - int update_type; - - entity_state_t baseline; // to fill in defaults in updates - - double msgtime; // time of last update - vec3_t msg_origins[2]; // last two updates (0 is newest) - vec3_t origin; - vec3_t msg_angles[2]; // last two updates (0 is newest) - vec3_t angles; - struct model_s *model; // NULL = no model - struct efrag_s *efrag; // linked list of efrags - int frame; - float syncbase; // for client-side animations - byte *colormap; - int effects; // light, particals, etc - int skinnum; // for Alias models - int visframe; // last frame this entity was - // found in an active leaf - - int dlightframe; // dynamic lighting - int dlightbits; - -// FIXME: could turn these into a union - int trivial_accept; - struct mnode_s *topnode; // for bmodels, first world node - // that splits bmodel, or NULL if - // not split -} entity_t; - -// !!! if this is changed, it must be changed in asm_draw.h too !!! -typedef struct -{ - vrect_t vrect; // subwindow in video for refresh - // FIXME: not need vrect next field here? - vrect_t aliasvrect; // scaled Alias version - int vrectright, vrectbottom; // right & bottom screen coords - int aliasvrectright, aliasvrectbottom; // scaled Alias versions - float vrectrightedge; // rightmost right edge we care about, - // for use in edge list - float fvrectx, fvrecty; // for floating-point compares - float fvrectx_adj, fvrecty_adj; // left and top edges, for clamping - int vrect_x_adj_shift20; // (vrect.x + 0.5 - epsilon) << 20 - int vrectright_adj_shift20; // (vrectright + 0.5 - epsilon) << 20 - float fvrectright_adj, fvrectbottom_adj; - // right and bottom edges, for clamping - float fvrectright; // rightmost edge, for Alias clamping - float fvrectbottom; // bottommost edge, for Alias clamping - float horizontalFieldOfView; // at Z = 1.0, this many X is visible - // 2.0 = 90 degrees - float xOrigin; // should probably allways be 0.5 - float yOrigin; // between be around 0.3 to 0.5 - - vec3_t vieworg; - vec3_t viewangles; - - float fov_x, fov_y; - - int ambientlight; -} refdef_t; - - -// -// refresh -// -extern int reinit_surfcache; - - -extern refdef_t r_refdef; -extern vec3_t r_origin, vpn, vright, vup; - -extern struct texture_s *r_notexture_mip; - - -void R_Init (void); -void R_InitTextures (void); -void R_InitEfrags (void); -void R_RenderView (void); // must set r_refdef first -void R_ViewChanged (vrect_t *pvrect, int lineadj, float aspect); - // called whenever r_refdef or vid change -void R_InitSky (struct texture_s *mt); // called at level load - -void R_AddEfrags (entity_t *ent); -void R_RemoveEfrags (entity_t *ent); - -void R_NewMap (void); - - -void R_ParseParticleEffect (void); -void R_RunParticleEffect (vec3_t org, vec3_t dir, int color, int count); -void R_RocketTrail (vec3_t start, vec3_t end, int type); - -#ifdef QUAKE2 -void R_DarkFieldParticles (entity_t *ent); -#endif -void R_EntityParticles (entity_t *ent); -void R_BlobExplosion (vec3_t org); -void R_ParticleExplosion (vec3_t org); -void R_ParticleExplosion2 (vec3_t org, int colorStart, int colorLength); -void R_LavaSplash (vec3_t org); -void R_TeleportSplash (vec3_t org); - -void R_PushDlights (void); - - -// -// surface cache related -// -extern int reinit_surfcache; // if 1, surface cache is currently empty and -extern qboolean r_cache_thrash; // set if thrashing the surface cache - -int D_SurfaceCacheForRes (int width, int height); -void D_FlushCaches (void); -void D_DeleteSurfaceCache (void); -void D_InitCaches (void *buffer, int size); -void R_SetVrect (vrect_t *pvrect, vrect_t *pvrectin, int lineadj); - diff --git a/old_headers/standalone/resource.h b/old_headers/standalone/resource.h deleted file mode 100644 index afabb2e..0000000 --- a/old_headers/standalone/resource.h +++ /dev/null @@ -1,20 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by winquake.rc -// -#define IDS_STRING1 1 -#define IDI_ICON2 1 -#define IDD_DIALOG1 108 -#define IDD_PROGRESS 109 -#define IDC_PROGRESS 1000 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 111 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1004 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/old_headers/standalone/screen.h b/old_headers/standalone/screen.h deleted file mode 100644 index 845ab55..0000000 --- a/old_headers/standalone/screen.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -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. - -*/ -// screen.h - -void SCR_Init (void); - -void SCR_UpdateScreen (void); - - -void SCR_SizeUp (void); -void SCR_SizeDown (void); -void SCR_BringDownConsole (void); -void SCR_CenterPrint (char *str); - -void SCR_BeginLoadingPlaque (void); -void SCR_EndLoadingPlaque (void); - -int SCR_ModalMessage (char *text); - -extern float scr_con_current; -extern float scr_conlines; // lines of console to display - -extern int scr_fullupdate; // set to 0 to force full redraw -extern int sb_lines; - -extern int clearnotify; // set to 0 whenever notify text is drawn -extern qboolean scr_disabled_for_loading; -extern qboolean scr_skipupdate; - -extern cvar_t scr_viewsize; - -extern cvar_t scr_viewsize; - -// only the refresh window will be updated unless these variables are flagged -extern int scr_copytop; -extern int scr_copyeverything; - -extern qboolean block_drawing; - -void SCR_UpdateWholeScreen (void); diff --git a/old_headers/standalone/server.h b/old_headers/standalone/server.h deleted file mode 100644 index 2d4dfeb..0000000 --- a/old_headers/standalone/server.h +++ /dev/null @@ -1,257 +0,0 @@ -/* -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. - -*/ -// server.h - -typedef struct -{ - int maxclients; - int maxclientslimit; - struct client_s *clients; // [maxclients] - int serverflags; // episode completion information - qboolean changelevel_issued; // cleared when at SV_SpawnServer -} server_static_t; - -//============================================================================= - -typedef enum {ss_loading, ss_active} server_state_t; - -typedef struct -{ - qboolean active; // false if only a net client - - qboolean paused; - qboolean loadgame; // handle connections specially - - double time; - - int lastcheck; // used by PF_checkclient - double lastchecktime; - - char name[64]; // map name -#ifdef QUAKE2 - char startspot[64]; -#endif - char modelname[64]; // maps/.bsp, for model_precache[0] - struct model_s *worldmodel; - char *model_precache[MAX_MODELS]; // NULL terminated - struct model_s *models[MAX_MODELS]; - char *sound_precache[MAX_SOUNDS]; // NULL terminated - char *lightstyles[MAX_LIGHTSTYLES]; - int num_edicts; - int max_edicts; - edict_t *edicts; // can NOT be array indexed, because - // edict_t is variable sized, but can - // be used to reference the world ent - server_state_t state; // some actions are only valid during load - - sizebuf_t datagram; - byte datagram_buf[MAX_DATAGRAM]; - - sizebuf_t reliable_datagram; // copied to all clients at end of frame - byte reliable_datagram_buf[MAX_DATAGRAM]; - - sizebuf_t signon; - byte signon_buf[8192]; -} server_t; - - -#define NUM_PING_TIMES 16 -#define NUM_SPAWN_PARMS 16 - -typedef struct client_s -{ - qboolean active; // false = client is free - qboolean spawned; // false = don't send datagrams - qboolean dropasap; // has been told to go to another level - qboolean privileged; // can execute any host command - qboolean sendsignon; // only valid before spawned - - double last_message; // reliable messages must be sent - // periodically - - struct qsocket_s *netconnection; // communications handle - - usercmd_t cmd; // movement - vec3_t wishdir; // intended motion calced from cmd - - sizebuf_t message; // can be added to at any time, - // copied and clear once per frame - byte msgbuf[MAX_MSGLEN]; - edict_t *edict; // EDICT_NUM(clientnum+1) - char name[32]; // for printing to other people - int colors; - - float ping_times[NUM_PING_TIMES]; - int num_pings; // ping_times[num_pings%NUM_PING_TIMES] - -// spawn parms are carried from level to level - float spawn_parms[NUM_SPAWN_PARMS]; - -// client known data for deltas - int old_frags; -} client_t; - - -//============================================================================= - -// edict->movetype values -#define MOVETYPE_NONE 0 // never moves -#define MOVETYPE_ANGLENOCLIP 1 -#define MOVETYPE_ANGLECLIP 2 -#define MOVETYPE_WALK 3 // gravity -#define MOVETYPE_STEP 4 // gravity, special edge handling -#define MOVETYPE_FLY 5 -#define MOVETYPE_TOSS 6 // gravity -#define MOVETYPE_PUSH 7 // no clip to world, push and crush -#define MOVETYPE_NOCLIP 8 -#define MOVETYPE_FLYMISSILE 9 // extra size to monsters -#define MOVETYPE_BOUNCE 10 -#ifdef QUAKE2 -#define MOVETYPE_BOUNCEMISSILE 11 // bounce w/o gravity -#define MOVETYPE_FOLLOW 12 // track movement of aiment -#endif - -// edict->solid values -#define SOLID_NOT 0 // no interaction with other objects -#define SOLID_TRIGGER 1 // touch on edge, but not blocking -#define SOLID_BBOX 2 // touch on edge, block -#define SOLID_SLIDEBOX 3 // touch on edge, but not an onground -#define SOLID_BSP 4 // bsp clip, touch on edge, block - -// edict->deadflag values -#define DEAD_NO 0 -#define DEAD_DYING 1 -#define DEAD_DEAD 2 - -#define DAMAGE_NO 0 -#define DAMAGE_YES 1 -#define DAMAGE_AIM 2 - -// edict->flags -#define FL_FLY 1 -#define FL_SWIM 2 -//#define FL_GLIMPSE 4 -#define FL_CONVEYOR 4 -#define FL_CLIENT 8 -#define FL_INWATER 16 -#define FL_MONSTER 32 -#define FL_GODMODE 64 -#define FL_NOTARGET 128 -#define FL_ITEM 256 -#define FL_ONGROUND 512 -#define FL_PARTIALGROUND 1024 // not all corners are valid -#define FL_WATERJUMP 2048 // player jumping out of water -#define FL_JUMPRELEASED 4096 // for jump debouncing -#ifdef QUAKE2 -#define FL_FLASHLIGHT 8192 -#define FL_ARCHIVE_OVERRIDE 1048576 -#endif - -// entity effects - -#define EF_BRIGHTFIELD 1 -#define EF_MUZZLEFLASH 2 -#define EF_BRIGHTLIGHT 4 -#define EF_DIMLIGHT 8 -#ifdef QUAKE2 -#define EF_DARKLIGHT 16 -#define EF_DARKFIELD 32 -#define EF_LIGHT 64 -#define EF_NODRAW 128 -#endif - -#define SPAWNFLAG_NOT_EASY 256 -#define SPAWNFLAG_NOT_MEDIUM 512 -#define SPAWNFLAG_NOT_HARD 1024 -#define SPAWNFLAG_NOT_DEATHMATCH 2048 - -#ifdef QUAKE2 -// server flags -#define SFL_EPISODE_1 1 -#define SFL_EPISODE_2 2 -#define SFL_EPISODE_3 4 -#define SFL_EPISODE_4 8 -#define SFL_NEW_UNIT 16 -#define SFL_NEW_EPISODE 32 -#define SFL_CROSS_TRIGGERS 65280 -#endif - -//============================================================================ - -extern cvar_t teamplay; -extern cvar_t skill; -extern cvar_t deathmatch; -extern cvar_t coop; -extern cvar_t fraglimit; -extern cvar_t timelimit; - -extern server_static_t svs; // persistant server info -extern server_t sv; // local server - -extern client_t *host_client; - -extern jmp_buf host_abortserver; - -extern double host_time; - -extern edict_t *sv_player; - -//=========================================================== - -void SV_Init (void); - -void SV_StartParticle (vec3_t org, vec3_t dir, int color, int count); -void SV_StartSound (edict_t *entity, int channel, char *sample, int volume, - float attenuation); - -void SV_DropClient (qboolean crash); - -void SV_SendClientMessages (void); -void SV_ClearDatagram (void); - -int SV_ModelIndex (char *name); - -void SV_SetIdealPitch (void); - -void SV_AddUpdates (void); - -void SV_ClientThink (void); -void SV_AddClientToServer (struct qsocket_s *ret); - -void SV_ClientPrintf (char *fmt, ...); -void SV_BroadcastPrintf (char *fmt, ...); - -void SV_Physics (void); - -qboolean SV_CheckBottom (edict_t *ent); -qboolean SV_movestep (edict_t *ent, vec3_t move, qboolean relink); - -void SV_WriteClientdataToMessage (edict_t *ent, sizebuf_t *msg); - -void SV_MoveToGoal (void); - -void SV_CheckForNewClients (void); -void SV_RunClients (void); -void SV_SaveSpawnparms (); -#ifdef QUAKE2 -void SV_SpawnServer (char *server, char *startspot); -#else -void SV_SpawnServer (char *server); -#endif diff --git a/old_headers/standalone/vid_dos.h b/old_headers/standalone/vid_dos.h deleted file mode 100644 index 4740e59..0000000 --- a/old_headers/standalone/vid_dos.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -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. - -*/ -// vid_dos.h: header file for DOS-specific video stuff - -typedef struct vmode_s { - struct vmode_s *pnext; - char *name; - char *header; - unsigned width; - unsigned height; - float aspect; - unsigned rowbytes; - int planar; - int numpages; - void *pextradata; - int (*setmode)(viddef_t *vid, struct vmode_s *pcurrentmode); - void (*swapbuffers)(viddef_t *vid, struct vmode_s *pcurrentmode, - vrect_t *rects); - void (*setpalette)(viddef_t *vid, struct vmode_s *pcurrentmode, - unsigned char *palette); - void (*begindirectrect)(viddef_t *vid, struct vmode_s *pcurrentmode, - int x, int y, byte *pbitmap, int width, - int height); - void (*enddirectrect)(viddef_t *vid, struct vmode_s *pcurrentmode, - int x, int y, int width, int height); -} vmode_t; - -// vid_wait settings -#define VID_WAIT_NONE 0 -#define VID_WAIT_VSYNC 1 -#define VID_WAIT_DISPLAY_ENABLE 2 - -extern int numvidmodes; -extern vmode_t *pvidmodes; - -extern int VGA_width, VGA_height, VGA_rowbytes, VGA_bufferrowbytes; -extern byte *VGA_pagebase; -extern vmode_t *VGA_pcurmode; - -extern cvar_t vid_wait; -extern cvar_t vid_nopageflip; -extern cvar_t _vid_wait_override; - -extern unsigned char colormap256[32][256]; - -extern void *vid_surfcache; -extern int vid_surfcachesize; - -void VGA_Init (void); -void VID_InitVESA (void); -void VID_InitExtra (void); -void VGA_WaitVsync (void); -void VGA_ClearVideoMem (int planar); -void VGA_SetPalette(viddef_t *vid, vmode_t *pcurrentmode, unsigned char *pal); -void VGA_SwapBuffersCopy (viddef_t *vid, vmode_t *pcurrentmode, - vrect_t *rects); -qboolean VGA_FreeAndAllocVidbuffer (viddef_t *vid, int allocnewbuffer); -qboolean VGA_CheckAdequateMem (int width, int height, int rowbytes, - int allocnewbuffer); -void VGA_BeginDirectRect (viddef_t *vid, struct vmode_s *pcurrentmode, int x, - int y, byte *pbitmap, int width, int height); -void VGA_EndDirectRect (viddef_t *vid, struct vmode_s *pcurrentmode, int x, - int y, int width, int height); -void VGA_UpdateLinearScreen (void *srcptr, void *destptr, int width, - int height, int srcrowbytes, int destrowbytes); - diff --git a/old_headers/standalone/vregset.h b/old_headers/standalone/vregset.h deleted file mode 100644 index 822c76c..0000000 --- a/old_headers/standalone/vregset.h +++ /dev/null @@ -1,56 +0,0 @@ -/* -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. - -*/ -// -// vregset.h: header file for video register-setting interpreter -// - -// -// registers & subregisters -// -#define MISC_OUTPUT 0x3C2 - -#define SC_INDEX 0x3C4 -#define SC_DATA 0x3C5 -#define SYNC_RESET 0 -#define MAP_MASK 2 -#define MEMORY_MODE 4 - -#define GC_INDEX 0x3CE -#define GC_DATA 0x3CF -#define READ_MAP 4 -#define GRAPHICS_MODE 5 -#define MISCELLANOUS 6 - -#define CRTC_INDEX 0x3D4 -#define CRTC_DATA 0x3D5 -#define MAX_SCAN_LINE 9 -#define UNDERLINE 0x14 -#define MODE_CONTROL 0x17 - -// -// register-set commands -// -#define VRS_END 0 -#define VRS_BYTE_OUT 1 -#define VRS_BYTE_RMW 2 -#define VRS_WORD_OUT 3 - -void VideoRegisterSet (int *pregset); - diff --git a/old_headers/standalone/winquake.h b/old_headers/standalone/winquake.h deleted file mode 100644 index 57bc779..0000000 --- a/old_headers/standalone/winquake.h +++ /dev/null @@ -1,114 +0,0 @@ -/* -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. - -*/ -// winquake.h: Win32-specific Quake header file - -#pragma warning( disable : 4229 ) // mgraph gets this - -#include -#define WM_MOUSEWHEEL 0x020A - -#ifndef SERVERONLY -#include -#include -#ifndef GLQUAKE -#include -#endif -#endif - -extern HINSTANCE global_hInstance; -extern int global_nCmdShow; - -#ifndef SERVERONLY - -extern LPDIRECTDRAW lpDD; -extern qboolean DDActive; -extern LPDIRECTDRAWSURFACE lpPrimary; -extern LPDIRECTDRAWSURFACE lpFrontBuffer; -extern LPDIRECTDRAWSURFACE lpBackBuffer; -extern LPDIRECTDRAWPALETTE lpDDPal; -extern LPDIRECTSOUND pDS; -extern LPDIRECTSOUNDBUFFER pDSBuf; - -extern DWORD gSndBufSize; -//#define SNDBUFSIZE 65536 - -void VID_LockBuffer (void); -void VID_UnlockBuffer (void); - -#endif - -typedef enum {MS_WINDOWED, MS_FULLSCREEN, MS_FULLDIB, MS_UNINIT} modestate_t; - -extern modestate_t modestate; - -extern HWND mainwindow; -extern qboolean ActiveApp, Minimized; - -extern qboolean WinNT; - -int VID_ForceUnlockedAndReturnState (void); -void VID_ForceLockState (int lk); - -void IN_ShowMouse (void); -void IN_DeactivateMouse (void); -void IN_HideMouse (void); -void IN_ActivateMouse (void); -void IN_RestoreOriginalMouseState (void); -void IN_SetQuakeMouseState (void); -void IN_MouseEvent (int mstate); - -extern qboolean winsock_lib_initialized; - -extern cvar_t _windowed_mouse; - -extern int window_center_x, window_center_y; -extern RECT window_rect; - -extern qboolean mouseinitialized; -extern HWND hwnd_dialog; - -extern HANDLE hinput, houtput; - -void IN_UpdateClipCursor (void); -void CenterWindow(HWND hWndCenter, int width, int height, BOOL lefttopjustify); - -void S_BlockSound (void); -void S_UnblockSound (void); - -void VID_SetDefaultMode (void); - -int (PASCAL FAR *pWSAStartup)(WORD wVersionRequired, LPWSADATA lpWSAData); -int (PASCAL FAR *pWSACleanup)(void); -int (PASCAL FAR *pWSAGetLastError)(void); -SOCKET (PASCAL FAR *psocket)(int af, int type, int protocol); -int (PASCAL FAR *pioctlsocket)(SOCKET s, long cmd, u_long FAR *argp); -int (PASCAL FAR *psetsockopt)(SOCKET s, int level, int optname, - const char FAR * optval, int optlen); -int (PASCAL FAR *precvfrom)(SOCKET s, char FAR * buf, int len, int flags, - struct sockaddr FAR *from, int FAR * fromlen); -int (PASCAL FAR *psendto)(SOCKET s, const char FAR * buf, int len, int flags, - const struct sockaddr FAR *to, int tolen); -int (PASCAL FAR *pclosesocket)(SOCKET s); -int (PASCAL FAR *pgethostname)(char FAR * name, int namelen); -struct hostent FAR * (PASCAL FAR *pgethostbyname)(const char FAR * name); -struct hostent FAR * (PASCAL FAR *pgethostbyaddr)(const char FAR * addr, - int len, int type); -int (PASCAL FAR *pgetsockname)(SOCKET s, struct sockaddr FAR *name, - int FAR * namelen); diff --git a/old_headers/standalone/world.h b/old_headers/standalone/world.h deleted file mode 100644 index cddb94f..0000000 --- a/old_headers/standalone/world.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -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. - -*/ -// world.h - -typedef struct -{ - vec3_t normal; - float dist; -} plane_t; - -typedef struct -{ - qboolean allsolid; // if true, plane is not valid - qboolean startsolid; // if true, the initial point was in a solid area - qboolean inopen, inwater; - float fraction; // time completed, 1.0 = didn't hit anything - vec3_t endpos; // final position - plane_t plane; // surface normal at impact - edict_t *ent; // entity the surface is on -} trace_t; - - -#define MOVE_NORMAL 0 -#define MOVE_NOMONSTERS 1 -#define MOVE_MISSILE 2 - - -void SV_ClearWorld (void); -// called after the world model has been loaded, before linking any entities - -void SV_UnlinkEdict (edict_t *ent); -// call before removing an entity, and before trying to move one, -// so it doesn't clip against itself -// flags ent->v.modified - -void SV_LinkEdict (edict_t *ent, qboolean touch_triggers); -// Needs to be called any time an entity changes origin, mins, maxs, or solid -// flags ent->v.modified -// sets ent->v.absmin and ent->v.absmax -// if touchtriggers, calls prog functions for the intersected triggers - -int SV_PointContents (vec3_t p); -int SV_TruePointContents (vec3_t p); -// returns the CONTENTS_* value from the world at the given point. -// does not check any entities at all -// the non-true version remaps the water current contents to content_water - -edict_t *SV_TestEntityPosition (edict_t *ent); - -trace_t SV_Move (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int type, edict_t *passedict); -// mins and maxs are reletive - -// if the entire move stays in a solid volume, trace.allsolid will be set - -// if the starting point is in a solid, it will be allowed to move out -// to an open area - -// nomonsters is used for line of sight or edge testing, where mosnters -// shouldn't be considered solid objects - -// passedict is explicitly excluded from clipping checks (normally NULL) diff --git a/qw_server/sv_user.c b/qw_server/sv_user.c index e88ea4a..b9f0775 100644 --- a/qw_server/sv_user.c +++ b/qw_server/sv_user.c @@ -1373,13 +1373,12 @@ void SV_PreRunCmd(void) memset(playertouch, 0, sizeof(playertouch)); } -/* how many packets to average the ideal 'msec' value over */ -#define MSECSIZE 100 - -/* maximum msec offset we will allow before penalizing the player */ -#define POOLMAX 150 - +// Over how long do we make the checks? #define CHECK_TIME 30 + +// How many failed checks before we boot the guy? +#define CHECK_LIMIT 3 + /* =========== SV_RunCmd @@ -1396,18 +1395,19 @@ void SV_RunCmd (usercmd_t *ucmd, qboolean inside) host_client->msecs += ucmd->msec; if ((tmp_time = realtime - host_client->last_check) >= CHECK_TIME) { - tmp_time *= 1100; + tmp_time *= 1010; if (host_client->msecs > (int) (tmp_time + 0.5)) { host_client->msec_cheating++; SV_BroadcastPrintf(PRINT_HIGH, - va("Err, %s may be CHEATING! %d %f %d\n", - host_client->name, host_client->msecs, tmp_time, - host_client->msec_cheating)); + va("%s thinks %d msecs pass in %f msecs. (Strike %d/%d)\n" + host_client->name, host_client->msecs, tmp_time, + host_client->msec_cheating, CHECK_LIMIT)); - if (host_client->msec_cheating >= 2) { + if (host_client->msec_cheating >= CHECK_LIMIT) { SV_BroadcastPrintf(PRINT_HIGH, - va("*WHACK* %s (%s) has been caught cheating!\n", - host_client->name, NET_AdrToString(host_client->netchan.remote_address))); + va("Strike %d for %s!!\n", + host_client->msec_cheating, host_client->name)); + SV_BroadcastPrintf(PRINT_HIGH, "Please see http://www.quakeforge.net/speed_cheat.html for infomation on the cheat detection, and to explain how some may be cheating without knowing it.\n"); SV_DropClient(host_client); } }