X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=svvm_cmds.c;h=7440b8053faed086feab3b7a1b667cbd968af219;hb=ed0e9df6813f346647e54f92043920f63c1151b1;hp=30d17453fafedb0577399490d02c604dbc630e7c;hpb=886221c0a4822afbb9328f3a5ddeee959a1010aa;p=xonotic%2Fdarkplaces.git diff --git a/svvm_cmds.c b/svvm_cmds.c index 30d17453..7440b805 100644 --- a/svvm_cmds.c +++ b/svvm_cmds.c @@ -54,7 +54,6 @@ const char *vm_sv_extensions = "DP_ENT_SCALE " "DP_ENT_TRAILEFFECTNUM " "DP_ENT_VIEWMODEL " -"DP_GECKO_SUPPORT " "DP_GFX_EXTERNALTEXTURES " "DP_GFX_EXTERNALTEXTURES_PERMAP " "DP_GFX_FOG " @@ -88,6 +87,8 @@ const char *vm_sv_extensions = "DP_QC_CVAR_DESCRIPTION " "DP_QC_CVAR_STRING " "DP_QC_CVAR_TYPE " +"DP_QC_DIGEST " +"DP_QC_DIGEST_SHA256 " "DP_QC_EDICT_NUM " "DP_QC_ENTITYDATA " "DP_QC_ENTITYSTRING " @@ -108,6 +109,7 @@ const char *vm_sv_extensions = "DP_QC_GETTAGINFO_BONEPROPERTIES " "DP_QC_GETTIME " "DP_QC_GETTIME_CDTRACK " +"DP_QC_I18N " "DP_QC_LOG " "DP_QC_MINMAXBOUND " "DP_QC_MULTIPLETEMPSTRINGS " @@ -143,6 +145,7 @@ const char *vm_sv_extensions = "DP_SND_DIRECTIONLESSATTNNONE " "DP_SND_FAKETRACKS " "DP_SND_SOUND7_WIP1 " +"DP_SND_SOUND7_WIP2 " "DP_SND_OGGVORBIS " "DP_SND_SETPARAMS " "DP_SND_STEREOWAV " @@ -533,7 +536,7 @@ static void VM_SV_sound (void) if (prog->argc < 6) pitchchange = 0; else - pitchchange = PRVM_G_FLOAT(OFS_PARM5); + pitchchange = PRVM_G_FLOAT(OFS_PARM5) * 0.01f; if (prog->argc < 7) { @@ -567,7 +570,7 @@ static void VM_SV_sound (void) return; } - SV_StartSound (entity, channel, sample, volume, attenuation, flags & CHANFLAG_RELIABLE); + SV_StartSound (entity, channel, sample, volume, attenuation, flags & CHANFLAG_RELIABLE, pitchchange); } /* @@ -585,14 +588,16 @@ static void VM_SV_pointsound(void) const char *sample; int volume; float attenuation; + float pitchchange; vec3_t org; - VM_SAFEPARMCOUNT(4, VM_SV_pointsound); + VM_SAFEPARMCOUNTRANGE(4, 5, VM_SV_pointsound); VectorCopy(PRVM_G_VECTOR(OFS_PARM0), org); sample = PRVM_G_STRING(OFS_PARM1); volume = (int)(PRVM_G_FLOAT(OFS_PARM2) * 255); attenuation = PRVM_G_FLOAT(OFS_PARM3); + pitchchange = prog->argc < 5 ? 0 : PRVM_G_FLOAT(OFS_PARM4) * 0.01f; if (volume < 0 || volume > 255) { @@ -606,7 +611,7 @@ static void VM_SV_pointsound(void) return; } - SV_StartPointSound (org, sample, volume, attenuation); + SV_StartPointSound (org, sample, volume, attenuation, pitchchange); } /* @@ -988,7 +993,7 @@ static void VM_SV_findradius (void) maxs[0] = org[0] + (radius + 1); maxs[1] = org[1] + (radius + 1); maxs[2] = org[2] + (radius + 1); - numtouchedicts = World_EntitiesInBox(&sv.world, mins, maxs, MAX_EDICTS, touchedicts); + numtouchedicts = SV_EntitiesInBox(mins, maxs, MAX_EDICTS, touchedicts); if (numtouchedicts > MAX_EDICTS) { // this never happens @@ -3784,6 +3789,16 @@ VM_sprintf, // #627 string sprintf(string format, ...) VM_getsurfacenumtriangles, // #628 float(entity e, float s) getsurfacenumpoints (DP_QC_GETSURFACETRIANGLE) VM_getsurfacetriangle, // #629 vector(entity e, float s, float n) getsurfacepoint (DP_QC_GETSURFACETRIANGLE) NULL, // #630 +NULL, // #631 +NULL, // #632 +NULL, // #633 +NULL, // #634 +NULL, // #635 +NULL, // #636 +NULL, // #637 +NULL, // #638 +VM_digest_hex, // #639 +NULL, // #640 }; const int vm_sv_numbuiltins = sizeof(vm_sv_builtins) / sizeof(prvm_builtin_t);