static double time3 = 0;
int pass1, pass2, pass3;
usercmd_t cmd; // Used for receiving input
-
+
if (setjmp(host_abortserver))
return; // something bad happened, or the server disconnected
// Collect input into cmd
IN_ProcessMove(&cmd);
-
+
// process console commands
Cbuf_Execute();
time2 = Sys_DoubleTime();
// update audio
- if (cls.signon == SIGNONS)
+ if (cls.signon == SIGNONS && cl.viewentity >= 0 && cl.viewentity < MAX_EDICTS && cl_entities[cl.viewentity].state_current.active)
{
// LordHavoc: this used to use renderer variables (eww)
- vec3_t forward, right, up;
- AngleVectors(cl.viewangles, forward, right, up);
- S_Update(cl_entities[cl.viewentity].render.origin, forward, right, up);
+ vec3_t forward, right, up, origin;
+ Matrix4x4_ToVectors(&cl_entities[cl.viewentity].render.matrix, forward, right, up, origin);
+ VectorNegate(right, right);
+ S_Update(origin, forward, right, up);
}
else
S_Update(vec3_origin, vec3_origin, vec3_origin, vec3_origin);
Host_InitLocal();
Key_Init();
Con_Init();
- Chase_Init();
PR_Init();
PRVM_Init();
Mod_Init();
VID_Open();
SCR_BeginLoadingPlaque();
}
-
+
MR_Init();
}
// AK shutdown PRVM
// AK hmm, no PRVM_Shutdown(); yet
-
+
Host_WriteConfiguration ();