Quellcode durchsuchen

0x0017f7d8,CGfxCharacter::GetHeadRot,38,38 bugfix

DESKTOP-AB9OQPJ\RED-10 vor 3 Jahren
Ursprung
Commit
afd613c87b
2 geänderte Dateien mit 22 neuen und 1 gelöschten Zeilen
  1. 21 1
      jni/CGfxCharacter.cpp
  2. 1 0
      obj/local/armeabi-v7a/objs/cpufeatures/archiver.list.tmp

+ 21 - 1
jni/CGfxCharacter.cpp

@@ -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) {

+ 1 - 0
obj/local/armeabi-v7a/objs/cpufeatures/archiver.list.tmp

@@ -0,0 +1 @@
+./obj/local/armeabi-v7a/objs/cpufeatures/cpu-features.o