#include "quakedef.h"
#include "prvm_cmds.h"
+#include "clvm_cmds.h"
#include "menu.h"
//============================================================================
"DP_QC_STRREPLACE "
"DP_FONT_VARIABLEWIDTH "
// FIXME: rename this extension maybe? [12/5/2007 Black]
-#ifdef SUPPORT_GECKO
"DP_GECKO_SUPPORT "
-#endif
+"DP_QC_RENDER_SCENE"
+"DP_QC_STRINGBUFFERS "
+"DP_QC_CRC16 "
;
/*
VM_findflags, // #87
VM_findchainflags, // #88
VM_cvar_defstring, // #89
-NULL, // #90
-NULL, // #91
-NULL, // #92
+VM_CL_setmodel, // #90 void(entity e, string m) setmodel (QUAKE)
+VM_CL_precache_model, // #91 void(string s) precache_model (QUAKE)
+VM_CL_setorigin, // #92 void(entity e, vector o) setorigin (QUAKE)
NULL, // #93
NULL, // #94
NULL, // #95
NULL, // #297
NULL, // #298
NULL, // #299
-NULL, // #300
-NULL, // #301
-NULL, // #302
-NULL, // #303
-NULL, // #304
-NULL, // #305
-NULL, // #306
-NULL, // #307
-NULL, // #308
-NULL, // #309
+// CSQC range #300-#399
+VM_CL_R_ClearScene, // #300 void() clearscene (DP_QC_RENDER_SCENE)
+VM_CL_R_AddEntities, // #301 void(float mask) addentities (DP_QC_RENDER_SCENE)
+VM_CL_R_AddEntity, // #302 void(entity ent) addentity (DP_QC_RENDER_SCENE)
+VM_CL_R_SetView, // #303 float(float property, ...) setproperty (DP_QC_RENDER_SCENE)
+VM_CL_R_RenderScene, // #304 void() renderscene (DP_QC_RENDER_SCENE)
+VM_CL_R_AddDynamicLight, // #305 void(vector org, float radius, vector lightcolours) adddynamiclight (DP_QC_RENDER_SCENE)
+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/*VM_CL_R_LoadWorldModel*/, // #309 void(string modelname) R_LoadWorldModel
NULL, // #310
NULL, // #311
NULL, // #312
NULL, // #437
NULL, // #438
NULL, // #439
-NULL, // #440
-NULL, // #441
-NULL, // #442
-NULL, // #443
-NULL, // #444
-NULL, // #445
-NULL, // #446
-NULL, // #447
-NULL, // #448
-NULL, // #449
+VM_buf_create, // #440 float() buf_create (DP_QC_STRINGBUFFERS)
+VM_buf_del, // #441 void(float bufhandle) buf_del (DP_QC_STRINGBUFFERS)
+VM_buf_getsize, // #442 float(float bufhandle) buf_getsize (DP_QC_STRINGBUFFERS)
+VM_buf_copy, // #443 void(float bufhandle_from, float bufhandle_to) buf_copy (DP_QC_STRINGBUFFERS)
+VM_buf_sort, // #444 void(float bufhandle, float sortpower, float backward) buf_sort (DP_QC_STRINGBUFFERS)
+VM_buf_implode, // #445 string(float bufhandle, string glue) buf_implode (DP_QC_STRINGBUFFERS)
+VM_bufstr_get, // #446 string(float bufhandle, float string_index) bufstr_get (DP_QC_STRINGBUFFERS)
+VM_bufstr_set, // #447 void(float bufhandle, float string_index, string str) bufstr_set (DP_QC_STRINGBUFFERS)
+VM_bufstr_add, // #448 float(float bufhandle, string str, float order) bufstr_add (DP_QC_STRINGBUFFERS)
+VM_bufstr_free, // #449 void(float bufhandle, float string_index) bufstr_free (DP_QC_STRINGBUFFERS)
NULL, // #450
VM_iscachedpic, // #451 draw functions...
VM_precache_pic, // #452
VM_strreplace, // #484 string(string search, string replace, string subject) strreplace (DP_QC_STRREPLACE)
VM_strireplace, // #485 string(string search, string replace, string subject) strireplace (DP_QC_STRREPLACE)
NULL, // #486
-#ifdef SUPPORT_GECKO
-VM_gecko_create, // #487
-VM_gecko_destroy, // #488
-VM_gecko_navigate, // #489
-VM_gecko_keyevent, // #490
-VM_gecko_movemouse, // #491
-VM_gecko_resize, // #492
-VM_gecko_get_texture_extent, // #493
-#else
-NULL, // #487
-NULL, // #488
-NULL, // #489
-NULL, // #490
-NULL, // #491
-NULL, // #492
-NULL, // #493
-#endif
-NULL, // #494
+VM_gecko_create, // #487 float gecko_create( string name )
+VM_gecko_destroy, // #488 void gecko_destroy( string name )
+VM_gecko_navigate, // #489 void gecko_navigate( string name, string URI )
+VM_gecko_keyevent, // #490 float gecko_keyevent( string name, float key, float eventtype )
+VM_gecko_movemouse, // #491 void gecko_mousemove( string name, float x, float y )
+VM_gecko_resize, // #492 void gecko_resize( string name, float w, float h )
+VM_gecko_get_texture_extent, // #493 vector gecko_get_texture_extent( string name )
+VM_crc16, // #494 float(float caseinsensitive, string s, ...) crc16 = #494 (DP_QC_CRC16)
NULL, // #495
NULL, // #496
NULL, // #497
NULL, // #598
NULL, // #599
NULL, // #600
-VM_M_setkeydest, // #601 menu functions...
-VM_M_getkeydest, // #602
-VM_M_setmousetarget, // #603
-VM_M_getmousetarget, // #604
-VM_M_callfunction, // #605
-VM_writetofile, // #606
-VM_M_isfunction, // #607
-VM_M_getresolution, // #608
-VM_keynumtostring, // #609
-VM_M_findkeysforcommand, // #610
-VM_M_getserverliststat, // #611
-VM_M_getserverliststring, // #612
-VM_parseentitydata, // #613
-VM_stringtokeynum, // #614
-VM_M_resetserverlistmasks, // #615
-VM_M_setserverlistmaskstring, // #616
-VM_M_setserverlistmasknumber, // #617
-VM_M_resortserverlist, // #618
-VM_M_setserverlistsort, // #619
-VM_M_refreshserverlist, // #620
-VM_M_getserverlistnumber, // #621
-VM_M_getserverlistindexforkey,// #622
-VM_M_addwantedserverlistkey, // #623
-VM_M_getextresponse // #624
+VM_M_setkeydest, // #601 void setkeydest(float dest)
+VM_M_getkeydest, // #602 float getkeydest(void)
+VM_M_setmousetarget, // #603 void setmousetarget(float trg)
+VM_M_getmousetarget, // #604 float getmousetarget(void)
+VM_M_callfunction, // #605 void callfunction(...)
+VM_writetofile, // #606 void writetofile(float fhandle, entity ent)
+VM_M_isfunction, // #607 float isfunction(string function_name)
+VM_M_getresolution, // #608 vector getresolution(float number)
+VM_keynumtostring, // #609 string keynumtostring(float keynum)
+VM_M_findkeysforcommand, // #610 string findkeysforcommand(string command)
+VM_M_getserverliststat, // #611 float gethostcachevalue(float type)
+VM_M_getserverliststring, // #612 string gethostcachestring(float type, float hostnr)
+VM_parseentitydata, // #613 void parseentitydata(entity ent, string data)
+VM_stringtokeynum, // #614 float stringtokeynum(string key)
+VM_M_resetserverlistmasks, // #615 void resethostcachemasks(void)
+VM_M_setserverlistmaskstring, // #616 void sethostcachemaskstring(float mask, float fld, string str, float op)
+VM_M_setserverlistmasknumber, // #617 void sethostcachemasknumber(float mask, float fld, float num, float op)
+VM_M_resortserverlist, // #618 void resorthostcache(void)
+VM_M_setserverlistsort, // #619 void sethostcachesort(float fld, float descending)
+VM_M_refreshserverlist, // #620 void refreshhostcache(void)
+VM_M_getserverlistnumber, // #621 float gethostcachenumber(float fld, float hostnr)
+VM_M_getserverlistindexforkey,// #622 float gethostcacheindexforkey(string key)
+VM_M_addwantedserverlistkey, // #623 void addwantedhostcachekey(string key)
+VM_M_getextresponse // #624 string getextresponse(void)
};
const int vm_m_numbuiltins = sizeof(vm_m_builtins) / sizeof(prvm_builtin_t);
+r_refdef_scene_t menu_scene;
+
void VM_M_Cmd_Init(void)
{
VM_Cmd_Init();
+ VM_Polygons_Reset();
+
+ memset (&menu_scene, 0, sizeof (menu_scene));
+
+ menu_scene.maxtempentities = 128;
+ menu_scene.tempentities = (entity_render_t*) Mem_Alloc(prog->progs_mempool, sizeof(entity_render_t) * menu_scene.maxtempentities);
+
+ menu_scene.maxentities = MAX_EDICTS + 256 + 512;
+ menu_scene.entities = (entity_render_t **)Mem_Alloc(cls.permanentmempool, sizeof(entity_render_t *) * menu_scene.maxentities);
}
void VM_M_Cmd_Reset(void)
{
//VM_Cmd_Init();
VM_Cmd_Reset();
+ VM_Polygons_Reset();
}