1 #ifndef CLIENT_CSQC_CONSTANTS
2 #define CLIENT_CSQC_CONSTANTS
4 // Mask Constants (set .drawmask on entities; use R_AddEntities to add all entities based on mask)
5 const int MASK_ENGINE = BIT(0);
6 const int MASK_ENGINEVIEWMODELS = BIT(1);
7 const int MASK_NORMAL = BIT(2);
9 // Renderflag Constants (used for CSQC entities)
10 const int RF_VIEWMODEL = BIT(0);
11 const int RF_EXTERNALMODEL = BIT(1);
12 const int RF_DEPTHHACK = BIT(2);
13 const int RF_ADDITIVE = BIT(3);
14 const int RF_USEAXIS = BIT(4);
16 // Viewflag Constants (use with R_SetView)
17 const int VF_MIN = 1; //(vector)
18 const int VF_MIN_X = 2; //(float)
19 const int VF_MIN_Y = 3; //(float)
20 const int VF_SIZE = 4; //(vector) (viewport size)
21 const int VF_SIZE_Y = 5; //(float)
22 const int VF_SIZE_X = 6; //(float)
23 const int VF_VIEWPORT = 7; //(vector, vector)
24 const int VF_FOV = 8; //(vector)
25 const int VF_FOVX = 9; //(float)
26 const int VF_FOVY = 10; //(float)
27 const int VF_ORIGIN = 11; //(vector)
28 const int VF_ORIGIN_X = 12; //(float)
29 const int VF_ORIGIN_Y = 13; //(float)
30 const int VF_ORIGIN_Z = 14; //(float)
31 const int VF_ANGLES = 15; //(vector)
32 const int VF_ANGLES_X = 16; //(float)
33 const int VF_ANGLES_Y = 17; //(float)
34 const int VF_ANGLES_Z = 18; //(float)
35 const int VF_DRAWWORLD = 19; //(float)
36 const int VF_DRAWENGINEHUD = 20; //(float)
37 const int VF_DRAWCROSSHAIR = 21; //(float)
38 const int VF_PERSPECTIVE = 200; //(float)
40 const int VF_CL_VIEWANGLES = 33; //(vector)
41 const int VF_CL_VIEWANGLES_X = 34; //(float)
42 const int VF_CL_VIEWANGLES_Y = 35; //(float)
43 const int VF_CL_VIEWANGLES_Z = 36; //(float)
45 // Quake-style Point Contents
46 const int CONTENT_EMPTY = -1;
47 const int CONTENT_SOLID = -2;
48 const int CONTENT_WATER = -3;
49 const int CONTENT_SLIME = -4;
50 const int CONTENT_LAVA = -5;
51 const int CONTENT_SKY = -6;
53 // Vector / Hull Constants
54 const vector VEC_1 = '1 1 1';
55 const vector VEC_0 = '0 0 0';
56 const vector VEC_M1 = '-1 -1 -1';
58 const vector VEC_HULL_MIN = '-16 -16 -24';
59 const vector VEC_HULL_MAX = '16 16 32';
62 const int EF_NODRAW = BIT(4);
63 const int EF_ADDITIVE = BIT(5);
64 const int EF_BLUE = BIT(6);
65 const int EF_RED = BIT(7);
66 const int EF_FULLBRIGHT = BIT(9);
67 const int EF_FLAME = BIT(10);
68 const int EF_STARDUST = BIT(11);
69 const int EF_NOSHADOW = BIT(12);
70 const int EF_NODEPTHTEST = BIT(13);
72 // Quake Player Flag Constants
73 const int PFL_ONGROUND = BIT(0);
74 const int PFL_CROUCH = BIT(1);
75 const int PFL_DEAD = BIT(2);
76 const int PFL_GIBBED = BIT(3);
78 // Quake Temporary Entity Constants
79 const int TE_SPIKE = 0;
80 const int TE_SUPERSPIKE = 1;
81 const int TE_GUNSHOT = 2;
82 const int TE_EXPLOSION = 3;
83 const int TE_TAREXPLOSION = 4;
84 const int TE_LIGHTNING1 = 5;
85 const int TE_LIGHTNING2 = 6;
86 const int TE_WIZSPIKE = 7;
87 const int TE_KNIGHTSPIKE = 8;
88 const int TE_LIGHTNING3 = 9;
89 const int TE_LAVASPLASH = 10;
90 const int TE_TELEPORT = 11;
91 const int TE_EXPLOSION2 = 12;
92 // Darkplaces Additions
93 const int TE_EXPLOSIONRGB = 53;
94 const int TE_GUNSHOTQUAD = 57;
95 const int TE_EXPLOSIONQUAD = 70;
98 const int EXTRA_LOW = -99999999;
99 const int EXTRA_HIGH = 99999999;
101 // Frik File Constants
102 const int FILE_READ = 0;
103 const int FILE_APPEND = 1;
104 const int FILE_WRITE = 2;
106 // Button values used by input_buttons
107 const int BUTTON_ATTACK = BIT(0);
108 const int BUTTON_JUMP = BIT(1);
109 const int BUTTON_3 = BIT(2);
110 const int BUTTON_4 = BIT(3);
111 const int BUTTON_5 = BIT(4);
112 const int BUTTON_6 = BIT(5);
113 const int BUTTON7 = BIT(6);
114 const int BUTTON8 = BIT(7);
115 const int BUTTON_USE = BIT(8);
116 const int BUTTON_CHAT = BIT(9);
117 const int BUTTON_PRYDONCURSOR = BIT(10);
118 const int BUTTON_9 = BIT(11);
119 const int BUTTON_10 = BIT(12);
120 const int BUTTON_11 = BIT(13);
121 const int BUTTON_12 = BIT(14);
122 const int BUTTON_13 = BIT(15);
123 const int BUTTON_14 = BIT(16);
124 const int BUTTON_15 = BIT(17);
125 const int BUTTON_16 = BIT(18);
127 const int SOLID_NOT = 0; // no interaction with other objects
128 const int SOLID_TRIGGER = 1; // touch on edge, but not blocking
129 const int SOLID_BBOX = 2; // touch on edge, block
130 const int SOLID_SLIDEBOX = 3; // touch on edge, but not an onground
131 const int SOLID_BSP = 4; // bsp clip, touch on edge, block
132 const int SOLID_CORPSE = 5; // same as SOLID_BBOX, except it behaves as SOLID_NOT against SOLID_SLIDEBOX objects (players/monsters)
134 const int MOVE_NORMAL = 0; // same as false
135 const int MOVE_NOMONSTERS = 1; // same as true
136 const int MOVE_MISSILE = 2; // save as movement with .movetype == MOVETYPE_FLYMISSILE
137 const int MOVE_HITMODEL = 4;
138 const int MOVE_WORLDONLY = 3;
140 const int CAMERA_FREE = 1;
141 const int CAMERA_CHASE = 2;
143 const int EF_NOMODELFLAGS = BIT(23);