14 // 0 = keydown, key, character (EXT_CSQC)
15 // 1 = keyup, key, character (EXT_CSQC)
16 // 2 = mousemove relative, x, y (EXT_CSQC)
17 // 3 = mousemove absolute, x, y (DP_CSQC)
18 bool CSQC_InputEvent(int eventtype, int x, int y);
20 void CSQC_UpdateView(int width, int height);
21 // catch commands registered with registercommand
22 bool CSQC_ConsoleCommand(string cmd);
23 bool CSQC_Parse_TempEntity();
24 bool CSQC_Parse_StuffCmd(string msg);
25 bool CSQC_Parse_Print(string msg);
26 bool CSQC_Parse_CenterPrint(string msg);
27 bool CSQC_Event_Sound(int ent, int channel, string sample, float volume, float attenuation, vector pos, float speed, int flags);
29 entity CSQC_Ent_Spawn(int entnum);
30 void CSQC_Ent_Update(bool isnew);
31 void CSQC_Ent_Remove();
47 // trace_endpos: visorigin
48 .vector camera_transform(vector pos, vector ang);
50 // control start position of sound()
51 // calculated as ofs = time - sound_starttime
52 float sound_starttime;
80 void ClientDisconnect();
88 void SV_PausedTic(float elapsed);
93 void SV_ChangeTeam(int color);
105 // Called when a client connects to the server
110 void ClientConnect();
112 // Called when a client spawns in the server
117 void PutClientInServer();
119 // return false to remove
120 .bool SendEntity(entity to, int sf);
125 void SV_OnEntityPreSpawnFunction();
130 void SV_OnEntityNoSpawnFunction();
135 void SV_OnEntityPostSpawnFunction();
146 .bool customizeentityforclient();
153 void SetChangeParms();
164 // trace_endpos: self.origin
165 // trace_plane_normal
168 // trace_dpstartcontents
169 // trace_dphitcontents
170 // trace_dphitq3surfaceflags
171 // trace_dphittexturename
174 // when .watertype changes:
175 .void contentstransition(int prev, int current);
186 .void movetypesteplandevent(vector vel);
191 void PlayerPreThink();
196 void PlayerPostThink();
210 void SV_PlayerPhysics();
215 void SV_ParseClientCommand(string cmd);
217 // qcstatus server field
219 .string clientstatus;
227 void m_keydown(int key, int ascii);
229 void m_keyup(int key, int ascii);
231 void m_draw(int width, int height);
233 void m_toggle(int mode);
235 int m_gethostcachecategory(int entry);
247 void URI_Get_Callback(int id, int status, string data);
249 void GameCommand(string cmd);
259 void tracebox(vector v1, vector min, vector max, vector v2, int tryents, entity ignoreentity);
261 attempt to move an object from v1 to v2 of given size
265 * MOVE_NOMONSTERS (1): ignore monsters
266 * MOVE_MISSILE (2): +15 to every extent
267 * MOVE_WORLDONLY (3): ignore everything except bsp
268 * MOVE_HITMODEL (4): hit model, not bbox
272 void traceline(vector v1, vector v2, int tryents, entity ignoreentity);
274 degenerate case of tracebox when min and max are equal
280 trace never left solid
282 bool trace_startsolid;
284 trace started inside solid
286 float trace_fraction;
288 distance before collision: 0..1, 1 if no collision
292 v1 + (v2 - v1) * trace_fraction
294 vector trace_plane_normal;
296 normalized plane normal, '0 0 0' if no collision.
297 May be present if edges touch without clipping, use `trace_fraction < 1` as a determinant instead
299 float trace_plane_dist;
315 int trace_dpstartcontents;
317 DPCONTENTS_ value at start position of trace
319 int trace_dphitcontents;
321 DPCONTENTS_ value of impacted surface (not contents at impact point, just contents of the surface that was hit)
323 int trace_dphitq3surfaceflags;
325 Q3SURFACEFLAG_ value of impacted surface
327 string trace_dphittexturename;
329 texture name of impacted surface
331 int trace_networkentity;