浏览代码

填充jni子函数

DESKTOP-AB9OQPJ\RED-10 3 年之前
父节点
当前提交
07fa3c5ea7

+ 3 - 1
jni/AndroidApp.cpp

@@ -31,7 +31,8 @@ MYSTATIC jobject context_5CDF88;
 //0026A244 //^_^
 __attribute__((noinline))
 jint AndroidApp_SetupJNI(JNIEnv *env, jobject obj) {
-  return 0;
+  LOGE("%pAndroidApp_SetupJNI%x%x",env,*(int*)&obj,*((int*)&obj+2));
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------------
 //0026A260 //^_- 经过单元测试,功能正常
@@ -54,6 +55,7 @@ jobject AndroidApp_GetContext() {
 //0026A2E4 //^_^  经过单元测试,功能正常
 __attribute__((noinline))
 void AndroidApp_RegisterPackageName(const char *a1) {
+  LOGE("%sAndroidApp_RegisterPackageName",a1);
 }
 //-------------------------------------------------------------------------------------------------------
 //0026A324 //^_^

+ 16 - 6
jni/CFE.cpp

@@ -46,6 +46,7 @@
 #include "XCTRL.h"
 #include "SNDGAME.h"
 //#include "CFESShopHelper.h"
+#include "CFTTRewardedVideos.h"
 #include "memctrl.h"
 
 extern bool FE_bBackButtonPressed;
@@ -92,6 +93,7 @@ void CFE::StoreUniformSpaceDimensions(float w, float h) {
 //-------------------------------------------------------------------------------------------------
 //00119A10 //^_^  经过单元测试,功能正常
 void CFE::SetToUniformSpace() {
+    LOGE("CFE::SetToUniformSpace");
 }
 //-------------------------------------------------------------------------------------------------
 //00119AC0 //^_^ 经过单元测试,功能正常
@@ -205,7 +207,8 @@ void CFE::PlaySoundAfterRecording() {
 //-------------------------------------------------------------------------------------------------
 //001525CC
 bool CFE::CheckMusic() {
-  return false;
+  LOGE("CFE::CheckMusic");
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //0015261C
@@ -279,6 +282,7 @@ bool CFE::PassedFullScreenTime() {
 //-------------------------------------------------------------------------------------------------
 //00152D0C //^_^
 void CFE::AndroidExitAppCB(int a1, void* pData) {
+  LOGE("AndroidExitAppCB");
 }
 //-------------------------------------------------------------------------------------------------
 //00152D50
@@ -290,8 +294,7 @@ EVideoAdZones CFE::GetAnalyticsVideoSourceFromZone(EVideoAdZones e) {
 //00152D94 //-_- 经过单元测试,功能正常
 int CFE::Process(float f0) {
   // LOGI("CFE::Process %.2f entry", f0);
-
-  if (CFE::m_apScreenStack[CFE::m_iScreenStackPos - 1] != nullptr) {
+  if (CFE::m_apScreenStack[CFE::m_iScreenStackPos - 1] != nullptr&&CFTTRewardedVideos::AdOnScreen()) {
     // 00152DC2
     if (tGame.mTLogic_6678.bisRunning_A9) {
       // 00152DD4
@@ -305,7 +308,7 @@ int CFE::Process(float f0) {
 
     if (!tGame.mTLogic_6678.bisRunning_A9 &&
         CFE::m_apScreenStack[CFE::m_iScreenStackPos - 1]->m_pUITileManager_4->GetHasButton(256) &&
-        CFE::m_apScreenStack[CFE::m_iScreenStackPos - 1]->m_pUITileManager_4->dIndex_0 >= 1) {
+        ((int)(CFE::m_apScreenStack[CFE::m_iScreenStackPos - 1]->m_pUITileManager_4->dIndex_0)) >= 1) {
       CStoryCore::m_cProfile.EnergyCheckRestore();
     }
 
@@ -319,7 +322,7 @@ int CFE::Process(float f0) {
     // loc_152E32
     CFE::m_apScreenStack[CFE::m_iScreenStackPos - 1]->PositionTileManager(-1);  // 00152E40
 
-    // CFTTRewardedVideos::AdOnScreen(void)
+     //CFTTRewardedVideos::AdOnScreen(void)
     // 00152E4E
     if (CMessageBoxHandler::MessageBoxShown()) {
       // 00152E54
@@ -369,7 +372,7 @@ int CFE::Process(float f0) {
                                             false,
                                             true,
                                             true);
-
+          
         } else if (r0_pScreen->m_pUITileManager_4->GetHasButton(2)) {  // loc_152F24
           // 00152F2E
           if (CFE::m_iScreenStackPos <= 1) {
@@ -434,14 +437,17 @@ int CFE::Process(float f0) {
 //-------------------------------------------------------------------------------------------------
 //0015307C //^_^
 void CFE::DeleteTopScreen() {
+  LOGE("CFE::DeleteTopScreen");
 }
 //-------------------------------------------------------------------------------------------------
 //001530C8 //^_^ 经过单元测试,功能正常
 void CFE::SetupStack(int* pdata, int dCount) {
+  LOGE("%pCFE::SetupStack%x",pdata,dCount);
 }
 //-------------------------------------------------------------------------------------------------
 //001530EC //^_^
 void CFE::Back(bool b1, bool b2) {
+  LOGE("%xCFE::Back%x",b1,b2);
 }
 //-------------------------------------------------------------------------------------------------
 //00153190 //^_^ 经过单元测试,功能正常
@@ -596,16 +602,19 @@ void CFE::OpenPrivacyPolicyURL() {
 //00153A38
 void CFE::OpenTermsOfService() {
   // CHeroAnalytics::LogEvent();
+    LOGE("OpenTermsOfService");
 }
 //-------------------------------------------------------------------------------------------------
 //00153A88
 void CFE::OpenPrivacyPolicy() {
   // CHeroAnalytics::LogEvent();
+   LOGE("OpenPrivacyPolicy");
 }
 //-------------------------------------------------------------------------------------------------
 //00153AD8 //^_-
 void CFE::ContinueTermsOfServiceNativeDialog() {
   // CHeroAnalytics::LogEvent()
+  LOGE("ContinueTermsOfServiceNativeDialog");
 }
 //-------------------------------------------------------------------------------------------------
 //00153B4C //^_^ 经过单元测试,功能正常
@@ -619,6 +628,7 @@ void CFE::StoreMinimiseTime() {
 //-------------------------------------------------------------------------------------------------
 //00153C04
 void CFE::CheckTimeMinimised() {
+  LOGE("CFE::CheckTimeMinimised");
   // locret_153C32
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 0
jni/CFEEffects.cpp

@@ -110,6 +110,7 @@ void CFEEffects::StopCreditFountain() {
 //-------------------------------------------------------------------------------------------------
 //001233DC //^_^
 void CFEEffects::Update(float f_r1) {
+  LOGE("%xCFEEffects::Update",f_r1);
 }
 //-------------------------------------------------------------------------------------------------
 //001233E4 //^_^

+ 1 - 0
jni/CFESChooseHero.cpp

@@ -194,5 +194,6 @@ void CFESChooseHero::SetNationalKit() {
 //-------------------------------------------------------------------------------------------------
 //00126938
 void CFESChooseHero::BackButtonPressed() {
+  LOGE("CFESChooseHero::BackButtonPressed");
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 0
jni/CFESChooseSideHero.cpp

@@ -100,5 +100,6 @@ void CFESChooseSideHero::SetNationalKit() {
 //00127C9C
 void CFESChooseSideHero::BackButtonPressed() {
   CFESChooseSideHero::ms_bBackButtonPressed = true;
+  LOGE("CFESChooseSideHero::BackButtonPressed");
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 0
jni/CFESEditPlayer.cpp

@@ -101,6 +101,7 @@ CFESEditPlayer::~CFESEditPlayer() {}
 typedef void (*CFESEditPlayer_CancelChanges)();
 void CFESEditPlayer::CancelChanges() {
   CFESEditPlayer::ms_bCancelChanges = true;
+  LOGE("CFESEditPlayer::CancelChanges");
 }
 //-------------------------------------------------------------------------------------------------
 // 00128118 //^_-

+ 1 - 0
jni/CFESLevelSelect.cpp

@@ -172,5 +172,6 @@ void CFESLevelSelect::RefreshCreditsTile() {
 //0012E210
 void CFESLevelSelect::BackButtonPressed() {
   CFESLevelSelect::ms_bBackButtonPressed = true;
+  LOGE("CFESLevelSelect::BackButtonPressed");
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 0
jni/CFESPauseMenu.cpp

@@ -28,6 +28,7 @@ void CFESPauseMenu::QuitToFrontEnd(int, void *) {
 //-------------------------------------------------------------------------------------------------
 //0012FF90
 void CFESPauseMenu::ResumeGame() {
+  LOGE("CFESPauseMenu::ResumeGame");
 }
 //-------------------------------------------------------------------------------------------------
 //0012FFBC

+ 1 - 0
jni/CFEScreen.cpp

@@ -38,6 +38,7 @@ void CFEScreen::SetScreenID(int dId) {
 //-------------------------------------------------------------------------------------------------
 //001231D4 //^_- 经过单元测试,功能正常
 void CFEScreen::PositionTileManager(int a1) {
+  LOGI("CFEScreen::PositionTileManager%p %d", this,a1);
 }
 //-------------------------------------------------------------------------------------------------
 //0012326C //^_^

+ 5 - 2
jni/CFTTAWSKinesisFirehose.cpp

@@ -30,12 +30,15 @@ void CFTTAWSKinesisFirehose::AddEventDefaultMetrics(CFTTJson *) {
 }
 //-------------------------------------------------------------------------------------------------
 //001F98FC
-void CFTTAWSKinesisFirehose::SetSessionID(uint) {
+void CFTTAWSKinesisFirehose::SetSessionID(uint a1) {
+  LOGE("CFTTAWSKinesisFirehose::GetSessionID%x",a1);
 }
+
 //-------------------------------------------------------------------------------------------------
 //001F9918
 char *CFTTAWSKinesisFirehose::GetSessionID() {
-  return nullptr;
+  LOGE("CFTTAWSKinesisFirehose::GetSessionID");
+  return (char*)rand();
 }
 //-------------------------------------------------------------------------------------------------
 //001F9E50

+ 5 - 2
jni/CFTTAndroidAppCInterface.cpp

@@ -33,12 +33,14 @@ CFTTMem_HeapSettings CFTTMem_HeapSettings_305950[] = {
 //-------------------------------------------------------------------------------------------------
 //001F6934 //^_^ 经过单元测试,功能正常
 int AppStart() {
-  return 0;
+  LOGE("AppStart");
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //001F6838 //^_^
 int AppOnStart(void* parg) {
-  return 1;
+  LOGE("%pAppOnStart",parg);
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 class CHeroAnalytics {
@@ -91,5 +93,6 @@ int AppRenderScene(void* parg) {
 //-------------------------------------------------------------------------------------------------
 //001F6954 //^_^
 void AppSetupCallbacks() {
+  LOGE("AppSetupCallbacks");
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 1
jni/CFTTAsyncEvent.cpp

@@ -3,4 +3,4 @@
 
 FTTMutex CFTTAsyncEvent_tCallbackMutex_5CE3E8;
 FTTMutex CFTTAsyncEvent_tWakeupMutex_5CE40C;
-CFTTMemPool_Resizing* pCFTTAsyncEvent_CallbackPool_5CE3E4 = nullptr;
+CFTTMemPool_Resizing* CFTTAsyncEvent_CallbackPool_5CE3E4 = nullptr;

+ 42 - 41
jni/CFTTAsyncEvent.h

@@ -36,9 +36,9 @@ enum EFTTEventType {
   EFTTEventType_4
 };
 //-------------------------------------------------------------------------------------------------
-extern FTTMutex CFTTAsyncEvent_tCallbackMutex;              // 0x5CE3E8
-extern FTTMutex CFTTAsyncEvent_tWakeupMutex;                // 0x5CE40C
-extern CFTTMemPool_Resizing* pCFTTAsyncEvent_CallbackPool;  // 0x5CE3E4
+extern FTTMutex CFTTAsyncEvent_tCallbackMutex_5CE3E8;              // 0x5CE3E8
+extern FTTMutex CFTTAsyncEvent_tWakeupMutex_5CE40C;                // 0x5CE40C
+extern CFTTMemPool_Resizing* CFTTAsyncEvent_CallbackPool_5CE3E4;  // 0x5CE3E4
 
 //-------------------------------------------------------------------------------------------------
 template <typename T>
@@ -51,22 +51,24 @@ public:
     void* pClass;
     EventNode* next_8;
   };
+CFTTAsyncEvent(): FTTSemaphore_8(0, 8, nullptr), bool_0(false){
 
+}
   // 001FAA2C //^_-
   CFTTAsyncEvent(EFTTEventType dEventType, bool a2, bool a3) : FTTSemaphore_8(0, 8, nullptr), bool_0(false) {
     // 001FAA52
     LOGI("CFTTAsyncEvent::CFTTAsyncEvent entry");
-    if (pCFTTAsyncEvent_CallbackPool == nullptr) {
-      CFTTAsyncEvent_tCallbackMutex.Lock();           // 001FAA5E
-      if (pCFTTAsyncEvent_CallbackPool == nullptr) {  //原始的汇编就是在这里重复两次判断
-        pCFTTAsyncEvent_CallbackPool = new CFTTMemPool_Resizing;
-        pCFTTAsyncEvent_CallbackPool->pResizing_Node_0 = nullptr;
-        pCFTTAsyncEvent_CallbackPool->dsize_4 = sizeof(EventNode);
-        pCFTTAsyncEvent_CallbackPool->count_8 = 0x40;
-        pCFTTAsyncEvent_CallbackPool->uyMagnify_C = 0;
-        pCFTTAsyncEvent_CallbackPool->eHeapId_10 = EFTTMemHeapID_0;
+    if (CFTTAsyncEvent_CallbackPool_5CE3E4 == nullptr) {
+      CFTTAsyncEvent_tCallbackMutex_5CE3E8.Lock();           // 001FAA5E
+      if (CFTTAsyncEvent_CallbackPool_5CE3E4 == nullptr) {  //原始的汇编就是在这里重复两次判断
+        CFTTAsyncEvent_CallbackPool_5CE3E4 = new CFTTMemPool_Resizing;
+        CFTTAsyncEvent_CallbackPool_5CE3E4->pResizing_Node_0 = nullptr;
+        CFTTAsyncEvent_CallbackPool_5CE3E4->dsize_4 = sizeof(EventNode);
+        CFTTAsyncEvent_CallbackPool_5CE3E4->count_8 = 0x40;
+        CFTTAsyncEvent_CallbackPool_5CE3E4->uyMagnify_C = 0;
+        CFTTAsyncEvent_CallbackPool_5CE3E4->eHeapId_10 = EFTTMemHeapID_0;
       }
-      CFTTAsyncEvent_tCallbackMutex.Unlock();
+      CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
     }
 
     // loc_1FAA8E
@@ -79,32 +81,31 @@ public:
 
   // 001FAFE8 //^_^
   ~CFTTAsyncEvent() {
-    CFTTAsyncEvent_tCallbackMutex.Lock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Lock();
     EventNode* node = pEventNode_38;
     if (node) {
       while (node) {
         pEventNode_38 = node->next_8;
-        pCFTTAsyncEvent_CallbackPool->Deallocate(node);
+        CFTTAsyncEvent_CallbackPool_5CE3E4->Deallocate(node);
         node = pEventNode_38;
       }
     }
 
-    if (!pCFTTAsyncEvent_CallbackPool->pResizing_Node_0) {
-      if (pCFTTAsyncEvent_CallbackPool) {
-        delete pCFTTAsyncEvent_CallbackPool;
+    if (!CFTTAsyncEvent_CallbackPool_5CE3E4->pResizing_Node_0) {
+      if (CFTTAsyncEvent_CallbackPool_5CE3E4) {
+        delete CFTTAsyncEvent_CallbackPool_5CE3E4;
       }
-      pCFTTAsyncEvent_CallbackPool = nullptr;
+      CFTTAsyncEvent_CallbackPool_5CE3E4 = nullptr;
     }
-    CFTTAsyncEvent_tCallbackMutex.Unlock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
   };
 
   // 00265478 //^_^
   void Complete(T const* pT) {
-    LOGI("CFTTAsyncEvent::Complete entry");
-    CFTTAsyncEvent_tCallbackMutex.Lock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Lock();
     if (bool_0) {
       // loc_265492
-      CFTTAsyncEvent_tCallbackMutex.Unlock();
+      CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
       return;
     }
 
@@ -131,7 +132,7 @@ public:
         if (r6_pEventNode_38 == nullptr || (bool_2 && !bool_1)) {
           // loc_26557E
           FTTSemaphore_8.SignalSema(8);
-          CFTTAsyncEvent_tCallbackMutex.Unlock();
+          CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
           return;
         }
       }
@@ -152,7 +153,7 @@ public:
     }
 
     // loc_26550E
-    CFTTAsyncEvent_tCallbackMutex.Unlock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
     // 00265514
     if (r6_pEventNode_38 != nullptr) {
       if (!bool_2) {
@@ -165,18 +166,18 @@ public:
 
       // loc_26552E
       if (bool_1) {
-        CFTTAsyncEvent_tCallbackMutex.Lock();
+        CFTTAsyncEvent_tCallbackMutex_5CE3E8.Lock();
         // loc_26554C
         for (; r6_pEventNode_38 != nullptr; r6_pEventNode_38 = r6_pEventNode_38->next_8) {  // loc_26554C
           // loc_265540
-          pCFTTAsyncEvent_CallbackPool->Deallocate(r6_pEventNode_38);
+          CFTTAsyncEvent_CallbackPool_5CE3E4->Deallocate(r6_pEventNode_38);
         }
-        CFTTAsyncEvent_tCallbackMutex.Unlock();
+        CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
       }
     }
-
+   // LOGE("Complete%p EFTTEventType_4=%xEFTTEventType_2=%x", this,EFTTEventType_4,EFTTEventType_2);
     // loc_265556
-    // if (this != nullptr) //??? 原始函数当中确实,有这一行,但是是感觉没有必要这么写,会引起编译警告,暂时先去掉了
+   //  if (this != nullptr) //??? 原始函数当中确实,有这一行,但是是感觉没有必要这么写,会引起编译警告,暂时先去掉了
     {
       if (EFTTEventType_4 == EFTTEventType_2) {
         delete this;
@@ -188,15 +189,15 @@ public:
   // 001FAAAC //^_^
   void AddCallback(asyncevent_callback pFunc_Callback, void* pclass) {
     LOGI("CFTTAsyncEvent::AddCallback Entry");
-    CFTTAsyncEvent_tCallbackMutex.Lock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Lock();
     if (!bool_0 || !bool_1) {
-      EventNode* v9 = (EventNode*)pCFTTAsyncEvent_CallbackPool->Allocate();  //引用计数 +1
+      EventNode* v9 = (EventNode*)CFTTAsyncEvent_CallbackPool_5CE3E4->Allocate();  //引用计数 +1
       v9->fun_0 = pFunc_Callback;
       v9->pClass = pclass;
       v9->next_8 = pEventNode_38;
       pEventNode_38 = v9;
       if (!bool_0) {
-        CFTTAsyncEvent_tCallbackMutex.Unlock();
+        CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
         LOGI("CFTTAsyncEvent::AddCallback End 11");
         return;
       }
@@ -205,7 +206,7 @@ public:
     T tmplate;
     memcpy(&tmplate, &tmplate_40, sizeof(T));
 
-    CFTTAsyncEvent_tCallbackMutex.Unlock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
     LOGI("CFTTAsyncEvent::AddCallback pFunc_Callback");
     pFunc_Callback(this, &tmplate, pclass);
     LOGI("CFTTAsyncEvent::AddCallback End");
@@ -213,22 +214,22 @@ public:
 
   // 001FAF54 //^_^
   void WaitForCompletion(T* pTemplate) {
-    CFTTAsyncEvent_tCallbackMutex.Lock();
+    CFTTAsyncEvent_tCallbackMutex_5CE3E8.Lock();
     if (bool_0) {
       if (pTemplate) {
         memcpy(pTemplate, &tmplate_40, sizeof(T));
       }
-      CFTTAsyncEvent_tCallbackMutex.Unlock();
+      CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
     } else {
-      CFTTAsyncEvent_tWakeupMutex.Lock();
+      CFTTAsyncEvent_tWakeupMutex_5CE40C.Lock();
       ++count_68;
-      CFTTAsyncEvent_tWakeupMutex.Unlock();
-      CFTTAsyncEvent_tCallbackMutex.Unlock();
+      CFTTAsyncEvent_tWakeupMutex_5CE40C.Unlock();
+      CFTTAsyncEvent_tCallbackMutex_5CE3E8.Unlock();
 
       if (FTTSemaphore_8.WaitSema(-1)) {
-        CFTTAsyncEvent_tWakeupMutex.Lock();
+        CFTTAsyncEvent_tWakeupMutex_5CE40C.Lock();
         --count_68;
-        CFTTAsyncEvent_tWakeupMutex.Unlock();
+        CFTTAsyncEvent_tWakeupMutex_5CE40C.Unlock();
         if (pTemplate)
           memcpy(pTemplate, &tmplate_40, sizeof(T));
         FTTSemaphore_8.SignalSema(1);

+ 3 - 1
jni/CFTTFileSystem_Android.cpp

@@ -92,16 +92,18 @@ char *CFTTFileSystem_Android::AndroidGetExpansionPath() {
 //-------------------------------------------------------------------------------------------------
 //0026C520 //^_^ AAssetManager *arg_pAAssetManager
 void CFTTFileSystem_Android::AndroidSetAssetManager(void *arg_pAAssetManager) {
+  LOGE("CFTTFileSystem_Android::AndroidSetAssetManager%p",arg_pAAssetManager);
 }
 //-------------------------------------------------------------------------------------------------
 //0026C554 //^_^
 void CFTTFileSystem_Android::AndroidSetExpansionPath(char const *filepath) {
+  LOGE("AndroidSetExpansionPath%p%s",filepath,filepath);
 }
 //-------------------------------------------------------------------------------------------------
 //0026C52C //^_^
 int CFTTFileSystem_Android::AndroidSetExternalFilesDir(char const *dirpath) {
   // memset(dir_5CDFD4, 0, 1024);
-
+LOGE("AndroidSetExternalFilesDir%p%s",dirpath,dirpath);
   return 0;
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 0
jni/CFTTMemPool_Resizing.cpp

@@ -33,5 +33,6 @@ void* CFTTMemPool_Resizing::Allocate() {
 //-------------------------------------------------------------------------------------------------
 //001FB138 //^_-
 void CFTTMemPool_Resizing::Deallocate(void* addr) {
+  LOGE("CFTTMemPool_Resizing::Deallocate%p%p",this,addr);
 }
 //-------------------------------------------------------------------------------------------------

+ 5 - 2
jni/CFTTRewardedVideos.h

@@ -1,13 +1,16 @@
 #ifndef _CFTTREWARDEDVIDEOS_H_
 #define _CFTTREWARDEDVIDEOS_H_
-
+#include "log.h"
 class CFTTRewardedVideos{
 public:
   CFTTRewardedVideos();
   ~CFTTRewardedVideos();
 
   static bool AreAdsAvailable(int ,int ,bool,int);
-  static bool AdOnScreen();
+  static bool AdOnScreen()
+  {
+    LOGE("AdOnScreen");
+  }
 };
 
 #endif

+ 2 - 0
jni/CFTTServerTime.cpp

@@ -37,6 +37,8 @@ void CFTTServerTime::SetServerDateTime(int year, int month, int day, int hour, i
 //00268830 //^_- 经过单元测试,功能正常
 time_t CFTTServerTime::GetDateTime(bool a1, bool a2) {
   time_t t;
+  memset(&t,0xff,sizeof(t));
+  LOGE("GetDateTime%x%x",a1,a2);
   return t;
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 0
jni/CGameLoop.cpp

@@ -61,6 +61,7 @@ void CGameLoop::UnPause() {
 //-------------------------------------------------------------------------------------------------
 //0015A81C
 void CGameLoop::Pause(int a1, EPauseType eType, EFEScreen eScreen) {
+  LOGE("%x%x%xPause",a1,eType,eScreen);
 }
 //-------------------------------------------------------------------------------------------------
 //0015A854

+ 6 - 0
jni/CGfxCharacter.cpp

@@ -35,7 +35,13 @@
 #include "CShaderSetup.h"
 #include "CLegacyLitShader.h"
 #include "memctrl.h"
+#include "CFTTFile.h"
 
+void testcomplate(){
+  TFTTFileAsyncEventData data;
+  CFTTAsyncEvent<TFTTFileAsyncEventData> event;
+  event.Complete(&data);
+}
 unsigned int s_uHairColours[8] = {0xFF202020, 0xFF64573E, 0xFF3D3323, 0xFFDDD499, 0xFFB1953F, 0xFFB86732, 0xFFB8B8B8, 0xFFFFFFFF};
 
 bool CGfxCharacter::s_bDefaultModelsLoaded;          //003A4ABC

+ 12 - 7
jni/CMessageBoxHandler.cpp

@@ -12,9 +12,9 @@ CMessageBox *CMessageBoxHandler::ms_pMessageBoxQueue[8];  //0034A950
 //00121828 //^_^
 bool CMessageBoxHandler::ShutDownMessageBox() {
   //00121834
-
+LOGE("ShutDownMessageBox");
   //loc_12187A
-  return false;
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //00122D6C 这里与原始代码不一样,是我故意这么做的,原始代码将 CMessageBox的构造内联进了这个函数,我是单独提取出来了
@@ -37,7 +37,8 @@ bool CMessageBoxHandler::NewMessageBox(CMessageBoxHandler_func pFunc1,
   //00122D7C
 
   //loc_122DFE
-  return true;
+  LOGE("%p%p%x%p%p%x%x%x%x%x%x%x%x%xNewMessageBox",pFunc1,pvoid2,eType3,pWBuf4,pWBuf5,a6,a7,b8,a9,a10,b11,b12,b13,b14);
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //00122E14 //^_^
@@ -67,7 +68,8 @@ bool CMessageBoxHandler::MessageBoxShown() {
   //00122EA8
 
   //loc_122EC2
-  return false;
+  LOGE("MessageBoxShown");
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //00122ED0 //^_^
@@ -81,18 +83,21 @@ bool CMessageBoxHandler::CanProcess() {
   //00122EFC
 
   //loc_122F28
-  return false;
+  LOGE("CanProcess");
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //00122F38 //^_^
 int CMessageBoxHandler::Process() {
-  return 0;
+  LOGI("CMessageBoxHandler::Process End");
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //00122F8C //^_^
 bool CMessageBoxHandler::GetCanBackButtonRemove() {
   //loc_122FB0
-  return true;
+   LOGI("CMessageBoxHandler::GetCanBackButtonRemove End");
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //00122FBC //^_^

+ 6 - 1
jni/CMyProfile.cpp

@@ -115,7 +115,9 @@ void CMyProfile::InitialiseSaveFiles() {
 //-------------------------------------------------------------------------------------------------
 //001CCCB4 //^_~
 int CMyProfile::DoLoadOnBoot(bool &val1) {
-  return 0;
+  LOGE("DoLoadOnBoot%x",val1);
+  val1=rand();
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //001CCDC0 //^_^
@@ -254,6 +256,7 @@ void CMyProfile::UpdateSaveLoadTime() {
 //-------------------------------------------------------------------------------------------------
 //001CD870 //^_^
 void CMyProfile::CheckSave() {
+  LOGE("%pCMyProfile::CheckSave",this);
 }
 //-------------------------------------------------------------------------------------------------
 //001CD890 //???该函数因为有部分逻辑是保存到云服务上, 所以跳过了部分代码。 很难做到完全一样
@@ -497,6 +500,7 @@ int CMyProfile::IsSeasonComplete(int dr1) {
 //-------------------------------------------------------------------------------------------------
 //001CE074 //^_^
 void CMyProfile::SetNotificationRewards() {
+  LOGE("CMyProfile::SetNotificationRewards%p",this);
 }
 //-------------------------------------------------------------------------------------------------
 //001CE076 //^_^
@@ -536,6 +540,7 @@ void CMyProfile::RewardForNotification(int dr1) {
 //-------------------------------------------------------------------------------------------------
 //001CE138 //^_^
 void CMyProfile::NeedToCheckNotifications() {
+  LOGE("CMyProfile::NeedToCheckNotifications%p",this);
   return;
 }
 //-------------------------------------------------------------------------------------------------

+ 6 - 2
jni/CStoryProfile.cpp

@@ -254,13 +254,17 @@ void CStoryProfile::SetTimeSinceReboot() {}
 void CStoryProfile::CheckEnergyFallback() { return; }
 //-------------------------------------------------------------------------------------------------
 // 001E8114
-void CStoryProfile::EnergyCheckRestore() {}
+void CStoryProfile::EnergyCheckRestore() {
+  LOGE("%pStoryProfile::EnergyCheckRestore",this);
+}
 //-------------------------------------------------------------------------------------------------
 // 001E82C4
 int CStoryProfile::EnergyGetRestoreSecs() { return 0; }
 //-------------------------------------------------------------------------------------------------
 // 001E830C
-int CStoryProfile::SecondsToFullEnergy(int a1, int a2) { return 10; }
+int CStoryProfile::SecondsToFullEnergy(int a1, int a2) { 
+  LOGE("CStoryProfile::SecondsToFullEnergy%x%x",a1,a2);
+  return rand(); }
 //-------------------------------------------------------------------------------------------------
 // 001E8360
 void CStoryProfile::GetDescription(wchar_t *, int) {}

+ 2 - 1
jni/CUITileManager.cpp

@@ -40,7 +40,8 @@ void CUITileManager::SetButtons(uint64_t a1) {
 //-------------------------------------------------------------------------------------------------
 //001472CC //^_^
 bool CUITileManager::GetHasButton(int a1) {
-  return true;
+  LOGE("%p%xCUITileManager::GetHasButton",this,a1);
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //001472DE //-_- 经过单元测试,功能正常

+ 7 - 2
jni/FTTGraphics.cpp

@@ -122,6 +122,7 @@ int FTTGraphics_PrimCountToIndexCount(FTTPRIMTYPE dPrimType, int a2) {
 //-------------------------------------------------------------------------------------------------
 //00202674 //^_^
 void FTTGraphicsEnableStencilBuffer(bool b) {
+  LOGE("%xFTTGraphicsEnableStencilBuffer",b);
 }
 //-------------------------------------------------------------------------------------------------
 //00202680 //^_^
@@ -132,16 +133,19 @@ bool FTTGraphicsIsStencilBufferEnabled() {
 //0020268C //^_^ 经过单元测试,功能正常
 void FTTGraphicsAndroid_SetScreen(int width, int height) {
   //locret_2026C6
+  LOGE("%x FTTGraphicsAndroid_SetScreen%x%x",rand(),width,height);
 }
 //-------------------------------------------------------------------------------------------------
 //002026E8 //^_^
 void FTTGraphicsAndroid_SetScreenSize(float size) {
+   LOGE("%xFTTGraphicsAndroid_SetScreenSize%f",rand(),size);
 }
 //-------------------------------------------------------------------------------------------------
 //002026F4
 int FTTGraphicsAndroid_InitializeVulkanEarly() {
   //return CFTTVulkanSetup::InitializeEarly();
-  return 0;
+   LOGE("%xFTTGraphicsEnableStencilBuffer",rand());
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //002026F8
@@ -158,12 +162,13 @@ void FTTGraphicsAndroid_OnVulkanSurfaceAcquired(ANativeWindow *pWnd) {
   //     g_pGraphicsDevice = nullptr;
   //   }
   // }
+  LOGE("FTTGraphicsAndroid_OnVulkanSurfaceAcquired%p",pWnd);
 }
 //-------------------------------------------------------------------------------------------------
 //00202744
 void FTTGraphicsAndroid_OnVulkanSurfaceLost() {
   //???  Vulkan 相关暂时放弃
-
+LOGI("FTTGraphicsAndroid_OnVulkanSurfaceLost: Entry");
   // if (g_pGraphicsDevice) {
   //   if (g_pGraphicsDevice->GetRendererType() == 3) {
   //     CFTTVulkanSetup::DestroySurfaceAndSwapchain();

+ 1 - 1
jni/FTTInput.cpp

@@ -282,7 +282,7 @@ void FTTInput_ProcessJoystick() {
 //---------------------------------------------------------------------------------------------------------------------------------------------
 //00220190 单元测试跑不到
 void FTTInput_worldOriUpdatedAndroid(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9) {
-
+  LOGE("FTTInput_worldOriUpdatedAndroid%f%f%f%f%f%f%f%f%f",f1,f2,f3,f4,f5,f6,f7,f8,f9);
 }
 //---------------------------------------------------------------------------------------------------------------------------------------------
 //002201F4

+ 1 - 0
jni/FTTJNI.cpp

@@ -750,6 +750,7 @@ extern "C" JNIEXPORT void Java_com_firsttouchgames_ftt_FTTJNI_worldOriUpdated(JN
                                                                               jfloat arg_float7,
                                                                               jfloat arg_float8,
                                                                               jfloat arg_float9) {
+                                                        
   LOGI("FTTJNI_worldOriUpdated");
   FTTInput_worldOriUpdatedAndroid(arg_float1,
                                   arg_float2,

+ 4 - 1
jni/FTTMutex.cpp

@@ -17,7 +17,8 @@ FTTMutex::~FTTMutex() {
 //-------------------------------------------------------------------------------------------------
 //0026D28A //^_^
 bool FTTMutex::Lock() {
-  return true;
+  LOGE("FTTMutex::Lock%p",this);
+  return rand();
 }
 //-------------------------------------------------------------------------------------------------
 //0026D294 //^_^
@@ -27,5 +28,7 @@ bool FTTMutex::TryLock() {
 //-------------------------------------------------------------------------------------------------
 //0026D2A2 //^_^
 void FTTMutex::Unlock() {
+  LOGE("FTTMutex::Lock%p",this);
+  return ;
 }
 //-------------------------------------------------------------------------------------------------

+ 2 - 1
jni/FTTSemaphore.cpp

@@ -22,13 +22,14 @@ int FTTSemaphore::GetSemaCount() {
 //-------------------------------------------------------------------------------------------------
 //0026D48A //^_^
 void FTTSemaphore::SignalSema(int a2) {
+  LOGE("SignalSema%p%x",this,a2);
 
 }
 //-------------------------------------------------------------------------------------------------
 //0026D420 //^_- 逻辑完全一至,但是寄存器略有区别
 int FTTSemaphore::WaitSema(int a1) {
   LOGI("FTTSemaphore::WaitSema entry");
- 
+ LOGE("WaitSema%p%x",this,a1);
   return 0x100;
 }
 //-------------------------------------------------------------------------------------------------

+ 1 - 1
jni/GFXFADE.cpp

@@ -78,7 +78,7 @@ void GFXFADE_Kill() {
 //-------------------------------------------------------------------------------------------------
 //00184484
 void GFXFADE_Update(bool a1) {
- 
+ LOGE("GFXFADE_Update%x",a1);
 }
 //-------------------------------------------------------------------------------------------------
 //00184508 //^_- 经过单元测试,功能正常

+ 1 - 0
jni/IAP.cpp

@@ -271,5 +271,6 @@ void IAP_StoreProductLocalisedPrice(int index) {
 //00274238
 void IAP_Update() {
   //empty
+  LOGE("IAP_Update");
 }
 //---------------------------------------------------------------------------------------------------------------------------------------------

+ 1 - 0
jni/SNDFE.cpp

@@ -10,6 +10,7 @@ void SNDFE_Init() {
 //-------------------------------------------------------------------------------------------------
 //001D146C
 void SNDFE_Process() {
+  LOGE("SNDFE_Process");
 }
 //-------------------------------------------------------------------------------------------------
 //001D1484

+ 1 - 0
jni/SNDGAME.cpp

@@ -49,6 +49,7 @@ void SNDGAME_ResetSoundBeingPlayed() {
 //-------------------------------------------------------------------------------------------------
 //001D1C80
 void SNDGAME_Process() {
+	LOGE("SNDGAME_Process");
 }
 //-------------------------------------------------------------------------------------------------
 //001D1CA0

+ 1 - 1
jni/Soccer.cpp

@@ -66,7 +66,7 @@ void FTTTexture_PrintLibInfo(void) {
 //-------------------------------------------------------------------------------------------------
 //00262A6C //^_^
 void FTTInitialize(int a1, bool bInput, bool bGraphics) {
-  LOGI("FTTInitialize: Entry");
+  LOGI("FTTInitialize: Entry%x%x%x",a1,bInput,bGraphics);
   //locret_262ACE
   LOGI("FTTInitialize: End");
 }

+ 2 - 0
jni/XCTRL.cpp

@@ -85,6 +85,7 @@ void XCTRL_ProcessHW() {
 //-------------------------------------------------------------------------------------------------
 //0011A5CC
 void XCTRL_Process_ClearTriggers() {
+  LOGE("XCTRL_Process_ClearTriggers");
 }
 //-------------------------------------------------------------------------------------------------
 //0011A5D0
@@ -305,5 +306,6 @@ void XCTRL_TouchSetHWToDevice() {
 //-------------------------------------------------------------------------------------------------
 //0011A9F4
 void XCTRL_TouchProcess_ClearTriggers() {
+  LOGE("XCTRL_TouchProcess_ClearTriggers");
 }
 //-------------------------------------------------------------------------------------------------