Lines 186-192
Link Here
|
186 |
newMatrix[8] = m1[0]*m2[8] + m1[4]*m2[9] + m1[8]*m2[10] + m1[12]*m2[11]; |
186 |
newMatrix[8] = m1[0]*m2[8] + m1[4]*m2[9] + m1[8]*m2[10] + m1[12]*m2[11]; |
187 |
newMatrix[9] = m1[1]*m2[8] + m1[5]*m2[9] + m1[9]*m2[10] + m1[13]*m2[11]; |
187 |
newMatrix[9] = m1[1]*m2[8] + m1[5]*m2[9] + m1[9]*m2[10] + m1[13]*m2[11]; |
188 |
newMatrix[10] = m1[2]*m2[8] + m1[6]*m2[9] + m1[10]*m2[10] + m1[14]*m2[11]; |
188 |
newMatrix[10] = m1[2]*m2[8] + m1[6]*m2[9] + m1[10]*m2[10] + m1[14]*m2[11]; |
189 |
newMatrix[11] = m1[3]*m2[8] + m1[7]*m2[10] + m1[11]*m2[10] + m1[15]*m2[11]; |
189 |
newMatrix[11] = m1[3]*m2[8] + m1[7]*m2[9] + m1[11]*m2[10] + m1[15]*m2[11]; |
190 |
|
190 |
|
191 |
newMatrix[12] = m1[0]*m2[12] + m1[4]*m2[13] + m1[8]*m2[14] + m1[12]*m2[15]; |
191 |
newMatrix[12] = m1[0]*m2[12] + m1[4]*m2[13] + m1[8]*m2[14] + m1[12]*m2[15]; |
192 |
newMatrix[13] = m1[1]*m2[12] + m1[5]*m2[13] + m1[9]*m2[14] + m1[13]*m2[15]; |
192 |
newMatrix[13] = m1[1]*m2[12] + m1[5]*m2[13] + m1[9]*m2[14] + m1[13]*m2[15]; |
Lines 308-314
Link Here
|
308 |
|
308 |
|
309 |
f32 rotx, roty, X, Z; |
309 |
f32 rotx, roty, X, Z; |
310 |
|
310 |
|
311 |
if (fabs(Y)>0.0005f) |
311 |
if (fabs(C)>0.0005f) |
312 |
{ |
312 |
{ |
313 |
rotx = mat(2,2) / C; |
313 |
rotx = mat(2,2) / C; |
314 |
roty = mat(2,1) / C; |
314 |
roty = mat(2,1) / C; |
Lines 320-335
Link Here
|
320 |
else |
320 |
else |
321 |
{ |
321 |
{ |
322 |
X = 0.0f; |
322 |
X = 0.0f; |
323 |
rotx = -mat(1,1); |
323 |
rotx = mat(1,1); |
324 |
roty = mat(1,0); |
324 |
roty = -mat(0,1); |
325 |
Z = atan2f( roty, rotx ) * (f32)GRAD_PI; |
325 |
Z = atan2f( roty, rotx ) * (f32)GRAD_PI; |
326 |
} |
326 |
} |
327 |
|
327 |
|
328 |
if (fabs(X)>=360.00f) X=0.00f; |
328 |
if (X<0.00f) X+=360.00f; |
329 |
if (fabs(Y)>=360.00f) Y=0.00f; |
329 |
if (Y<0.00f) Y+=360.00f; |
330 |
if (fabs(Z)>=360.00f) Z=0.00f; |
330 |
if (Z<0.00f) Z+=360.00f; |
331 |
|
331 |
|
332 |
return vector3df(X,Y,Z); |
332 |
return vector3df((f32)X,(f32)Y,(f32)Z); |
333 |
} |
333 |
} |
334 |
|
334 |
|
335 |
inline void matrix4::setInverseRotationRadians( const vector3df& rotation ) |
335 |
inline void matrix4::setInverseRotationRadians( const vector3df& rotation ) |