X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=svvm_cmds.c;h=bbe14a7734eb2ccea85d487feada55d67ccbfac5;hp=9be2ed7177462246757d76794166ff3ea82b7f9e;hb=c0b28902ae728d6089484e8f205aa118cd5b525b;hpb=5752bb49dac8f030a85cd97f12e23c78734b8cfe diff --git a/svvm_cmds.c b/svvm_cmds.c index 9be2ed71..bbe14a77 100644 --- a/svvm_cmds.c +++ b/svvm_cmds.c @@ -3,7 +3,7 @@ //============================================================================ // Server -cvar_t sv_aim = {CVAR_SAVE, "sv_aim", "2", "maximum cosine angle for quake's vertical autoaim, a value above 1 completely disables the autoaim, quake used 0.93"}; //"0.93"}; // LordHavoc: disabled autoaim by default +cvar_t sv_aim = {CVAR_SAVE, "sv_aim", "2", "maximum cosine angle for quake's vertical autoaim, a value above 1 completely disables the autoaim, quake used 0.93"}; char *vm_sv_extensions = @@ -70,6 +70,7 @@ char *vm_sv_extensions = "DP_QC_STRFTIME " "DP_QC_STRINGBUFFERS " "DP_QC_STRINGCOLORFUNCTIONS " +"DP_QC_TOKENIZEBYSEPARATOR " "DP_QC_TRACEBOX " "DP_QC_TRACETOSS " "DP_QC_TRACE_MOVETYPE_HITMODEL " @@ -275,9 +276,17 @@ static void VM_SV_sprint (void) int entnum; char string[VM_STRINGTEMP_LENGTH]; + VM_VarString(1, string, sizeof(string)); + VM_SAFEPARMCOUNTRANGE(2, 8, VM_SV_sprint); entnum = PRVM_G_EDICTNUM(OFS_PARM0); + // LordHavoc: div0 requested that sprintto world operate like print + if (entnum == 0) + { + Con_Print(string); + return; + } if (entnum < 1 || entnum > svs.maxclients || !svs.clients[entnum-1].active) { @@ -289,7 +298,6 @@ static void VM_SV_sprint (void) if (!client->netconnection) return; - VM_VarString(1, string, sizeof(string)); MSG_WriteChar(&client->netconnection->message,svc_print); MSG_WriteString(&client->netconnection->message, string); } @@ -1192,9 +1200,14 @@ static void VM_SV_makestatic (void) prvm_edict_t *ent; int i, large; - VM_SAFEPARMCOUNT(1, VM_SV_makestatic); + // allow 0 parameters due to an id1 qc bug in which this function is used + // with no parameters (but directly after setmodel with self in OFS_PARM0) + VM_SAFEPARMCOUNTRANGE(0, 1, VM_SV_makestatic); - ent = PRVM_G_EDICT(OFS_PARM0); + if (prog->argc >= 1) + ent = PRVM_G_EDICT(OFS_PARM0); + else + ent = PRVM_PROG_TO_EDICT(prog->globals.server->self); if (ent == prog->edicts) { VM_Warning("makestatic: can not modify world entity\n"); @@ -1248,7 +1261,7 @@ static void VM_SV_setspawnparms (void) int i; client_t *client; - VM_SAFEPARMCOUNT(0, VM_SV_setspawnparms); + VM_SAFEPARMCOUNT(1, VM_SV_setspawnparms); ent = PRVM_G_EDICT(OFS_PARM0); i = PRVM_NUM_FOR_EDICT(ent); @@ -3141,7 +3154,7 @@ VM_tan, // #475 float(float a) VM_tan (DP_QC_ASINACOSATANATAN2TAN) VM_strlennocol, // #476 float(string s) : DRESK - String Length (not counting color codes) (DP_QC_STRINGCOLORFUNCTIONS) VM_strdecolorize, // #477 string(string s) : DRESK - Decolorized String (DP_SV_STRINGCOLORFUNCTIONS) VM_strftime, // #478 string(float uselocaltime, string format, ...) (DP_QC_STRFTIME) -NULL, // #479 +VM_tokenizebyseparator, // #479 float(string s) tokenizebyseparator (DP_QC_TOKENIZEBYSEPARATOR) NULL, // #480 NULL, // #481 NULL, // #482