-0, // to be consistent with the old vm
-VM_CL_makevectors, // #1 void(vector ang) makevectors
-VM_CL_setorigin, // #2 void(entity e, vector o) setorigin
-VM_CL_setmodel, // #3 void(entity e, string m) setmodel
-VM_CL_setsize, // #4 void(entity e, vector min, vector max) setsize
-0,
-VM_break, // #6 void() break
-VM_random, // #7 float() random
-VM_CL_sound, // #8 void(entity e, float chan, string samp) sound
-VM_normalize, // #9 vector(vector v) normalize
-VM_error, // #10 void(string e) error
-VM_objerror, // #11 void(string e) objerror
-VM_vlen, // #12 float(vector v) vlen
-VM_vectoyaw, // #13 float(vector v) vectoyaw
-VM_CL_spawn, // #14 entity() spawn
-VM_remove, // #15 void(entity e) remove
-VM_CL_traceline, // #16 float(vector v1, vector v2, float tryents) traceline
-0,
-VM_find, // #18 entity(entity start, .string fld, string match) find
-VM_CL_precache_sound, // #19 void(string s) precache_sound
-VM_CL_precache_model, // #20 void(string s) precache_model
-0,
-VM_CL_findradius, // #22 entity(vector org, float rad) findradius
-0,
-0,
-VM_dprint, // #25 void(string s) dprint
-VM_ftos, // #26 void(string s) ftos
-VM_vtos, // #27 void(string s) vtos
-VM_coredump, // #28 void() coredump
-VM_traceon, // #29 void() traceon
-VM_traceoff, // #30 void() traceoff
-VM_eprint, // #31 void(entity e) eprint
-0,
-NULL, // #33
-VM_CL_droptofloor, // #34 float() droptofloor
-VM_CL_lightstyle, // #35 void(float style, string value) lightstyle
-VM_rint, // #36 float(float v) rint
-VM_floor, // #37 float(float v) floor
-VM_ceil, // #38 float(float v) ceil
-NULL, // #39
-VM_CL_checkbottom, // #40 float(entity e) checkbottom
-VM_CL_pointcontents, // #41 float(vector v) pointcontents
-NULL, // #42
-VM_fabs, // #43 float(float f) fabs
-0,
-VM_cvar, // #45 float(string s) cvar
-VM_localcmd, // #46 void(string s) localcmd
-VM_nextent, // #47 entity(entity e) nextent
-VM_CL_particle, // #48 void(vector o, vector d, float color, float count) particle
-VM_CL_changeyaw, // #49 void(entity ent, float ideal_yaw, float speed_yaw) ChangeYaw
-NULL, // #50
-VM_vectoangles, // #51 vector(vector v) vectoangles
-0, // #52 void(float to, float f) WriteByte
-0, // #53 void(float to, float f) WriteChar
-0, // #54 void(float to, float f) WriteShort
-0, // #55 void(float to, float f) WriteLong
-0, // #56 void(float to, float f) WriteCoord
-0, // #57 void(float to, float f) WriteAngle
-0, // #58 void(float to, string s) WriteString
-0,
-VM_sin, // #60 float(float f) sin (DP_QC_SINCOSSQRTPOW)
-VM_cos, // #61 float(float f) cos (DP_QC_SINCOSSQRTPOW)
-VM_sqrt, // #62 float(float f) sqrt (DP_QC_SINCOSSQRTPOW)
-VM_CL_changepitch, // #63 void(entity ent, float ideal_pitch, float speed_pitch) changepitch (DP_QC_CHANGEPITCH)
-VM_CL_tracetoss, // #64 void(entity e, entity ignore) tracetoss (DP_QC_TRACETOSS)
-VM_etos, // #65 string(entity ent) etos (DP_QC_ETOS)
-NULL, // #66
-0, // #67
-0, // #68
-0, // #69
-0, // #70
-NULL, // #71
-VM_cvar_set, // #72 void(string var, string val) cvar_set
-0, // #73
-VM_CL_ambientsound, // #74 void(vector pos, string samp, float vol, float atten) ambientsound
-VM_CL_precache_model, // #75 string(string s) precache_model2
-VM_CL_precache_sound, // #76 string(string s) precache_sound2
-0, // #77
-VM_chr, // #78
-NULL, // #79
-NULL, // #80
-VM_stof, // #81 float(string s) stof (FRIK_FILE)
-NULL, // #82
-NULL, // #83
-NULL, // #84
-NULL, // #85
-NULL, // #86
-NULL, // #87
-NULL, // #88
-NULL, // #89
-VM_CL_tracebox, // #90 void(vector v1, vector min, vector max, vector v2, float nomonsters, entity forent) tracebox (DP_QC_TRACEBOX)
-VM_randomvec, // #91 vector() randomvec (DP_QC_RANDOMVEC)
-VM_CL_getlight, // #92 vector(vector org) getlight (DP_QC_GETLIGHT)
-PF_registercvar, // #93 float(string name, string value) registercvar (DP_REGISTERCVAR)
-VM_min, // #94 float(float a, floats) min (DP_QC_MINMAXBOUND)
-VM_max, // #95 float(float a, floats) max (DP_QC_MINMAXBOUND)
-VM_bound, // #96 float(float minimum, float val, float maximum) bound (DP_QC_MINMAXBOUND)
-VM_pow, // #97 float(float f, float f) pow (DP_QC_SINCOSSQRTPOW)
-VM_findfloat, // #98 entity(entity start, .float fld, float match) findfloat (DP_QC_FINDFLOAT)
-VM_checkextension, // #99 float(string s) checkextension (the basis of the extension system)
-NULL, // #100
-NULL, // #101
-NULL, // #102
-NULL, // #103
-NULL, // #104
-NULL, // #105
-NULL, // #106
-NULL, // #107
-NULL, // #108
-NULL, // #109
-VM_fopen, // #110 float(string filename, float mode) fopen (FRIK_FILE)
-VM_fclose, // #111 void(float fhandle) fclose (FRIK_FILE)
-VM_fgets, // #112 string(float fhandle) fgets (FRIK_FILE)
-VM_fputs, // #113 void(float fhandle, string s) fputs (FRIK_FILE)
-VM_strlen, // #114 float(string s) strlen (FRIK_FILE)
-VM_strcat, // #115 string(string s1, string s2) strcat (FRIK_FILE)
-VM_substring, // #116 string(string s, float start, float length) substring (FRIK_FILE)
-VM_stov, // #117 vector(string) stov (FRIK_FILE)
-VM_strzone, // #118 string(string s) strzone (FRIK_FILE)
-VM_strunzone, // #119 void(string s) strunzone (FRIK_FILE)
-
-e10, e10, e10, e10, e10, e10, e10, e10, // #120-199
-e10, //#200-209
-0, //#210
-0, //#211
-0, //#212
-0, //#213
-0, //#214
-0, //#215
-0, //#216
-0, //#217
-VM_bitshift, //#218 float(float number, float quantity) bitshift (EXT_BITSHIFT)
-0, //#219
-0, //#220
-0, //#221
-VM_charindex, //#222 float(string str, float ofs) str2chr (FTE_STRINGS)
-VM_chr2str, //#223 string(float c, ...) chr2str (FTE_STRINGS)
-0, //#224
-0, //#225
-0, //#226
-0, //#227
-VM_strncmp, //#228 float(string s1, string s2, float len) strncmp (FTE_STRINGS)
-0,
-e10, e10, e10, e10, e10, e10, e10, // #230-299
-
-//======CSQC start=======//
-//3d world (buffer/buffering) operations
-VM_R_ClearScene, //#300 void() clearscene (EXT_CSQC)
-VM_R_AddEntities, //#301 void(float mask) addentities (EXT_CSQC)
-VM_R_AddEntity, //#302 void(entity ent) addentity (EXT_CSQC)
-VM_R_SetView, //#303 float(float property, ...) setproperty (EXT_CSQC)
-VM_R_RenderScene, //#304 void() renderscene (EXT_CSQC)
-VM_R_AddDynamicLight, //#305 void(vector org, float radius, vector lightcolours) adddynamiclight (EXT_CSQC)
-VM_R_PolygonBegin, //#306 void(string texturename, float flag[, float is2d, float lines]) R_BeginPolygon
-VM_R_PolygonVertex, //#307 void(vector org, vector texcoords, vector rgb, float alpha) R_PolygonVertex
-VM_R_PolygonEnd, //#308 void() R_EndPolygon
-0, //#309
-
-//maths stuff that uses the current view settings
-VM_CL_unproject, //#310 vector (vector v) cs_unproject (EXT_CSQC)
-VM_CL_project, //#311 vector (vector v) cs_project (EXT_CSQC)
-0, //#312
-0, //#313
-0, //#314
-
-//2d (immediate) operations
-VM_drawline, //#315 void(float width, vector pos1, vector pos2, float flag) drawline (EXT_CSQC)
-VM_iscachedpic, //#316 float(string name) iscachedpic (EXT_CSQC)
-VM_precache_pic, //#317 string(string name, float trywad) precache_pic (EXT_CSQC)
-VM_getimagesize, //#318 vector(string picname) draw_getimagesize (EXT_CSQC)
-VM_freepic, //#319 void(string name) freepic (EXT_CSQC)
-VM_drawcharacter, //#320 float(vector position, float character, vector scale, vector rgb, float alpha, float flag) drawcharacter (EXT_CSQC)
-VM_drawstring, //#321 float(vector position, string text, vector scale, vector rgb, float alpha, float flag) drawstring (EXT_CSQC)
-VM_drawpic, //#322 float(vector position, string pic, vector size, vector rgb, float alpha, float flag) drawpic (EXT_CSQC)
-VM_drawfill, //#323 float(vector position, vector size, vector rgb, float alpha, float flag) drawfill (EXT_CSQC)
-VM_drawsetcliparea, //#324 void(float x, float y, float width, float height) drawsetcliparea
-VM_drawresetcliparea, //#325 void(void) drawresetcliparea
-0, //#326
-0, //#327
-0, //#328
-0, //#329
-
-VM_CL_getstatf, //#330 float(float stnum) getstatf (EXT_CSQC)
-VM_CL_getstati, //#331 float(float stnum) getstati (EXT_CSQC)
-VM_CL_getstats, //#332 string(float firststnum) getstats (EXT_CSQC)
-VM_CL_setmodelindex, //#333 void(entity e, float mdlindex) setmodelindex (EXT_CSQC)
-VM_CL_modelnameforindex, //#334 string(float mdlindex) modelnameforindex (EXT_CSQC)
-VM_CL_particleeffectnum, //#335 float(string effectname) particleeffectnum (EXT_CSQC)
-VM_CL_trailparticles, //#336 void(entity ent, float effectnum, vector start, vector end) trailparticles (EXT_CSQC)
-VM_CL_pointparticles, //#337 void(float effectnum, vector origin [, vector dir, float count]) pointparticles (EXT_CSQC)
-VM_CL_centerprint, //#338 void(string s) cprint (EXT_CSQC)
-VM_print, //#339 void(string s) print (EXT_CSQC)
-VM_keynumtostring, //#340 string(float keynum) keynumtostring (EXT_CSQC)
-VM_stringtokeynum, //#341 float(string keyname) stringtokeynum (EXT_CSQC)
-VM_CL_getkeybind, //#342 string(float keynum) getkeybind (EXT_CSQC)
-VM_CL_setcursormode, //#343 void(float usecursor) setcursormode (EXT_CSQC)
-VM_getmousepos, //#344 vector() getmousepos (EXT_CSQC)
-VM_CL_getinputstate, //#345 float(float framenum) getinputstate (EXT_CSQC)
-VM_CL_setsensitivityscale, //#346 void(float sens) setsensitivityscaler (EXT_CSQC)
-VM_CL_runplayerphysics, //#347 void() runstandardplayerphysics (EXT_CSQC)
-VM_CL_getplayerkey, //#348 string(float playernum, string keyname) getplayerkeyvalue (EXT_CSQC)
-VM_CL_isdemo, //#349 float() isdemo (EXT_CSQC)
-VM_isserver, //#350 float() isserver (EXT_CSQC)
-VM_CL_setlistener, //#351 void(vector origin, vector forward, vector right, vector up) SetListener (EXT_CSQC)
-VM_CL_registercmd, //#352 void(string cmdname) registercommand (EXT_CSQC)
-VM_WasFreed, //#353 float(entity ent) wasfreed (EXT_CSQC) (should be availabe on server too)
-VM_CL_playernum, //#354 float() playernum
-VM_CL_onground, //#355 float() cl_onground (EXT_CSQC)
-VM_charindex, //#356 float(string s, float num) charindex
-VM_CL_selecttraceline, //#357 float(vector start, vector end, float ignore, float csqcents) selecttraceline
-0, //#358
-0, //#359
-VM_CL_ReadByte, //#360 float() readbyte (EXT_CSQC)
-VM_CL_ReadChar, //#361 float() readchar (EXT_CSQC)
-VM_CL_ReadShort, //#362 float() readshort (EXT_CSQC)
-VM_CL_ReadLong, //#363 float() readlong (EXT_CSQC)
-VM_CL_ReadCoord, //#364 float() readcoord (EXT_CSQC)
-VM_CL_ReadAngle, //#365 float() readangle (EXT_CSQC)
-VM_CL_ReadString, //#366 string() readstring (EXT_CSQC)
-VM_CL_ReadFloat, //#367 float() readfloat (EXT_CSQC)
-0, //#368
-0, //#369
-0, //#370
-0, //#371
-0, //#372
-0, //#373
-0, //#374
-0, //#375
-0, //#376
-0, //#377
-0, //#378
-0, //#379
-0, //#380
-0, //#381
-0, //#382
-0, //#383
-0, //#384
-0, //#385
-0, //#386
-0, //#387
-0, //#388
-0, //#389
-0, //#390
-0, //#391
-0, //#392
-0, //#393
-0, //#394
-0, //#395
-0, //#396
-0, //#397
-0, //#398
-0, //#399
-//=========CSQC end========//
-
-VM_copyentity, // #400 void(entity from, entity to) copyentity (DP_QC_COPYENTITY)
-0,
+NULL, // #0 NULL function (not callable) (QUAKE)
+VM_CL_makevectors, // #1 void(vector ang) makevectors (QUAKE)
+VM_CL_setorigin, // #2 void(entity e, vector o) setorigin (QUAKE)
+VM_CL_setmodel, // #3 void(entity e, string m) setmodel (QUAKE)
+VM_CL_setsize, // #4 void(entity e, vector min, vector max) setsize (QUAKE)
+NULL, // #5 void(entity e, vector min, vector max) setabssize (QUAKE)
+VM_break, // #6 void() break (QUAKE)
+VM_random, // #7 float() random (QUAKE)
+VM_CL_sound, // #8 void(entity e, float chan, string samp) sound (QUAKE)
+VM_normalize, // #9 vector(vector v) normalize (QUAKE)
+VM_error, // #10 void(string e) error (QUAKE)
+VM_objerror, // #11 void(string e) objerror (QUAKE)
+VM_vlen, // #12 float(vector v) vlen (QUAKE)
+VM_vectoyaw, // #13 float(vector v) vectoyaw (QUAKE)
+VM_CL_spawn, // #14 entity() spawn (QUAKE)
+VM_remove, // #15 void(entity e) remove (QUAKE)
+VM_CL_traceline, // #16 float(vector v1, vector v2, float tryents, entity ignoreentity) traceline (QUAKE)
+NULL, // #17 entity() checkclient (QUAKE)
+VM_find, // #18 entity(entity start, .string fld, string match) find (QUAKE)
+VM_precache_sound, // #19 void(string s) precache_sound (QUAKE)
+VM_CL_precache_model, // #20 void(string s) precache_model (QUAKE)
+NULL, // #21 void(entity client, string s, ...) stuffcmd (QUAKE)
+VM_CL_findradius, // #22 entity(vector org, float rad) findradius (QUAKE)
+NULL, // #23 void(string s, ...) bprint (QUAKE)
+NULL, // #24 void(entity client, string s, ...) sprint (QUAKE)
+VM_dprint, // #25 void(string s, ...) dprint (QUAKE)
+VM_ftos, // #26 string(float f) ftos (QUAKE)
+VM_vtos, // #27 string(vector v) vtos (QUAKE)
+VM_coredump, // #28 void() coredump (QUAKE)
+VM_traceon, // #29 void() traceon (QUAKE)
+VM_traceoff, // #30 void() traceoff (QUAKE)
+VM_eprint, // #31 void(entity e) eprint (QUAKE)
+VM_CL_walkmove, // #32 float(float yaw, float dist[, float settrace]) walkmove (QUAKE)
+NULL, // #33 (QUAKE)
+VM_CL_droptofloor, // #34 float() droptofloor (QUAKE)
+VM_CL_lightstyle, // #35 void(float style, string value) lightstyle (QUAKE)
+VM_rint, // #36 float(float v) rint (QUAKE)
+VM_floor, // #37 float(float v) floor (QUAKE)
+VM_ceil, // #38 float(float v) ceil (QUAKE)
+NULL, // #39 (QUAKE)
+VM_CL_checkbottom, // #40 float(entity e) checkbottom (QUAKE)
+VM_CL_pointcontents, // #41 float(vector v) pointcontents (QUAKE)
+NULL, // #42 (QUAKE)
+VM_fabs, // #43 float(float f) fabs (QUAKE)
+NULL, // #44 vector(entity e, float speed) aim (QUAKE)
+VM_cvar, // #45 float(string s) cvar (QUAKE)
+VM_localcmd, // #46 void(string s) localcmd (QUAKE)
+VM_nextent, // #47 entity(entity e) nextent (QUAKE)
+VM_CL_particle, // #48 void(vector o, vector d, float color, float count) particle (QUAKE)
+VM_changeyaw, // #49 void() ChangeYaw (QUAKE)
+NULL, // #50 (QUAKE)
+VM_vectoangles, // #51 vector(vector v) vectoangles (QUAKE)
+NULL, // #52 void(float to, float f) WriteByte (QUAKE)
+NULL, // #53 void(float to, float f) WriteChar (QUAKE)
+NULL, // #54 void(float to, float f) WriteShort (QUAKE)
+NULL, // #55 void(float to, float f) WriteLong (QUAKE)
+NULL, // #56 void(float to, float f) WriteCoord (QUAKE)
+NULL, // #57 void(float to, float f) WriteAngle (QUAKE)
+NULL, // #58 void(float to, string s) WriteString (QUAKE)
+NULL, // #59 (QUAKE)
+VM_sin, // #60 float(float f) sin (DP_QC_SINCOSSQRTPOW)
+VM_cos, // #61 float(float f) cos (DP_QC_SINCOSSQRTPOW)
+VM_sqrt, // #62 float(float f) sqrt (DP_QC_SINCOSSQRTPOW)
+VM_changepitch, // #63 void(entity ent) changepitch (DP_QC_CHANGEPITCH)
+VM_CL_tracetoss, // #64 void(entity e, entity ignore) tracetoss (DP_QC_TRACETOSS)
+VM_etos, // #65 string(entity ent) etos (DP_QC_ETOS)
+NULL, // #66 (QUAKE)
+NULL, // #67 void(float step) movetogoal (QUAKE)
+VM_precache_file, // #68 string(string s) precache_file (QUAKE)
+VM_CL_makestatic, // #69 void(entity e) makestatic (QUAKE)
+NULL, // #70 void(string s) changelevel (QUAKE)
+NULL, // #71 (QUAKE)
+VM_cvar_set, // #72 void(string var, string val) cvar_set (QUAKE)
+NULL, // #73 void(entity client, strings) centerprint (QUAKE)
+VM_CL_ambientsound, // #74 void(vector pos, string samp, float vol, float atten) ambientsound (QUAKE)
+VM_CL_precache_model, // #75 string(string s) precache_model2 (QUAKE)
+VM_precache_sound, // #76 string(string s) precache_sound2 (QUAKE)
+VM_precache_file, // #77 string(string s) precache_file2 (QUAKE)
+NULL, // #78 void(entity e) setspawnparms (QUAKE)
+NULL, // #79 void(entity killer, entity killee) logfrag (QUAKEWORLD)
+NULL, // #80 string(entity e, string keyname) infokey (QUAKEWORLD)
+VM_stof, // #81 float(string s) stof (FRIK_FILE)
+NULL, // #82 void(vector where, float set) multicast (QUAKEWORLD)
+NULL, // #83 (QUAKE)
+NULL, // #84 (QUAKE)
+NULL, // #85 (QUAKE)
+NULL, // #86 (QUAKE)
+NULL, // #87 (QUAKE)
+NULL, // #88 (QUAKE)
+NULL, // #89 (QUAKE)
+VM_CL_tracebox, // #90 void(vector v1, vector min, vector max, vector v2, float nomonsters, entity forent) tracebox (DP_QC_TRACEBOX)
+VM_randomvec, // #91 vector() randomvec (DP_QC_RANDOMVEC)
+VM_CL_getlight, // #92 vector(vector org) getlight (DP_QC_GETLIGHT)
+VM_registercvar, // #93 float(string name, string value) registercvar (DP_REGISTERCVAR)
+VM_min, // #94 float(float a, floats) min (DP_QC_MINMAXBOUND)
+VM_max, // #95 float(float a, floats) max (DP_QC_MINMAXBOUND)
+VM_bound, // #96 float(float minimum, float val, float maximum) bound (DP_QC_MINMAXBOUND)
+VM_pow, // #97 float(float f, float f) pow (DP_QC_SINCOSSQRTPOW)
+VM_findfloat, // #98 entity(entity start, .float fld, float match) findfloat (DP_QC_FINDFLOAT)
+VM_checkextension, // #99 float(string s) checkextension (the basis of the extension system)
+// FrikaC and Telejano range #100-#199
+NULL, // #100
+NULL, // #101
+NULL, // #102
+NULL, // #103
+NULL, // #104
+NULL, // #105
+NULL, // #106
+NULL, // #107
+NULL, // #108
+NULL, // #109
+VM_fopen, // #110 float(string filename, float mode) fopen (FRIK_FILE)
+VM_fclose, // #111 void(float fhandle) fclose (FRIK_FILE)
+VM_fgets, // #112 string(float fhandle) fgets (FRIK_FILE)
+VM_fputs, // #113 void(float fhandle, string s) fputs (FRIK_FILE)
+VM_strlen, // #114 float(string s) strlen (FRIK_FILE)
+VM_strcat, // #115 string(string s1, string s2, ...) strcat (FRIK_FILE)
+VM_substring, // #116 string(string s, float start, float length) substring (FRIK_FILE)
+VM_stov, // #117 vector(string) stov (FRIK_FILE)
+VM_strzone, // #118 string(string s) strzone (FRIK_FILE)
+VM_strunzone, // #119 void(string s) strunzone (FRIK_FILE)
+NULL, // #120
+NULL, // #121
+NULL, // #122
+NULL, // #123
+NULL, // #124
+NULL, // #125
+NULL, // #126
+NULL, // #127
+NULL, // #128
+NULL, // #129
+NULL, // #130
+NULL, // #131
+NULL, // #132
+NULL, // #133
+NULL, // #134
+NULL, // #135
+NULL, // #136
+NULL, // #137
+NULL, // #138
+NULL, // #139
+NULL, // #140
+NULL, // #141
+NULL, // #142
+NULL, // #143
+NULL, // #144
+NULL, // #145
+NULL, // #146
+NULL, // #147
+NULL, // #148
+NULL, // #149
+NULL, // #150
+NULL, // #151
+NULL, // #152
+NULL, // #153
+NULL, // #154
+NULL, // #155
+NULL, // #156
+NULL, // #157
+NULL, // #158
+NULL, // #159
+NULL, // #160
+NULL, // #161
+NULL, // #162
+NULL, // #163
+NULL, // #164
+NULL, // #165
+NULL, // #166
+NULL, // #167
+NULL, // #168
+NULL, // #169
+NULL, // #170
+NULL, // #171
+NULL, // #172
+NULL, // #173
+NULL, // #174
+NULL, // #175
+NULL, // #176
+NULL, // #177
+NULL, // #178
+NULL, // #179
+NULL, // #180
+NULL, // #181
+NULL, // #182
+NULL, // #183
+NULL, // #184
+NULL, // #185
+NULL, // #186
+NULL, // #187
+NULL, // #188
+NULL, // #189
+NULL, // #190
+NULL, // #191
+NULL, // #192
+NULL, // #193
+NULL, // #194
+NULL, // #195
+NULL, // #196
+NULL, // #197
+NULL, // #198
+NULL, // #199
+// FTEQW range #200-#299
+NULL, // #200
+NULL, // #201
+NULL, // #202
+NULL, // #203
+NULL, // #204
+NULL, // #205
+NULL, // #206
+NULL, // #207
+NULL, // #208
+NULL, // #209
+NULL, // #210
+NULL, // #211
+NULL, // #212
+NULL, // #213
+NULL, // #214
+NULL, // #215
+NULL, // #216
+NULL, // #217
+VM_bitshift, // #218 float(float number, float quantity) bitshift (EXT_BITSHIFT)
+NULL, // #219
+NULL, // #220
+VM_strstrofs, // #221 float(string str, string sub[, float startpos]) strstrofs (FTE_STRINGS)
+VM_str2chr, // #222 float(string str, float ofs) str2chr (FTE_STRINGS)
+VM_chr2str, // #223 string(float c, ...) chr2str (FTE_STRINGS)
+VM_strconv, // #224 string(float ccase, float calpha, float cnum, string s, ...) strconv (FTE_STRINGS)
+VM_strpad, // #225 string(float chars, string s, ...) strpad (FTE_STRINGS)
+VM_infoadd, // #226 string(string info, string key, string value, ...) infoadd (FTE_STRINGS)
+VM_infoget, // #227 string(string info, string key) infoget (FTE_STRINGS)
+VM_strncmp, // #228 float(string s1, string s2, float len) strncmp (FTE_STRINGS)
+VM_strncasecmp, // #229 float(string s1, string s2) strcasecmp (FTE_STRINGS)
+VM_strncasecmp, // #230 float(string s1, string s2, float len) strncasecmp (FTE_STRINGS)
+NULL, // #231
+NULL, // #232 void(float index, float type, .void field) SV_AddStat (EXT_CSQC)
+NULL, // #233
+NULL, // #234
+NULL, // #235
+NULL, // #236
+NULL, // #237
+NULL, // #238
+NULL, // #239
+NULL, // #240
+NULL, // #241
+NULL, // #242
+NULL, // #243
+NULL, // #244
+NULL, // #245
+NULL, // #246
+NULL, // #247
+NULL, // #248
+NULL, // #249
+NULL, // #250
+NULL, // #251
+NULL, // #252
+NULL, // #253
+NULL, // #254
+NULL, // #255
+NULL, // #256
+NULL, // #257
+NULL, // #258
+NULL, // #259
+NULL, // #260
+NULL, // #261
+NULL, // #262
+NULL, // #263
+NULL, // #264
+NULL, // #265
+NULL, // #266
+NULL, // #267
+NULL, // #268
+NULL, // #269
+NULL, // #270
+NULL, // #271
+NULL, // #272
+NULL, // #273
+NULL, // #274
+NULL, // #275
+NULL, // #276
+NULL, // #277
+NULL, // #278
+NULL, // #279
+NULL, // #280
+NULL, // #281
+NULL, // #282
+NULL, // #283
+NULL, // #284
+NULL, // #285
+NULL, // #286
+NULL, // #287
+NULL, // #288
+NULL, // #289
+NULL, // #290
+NULL, // #291
+NULL, // #292
+NULL, // #293
+NULL, // #294
+NULL, // #295
+NULL, // #296
+NULL, // #297
+NULL, // #298
+NULL, // #299
+// CSQC range #300-#399
+VM_CL_R_ClearScene, // #300 void() clearscene (EXT_CSQC)
+VM_CL_R_AddEntities, // #301 void(float mask) addentities (EXT_CSQC)
+VM_CL_R_AddEntity, // #302 void(entity ent) addentity (EXT_CSQC)
+VM_CL_R_SetView, // #303 float(float property, ...) setproperty (EXT_CSQC)
+VM_CL_R_RenderScene, // #304 void() renderscene (EXT_CSQC)
+VM_CL_R_AddDynamicLight, // #305 void(vector org, float radius, vector lightcolours) adddynamiclight (EXT_CSQC)
+VM_CL_R_PolygonBegin, // #306 void(string texturename, float flag[, float is2d, float lines]) R_BeginPolygon
+VM_CL_R_PolygonVertex, // #307 void(vector org, vector texcoords, vector rgb, float alpha) R_PolygonVertex
+VM_CL_R_PolygonEnd, // #308 void() R_EndPolygon
+NULL /* R_LoadWorldModel in menu VM, should stay unassigned in client*/, // #309
+VM_CL_unproject, // #310 vector (vector v) cs_unproject (EXT_CSQC)
+VM_CL_project, // #311 vector (vector v) cs_project (EXT_CSQC)
+NULL, // #312
+NULL, // #313
+NULL, // #314
+VM_drawline, // #315 void(float width, vector pos1, vector pos2, float flag) drawline (EXT_CSQC)
+VM_iscachedpic, // #316 float(string name) iscachedpic (EXT_CSQC)
+VM_precache_pic, // #317 string(string name, float trywad) precache_pic (EXT_CSQC)
+VM_getimagesize, // #318 vector(string picname) draw_getimagesize (EXT_CSQC)
+VM_freepic, // #319 void(string name) freepic (EXT_CSQC)
+VM_drawcharacter, // #320 float(vector position, float character, vector scale, vector rgb, float alpha, float flag) drawcharacter (EXT_CSQC)
+VM_drawstring, // #321 float(vector position, string text, vector scale, vector rgb, float alpha, float flag) drawstring (EXT_CSQC)
+VM_drawpic, // #322 float(vector position, string pic, vector size, vector rgb, float alpha, float flag) drawpic (EXT_CSQC)
+VM_drawfill, // #323 float(vector position, vector size, vector rgb, float alpha, float flag) drawfill (EXT_CSQC)
+VM_drawsetcliparea, // #324 void(float x, float y, float width, float height) drawsetcliparea
+VM_drawresetcliparea, // #325 void(void) drawresetcliparea
+VM_drawcolorcodedstring, // #326 float drawcolorcodedstring(vector position, string text, vector scale, vector rgb, float alpha, float flag) (EXT_CSQC)
+VM_stringwidth, // #327 // FIXME is this okay?
+VM_drawsubpic, // #328 // FIXME is this okay?
+NULL, // #329
+VM_CL_getstatf, // #330 float(float stnum) getstatf (EXT_CSQC)
+VM_CL_getstati, // #331 float(float stnum) getstati (EXT_CSQC)
+VM_CL_getstats, // #332 string(float firststnum) getstats (EXT_CSQC)
+VM_CL_setmodelindex, // #333 void(entity e, float mdlindex) setmodelindex (EXT_CSQC)
+VM_CL_modelnameforindex, // #334 string(float mdlindex) modelnameforindex (EXT_CSQC)
+VM_CL_particleeffectnum, // #335 float(string effectname) particleeffectnum (EXT_CSQC)
+VM_CL_trailparticles, // #336 void(entity ent, float effectnum, vector start, vector end) trailparticles (EXT_CSQC)
+VM_CL_pointparticles, // #337 void(float effectnum, vector origin [, vector dir, float count]) pointparticles (EXT_CSQC)
+VM_centerprint, // #338 void(string s, ...) centerprint (EXT_CSQC)
+VM_print, // #339 void(string s, ...) print (EXT_CSQC, DP_SV_PRINT)
+VM_keynumtostring, // #340 string(float keynum) keynumtostring (EXT_CSQC)
+VM_stringtokeynum, // #341 float(string keyname) stringtokeynum (EXT_CSQC)
+VM_CL_getkeybind, // #342 string(float keynum) getkeybind (EXT_CSQC)
+VM_CL_setcursormode, // #343 void(float usecursor) setcursormode (EXT_CSQC)
+VM_CL_getmousepos, // #344 vector() getmousepos (EXT_CSQC)
+VM_CL_getinputstate, // #345 float(float framenum) getinputstate (EXT_CSQC)
+VM_CL_setsensitivityscale, // #346 void(float sens) setsensitivityscale (EXT_CSQC)
+VM_CL_runplayerphysics, // #347 void() runstandardplayerphysics (EXT_CSQC)
+VM_CL_getplayerkey, // #348 string(float playernum, string keyname) getplayerkeyvalue (EXT_CSQC)
+VM_CL_isdemo, // #349 float() isdemo (EXT_CSQC)
+VM_isserver, // #350 float() isserver (EXT_CSQC)
+VM_CL_setlistener, // #351 void(vector origin, vector forward, vector right, vector up) SetListener (EXT_CSQC)
+VM_CL_registercmd, // #352 void(string cmdname) registercommand (EXT_CSQC)
+VM_wasfreed, // #353 float(entity ent) wasfreed (EXT_CSQC) (should be availabe on server too)
+VM_CL_serverkey, // #354 string(string key) serverkey (EXT_CSQC)
+NULL, // #355
+NULL, // #356
+NULL, // #357
+NULL, // #358
+NULL, // #359
+VM_CL_ReadByte, // #360 float() readbyte (EXT_CSQC)
+VM_CL_ReadChar, // #361 float() readchar (EXT_CSQC)
+VM_CL_ReadShort, // #362 float() readshort (EXT_CSQC)
+VM_CL_ReadLong, // #363 float() readlong (EXT_CSQC)
+VM_CL_ReadCoord, // #364 float() readcoord (EXT_CSQC)
+VM_CL_ReadAngle, // #365 float() readangle (EXT_CSQC)
+VM_CL_ReadString, // #366 string() readstring (EXT_CSQC)
+VM_CL_ReadFloat, // #367 float() readfloat (EXT_CSQC)
+NULL, // #368
+NULL, // #369
+NULL, // #370
+NULL, // #371
+NULL, // #372
+NULL, // #373
+NULL, // #374
+NULL, // #375
+NULL, // #376
+NULL, // #377
+NULL, // #378
+NULL, // #379
+NULL, // #380
+NULL, // #381
+NULL, // #382
+NULL, // #383
+NULL, // #384
+NULL, // #385
+NULL, // #386
+NULL, // #387
+NULL, // #388
+NULL, // #389
+NULL, // #390
+NULL, // #391
+NULL, // #392
+NULL, // #393
+NULL, // #394
+NULL, // #395
+NULL, // #396
+NULL, // #397
+NULL, // #398
+NULL, // #399
+// LordHavoc's range #400-#499
+VM_CL_copyentity, // #400 void(entity from, entity to) copyentity (DP_QC_COPYENTITY)
+NULL, // #401 void(entity ent, float colors) setcolor (DP_QC_SETCOLOR)