X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=mvm_cmds.c;h=69ed427ed7b3bf72b080517f1b60e892576ee8ba;hb=b678677fe374b9ae4f591cbf23ca62a19f890722;hp=5b507dd33f7b7a81e8d8a6374b8dbaa87ed7e008;hpb=5b45b44b766e3a88b3590893b84a7f516c71a2e2;p=xonotic%2Fdarkplaces.git diff --git a/mvm_cmds.c b/mvm_cmds.c index 5b507dd3..69ed427e 100644 --- a/mvm_cmds.c +++ b/mvm_cmds.c @@ -17,13 +17,16 @@ char *vm_m_extensions = "DP_QC_CMD " "DP_QC_CRC16 " "DP_QC_CVAR_TYPE " +"DP_QC_CVAR_DESCRIPTION " "DP_QC_RENDER_SCENE " "DP_QC_STRFTIME " "DP_QC_STRINGBUFFERS " +"DP_QC_STRINGBUFFERS_CVARLIST " "DP_QC_STRINGCOLORFUNCTIONS " "DP_QC_STRING_CASE_FUNCTIONS " "DP_QC_STRREPLACE " "DP_QC_TOKENIZEBYSEPARATOR " +"DP_QC_TOKENIZE_CONSOLE " "DP_QC_UNLIMITEDTEMPSTRINGS " "DP_QC_URI_ESCAPE " "DP_QC_URI_GET " @@ -229,40 +232,6 @@ void VM_M_getresolution(void) PRVM_G_VECTOR(OFS_RETURN)[2] = 0; } -/* -========= -VM_M_findkeysforcommand - -string findkeysforcommand(string command) - -the returned string is an altstring -========= -*/ -#define NUMKEYS 5 // TODO: merge the constant in keys.c with this one somewhen - -void M_FindKeysForCommand(const char *command, int *keys); -void VM_M_findkeysforcommand(void) -{ - const char *cmd; - char ret[VM_STRINGTEMP_LENGTH]; - int keys[NUMKEYS]; - int i; - - VM_SAFEPARMCOUNT(1, VM_M_findkeysforcommand); - - cmd = PRVM_G_STRING(OFS_PARM0); - - VM_CheckEmptyString(cmd); - - M_FindKeysForCommand(cmd, keys); - - ret[0] = 0; - for(i = 0; i < NUMKEYS; i++) - strlcat(ret, va(" \'%i\'", keys[i]), sizeof(ret)); - - PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(ret); -} - /* ========= VM_M_getserverliststat @@ -279,7 +248,7 @@ float getserverliststat(float type) 4 serverquerycount 5 serverreplycount 6 sortfield -7 sortdescending +7 sortflags */ void VM_M_getserverliststat( void ) { @@ -312,7 +281,7 @@ void VM_M_getserverliststat( void ) PRVM_G_FLOAT ( OFS_RETURN ) = serverlist_sortbyfield; return; case 7: - PRVM_G_FLOAT ( OFS_RETURN ) = serverlist_sortdescending; + PRVM_G_FLOAT ( OFS_RETURN ) = serverlist_sortflags; return; default: VM_Warning( "VM_M_getserverliststat: bad type %i!\n", type ); @@ -450,6 +419,9 @@ void VM_M_setserverlistmasknumber( void ) case SLIF_FREESLOTS: mask->info.freeslots = number; break; + case SLIF_ISFAVORITE: + mask->info.isfavorite = number; + break; default: VM_Warning( "VM_M_setserverlistmasknumber: Bad field number %i passed!\n", field ); return; @@ -577,6 +549,9 @@ void VM_M_getserverlistnumber(void) case SLIF_PROTOCOL: PRVM_G_FLOAT( OFS_RETURN ) = cache->info.protocol; break; + case SLIF_ISFAVORITE: + PRVM_G_FLOAT( OFS_RETURN ) = cache->info.isfavorite; + break; default: Con_Print("VM_M_getserverlistnumber: bad field number passed!\n"); } @@ -586,7 +561,7 @@ void VM_M_getserverlistnumber(void) ======================== VM_M_setserverlistsort -setserverlistsort(float field, float descending) +setserverlistsort(float field, float flags) ======================== */ void VM_M_setserverlistsort( void ) @@ -594,7 +569,7 @@ void VM_M_setserverlistsort( void ) VM_SAFEPARMCOUNT( 2, VM_M_setserverlistsort ); serverlist_sortbyfield = (serverlist_infofield_t)((int)PRVM_G_FLOAT( OFS_PARM0 )); - serverlist_sortdescending = (qboolean) PRVM_G_FLOAT( OFS_PARM1 ); + serverlist_sortflags = (qboolean) PRVM_G_FLOAT( OFS_PARM1 ); } /* @@ -653,6 +628,8 @@ void VM_M_getserverlistindexforkey( void ) PRVM_G_FLOAT( OFS_RETURN ) = SLIF_FREESLOTS; else if( !strcmp( key, "protocol" ) ) PRVM_G_FLOAT( OFS_RETURN ) = SLIF_PROTOCOL; + else if( !strcmp( key, "isfavorite" ) ) + PRVM_G_FLOAT( OFS_RETURN ) = SLIF_ISFAVORITE; else PRVM_G_FLOAT( OFS_RETURN ) = -1; } @@ -1358,11 +1335,11 @@ VM_uri_escape, // #510 string(string in) uri_escape = #510; VM_uri_unescape, // #511 string(string in) uri_unescape = #511; VM_etof, // #512 float(entity ent) num_for_edict = #512 (DP_QC_NUM_FOR_EDICT) VM_uri_get, // #513 float(string uril, float id) uri_get = #513; (DP_QC_URI_GET) -NULL, // #514 -NULL, // #515 -NULL, // #516 -NULL, // #517 -NULL, // #518 +VM_tokenize_console, // #514 float(string str) tokenize_console = #514; (DP_QC_TOKENIZE_CONSOLE) +VM_argv_start_index, // #515 float(float idx) argv_start_index = #515; (DP_QC_TOKENIZE_CONSOLE) +VM_argv_end_index, // #516 float(float idx) argv_end_index = #516; (DP_QC_TOKENIZE_CONSOLE) +VM_buf_cvarlist, // #517 void(float buf, string prefix, string antiprefix) buf_cvarlist = #517; (DP_QC_STRINGBUFFERS_CVARLIST) +VM_cvar_description, // #518 float(string name) cvar_description = #518; (DP_QC_CVAR_DESCRIPTION) NULL, // #519 NULL, // #520 NULL, // #521 @@ -1454,7 +1431,7 @@ 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_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) @@ -1468,7 +1445,8 @@ 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) +VM_M_getextresponse, // #624 string getextresponse(void) +VM_netaddress_resolve // #625 string netaddress_resolve(string, float) }; const int vm_m_numbuiltins = sizeof(vm_m_builtins) / sizeof(prvm_builtin_t);