October 1, 2012

CSQC constants file

Copy the contents of this page into a csqc_constants.qc and add it to the top of your .src file. These constants are often sent to builtins or assigned to field variables that the engine can interpret to perform different tasks such as the MASK_* bits to be assigned to the rendermask field variable for entities to be chosen for rendering, and the RF_* bits put into the renderflags field variable for unique rendering options the engine provides, pmove_* for client movement simulation, and others for various properties on viewports, model effects, and the required addstats (addstats detailed elsewhere).

const float MASK_ENGINE= 1;
const float MASK_NORMAL= 4;

const float RF_VIEWMODEL= 1;
const float RF_EXTERNALMODEL= 2;
const float RF_DEPTHHACK= 4;
const float RF_ADDATIVE= 8;
const float RF_USEAXIS= 16;

const float VF_MIN= 1;//(vector)
const float VF_MIN_X= 2;//(float)
const float VF_MIN_Y= 3;//(float)
const float VF_SIZE= 4;//(vector) (viewport size)
const float VF_SIZE_Y= 5;//(float)
const float VF_SIZE_X= 6;//(float)
const float VF_VIEWPORT= 7;//(vector, vector)
const float VF_FOV= 8;//(vector)
const float VF_FOVX= 9;//(float)
const float VF_FOVY= 10;//(float)
const float VF_ORIGIN= 11;//(vector)
const float VF_ORIGIN_X= 12;//(float)
const float VF_ORIGIN_Y= 13;//(float)
const float VF_ORIGIN_Z= 14;//(float)
const float VF_ANGLES= 15;//(vector)
const float VF_ANGLES_X= 16;//(float)
const float VF_ANGLES_Y= 17;//(float)
const float VF_ANGLES_Z= 18;//(float)
const float VF_DRAWWORLD= 19;//(float)
const float VF_DRAWENGINESBAR= 20;//(float)
const float VF_DRAWCROSSHAIR= 21;//(float)

const float VF_CL_VIEWANGLES= 33;//(vector)
const float VF_CL_VIEWANGLES_X= 34;//(float)
const float VF_CL_VIEWANGLES_Y= 35;//(float)
const float VF_CL_VIEWANGLES_Z= 36;//(float) 

const float VF_PERSPECTIVE      = 200;

const float STAT_HEALTH= 0;
const float STAT_WEAPONMODEL= 2;
const float STAT_AMMO= 3;
const float STAT_ARMOR= 4;
const float STAT_WEAPONFRAME= 5;
const float STAT_SHELLS= 6;
const float STAT_NAILS= 7;
const float STAT_ROCKETS= 8;
const float STAT_CELLS= 9;
const float STAT_ACTIVEWEAPON= 10;
const float STAT_ITEMS= 15;

const float true= 1;
const float false= 0;

const float EXTRA_LOW = -99999999;
const float EXTRA_HIGH = 99999999;

const vector VEC_1= '1 1 1';
const vector VEC_0= '0 0 0';
const vector VEC_M1= '-1 -1 -1';
const vector NULL_VECTOR = '0 0 0';

vectorVEC_HULL_MIN = '-16 -16 -24';
vectorVEC_HULL_MAX = '16 16 32';

const float EF_ADDITIVE= 32;
const float EF_BLUE= 64;
const float EF_FLAME= 1024;
const float EF_FULLBRIGHT= 512;
const float EF_NODEPTHTEST= 8192;
const float EF_NODRAW= 16;
const float EF_NOSHADOW= 4096;
const float EF_RED= 128;
const float EF_STARDUST= 2048;
const float EF_SELECTABLE = 16384;

const float PFL_ONGROUND= 1;
const float PFL_CROUCH= 2;
const float PFL_DEAD= 4;
const float PFL_GIBBED= 8;

const float FILE_READ = 0;
const float FILE_APPEND = 1;
const float FILE_WRITE = 2;

const float DEG2RAD = 0.0174532925199432957692369076848861271344287188854172545609719144;
const float RAD2DEG = 57.2957795130823208767981548141051703324054724665643215491602438612;
const float PI      = 3.1415926535897932384626433832795028841971693993751058209749445923;

// edict.flags (player proxy mimics these from server)
floatFL_FLY= 1;
floatFL_SWIM= 2;
floatFL_CLIENT= 8;// set for all client edicts
floatFL_INWATER= 16;// for enter / leave water splash
floatFL_MONSTER= 32;
floatFL_GODMODE= 64;// player cheat
floatFL_NOTARGET= 128;// player cheat
floatFL_ITEM= 256;// extra wide size for bonus items
floatFL_ONGROUND= 512;// standing on something
floatFL_PARTIALGROUND= 1024;// not all corners are valid
floatFL_WATERJUMP= 2048;// player jumping out of water
floatFL_JUMPRELEASED= 4096;// for jump debouncing

floatCHAN_AUTO= 0;
floatCHAN_WEAPON= 1;
floatCHAN_VOICE= 2;
floatCHAN_ITEM= 3;
floatCHAN_BODY= 4;
float   CHAN_FOOTSTEPS  = 5;

floatATTN_NONE= 0;
floatATTN_NORM= 1;
floatATTN_IDLE= 2;
floatATTN_STATIC= 3;

Pagespeed Optimization by Lighthouse.