return r;
}
+extern r_refdef_view_t csqc_original_r_refdef_view;
qboolean CL_VM_UpdateView (void)
{
vec3_t emptyvector;
return false;
R_TimeReport("pre-UpdateView");
CSQC_BEGIN
+ csqc_original_r_refdef_view = r_refdef.view;
//VectorCopy(cl.viewangles, oldangles);
PRVM_clientglobalfloat(time) = cl.time;
PRVM_clientglobaledict(self) = cl.csqc_server2csqcentitynumber[cl.playerentity];
//VectorCopy(oldangles, cl.viewangles);
// Dresk : Reset Dmg Globals Here
CL_VM_UpdateDmgGlobals(0, 0, emptyvector);
+ r_refdef.view = csqc_original_r_refdef_view;
CSQC_END
R_TimeReport("UpdateView");
return true;
CSQC_END
}
}
-qboolean CL_VM_Event_Sound(int sound_num, float volume, int channel, float attenuation, int ent, vec3_t pos)
+qboolean CL_VM_Event_Sound(int sound_num, float volume, int channel, float attenuation, int ent, vec3_t pos, int flags, float speed)
{
qboolean r = false;
if(cl.csqc_loaded)
PRVM_G_FLOAT(OFS_PARM3) = volume;
PRVM_G_FLOAT(OFS_PARM4) = attenuation;
VectorCopy(pos, PRVM_G_VECTOR(OFS_PARM5) );
- PRVM_G_FLOAT(OFS_PARM6) = 0; // pitch shift not supported yet
- PRVM_G_FLOAT(OFS_PARM7) = 0; // flags - none can come in at this point yet
+ PRVM_G_FLOAT(OFS_PARM6) = speed * 100.0f;
+ PRVM_G_FLOAT(OFS_PARM7) = flags; // flags
PRVM_ExecuteProgram(PRVM_clientfunction(CSQC_Event_Sound), "QC function CSQC_Event_Sound is missing");
r = CSQC_RETURNVAL != 0;
}