fix hitmodel with hlmdl, to actually work properly with rotated entities.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5072 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
dadec86338
commit
cb010176a1
4 changed files with 71 additions and 61 deletions
|
@ -582,32 +582,32 @@ void QDECL R_ConcatTransforms (float in1[3][4], float in2[3][4], float out[3][4]
|
|||
in1[2][2] * in2[2][3] + in1[2][3];
|
||||
}
|
||||
|
||||
//R_ConcatTransforms where there's no offset values
|
||||
//R_ConcatTransforms where there's no offset values, and a transposed axis
|
||||
void R_ConcatTransformsAxis (float in1[3][3], float in2[3][4], float out[3][4])
|
||||
{
|
||||
out[0][0] = in1[0][0] * in2[0][0] + in1[0][1] * in2[1][0] +
|
||||
in1[0][2] * in2[2][0];
|
||||
out[0][1] = in1[0][0] * in2[0][1] + in1[0][1] * in2[1][1] +
|
||||
in1[0][2] * in2[2][1];
|
||||
out[0][2] = in1[0][0] * in2[0][2] + in1[0][1] * in2[1][2] +
|
||||
in1[0][2] * in2[2][2];
|
||||
out[0][3] = in1[0][0] * in2[0][3] + in1[0][1] * in2[1][3] +
|
||||
in1[0][2] * in2[2][3];
|
||||
out[1][0] = in1[1][0] * in2[0][0] + in1[1][1] * in2[1][0] +
|
||||
in1[1][2] * in2[2][0];
|
||||
out[1][1] = in1[1][0] * in2[0][1] + in1[1][1] * in2[1][1] +
|
||||
in1[1][2] * in2[2][1];
|
||||
out[1][2] = in1[1][0] * in2[0][2] + in1[1][1] * in2[1][2] +
|
||||
in1[1][2] * in2[2][2];
|
||||
out[1][3] = in1[1][0] * in2[0][3] + in1[1][1] * in2[1][3] +
|
||||
in1[1][2] * in2[2][3];
|
||||
out[2][0] = in1[2][0] * in2[0][0] + in1[2][1] * in2[1][0] +
|
||||
out[0][0] = in1[0][0] * in2[0][0] + in1[1][0] * in2[1][0] +
|
||||
in1[2][0] * in2[2][0];
|
||||
out[0][1] = in1[0][0] * in2[0][1] + in1[1][0] * in2[1][1] +
|
||||
in1[2][0] * in2[2][1];
|
||||
out[0][2] = in1[0][0] * in2[0][2] + in1[1][1] * in2[1][2] +
|
||||
in1[2][0] * in2[2][2];
|
||||
out[0][3] = in1[0][0] * in2[0][3] + in1[1][1] * in2[1][3] +
|
||||
in1[2][0] * in2[2][3];
|
||||
out[1][0] = in1[0][1] * in2[0][0] + in1[1][1] * in2[1][0] +
|
||||
in1[2][1] * in2[2][0];
|
||||
out[1][1] = in1[0][1] * in2[0][1] + in1[1][1] * in2[1][1] +
|
||||
in1[2][1] * in2[2][1];
|
||||
out[1][2] = in1[0][1] * in2[0][2] + in1[1][1] * in2[1][2] +
|
||||
in1[2][1] * in2[2][2];
|
||||
out[1][3] = in1[0][1] * in2[0][3] + in1[1][1] * in2[1][3] +
|
||||
in1[2][1] * in2[2][3];
|
||||
out[2][0] = in1[0][2] * in2[0][0] + in1[1][2] * in2[1][0] +
|
||||
in1[2][2] * in2[2][0];
|
||||
out[2][1] = in1[2][0] * in2[0][1] + in1[2][1] * in2[1][1] +
|
||||
out[2][1] = in1[0][2] * in2[0][1] + in1[1][2] * in2[1][1] +
|
||||
in1[2][2] * in2[2][1];
|
||||
out[2][2] = in1[2][0] * in2[0][2] + in1[2][1] * in2[1][2] +
|
||||
out[2][2] = in1[0][2] * in2[0][2] + in1[1][2] * in2[1][2] +
|
||||
in1[2][2] * in2[2][2];
|
||||
out[2][3] = in1[2][0] * in2[0][3] + in1[2][1] * in2[1][3] +
|
||||
out[2][3] = in1[0][2] * in2[0][3] + in1[1][2] * in2[1][3] +
|
||||
in1[2][2] * in2[2][3];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue