codemp/game/q_shared.h File Reference

#include "../qcommon/disablewarnings.h"
#include "teams.h"
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#include <limits.h>
#include "surfaceflags.h"
#include "../qcommon/tags.h"

Go to the source code of this file.

Data Structures

struct  addbezierArgStruct_s
struct  addElectricityArgStruct_t
struct  addpolyArgStruct_s
struct  addspriteArgStruct_s
struct  bladeInfo_t
struct  CollisionRecord_t
struct  cplane_s
struct  cvar_s
struct  effectTrailArgStruct_s
struct  effectTrailVertStruct_t
struct  entityState_s
struct  forcedata_s
struct  gameState_t
struct  markFragment_t
struct  mdxaBone_t
struct  orientation_t
struct  pc_token_s
struct  playerState_s
struct  qint64
struct  qtime_s
struct  saberInfo_t
struct  saberTrail_t
struct  sharedIKMoveParams_t
struct  sharedRagDollParams_t
struct  sharedRagDollUpdateParams_t
struct  sharedSetBoneIKStateParams_t
struct  siegePers_s
struct  SSkinGoreData_s
struct  stringID_table_s
struct  trace_t
struct  trajectory_t
struct  usercmd_s
struct  vmCvar_t
struct  wpneighbor_s
struct  wpobject_s

Defines

#define Q3_SCRIPT_DIR   "scripts"
#define MAX_TEAMNAME   32
#define MAX_WORLD_COORD   ( 64 * 1024 )
#define MIN_WORLD_COORD   ( -64 * 1024 )
#define WORLD_SIZE   ( MAX_WORLD_COORD - MIN_WORLD_COORD )
#define VALID(a)   ( a != NULL )
#define VALIDATE(a)   ( assert( a ) )
#define VALIDATEV(a)   if ( a == NULL ) { assert(0); return; }
#define VALIDATEB(a)   if ( a == NULL ) { assert(0); return qfalse; }
#define VALIDATEP(a)   if ( a == NULL ) { assert(0); return NULL; }
#define VALIDSTRING(a)   ( ( a != 0 ) && ( a[0] != 0 ) )
#define G2_PERFORMANCE_ANALYSIS
#define _FULL_G2_LEAK_CHECKING
#define id386   0
#define idppc   0
#define QDECL
#define NULL   ((void *)0)
#define MAX_QINT   0x7fffffff
#define MIN_QINT   (-MAX_QINT-1)
#define PITCH   0
#define YAW   1
#define ROLL   2
#define MAX_STRING_CHARS   1024
#define MAX_STRING_TOKENS   1024
#define MAX_TOKEN_CHARS   1024
#define MAX_INFO_STRING   1024
#define MAX_INFO_KEY   1024
#define MAX_INFO_VALUE   1024
#define BIG_INFO_STRING   8192
#define BIG_INFO_KEY   8192
#define BIG_INFO_VALUE   8192
#define MAX_QPATH   64
#define MAX_OSPATH   256
#define MAX_NAME_LENGTH   32
#define MAX_SAY_TEXT   150
#define MAX_MAP_AREA_BYTES   32
#define LS_STYLES_START   0
#define LS_NUM_STYLES   32
#define LS_SWITCH_START   (LS_STYLES_START+LS_NUM_STYLES)
#define LS_NUM_SWITCH   32
#define MAX_LIGHT_STYLES   64
#define PROP_GAP_WIDTH   2
#define PROP_SPACE_WIDTH   4
#define PROP_HEIGHT   16
#define PROP_TINY_SIZE_SCALE   1
#define PROP_SMALL_SIZE_SCALE   1
#define PROP_BIG_SIZE_SCALE   1
#define PROP_GIANT_SIZE_SCALE   2
#define PROP_TINY_HEIGHT   10
#define PROP_GAP_TINY_WIDTH   1
#define PROP_SPACE_TINY_WIDTH   3
#define PROP_BIG_HEIGHT   24
#define PROP_GAP_BIG_WIDTH   3
#define PROP_SPACE_BIG_WIDTH   6
#define BLINK_DIVISOR   200
#define PULSE_DIVISOR   75
#define UI_LEFT   0x00000000
#define UI_CENTER   0x00000001
#define UI_RIGHT   0x00000002
#define UI_FORMATMASK   0x00000007
#define UI_SMALLFONT   0x00000010
#define UI_BIGFONT   0x00000020
#define UI_DROPSHADOW   0x00000800
#define UI_BLINK   0x00001000
#define UI_INVERSE   0x00002000
#define UI_PULSE   0x00004000
#define CIN_system   1
#define CIN_loop   2
#define CIN_hold   4
#define CIN_silent   8
#define CIN_shader   16
#define M_PI   3.14159265358979323846f
#define MAX_BLADES   8
#define SFL_NOT_LOCKABLE   (1<<0)
#define SFL_NOT_THROWABLE   (1<<1)
#define SFL_NOT_DISARMABLE   (1<<2)
#define SFL_NOT_ACTIVE_BLOCKING   (1<<3)
#define SFL_TWO_HANDED   (1<<4)
#define SFL_SINGLE_BLADE_THROWABLE   (1<<5)
#define SFL_RETURN_DAMAGE   (1<<6)
#define SFL_ON_IN_WATER   (1<<7)
#define SFL_BOUNCE_ON_WALLS   (1<<8)
#define SFL_BOLT_TO_WRIST   (1<<9)
#define SFL_NO_PULL_ATTACK   (1<<10)
#define SFL_NO_BACK_ATTACK   (1<<11)
#define SFL_NO_STABDOWN   (1<<12)
#define SFL_NO_WALL_RUNS   (1<<13)
#define SFL_NO_WALL_FLIPS   (1<<14)
#define SFL_NO_WALL_GRAB   (1<<15)
#define SFL_NO_ROLLS   (1<<16)
#define SFL_NO_FLIPS   (1<<17)
#define SFL_NO_CARTWHEELS   (1<<18)
#define SFL_NO_KICKS   (1<<19)
#define SFL_NO_MIRROR_ATTACKS   (1<<20)
#define SFL_NO_ROLL_STAB   (1<<21)
#define SFL2_NO_WALL_MARKS   (1<<0)
#define SFL2_NO_DLIGHT   (1<<1)
#define SFL2_NO_BLADE   (1<<2)
#define SFL2_NO_CLASH_FLARE   (1<<3)
#define SFL2_NO_DISMEMBERMENT   (1<<4)
#define SFL2_NO_IDLE_EFFECT   (1<<5)
#define SFL2_ALWAYS_BLOCK   (1<<6)
#define SFL2_NO_MANUAL_DEACTIVATE   (1<<7)
#define SFL2_TRANSITION_DAMAGE   (1<<8)
#define SFL2_NO_WALL_MARKS2   (1<<9)
#define SFL2_NO_DLIGHT2   (1<<10)
#define SFL2_NO_BLADE2   (1<<11)
#define SFL2_NO_CLASH_FLARE2   (1<<12)
#define SFL2_NO_DISMEMBERMENT2   (1<<13)
#define SFL2_NO_IDLE_EFFECT2   (1<<14)
#define SFL2_ALWAYS_BLOCK2   (1<<15)
#define SFL2_NO_MANUAL_DEACTIVATE2   (1<<16)
#define SFL2_TRANSITION_DAMAGE2   (1<<17)
#define MAX_SABERS   2
#define FORCE_LEVEL_4   (FORCE_LEVEL_3+1)
#define FORCE_LEVEL_5   (FORCE_LEVEL_4+1)
#define MAX_WPARRAY_SIZE   4096
#define MAX_NEIGHBOR_SIZE   32
#define MAX_NEIGHBOR_LINK_DISTANCE   128
#define MAX_NEIGHBOR_FORCEJUMP_LINK_DISTANCE   400
#define DEFAULT_GRID_SPACING   400
#define NUMVERTEXNORMALS   162
#define SCREEN_WIDTH   640
#define SCREEN_HEIGHT   480
#define TINYCHAR_WIDTH   (SMALLCHAR_WIDTH)
#define TINYCHAR_HEIGHT   (SMALLCHAR_HEIGHT/2)
#define SMALLCHAR_WIDTH   8
#define SMALLCHAR_HEIGHT   16
#define BIGCHAR_WIDTH   16
#define BIGCHAR_HEIGHT   16
#define GIANTCHAR_WIDTH   32
#define GIANTCHAR_HEIGHT   48
#define Q_COLOR_ESCAPE   '^'
#define Q_IsColorString(p)   ( p && *(p) == Q_COLOR_ESCAPE && *((p)+1) && *((p)+1) != Q_COLOR_ESCAPE && *((p)+1) <= '7' && *((p)+1) >= '0' )
#define COLOR_BLACK   '0'
#define COLOR_RED   '1'
#define COLOR_GREEN   '2'
#define COLOR_YELLOW   '3'
#define COLOR_BLUE   '4'
#define COLOR_CYAN   '5'
#define COLOR_MAGENTA   '6'
#define COLOR_WHITE   '7'
#define ColorIndex(c)   ( ( (c) - '0' ) & 7 )
#define S_COLOR_BLACK   "^0"
#define S_COLOR_RED   "^1"
#define S_COLOR_GREEN   "^2"
#define S_COLOR_YELLOW   "^3"
#define S_COLOR_BLUE   "^4"
#define S_COLOR_CYAN   "^5"
#define S_COLOR_MAGENTA   "^6"
#define S_COLOR_WHITE   "^7"
#define MAKERGB(v, r, g, b)   v[0]=r;v[1]=g;v[2]=b
#define MAKERGBA(v, r, g, b, a)   v[0]=r;v[1]=g;v[2]=b;v[3]=a
#define DEG2RAD(a)   ( ( (a) * M_PI ) / 180.0F )
#define RAD2DEG(a)   ( ( (a) * 180.0f ) / M_PI )
#define nanmask   (255<<23)
#define IS_NAN(x)   (((*(int *)&x)&nanmask)==nanmask)
#define SQRTFAST(x)   ( (x) * Q_rsqrt( x ) )
#define minimum(x, y)   ((x)<(y)?(x):(y))
#define maximum(x, y)   ((x)>(y)?(x):(y))
#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 VectorScale(v, s, o)   ((o)[0]=(v)[0]*(s),(o)[1]=(v)[1]*(s),(o)[2]=(v)[2]*(s))
#define VectorCopy(a, b)   ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
#define VectorCopy4(a, b)   ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2],(b)[3]=(a)[3])
#define VectorMA(v, s, b, o)   ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
#define VectorInc(v)   ((v)[0] += 1.0f,(v)[1] += 1.0f,(v)[2] +=1.0f)
#define VectorDec(v)   ((v)[0] -= 1.0f,(v)[1] -= 1.0f,(v)[2] -=1.0f)
#define VectorInverseScaleVector(a, b, c)   ((c)[0]=(a)[0]/(b)[0],(c)[1]=(a)[1]/(b)[1],(c)[2]=(a)[2]/(b)[2])
#define VectorScaleVectorAdd(c, a, b, o)   ((o)[0]=(c)[0]+((a)[0]*(b)[0]),(o)[1]=(c)[1]+((a)[1]*(b)[1]),(o)[2]=(c)[2]+((a)[2]*(b)[2]))
#define VectorAdvance(a, s, b, c)   (((c)[0]=(a)[0] + s * ((b)[0] - (a)[0])),((c)[1]=(a)[1] + s * ((b)[1] - (a)[1])),((c)[2]=(a)[2] + s * ((b)[2] - (a)[2])))
#define VectorAverage(a, b, c)   (((c)[0]=((a)[0]+(b)[0])*0.5f),((c)[1]=((a)[1]+(b)[1])*0.5f),((c)[2]=((a)[2]+(b)[2])*0.5f))
#define VectorScaleVector(a, b, c)   (((c)[0]=(a)[0]*(b)[0]),((c)[1]=(a)[1]*(b)[1]),((c)[2]=(a)[2]*(b)[2]))
#define VectorClear(a)   ((a)[0]=(a)[1]=(a)[2]=0)
#define VectorNegate(a, b)   ((b)[0]=-(a)[0],(b)[1]=-(a)[1],(b)[2]=-(a)[2])
#define VectorSet(v, x, y, z)   ((v)[0]=(x), (v)[1]=(y), (v)[2]=(z))
#define VectorSet5(v, x, y, z, a, b)   ((v)[0]=(x), (v)[1]=(y), (v)[2]=(z), (v)[3]=(a), (v)[4]=(b))
#define Vector4Copy(a, b)   ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2],(b)[3]=(a)[3])
#define random()   ((rand () & 0x7fff) / ((float)0x7fff))
#define crandom()   (2.0 * (random() - 0.5))
#define MAX_TOKENLENGTH   1024
#define TT_STRING   1
#define TT_LITERAL   2
#define TT_NUMBER   3
#define TT_NAME   4
#define TT_PUNCTUATION   5
#define CVAR_ARCHIVE   0x00000001
#define CVAR_USERINFO   0x00000002
#define CVAR_SERVERINFO   0x00000004
#define CVAR_SYSTEMINFO   0x00000008
#define CVAR_INIT   0x00000010
#define CVAR_LATCH   0x00000020
#define CVAR_ROM   0x00000040
#define CVAR_USER_CREATED   0x00000080
#define CVAR_TEMP   0x00000100
#define CVAR_CHEAT   0x00000200
#define CVAR_NORESTART   0x00000400
#define CVAR_INTERNAL   0x00000800
#define CVAR_PARENTAL   0x00001000
#define MAX_CVAR_VALUE_STRING   256
#define PLANE_X   0
#define PLANE_Y   1
#define PLANE_Z   2
#define PLANE_NON_AXIAL   3
#define PlaneTypeForNormal(x)   (x[0] == 1.0 ? PLANE_X : (x[1] == 1.0 ? PLANE_Y : (x[2] == 1.0 ? PLANE_Z : PLANE_NON_AXIAL) ) )
#define MAX_G2_COLLISIONS   16
#define KEYCATCH_CONSOLE   0x0001
#define KEYCATCH_UI   0x0002
#define KEYCATCH_MESSAGE   0x0004
#define KEYCATCH_CGAME   0x0008
#define ANGLE2SHORT(x)   ((int)((x)*65536/360) & 65535)
#define SHORT2ANGLE(x)   ((x)*(360.0/65536))
#define SNAPFLAG_RATE_DELAYED   1
#define SNAPFLAG_NOT_ACTIVE   2
#define SNAPFLAG_SERVERCOUNT   4
#define MAX_CLIENTS   32
#define MAX_RADAR_ENTITIES   MAX_GENTITIES
#define MAX_TERRAINS   1
#define MAX_LOCATIONS   64
#define GENTITYNUM_BITS   10
#define MAX_GENTITIES   (1<<GENTITYNUM_BITS)
#define ENTITYNUM_NONE   (MAX_GENTITIES-1)
#define ENTITYNUM_WORLD   (MAX_GENTITIES-2)
#define ENTITYNUM_MAX_NORMAL   (MAX_GENTITIES-2)
#define MAX_MODELS   512
#define MAX_SOUNDS   256
#define MAX_ICONS   64
#define MAX_FX   64
#define MAX_SUB_BSP   32
#define MAX_G2BONES   64
#define MAX_AMBIENT_SETS   256
#define MAX_CONFIGSTRINGS   1700
#define CS_SERVERINFO   0
#define CS_SYSTEMINFO   1
#define RESERVED_CONFIGSTRINGS   2
#define MAX_GAMESTATE_CHARS   16000
#define TRACK_CHANNEL_MAX   (NUM_TRACK_CHANNELS-50)
#define MAX_STATS   16
#define MAX_PERSISTANT   16
#define MAX_POWERUPS   16
#define MAX_WEAPONS   19
#define MAX_PS_EVENTS   2
#define PS_PMOVEFRAMECOUNTBITS   6
#define FORCE_LIGHTSIDE   1
#define FORCE_DARKSIDE   2
#define MAX_FORCE_RANK   7
#define FALL_FADE_TIME   3000
#define _OPTIMIZED_VEHICLE_NETWORKING
#define BUTTON_ATTACK   1
#define BUTTON_TALK   2
#define BUTTON_USE_HOLDABLE   4
#define BUTTON_GESTURE   8
#define BUTTON_WALKING   16
#define BUTTON_USE   32
#define BUTTON_FORCEGRIP   64
#define BUTTON_ALT_ATTACK   128
#define BUTTON_ANY   256
#define BUTTON_FORCEPOWER   512
#define BUTTON_FORCE_LIGHTNING   1024
#define BUTTON_FORCE_DRAIN   2048
#define MOVE_RUN   120
#define SOLID_BMODEL   0xffffff
#define Square(x)   ((x)*(x))
#define AS_LOCAL   0
#define AS_GLOBAL   1
#define AS_FAVORITES   2
#define AS_MPLAYER   3
#define MAX_GLOBAL_SERVERS   2048
#define MAX_OTHER_SERVERS   128
#define MAX_PINGREQUESTS   32
#define MAX_SERVERSTATUSREQUESTS   16
#define SAY_ALL   0
#define SAY_TEAM   1
#define SAY_TELL   2
#define CDKEY_LEN   16
#define CDCHKSUM_LEN   2
#define TAGDEF(blah)   TAG_ ## blah
#define _G2_GORE
#define ENUM2STRING(arg)   #arg,arg

Typedefs

typedef unsigned char byte
typedef unsigned short word
typedef unsigned long ulong
typedef int qhandle_t
typedef int thandle_t
typedef int fxHandle_t
typedef int sfxHandle_t
typedef int fileHandle_t
typedef int clipHandle_t
typedef float vec_t
typedef vec_t vec2_t [2]
typedef vec_t vec3_t [3]
typedef vec_t vec4_t [4]
typedef vec_t vec5_t [5]
typedef vec3_t vec3pair_t [2]
typedef int ivec3_t [3]
typedef int ivec4_t [4]
typedef int ivec5_t [5]
typedef int fixed4_t
typedef int fixed8_t
typedef int fixed16_t
typedef int saber_colors_t
typedef int forcePowers_t
typedef int material_t
typedef wpneighbor_s wpneighbor_t
typedef wpobject_s wpobject_t
typedef pc_token_s pc_token_t
typedef cvar_s cvar_t
typedef int cvarHandle_t
typedef cplane_s cplane_t
typedef CollisionRecord_t G2Trace_t [MAX_G2_COLLISIONS]
typedef int soundChannel_t
typedef forcedata_s forcedata_t
typedef playerState_s playerState_t
typedef siegePers_s siegePers_t
typedef usercmd_s usercmd_t
typedef addpolyArgStruct_s addpolyArgStruct_t
typedef addbezierArgStruct_s addbezierArgStruct_t
typedef addspriteArgStruct_s addspriteArgStruct_t
typedef effectTrailArgStruct_s effectTrailArgStruct_t
typedef entityState_s entityState_t
typedef qtime_s qtime_t
typedef int e_status
typedef int flagStatus_t
typedef char memtag_t
typedef SSkinGoreData_s SSkinGoreData
typedef stringID_table_s stringID_table_t

Enumerations

enum  qboolean { qfalse, qtrue }
enum  cbufExec_t { EXEC_NOW, EXEC_INSERT, EXEC_APPEND }
enum  WL_e { WL_ERROR = 1, WL_WARNING, WL_VERBOSE, WL_DEBUG }
enum  printParm_t { PRINT_ALL, PRINT_DEVELOPER, PRINT_WARNING, PRINT_ERROR }
enum  errorParm_t {
  ERR_FATAL, ERR_DROP, ERR_SERVERDISCONNECT, ERR_DISCONNECT,
  ERR_NEED_CD
}
enum  ha_pref { h_high, h_low, h_dontcare }
enum  saberBlockType_t { BLK_NO, BLK_TIGHT, BLK_WIDE }
enum  saberBlockedType_t {
  BLOCKED_NONE, BLOCKED_BOUNCE_MOVE, BLOCKED_PARRY_BROKEN, BLOCKED_ATK_BOUNCE,
  BLOCKED_UPPER_RIGHT, BLOCKED_UPPER_LEFT, BLOCKED_LOWER_RIGHT, BLOCKED_LOWER_LEFT,
  BLOCKED_TOP, BLOCKED_UPPER_RIGHT_PROJ, BLOCKED_UPPER_LEFT_PROJ, BLOCKED_LOWER_RIGHT_PROJ,
  BLOCKED_LOWER_LEFT_PROJ, BLOCKED_TOP_PROJ
}
enum  {
  SABER_RED, SABER_ORANGE, SABER_YELLOW, SABER_GREEN,
  SABER_BLUE, SABER_PURPLE, NUM_SABER_COLORS
}
enum  {
  FP_FIRST = 0, FP_HEAL = 0, FP_LEVITATION, FP_SPEED,
  FP_PUSH, FP_PULL, FP_TELEPATHY, FP_GRIP,
  FP_LIGHTNING, FP_RAGE, FP_PROTECT, FP_ABSORB,
  FP_TEAM_HEAL, FP_TEAM_FORCE, FP_DRAIN, FP_SEE,
  FP_SABER_OFFENSE, FP_SABER_DEFENSE, FP_SABERTHROW, NUM_FORCE_POWERS
}
enum  saberType_t {
  SABER_NONE = 0, SABER_SINGLE, SABER_STAFF, SABER_DAGGER,
  SABER_BROAD, SABER_PRONG, SABER_ARC, SABER_SAI,
  SABER_CLAW, SABER_LANCE, SABER_STAR, SABER_TRIDENT,
  SABER_SITH_SWORD, NUM_SABERS
}
enum  saber_styles_t {
  SS_NONE = 0, SS_FAST, SS_MEDIUM, SS_STRONG,
  SS_DESANN, SS_TAVION, SS_DUAL, SS_STAFF,
  SS_NUM_SABER_STYLES
}
enum  {
  FORCE_LEVEL_0, FORCE_LEVEL_1, FORCE_LEVEL_2, FORCE_LEVEL_3,
  NUM_FORCE_POWER_LEVELS
}
enum  sharedERagPhase {
  RP_START_DEATH_ANIM, RP_END_DEATH_ANIM, RP_DEATH_COLLISION, RP_CORPSE_SHOT,
  RP_GET_PELVIS_OFFSET, RP_SET_PELVIS_OFFSET, RP_DISABLE_EFFECTORS
}
enum  sharedERagEffector {
  RE_MODEL_ROOT = 0x00000001, RE_PELVIS = 0x00000002, RE_LOWER_LUMBAR = 0x00000004, RE_UPPER_LUMBAR = 0x00000008,
  RE_THORACIC = 0x00000010, RE_CRANIUM = 0x00000020, RE_RHUMEROUS = 0x00000040, RE_LHUMEROUS = 0x00000080,
  RE_RRADIUS = 0x00000100, RE_LRADIUS = 0x00000200, RE_RFEMURYZ = 0x00000400, RE_LFEMURYZ = 0x00000800,
  RE_RTIBIA = 0x00001000, RE_LTIBIA = 0x00002000, RE_RHAND = 0x00004000, RE_LHAND = 0x00008000,
  RE_RTARSAL = 0x00010000, RE_LTARSAL = 0x00020000, RE_RTALUS = 0x00040000, RE_LTALUS = 0x00080000,
  RE_RRADIUSX = 0x00100000, RE_LRADIUSX = 0x00200000, RE_RFEMURX = 0x00400000, RE_LFEMURX = 0x00800000,
  RE_CEYEBROW = 0x01000000
}
enum  sharedEIKMoveState { IKS_NONE = 0, IKS_DYNAMIC }
enum  {
  MAT_METAL = 0, MAT_GLASS, MAT_ELECTRICAL, MAT_ELEC_METAL,
  MAT_DRK_STONE, MAT_LT_STONE, MAT_GLASS_METAL, MAT_METAL2,
  MAT_NONE, MAT_GREY_STONE, MAT_METAL3, MAT_CRATE1,
  MAT_GRATE1, MAT_ROPE, MAT_CRATE2, MAT_WHITE_METAL,
  MAT_SNOWY_ROCK, NUM_MATERIALS
}
enum  ct_table_t {
  CT_NONE, CT_BLACK, CT_RED, CT_GREEN,
  CT_BLUE, CT_YELLOW, CT_MAGENTA, CT_CYAN,
  CT_WHITE, CT_LTGREY, CT_MDGREY, CT_DKGREY,
  CT_DKGREY2, CT_VLTORANGE, CT_LTORANGE, CT_DKORANGE,
  CT_VDKORANGE, CT_VLTBLUE1, CT_LTBLUE1, CT_DKBLUE1,
  CT_VDKBLUE1, CT_VLTBLUE2, CT_LTBLUE2, CT_DKBLUE2,
  CT_VDKBLUE2, CT_VLTBROWN1, CT_LTBROWN1, CT_DKBROWN1,
  CT_VDKBROWN1, CT_VLTGOLD1, CT_LTGOLD1, CT_DKGOLD1,
  CT_VDKGOLD1, CT_VLTPURPLE1, CT_LTPURPLE1, CT_DKPURPLE1,
  CT_VDKPURPLE1, CT_VLTPURPLE2, CT_LTPURPLE2, CT_DKPURPLE2,
  CT_VDKPURPLE2, CT_VLTPURPLE3, CT_LTPURPLE3, CT_DKPURPLE3,
  CT_VDKPURPLE3, CT_VLTRED1, CT_LTRED1, CT_DKRED1,
  CT_VDKRED1, CT_VDKRED, CT_DKRED, CT_VLTAQUA,
  CT_LTAQUA, CT_DKAQUA, CT_VDKAQUA, CT_LTPINK,
  CT_DKPINK, CT_LTCYAN, CT_DKCYAN, CT_LTBLUE3,
  CT_BLUE3, CT_DKBLUE3, CT_HUD_GREEN, CT_HUD_RED,
  CT_ICON_BLUE, CT_NO_AMMO_RED, CT_HUD_ORANGE, CT_MAX
}
enum  fsMode_t { FS_READ, FS_WRITE, FS_APPEND, FS_APPEND_SYNC }
enum  fsOrigin_t { FS_SEEK_CUR, FS_SEEK_END, FS_SEEK_SET }
enum  {
  CHAN_AUTO, CHAN_LOCAL, CHAN_WEAPON, CHAN_VOICE,
  CHAN_VOICE_ATTEN, CHAN_ITEM, CHAN_BODY, CHAN_AMBIENT,
  CHAN_LOCAL_SOUND, CHAN_ANNOUNCER, CHAN_LESS_ATTEN, CHAN_MENU1,
  CHAN_VOICE_GLOBAL, CHAN_MUSIC
}
enum  trackchan_t {
  TRACK_CHANNEL_NONE = 50, TRACK_CHANNEL_1, TRACK_CHANNEL_2, TRACK_CHANNEL_3,
  TRACK_CHANNEL_4, TRACK_CHANNEL_5, NUM_TRACK_CHANNELS
}
enum  itemUseFail_t { SENTRY_NOROOM = 1, SENTRY_ALREADYPLACED, SHIELD_NOROOM, SEEKER_ALREADYDEPLOYED }
enum  genCmds_t {
  GENCMD_SABERSWITCH = 1, GENCMD_ENGAGE_DUEL, GENCMD_FORCE_HEAL, GENCMD_FORCE_SPEED,
  GENCMD_FORCE_THROW, GENCMD_FORCE_PULL, GENCMD_FORCE_DISTRACT, GENCMD_FORCE_RAGE,
  GENCMD_FORCE_PROTECT, GENCMD_FORCE_ABSORB, GENCMD_FORCE_HEALOTHER, GENCMD_FORCE_FORCEPOWEROTHER,
  GENCMD_FORCE_SEEING, GENCMD_USE_SEEKER, GENCMD_USE_FIELD, GENCMD_USE_BACTA,
  GENCMD_USE_ELECTROBINOCULARS, GENCMD_ZOOM, GENCMD_USE_SENTRY, GENCMD_USE_JETPACK,
  GENCMD_USE_BACTABIG, GENCMD_USE_HEALTHDISP, GENCMD_USE_AMMODISP, GENCMD_USE_EWEB,
  GENCMD_USE_CLOAK, GENCMD_SABERATTACKCYCLE, GENCMD_TAUNT, GENCMD_BOW,
  GENCMD_MEDITATE, GENCMD_FLOURISH, GENCMD_GLOAT
}
enum  trType_t {
  TR_STATIONARY, TR_INTERPOLATE, TR_LINEAR, TR_LINEAR_STOP,
  TR_NONLINEAR_STOP, TR_SINE, TR_GRAVITY
}
enum  connstate_t {
  CA_UNINITIALIZED, CA_DISCONNECTED, CA_AUTHORIZING, CA_CONNECTING,
  CA_CHALLENGING, CA_CONNECTED, CA_LOADING, CA_PRIMED,
  CA_ACTIVE, CA_CINEMATIC
}
enum  {
  FMV_IDLE, FMV_PLAY, FMV_EOF, FMV_ID_BLT,
  FMV_ID_IDLE, FMV_LOOPED, FMV_ID_WAIT
}
enum  _flag_status {
  FLAG_ATBASE = 0, FLAG_TAKEN, FLAG_TAKEN_RED, FLAG_TAKEN_BLUE,
  FLAG_DROPPED
}
enum  Eorientations {
  ORIGIN = 0, POSITIVE_X, POSITIVE_Z, POSITIVE_Y,
  NEGATIVE_X, NEGATIVE_Z, NEGATIVE_Y
}
enum  {
  ALL, BOTLIB, CLIENTS, BOTGAME,
  DOWNLOAD, GENERAL, CLIPBOARD, SND_MP3STREAMHDR,
  SND_DYNAMICMUSIC, BSP_DISKIMAGE, VM, SPECIAL_MEM_TEST,
  HUNK_MARK1, HUNK_MARK2, EVENT, FILESYS,
  GHOUL2, GHOUL2_GORE, LISTFILES, AMBIENTSET,
  STATIC, SMALL, MODEL_MD3, MODEL_GLM,
  MODEL_GLA, ICARUS, ICARUS2, ICARUS3,
  ICARUS4, ICARUS5, SHADERTEXT, SND_RAWDATA,
  TEMP_WORKSPACE, TEMP_PNG, TEXTPOOL, IMAGE_T,
  INFLATE, DEFLATE, BSP, GRIDMESH,
  POINTCACHE, TERRAIN, R_TERRAIN, RESAMPLE,
  CM_TERRAIN, CM_TERRAIN_TEMP, TEMP_IMAGE, VM_ALLOCATED,
  TEMP_HUNKALLOC
}
enum  ForceReload_e { eForceReload_NOTHING, eForceReload_MODELS, eForceReload_ALL }
enum  {
  FONT_NONE, FONT_SMALL = 1, FONT_MEDIUM, FONT_LARGE,
  FONT_SMALL2
}

Functions

short ShortSwap (short l)
int LongSwap (int l)
float FloatSwap (const float *f)
void * Hunk_Alloc (int size, ha_pref preference)
void Com_Memset (void *dest, const int val, const size_t count)
void Com_Memcpy (void *dest, const void *src, const size_t count)
float Q_fabs (float f)
float Q_rsqrt (float f)
signed char ClampChar (int i)
signed short ClampShort (int i)
float powf (float x, int y)
int DirToByte (vec3_t dir)
void ByteToDir (int b, vec3_t dir)
vec_t _DotProduct (const vec3_t v1, const vec3_t v2)
void _VectorSubtract (const vec3_t veca, const vec3_t vecb, vec3_t out)
void _VectorAdd (const vec3_t veca, const vec3_t vecb, vec3_t out)
void _VectorCopy (const vec3_t in, vec3_t out)
void _VectorScale (const vec3_t in, float scale, vec3_t out)
void _VectorMA (const vec3_t veca, float scale, const vec3_t vecb, vec3_t vecc)
unsigned ColorBytes3 (float r, float g, float b)
unsigned ColorBytes4 (float r, float g, float b, float a)
float NormalizeColor (const vec3_t in, vec3_t out)
float RadiusFromBounds (const vec3_t mins, const vec3_t maxs)
void ClearBounds (vec3_t mins, vec3_t maxs)
vec_t DistanceHorizontal (const vec3_t p1, const vec3_t p2)
vec_t DistanceHorizontalSquared (const vec3_t p1, const vec3_t p2)
void AddPointToBounds (const vec3_t v, vec3_t mins, vec3_t maxs)
vec_t VectorNormalize (vec3_t v)
vec_t VectorNormalize2 (const vec3_t v, vec3_t out)
void Vector4Scale (const vec4_t in, vec_t scale, vec4_t out)
void VectorRotate (vec3_t in, vec3_t matrix[3], vec3_t out)
int Q_log2 (int val)
float Q_acos (float c)
float Q_asin (float c)
int Q_rand (int *seed)
float Q_random (int *seed)
float Q_crandom (int *seed)
void vectoangles (const vec3_t value1, vec3_t angles)
void AnglesToAxis (const vec3_t angles, vec3_t axis[3])
void AxisClear (vec3_t axis[3])
void AxisCopy (vec3_t in[3], vec3_t out[3])
void SetPlaneSignbits (struct cplane_s *out)
int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *plane)
double fmod (double x, double y)
float AngleMod (float a)
float LerpAngle (float from, float to, float frac)
float AngleSubtract (float a1, float a2)
void AnglesSubtract (vec3_t v1, vec3_t v2, vec3_t v3)
float AngleNormalize360 (float angle)
float AngleNormalize180 (float angle)
float AngleDelta (float angle1, float angle2)
qboolean PlaneFromPoints (vec4_t plane, const vec3_t a, const vec3_t b, const vec3_t c)
void ProjectPointOnPlane (vec3_t dst, const vec3_t p, const vec3_t normal)
void RotatePointAroundVector (vec3_t dst, const vec3_t dir, const vec3_t point, float degrees)
void RotateAroundDirection (vec3_t axis[3], float yaw)
void MakeNormalVectors (const vec3_t forward, vec3_t right, vec3_t up)
void MatrixMultiply (float in1[3][3], float in2[3][3], float out[3][3])
void AngleVectors (const vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
void PerpendicularVector (vec3_t dst, const vec3_t src)
void NormalToLatLong (const vec3_t normal, byte bytes[2])
int Com_Clampi (int min, int max, int value)
float Com_Clamp (float min, float max, float value)
char * COM_SkipPath (char *pathname)
void COM_StripExtension (const char *in, char *out)
void COM_DefaultExtension (char *path, int maxSize, const char *extension)
void COM_BeginParseSession (const char *name)
int