瀏覽代碼

0x001d6778,FREE_LogicProcess,40,40,谢法钱,must

DESKTOP-AB9OQPJ\RED-10 3 年之前
父節點
當前提交
4428f5eccc
共有 1 個文件被更改,包括 45 次插入4 次删除
  1. 45 4
      jni/FREE.cpp

+ 45 - 4
jni/FREE.cpp

@@ -11,6 +11,7 @@
 #include "CModelManager.h"
 #include "fpoint.h"
 #include "sub.h"
+#include "CPlayerManager.h"
 // FREE_tInfo  0x1D20
 // FREE_tGoal  0x7634
 
@@ -65,6 +66,7 @@ int FREE_PassIsLowKick(TFreeControl *, TPoint3D *, TPoint3D *, int) {
 //-------------------------------------------------------------------------------------------------
 // 001D3FA8 
 void FREE_ControlGetKickLimits(CPlayer *player0, int *pi1, int *pi2, int *pi3) {
+   
   int *var_58 = pi1;
   int *var_54 = pi2;
   int *var_50 = pi3;
@@ -403,7 +405,8 @@ void FREE_ClipPathBounds(TPoint3D *, TPoint3D *, int, int, int, int) {}
 // }
 //-------------------------------------------------------------------------------------------------
 // 001D58B4
-void FREE_StoreRewindState() {}
+void FREE_StoreRewindState() {
+  tGame.mTLogic_6678.field_8=rand()%10;}
 //-------------------------------------------------------------------------------------------------
 // 001D5A3E
 void FREE_UpdateRewindState() {}
@@ -421,13 +424,51 @@ int FREE_RewindFrame() { return 0; }
 void FREE_ClipPathBounds(TPoint *, TPoint *, int, int, int, int) {}
 //-------------------------------------------------------------------------------------------------
 // 001D656C
-void FREE_IdleProcess() {}
+void FREE_IdleProcess() {
+  tGame.mTLogic_6678.field_8=1;
+  LOGE("FREE_IdleProcess");
+}
 //-------------------------------------------------------------------------------------------------
 // 001D66F0
 void FREE_SetupKick(TFreeControl *, TPoint3D *) {}
+
+void COUNTER_UpdateGenericCounters(void)
+{
+  LOGE("COUNTER_UpdateGenericCountersrand=%x",rand());
+}
 //-------------------------------------------------------------------------------------------------
-// 001D6778
-void FREE_LogicProcess() {}
+// 001D6778 //^_-
+//单元测试等级:目测游戏表现
+//测试内容:启动游戏到第5关传球射门
+//测试结果: 修复后游戏表现正常
+void FREE_LogicProcess() {
+
+  tGame.mTLogic_6678.field_AC = cBall.ballPosPrev_4.point_0.dx_0;
+  tGame.mTLogic_6678.field_B0 = cBall.ballPosPrev_4.point_0.dy_4;
+  
+  // 001D679E
+  if (tGame.mTLogic_6678.field_8 >2&&tGame.mTLogic_6678.field_8<5) {
+    // 001D67A2
+    FREE_IdleProcess();
+  } else {
+    // loc_1D67A8
+    if (tGame.mTLogic_6678.field_8 == 1) {
+      // 001D67AC
+      COUNTER_UpdateGenericCounters();
+    }
+    // loc_1D67B0
+  }
+  // loc_1D67B0
+  if (tGame.mTLogic_6678.field_10 == 0) {
+    if (tGame.mTLogic_6678.field_8 != 1) {
+      // 001D67C4
+      CPlayerManager::SetPlayersWalking(1);
+    }
+  }
+  // loc_1D67C8
+  tGame.field_6C34++;
+  tGame.field_6C38++;
+}
 //-------------------------------------------------------------------------------------------------
 // 001D67E8
 int FREE_GetPassTargetPlayer(CPlayer *, int *) { return 0; }