2 // Basically every vm builtin cmd should be in here.
3 // All 3 builtin and extension lists can be found here
4 // cause large (I think they will) parts are from pr_cmds the same copyright like in pr_cmds
9 ============================================================================
13 checkextension(string)
18 sprint(float clientnum,...[string])
19 centerprint(...[string])
20 vector normalize(vector)
22 float vectoyaw(vector)
23 vector vectoangles(vector)
27 cvar_set (string,string)
33 float stof(...[string])
36 entity find(entity start, .string field, string match)
38 entity findfloat(entity start, .float field, float match)
39 entity findentity(entity start, .entity field, entity match)
41 entity findchain(.string field, string match)
43 entity findchainfloat(.string field, float match)
44 entity findchainentity(.string field, entity match)
46 string precache_file(string)
47 string precache_sound (string sample)
55 entity nextent(entity)
60 float registercvar (string name, string value, float flags)
61 float min(float a, float b, ...[float])
62 float max(float a, float b, ...[float])
63 float bound(float min, float value, float max)
64 float pow(float a, float b)
65 copyentity(entity src, entity dst)
66 float fopen(string filename, float mode)
68 string fgets(float fhandle)
69 fputs(float fhandle, string s)
70 float strlen(string s)
71 string strcat(string,string,...[string])
72 string substring(string s, float start, float length)
74 string strzone(string s)
76 float tokenize(string s)
81 clientcommand(float client, string s) (for client and menu)
82 changelevel(string map)
83 localsound(string sample)
86 loadfromdata(string data)
87 loadfromfile(string file)
88 parseentitydata(entity ent, string data)
89 float mod(float val, float m)
90 const string cvar_string (string)
91 float cvar_type (string)
95 float search_begin(string pattern, float caseinsensitive, float quiet)
96 void search_end(float handle)
97 float search_getsize(float handle)
98 string search_getfilename(float handle, float num)
100 string chr(float ascii)
103 entity ftoe(float num)
105 -------will be removed soon----------
106 float altstr_count(string)
107 string altstr_prepare(string)
108 string altstr_get(string,float)
109 string altstr_set(string altstr, float num, string set)
110 string altstr_ins(string altstr, float num, string set)
111 --------------------------------------
113 entity findflags(entity start, .float field, float match)
114 entity findchainflags(.float field, float match)
116 const string VM_cvar_defstring (string)
118 perhaps only : Menu : WriteMsg
119 ===============================
121 WriteByte(float data, float dest, float desto)
122 WriteChar(float data, float dest, float desto)
123 WriteShort(float data, float dest, float desto)
124 WriteLong(float data, float dest, float desto)
125 WriteAngle(float data, float dest, float desto)
126 WriteCoord(float data, float dest, float desto)
127 WriteString(string data, float dest, float desto)
128 WriteEntity(entity data, float dest, float desto)
130 Client & Menu : draw functions & video functions (& gecko functions)
131 ===================================================
133 float iscachedpic(string pic)
134 string precache_pic(string pic)
136 float drawcharacter(vector position, float character, vector scale, vector rgb, float alpha, float flag)
137 float drawstring(vector position, string text, vector scale, vector rgb, float alpha, float flag)
138 float drawcolorcodedstring(vector position, string text, vector scale, float alpha, float flag)
139 float stringwidth(string text, float handleColors)
140 float drawpic(vector position, string pic, vector size, vector rgb, float alpha, float flag)
141 float drawsubpic(vector position, vector size, string pic, vector srcPos, vector srcSize, vector rgb, float alpha, float flag)
142 float drawfill(vector position, vector size, vector rgb, float alpha, float flag)
143 drawsetcliparea(float x, float y, float width, float height)
145 vector getimagesize(string pic)
147 float cin_open(string file, string name)
148 void cin_close(string name)
149 void cin_setstate(string name, float type)
150 float cin_getstate(string name)
151 void cin_restart(string name)
153 float[bool] gecko_create( string name )
154 void gecko_destroy( string name )
155 void gecko_navigate( string name, string URI )
156 float[bool] gecko_keyevent( string name, float key, float eventtype )
157 void gecko_mousemove( string name, float x, float y )
159 ==============================================================================
163 setkeydest(float dest)
165 setmousetarget(float target)
166 float getmousetarget()
168 callfunction(...,string function_name)
169 writetofile(float fhandle, entity ent)
170 float isfunction(string function_name)
171 vector getresolution(float number)
172 string keynumtostring(float keynum)
173 string findkeysforcommand(string command)
174 float getserverliststat(float type)
175 string getserverliststring(float fld, float hostnr)
177 float stringtokeynum(string key)
179 resetserverlistmasks()
180 setserverlistmaskstring(float mask, float fld, string str)
181 setserverlistmasknumber(float mask, float fld, float num, float op)
183 setserverlistsort(float field, float descending)
185 float getserverlistnumber(float fld, float hostnr)
186 float getserverlistindexforkey(string key)
187 addwantedserverlistkey(string key)
190 #include "quakedef.h"
191 #include "progdefs.h"
193 #include "clprogdefs.h"
194 #include "mprogdefs.h"
196 #include "cl_video.h"
197 #include "cl_gecko.h"
199 //============================================================================
200 // nice helper macros
202 #ifndef VM_NOPARMCHECK
203 #define VM_SAFEPARMCOUNTRANGE(p1,p2,f) if(prog->argc < p1 || prog->argc > p2) PRVM_ERROR(#f " wrong parameter count %i (" #p1 " to " #p2 " expected ) !", prog->argc)
204 #define VM_SAFEPARMCOUNT(p,f) if(prog->argc != p) PRVM_ERROR(#f " wrong parameter count %i (" #p " expected ) !", prog->argc)
206 #define VM_SAFEPARMCOUNTRANGE(p1,p2,f)
207 #define VM_SAFEPARMCOUNT(p,f)
210 #define VM_RETURN_EDICT(e) (((int *)prog->globals.generic)[OFS_RETURN] = PRVM_EDICT_TO_PROG(e))
212 #define VM_STRINGTEMP_LENGTH MAX_INPUTLINE
214 // builtins and other general functions
216 void VM_CheckEmptyString (const char *s);
217 void VM_VarString(int first, char *out, int outlength);
219 void VM_checkextension (void);
220 void VM_error (void);
221 void VM_objerror (void);
222 void VM_print (void);
223 void VM_bprint (void);
224 void VM_sprint (void);
225 void VM_centerprint (void);
226 void VM_normalize (void);
228 void VM_vectoyaw (void);
229 void VM_vectoangles (void);
230 void VM_random (void);
231 void VM_localsound(void);
232 void VM_break (void);
233 void VM_localcmd (void);
235 void VM_cvar_string(void);
236 void VM_cvar_type (void);
237 void VM_cvar_defstring (void);
238 void VM_cvar_set (void);
239 void VM_dprint (void);
247 void VM_strftime(void);
248 void VM_spawn (void);
249 void VM_remove (void);
251 void VM_findfloat (void);
252 void VM_findchain (void);
253 void VM_findchainfloat (void);
254 void VM_findflags (void);
255 void VM_findchainflags (void);
256 void VM_precache_file (void);
257 void VM_precache_sound (void);
258 void VM_coredump (void);
260 void VM_stackdump (void);
261 void VM_crash(void); // REMOVE IT
262 void VM_traceon (void);
263 void VM_traceoff (void);
264 void VM_eprint (void);
266 void VM_floor (void);
268 void VM_nextent (void);
270 void VM_changelevel (void);
274 void VM_randomvec (void);
275 void VM_registercvar (void);
278 void VM_bound (void);
283 void VM_atan2 (void);
286 void VM_Files_Init(void);
287 void VM_Files_CloseAll(void);
290 void VM_fclose(void);
293 void VM_writetofile(void); // only used by menu
295 void VM_strlen(void);
296 void VM_strcat(void);
297 void VM_substring(void);
299 void VM_strzone(void);
300 void VM_strunzone(void);
302 // KrimZon - DP_QC_ENTITYDATA
303 void VM_numentityfields(void);
304 void VM_entityfieldname(void);
305 void VM_entityfieldtype(void);
306 void VM_getentityfieldstring(void);
307 void VM_putentityfieldstring(void);
308 // And declared these ones for VM_getentityfieldstring and VM_putentityfieldstring in prvm_cmds.c
309 // the function is from prvm_edict.c
310 char *PRVM_UglyValueString (etype_t type, prvm_eval_t *val);
311 qboolean PRVM_ED_ParseEpair(prvm_edict_t *ent, ddef_t *key, const char *s);
313 // DRESK - String Length (not counting color codes)
314 void VM_strlennocol(void);
315 // DRESK - Decolorized String
316 void VM_strdecolorize(void);
317 // DRESK - String Uppercase and Lowercase Support
318 void VM_strtolower(void);
319 void VM_strtoupper(void);
321 void VM_clcommand (void);
323 void VM_tokenize (void);
324 void VM_tokenizebyseparator (void);
327 void VM_isserver(void);
328 void VM_clientcount(void);
329 void VM_clientstate(void);
330 // not used at the moment -> not included in the common list
331 void VM_getostype(void);
332 void VM_getmousepos(void);
333 void VM_gettime(void);
334 void VM_loadfromdata(void);
335 void VM_parseentitydata(void);
336 void VM_loadfromfile(void);
337 void VM_modulo(void);
339 void VM_search_begin(void);
340 void VM_search_end(void);
341 void VM_search_getsize(void);
342 void VM_search_getfilename(void);
344 void VM_iscachedpic(void);
345 void VM_precache_pic(void);
346 void VM_freepic(void);
347 void VM_drawcharacter(void);
348 void VM_drawstring(void);
349 void VM_drawcolorcodedstring(void);
350 void VM_stringwidth(void);
351 void VM_drawpic(void);
352 void VM_drawsubpic(void);
353 void VM_drawfill(void);
354 void VM_drawsetcliparea(void);
355 void VM_drawresetcliparea(void);
356 void VM_getimagesize(void);
358 void VM_makevectors (void);
359 void VM_vectorvectors (void);
361 void VM_keynumtostring (void);
362 void VM_findkeysforcommand (void);
363 void VM_stringtokeynum (void);
365 void VM_cin_open( void );
366 void VM_cin_close( void );
367 void VM_cin_setstate( void );
368 void VM_cin_getstate( void );
369 void VM_cin_restart( void );
371 void VM_gecko_create( void );
372 void VM_gecko_destroy( void );
373 void VM_gecko_navigate( void );
374 void VM_gecko_keyevent( void );
375 void VM_gecko_movemouse( void );
376 void VM_gecko_resize( void );
377 void VM_gecko_get_texture_extent( void );
379 void VM_drawline (void);
381 void VM_bitshift (void);
383 void VM_altstr_count( void );
384 void VM_altstr_prepare( void );
385 void VM_altstr_get( void );
386 void VM_altstr_set( void );
387 void VM_altstr_ins(void);
389 void VM_buf_create(void);
390 void VM_buf_del (void);
391 void VM_buf_getsize (void);
392 void VM_buf_copy (void);
393 void VM_buf_sort (void);
394 void VM_buf_implode (void);
395 void VM_bufstr_get (void);
396 void VM_bufstr_set (void);
397 void VM_bufstr_add (void);
398 void VM_bufstr_free (void);
400 void VM_changeyaw (void);
401 void VM_changepitch (void);
403 void VM_uncolorstring (void);
405 void VM_strstrofs (void);
406 void VM_str2chr (void);
407 void VM_chr2str (void);
408 void VM_strconv (void);
409 void VM_strpad (void);
410 void VM_infoadd (void);
411 void VM_infoget (void);
412 void VM_strncmp (void);
413 void VM_strncmp (void);
414 void VM_strncasecmp (void);
415 void VM_registercvar (void);
416 void VM_wasfreed (void);
418 void VM_strreplace (void);
419 void VM_strireplace (void);
423 void VM_SetTraceGlobals(const trace_t *trace);
425 void VM_Cmd_Init(void);
426 void VM_Cmd_Reset(void);
428 void VM_uri_escape (void);
429 void VM_uri_unescape (void);
430 void VM_whichpack (void);
433 void VM_uri_get (void);
434 void VM_netaddress_resolve (void);
436 void VM_tokenize_console (void);
437 void VM_argv_start_index (void);
438 void VM_argv_end_index (void);
440 void VM_buf_cvarlist(void);
441 void VM_cvar_description(void);