Annotation of quakeworld/client/common.h, revision 1.1.1.1

1.1       root        1: /*
                      2: Copyright (C) 1996-1997 Id Software, Inc.
                      3: 
                      4: This program is free software; you can redistribute it and/or
                      5: modify it under the terms of the GNU General Public License
                      6: as published by the Free Software Foundation; either version 2
                      7: of the License, or (at your option) any later version.
                      8: 
                      9: This program is distributed in the hope that it will be useful,
                     10: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
                     12: 
                     13: See the GNU General Public License for more details.
                     14: 
                     15: You should have received a copy of the GNU General Public License
                     16: along with this program; if not, write to the Free Software
                     17: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
                     18: 
                     19: */
                     20: // comndef.h  -- general definitions
                     21: 
                     22: typedef unsigned char          byte;
                     23: #define _DEF_BYTE_
                     24: 
                     25: // KJB Undefined true and false defined in SciTech's DEBUG.H header
                     26: #undef true
                     27: #undef false
                     28: 
                     29: typedef enum {false, true}     qboolean;
                     30: 
                     31: #define        MAX_INFO_STRING 196
                     32: #define        MAX_SERVERINFO_STRING   512
                     33: #define        MAX_LOCALINFO_STRING    32768
                     34: 
                     35: //============================================================================
                     36: 
                     37: typedef struct sizebuf_s
                     38: {
                     39:        qboolean        allowoverflow;  // if false, do a Sys_Error
                     40:        qboolean        overflowed;             // set to true if the buffer size failed
                     41:        byte    *data;
                     42:        int             maxsize;
                     43:        int             cursize;
                     44: } sizebuf_t;
                     45: 
                     46: void SZ_Clear (sizebuf_t *buf);
                     47: void *SZ_GetSpace (sizebuf_t *buf, int length);
                     48: void SZ_Write (sizebuf_t *buf, void *data, int length);
                     49: void SZ_Print (sizebuf_t *buf, char *data);    // strcats onto the sizebuf
                     50: 
                     51: //============================================================================
                     52: 
                     53: typedef struct link_s
                     54: {
                     55:        struct link_s   *prev, *next;
                     56: } link_t;
                     57: 
                     58: 
                     59: void ClearLink (link_t *l);
                     60: void RemoveLink (link_t *l);
                     61: void InsertLinkBefore (link_t *l, link_t *before);
                     62: void InsertLinkAfter (link_t *l, link_t *after);
                     63: 
                     64: // (type *)STRUCT_FROM_LINK(link_t *link, type, member)
                     65: // ent = STRUCT_FROM_LINK(link,entity_t,order)
                     66: // FIXME: remove this mess!
                     67: #define        STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (int)&(((t *)0)->m)))
                     68: 
                     69: //============================================================================
                     70: 
                     71: #ifndef NULL
                     72: #define NULL ((void *)0)
                     73: #endif
                     74: 
                     75: #define Q_MAXCHAR ((char)0x7f)
                     76: #define Q_MAXSHORT ((short)0x7fff)
                     77: #define Q_MAXINT       ((int)0x7fffffff)
                     78: #define Q_MAXLONG ((int)0x7fffffff)
                     79: #define Q_MAXFLOAT ((int)0x7fffffff)
                     80: 
                     81: #define Q_MINCHAR ((char)0x80)
                     82: #define Q_MINSHORT ((short)0x8000)
                     83: #define Q_MININT       ((int)0x80000000)
                     84: #define Q_MINLONG ((int)0x80000000)
                     85: #define Q_MINFLOAT ((int)0x7fffffff)
                     86: 
                     87: //============================================================================
                     88: 
                     89: extern qboolean                bigendien;
                     90: 
                     91: extern short   (*BigShort) (short l);
                     92: extern short   (*LittleShort) (short l);
                     93: extern int     (*BigLong) (int l);
                     94: extern int     (*LittleLong) (int l);
                     95: extern float   (*BigFloat) (float l);
                     96: extern float   (*LittleFloat) (float l);
                     97: 
                     98: //============================================================================
                     99: 
                    100: struct usercmd_s;
                    101: 
                    102: extern struct usercmd_s nullcmd;
                    103: 
                    104: void MSG_WriteChar (sizebuf_t *sb, int c);
                    105: void MSG_WriteByte (sizebuf_t *sb, int c);
                    106: void MSG_WriteShort (sizebuf_t *sb, int c);
                    107: void MSG_WriteLong (sizebuf_t *sb, int c);
                    108: void MSG_WriteFloat (sizebuf_t *sb, float f);
                    109: void MSG_WriteString (sizebuf_t *sb, char *s);
                    110: void MSG_WriteCoord (sizebuf_t *sb, float f);
                    111: void MSG_WriteAngle (sizebuf_t *sb, float f);
                    112: void MSG_WriteAngle16 (sizebuf_t *sb, float f);
                    113: void MSG_WriteDeltaUsercmd (sizebuf_t *sb, struct usercmd_s *from, struct usercmd_s *cmd);
                    114: 
                    115: extern int                     msg_readcount;
                    116: extern qboolean        msg_badread;            // set if a read goes beyond end of message
                    117: 
                    118: void MSG_BeginReading (void);
                    119: int MSG_GetReadCount(void);
                    120: int MSG_ReadChar (void);
                    121: int MSG_ReadByte (void);
                    122: int MSG_ReadShort (void);
                    123: int MSG_ReadLong (void);
                    124: float MSG_ReadFloat (void);
                    125: char *MSG_ReadString (void);
                    126: char *MSG_ReadStringLine (void);
                    127: 
                    128: float MSG_ReadCoord (void);
                    129: float MSG_ReadAngle (void);
                    130: float MSG_ReadAngle16 (void);
                    131: void MSG_ReadDeltaUsercmd (struct usercmd_s *from, struct usercmd_s *cmd);
                    132: 
                    133: //============================================================================
                    134: 
                    135: #define Q_memset(d, f, c) memset((d), (f), (c))
                    136: #define Q_memcpy(d, s, c) memcpy((d), (s), (c))
                    137: #define Q_memcmp(m1, m2, c) memcmp((m1), (m2), (c))
                    138: #define Q_strcpy(d, s) strcpy((d), (s))
                    139: #define Q_strncpy(d, s, n) strncpy((d), (s), (n))
                    140: #define Q_strlen(s) ((int)strlen(s))
                    141: #define Q_strrchr(s, c) strrchr((s), (c))
                    142: #define Q_strcat(d, s) strcat((d), (s))
                    143: #define Q_strcmp(s1, s2) strcmp((s1), (s2))
                    144: #define Q_strncmp(s1, s2, n) strncmp((s1), (s2), (n))
                    145: 
                    146: #ifdef _WIN32
                    147: 
                    148: #define Q_strcasecmp(s1, s2) _stricmp((s1), (s2))
                    149: #define Q_strncasecmp(s1, s2, n) _strnicmp((s1), (s2), (n))
                    150: 
                    151: #else
                    152: 
                    153: #define Q_strcasecmp(s1, s2) strcasecmp((s1), (s2))
                    154: #define Q_strncasecmp(s1, s2, n) strncasecmp((s1), (s2), (n))
                    155: 
                    156: #endif
                    157: 
                    158: int    Q_atoi (char *str);
                    159: float Q_atof (char *str);
                    160: 
                    161: 
                    162: 
                    163: //============================================================================
                    164: 
                    165: extern char            com_token[1024];
                    166: extern qboolean        com_eof;
                    167: 
                    168: char *COM_Parse (char *data);
                    169: 
                    170: 
                    171: extern int             com_argc;
                    172: extern char    **com_argv;
                    173: 
                    174: int COM_CheckParm (char *parm);
                    175: void COM_AddParm (char *parm);
                    176: 
                    177: void COM_Init (void);
                    178: void COM_InitArgv (int argc, char **argv);
                    179: 
                    180: char *COM_SkipPath (char *pathname);
                    181: void COM_StripExtension (char *in, char *out);
                    182: void COM_FileBase (char *in, char *out);
                    183: void COM_DefaultExtension (char *path, char *extension);
                    184: 
                    185: char   *va(char *format, ...);
                    186: // does a varargs printf into a temp buffer
                    187: 
                    188: 
                    189: //============================================================================
                    190: 
                    191: extern int com_filesize;
                    192: struct cache_user_s;
                    193: 
                    194: extern char    com_gamedir[MAX_OSPATH];
                    195: 
                    196: void COM_WriteFile (char *filename, void *data, int len);
                    197: int COM_FOpenFile (char *filename, FILE **file);
                    198: void COM_CloseFile (FILE *h);
                    199: 
                    200: byte *COM_LoadStackFile (char *path, void *buffer, int bufsize);
                    201: byte *COM_LoadTempFile (char *path);
                    202: byte *COM_LoadHunkFile (char *path);
                    203: void COM_LoadCacheFile (char *path, struct cache_user_s *cu);
                    204: void COM_CreatePath (char *path);
                    205: void COM_Gamedir (char *dir);
                    206: 
                    207: extern struct cvar_s   registered;
                    208: extern qboolean                standard_quake, rogue, hipnotic;
                    209: 
                    210: char *Info_ValueForKey (char *s, char *key);
                    211: void Info_RemoveKey (char *s, char *key);
                    212: void Info_RemovePrefixedKeys (char *start, char prefix);
                    213: void Info_SetValueForKey (char *s, char *key, char *value, int maxsize);
                    214: void Info_SetValueForStarKey (char *s, char *key, char *value, int maxsize);
                    215: void Info_Print (char *s);
                    216: 
                    217: unsigned Com_BlockChecksum (void *buffer, int length);
                    218: void Com_BlockFullChecksum (void *buffer, int len, unsigned char *outbuf);
                    219: byte   COM_BlockSequenceCheckByte (byte *base, int length, int sequence, unsigned mapchecksum);
                    220: byte   COM_BlockSequenceCRCByte (byte *base, int length, int sequence);
                    221: 
                    222: int build_number( void );

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.