move = PRVM_G_FLOAT(OFS_PARM2);
ent = PRVM_G_EDICT(OFS_PARM3);
+ if (IS_NAN(v1[0]) || IS_NAN(v1[1]) || IS_NAN(v1[2]) || IS_NAN(v2[0]) || IS_NAN(v1[2]) || IS_NAN(v2[2]))
+ PRVM_ERROR("%s: NAN errors detected in traceline('%f %f %f', '%f %f %f', %i, entity %i)\n", PRVM_NAME, v1[0], v1[1], v1[2], v2[0], v2[1], v2[2], move, PRVM_EDICT_TO_PROG(ent));
+
trace = SV_Move (v1, vec3_origin, vec3_origin, v2, move, ent);
prog->globals.server->trace_allsolid = trace.allsolid;
move = PRVM_G_FLOAT(OFS_PARM4);
ent = PRVM_G_EDICT(OFS_PARM5);
+ if (IS_NAN(v1[0]) || IS_NAN(v1[1]) || IS_NAN(v1[2]) || IS_NAN(v2[0]) || IS_NAN(v1[2]) || IS_NAN(v2[2]))
+ PRVM_ERROR("%s: NAN errors detected in tracebox('%f %f %f', '%f %f %f', '%f %f %f', '%f %f %f', %i, entity %i)\n", PRVM_NAME, v1[0], v1[1], v1[2], m1[0], m1[1], m1[2], m2[0], m2[1], m2[2], v2[0], v2[1], v2[2], move, PRVM_EDICT_TO_PROG(ent));
+
trace = SV_Move (v1, m1, m2, v2, move, ent);
prog->globals.server->trace_allsolid = trace.allsolid;
frame = 0;
return Mod_Alias_GetTagMatrix(model, model->animscenes[frame].firstframe, tagindex, out);
}
- Matrix4x4_CreateIdentity(out);
+ *out = identitymatrix;
return 0;
}
matrix4x4_t entitymatrix, tagmatrix, attachmatrix;
model_t *model;
- Matrix4x4_CreateIdentity(out); // warnings and errors return identical matrix
+ *out = identitymatrix; // warnings and errors return identical matrix
if (ent == prog->edicts)
return 1;
model = sv.models[modelindex];
- Matrix4x4_CreateIdentity(&tagmatrix);
+ tagmatrix = identitymatrix;
// DP_GFX_QUAKE3MODELTAGS, scan all chain and stop on unattached entity
attachloop = 0;
for (;;)
NULL, // #477
NULL, // #478
NULL, // #479
-e10, e10 // #471-499 (LordHavoc)
+e10, e10 // #480-499 (LordHavoc)
};
const int vm_sv_numbuiltins = sizeof(vm_sv_builtins) / sizeof(prvm_builtin_t);