|
@@ -323,9 +323,29 @@ void CGfxCharacter::GenerateSamples(TSATFrameSample *, TCharAnimSpec *) {
|
|
|
}
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
//0017F7D8
|
|
|
+// 0017F7D8
|
|
|
+// 0017F7D8
|
|
|
uint32 CGfxCharacter::GetHeadRot() {
|
|
|
- return 0;
|
|
|
+ CFTTVector32 result_spC;
|
|
|
+ CFTTVector32 cfttVector32_sp0; //= { 0.0f,1.0f,0.0f };
|
|
|
+ cfttVector32_sp0.float_0 = 0.0f;
|
|
|
+ cfttVector32_sp0.float_4 = 1.0f;
|
|
|
+ cfttVector32_sp0.float_8 = 0.0f;
|
|
|
+
|
|
|
+ VectorMatrixMultiply(&result_spC, &cfttVector32_sp0, &m_SalMatrix_E4[2]); // (char *)this + 0x164);
|
|
|
+ float s0 = result_spC.float_0 - m_SalMatrix_E4[2].d[3][0];
|
|
|
+ float s2 = result_spC.float_4 - m_SalMatrix_E4[2].d[3][1];
|
|
|
+ float s4 = result_spC.float_8 - m_SalMatrix_E4[2].d[3][2];
|
|
|
+ result_spC.float_0 = s0;
|
|
|
+ result_spC.float_4 = s2;
|
|
|
+ result_spC.float_8 = s4;
|
|
|
+ s2 = atan2f(s4, s0);
|
|
|
+
|
|
|
+ s0 = (s2 * (float)8192.0) / (float)3.1416;
|
|
|
+
|
|
|
+ return (0x2000 - (int)s0) & 0x3FFF;
|
|
|
}
|
|
|
+
|
|
|
//-------------------------------------------------------------------------------------------------
|
|
|
//0017F864
|
|
|
void CGfxCharacter::UpdateMatrix(CFTTMatrix32 *cMatrix32_1) {
|