X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=clvm_cmds.c;h=c3e0ceeec647ff68df402844349487d253afb1b1;hb=7ec974a923006e2886b1d5397e4e54ece0281173;hp=b2a4f3cdbb3921148b3e4a77092e55c10149033e;hpb=75853fb8551fe78f89ec44c7914a867c096e04d7;p=xonotic%2Fdarkplaces.git diff --git a/clvm_cmds.c b/clvm_cmds.c index b2a4f3cd..c3e0ceee 100644 --- a/clvm_cmds.c +++ b/clvm_cmds.c @@ -190,7 +190,7 @@ static void VM_CL_sound (void) return; } - CL_VM_GetEntitySoundOrigin(PRVM_NUM_FOR_EDICT(entity), org); + CL_VM_GetEntitySoundOrigin(MAX_EDICTS + PRVM_NUM_FOR_EDICT(entity), org); S_StartSound(MAX_EDICTS + PRVM_NUM_FOR_EDICT(entity), channel, S_FindName(sample), org, volume, attenuation); } @@ -437,7 +437,7 @@ static void VM_CL_findradius (void) vec_t radius, radius2; vec3_t org, eorg, mins, maxs; int i, numtouchedicts; - prvm_edict_t *touchedicts[MAX_EDICTS]; + static prvm_edict_t *touchedicts[MAX_EDICTS]; int chainfield; VM_SAFEPARMCOUNTRANGE(2, 3, VM_CL_findradius); @@ -936,7 +936,7 @@ void VM_CL_R_AddDynamicLight (void) Matrix4x4_FromVectors(&matrix, forward, left, up, org); R_RTLight_Update(&r_refdef.scene.templights[r_refdef.scene.numlights], false, &matrix, col, style, cubemapname, castshadow, coronaintensity, coronasizescale, ambientscale, diffusescale, specularscale, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE); - r_refdef.scene.lights[r_refdef.scene.numlights] = &r_refdef.scene.templights[r_refdef.scene.numlights++]; + r_refdef.scene.lights[r_refdef.scene.numlights] = &r_refdef.scene.templights[r_refdef.scene.numlights];r_refdef.scene.numlights++; prog->functions[prog->funcoffsets.CSQC_UpdateView].totaltime -= Sys_DoubleTime() - t; } @@ -1246,6 +1246,9 @@ static void VM_CL_getplayerkey (void) else if(!strcasecmp(c, "pl")) dpsnprintf(t, sizeof(t), "%i", cl.scores[i].qw_packetloss); + else + if(!strcasecmp(c, "movementloss")) + dpsnprintf(t, sizeof(t), "%i", cl.scores[i].qw_movementloss); else if(!strcasecmp(c, "entertime")) dpsnprintf(t, sizeof(t), "%f", cl.scores[i].qw_entertime); @@ -3031,12 +3034,11 @@ static void VM_DrawPolygonCallback (const entity_render_t *ent, const rtlight_t if(polys->progstarttime != prog->starttime) // from other progs? won't draw these (this can cause crashes!) return; R_Mesh_ResetTextureState(); - R_Mesh_Matrix(&identitymatrix); + R_EntityMatrix(&identitymatrix); GL_CullFace(GL_NONE); R_Mesh_VertexPointer(polys->data_vertex3f, 0, 0); R_Mesh_ColorPointer(polys->data_color4f, 0, 0); R_Mesh_TexCoordPointer(0, 2, polys->data_texcoord2f, 0, 0); - R_SetupGenericShader(true); for (surfacelistindex = 0;surfacelistindex < numsurfaces;) { @@ -3055,7 +3057,7 @@ static void VM_DrawPolygonCallback (const entity_render_t *ent, const rtlight_t GL_BlendFunc(GL_ONE_MINUS_DST_COLOR,GL_ONE); else GL_BlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - R_Mesh_TexBind(0, R_GetTexture(tex)); + R_SetupShader_Generic(tex, NULL, GL_MODULATE, 1); numtriangles = 0; for (;surfacelistindex < numsurfaces;surfacelistindex++) { @@ -4583,6 +4585,9 @@ NULL, // #622 NULL, // #623 VM_CL_getextresponse, // #624 string getextresponse(void) NULL, // #625 +NULL, // #626 +VM_sprintf, // #627 string sprintf(string format, ...) +NULL, // #628 }; const int vm_cl_numbuiltins = sizeof(vm_cl_builtins) / sizeof(prvm_builtin_t);