// call the prog init
prog->ExecuteProgram(prog, PRVM_clientfunction(CSQC_Init), "QC function CSQC_Init is missing");
+ // Once CSQC_Init was called, we consider csqc code fully initialized.
+ prog->inittime = realtime;
+
cl.csqc_loaded = true;
cl.csqc_vidvars.drawcrosshair = false;
if(PRVM_clientedictfunction(ed, camera_transform))
{
ret = true;
- if(viewmatrix || clipplane || visorigin)
+ if(viewmatrix && clipplane && visorigin)
{
Matrix4x4_ToVectors(viewmatrix, forward, left, up, origin);
AnglesFromVectors(ang, forward, up, false);
Matrix4x4_Invert_Full(&mat, viewmatrix);
Matrix4x4_FromVectors(viewmatrix, forward, left, up, origin);
Matrix4x4_Concat(&matq, viewmatrix, &mat);
- Matrix4x4_TransformPositivePlane(&matq, clipplane->normal[0], clipplane->normal[1], clipplane->normal[2], clipplane->dist, &clipplane->normal[0]);
+ Matrix4x4_TransformPositivePlane(&matq, clipplane->normal[0], clipplane->normal[1], clipplane->normal[2], clipplane->dist, clipplane->normal_and_dist);
}
}
CSQC_END