From d45dcf715d83aad2222d8bc6b78ccdc23692bd50 Mon Sep 17 00:00:00 2001 From: Harm Date: Sat, 4 Sep 2021 17:25:08 +0200 Subject: [PATCH] - Fixed Virtua Fighter test menu - Cleaned up header files, fixed global variables --- OpenParrot/src/Functions/Games/APM3/APM3.cpp | 61 ++++++++-- OpenParrot/src/Functions/Games/APM3/APM3.h | 104 ++---------------- OpenParrot/src/Functions/Games/APM3/Aime.cpp | 4 +- OpenParrot/src/Functions/Games/APM3/Aime.h | 19 +--- OpenParrot/src/Functions/Games/APM3/Auth.cpp | 12 +- OpenParrot/src/Functions/Games/APM3/Auth.h | 33 ++---- .../src/Functions/Games/APM3/Backup.cpp | 8 +- OpenParrot/src/Functions/Games/APM3/Backup.h | 19 ++-- .../src/Functions/Games/APM3/Sequence.cpp | 30 +++-- .../src/Functions/Games/APM3/Sequence.h | 32 ++---- 10 files changed, 135 insertions(+), 187 deletions(-) diff --git a/OpenParrot/src/Functions/Games/APM3/APM3.cpp b/OpenParrot/src/Functions/Games/APM3/APM3.cpp index ca79c53..2336200 100644 --- a/OpenParrot/src/Functions/Games/APM3/APM3.cpp +++ b/OpenParrot/src/Functions/Games/APM3/APM3.cpp @@ -8,15 +8,58 @@ #include "Auth.h" #include "Sequence.h" -// TO MAXIMIZE COMPATBILITY IN FUTURE, FEEL FREE TO USE JUST __fastcall -#ifdef _M_IX86 -#define CALLPLEB __stdcall -#else -#define CALLPLEB __fastcall -#endif +// Define default return values here +static DWORD_PTR System_getResolutionReturnValue = 0; +static bool ApmSystemSetting_getAdvertizeSoundReturnValue = false; +static bool ApmSystemSetting_getClosingTimesReturnValue = false; +static char ApmSystemSetting_getEmoneySettingReturnValue = 0; +static bool ApmSystemSetting_getFixedTitleReturnValue = false; +static char ApmSystemSetting_getGamePadSettingReturnValue = 0; +static bool ApmSystemSetting_getMatchingGroupReturnValue = false; +static char ApmSystemSetting_getTimeToClosingTimeReturnValue = 0; +static char ApmSystemSetting_getUiSettingReturnValue = 0; +static bool Core_exitGameReturnValue = false; +static DWORD_PTR Core_hookExceptionReturnValue = 0; +static bool Core_isExitNeededReturnValue = false; +static DWORD_PTR Core_resetExceptionReturnValue = 0; +static DWORD_PTR Credit_getAddableCoinReturnValue = 0; +static DWORD_PTR Credit_getCoinMultipliersReturnValue = 0; +static DWORD_PTR Credit_getCoinToCreditReturnValue = 0; +static DWORD_PTR Credit_getCreditReturnValue = 0; +static DWORD_PTR Credit_getRemainReturnValue = 0; +static DWORD_PTR Credit_isFreePlayReturnValue = 1; +static DWORD_PTR Credit_isGameCostEnoughReturnValue = 0; +static DWORD_PTR Credit_isZeroReturnValue = 0; +static DWORD_PTR Credit_payGameCostReturnValue = 0; +static DWORD_PTR Credit_resetCoinInHookReturnValue = 0; +static DWORD_PTR Credit_setCoinInHookReturnValue = 0; +static DWORD_PTR Emoney_isOpenMainWindowReturnValue = 0; +static char Emoney_launchReturnValue = 0; +static DWORD_PTR Error_isOccurredReturnValue = 0; +static DWORD_PTR Error_setDeviceLostReturnValue = 0; +static char Input_isFlipNowReturnValue = 0; +static DWORD_PTR Input_isGamepadDetectReturnValue = 0; +static char Input_isOffNowReturnValue = 0; +static char Input_isOnNowReturnValue = 0; +static DWORD_PTR Input_isOpenPewviewWindowReturnValue = 0; +static char Input_setGamepadConfigReturnValue = 0; +static char* NetworkProperty_getAddressStringReturnValue = "192.168.0.1"; +static DWORD_PTR NetworkProperty_getAddressValueReturnValue = 0; +static DWORD_PTR System_getAppRootPathReturnValue = 0; +static DWORD_PTR System_getRegionCodeReturnValue = 0; +static DWORD_PTR System_isDevelopReturnValue = 0; +static char apmGamepadConfigReturnValue = 0; +static char apmGamepadGetApmInputReturnValue = 0; +static char apmGamepadGetDeviceCapsReturnValue = 0; +static DWORD_PTR apmGamepadGetInfoReturnValue = 0; +static char apmGamepadGetRawInputReturnValue = 0; +static DWORD_PTR apmGamepadInitConfigReturnValue = 0; +static char apmGamepadIsDetectedReturnValue = 0; +static DWORD_PTR apmGamepadIsXInputDeviceReturnValue = 0; +static int apmGamepadUpdateReturnValue = 0; static uint8_t g_APM3IOValues[256]; -//#define _LOGAPM3 1 + bool CALLPLEB ApmSystemSetting_getAdvertizeSound(bool *enable) { #ifdef _LOGAPM3 @@ -934,7 +977,7 @@ static InitFunction initPengoe5TestFunc([]() // Skip keyboard injector::MakeRET(mainModuleBase + 0x158E10); - Sequence_isTestReturnValue = 1; + Sequence_isTestReturnValue = true; }, GameID::Pengoe5_Test); @@ -953,7 +996,7 @@ static InitFunction initVF5TestFunc([]() __int64 mainModuleBase = (__int64)GetModuleHandle(0); if (strstr(GetCommandLineA(), "-tptest") != NULL) - Sequence_isTestReturnValue = 1; + Sequence_isTestReturnValue = true; }, GameID::VF5EsportsTest); diff --git a/OpenParrot/src/Functions/Games/APM3/APM3.h b/OpenParrot/src/Functions/Games/APM3/APM3.h index 0abd92d..ee41880 100644 --- a/OpenParrot/src/Functions/Games/APM3/APM3.h +++ b/OpenParrot/src/Functions/Games/APM3/APM3.h @@ -1,95 +1,13 @@ -static DWORD_PTR System_getResolutionReturnValue = 0; +#pragma once -static bool ApmSystemSetting_getAdvertizeSoundReturnValue = false; +#ifdef _M_IX86 +#define CALLPLEB __stdcall +#else +#define CALLPLEB __fastcall +#endif -static bool ApmSystemSetting_getClosingTimesReturnValue = false; - -static char ApmSystemSetting_getEmoneySettingReturnValue = 0; - -static bool ApmSystemSetting_getFixedTitleReturnValue = false; - -static char ApmSystemSetting_getGamePadSettingReturnValue = 0; - -static bool ApmSystemSetting_getMatchingGroupReturnValue = false; - -static char ApmSystemSetting_getTimeToClosingTimeReturnValue = 0; - -static char ApmSystemSetting_getUiSettingReturnValue = 0; - -static bool Core_exitGameReturnValue = 0; - -static DWORD_PTR Core_hookExceptionReturnValue = 0; - -static bool Core_isExitNeededReturnValue = false; - -static DWORD_PTR Core_resetExceptionReturnValue = 0; - -static DWORD_PTR Credit_getAddableCoinReturnValue = 0; - -static DWORD_PTR Credit_getCoinMultipliersReturnValue = 0; - -static DWORD_PTR Credit_getCoinToCreditReturnValue = 0; - -static DWORD_PTR Credit_getCreditReturnValue = 0; - -static DWORD_PTR Credit_getRemainReturnValue = 0; - -static DWORD_PTR Credit_isFreePlayReturnValue = 1; - -static DWORD_PTR Credit_isGameCostEnoughReturnValue = 0; - -static DWORD_PTR Credit_isZeroReturnValue = 0; - -static DWORD_PTR Credit_payGameCostReturnValue = 0; - -static DWORD_PTR Credit_resetCoinInHookReturnValue = 0; - -static DWORD_PTR Credit_setCoinInHookReturnValue = 0; - -static DWORD_PTR Emoney_isOpenMainWindowReturnValue = 0; - -static char Emoney_launchReturnValue = 0; - -static DWORD_PTR Error_isOccurredReturnValue = 0; - -static DWORD_PTR Error_setDeviceLostReturnValue = 0; - -static char Input_isFlipNowReturnValue = 0; - -static DWORD_PTR Input_isGamepadDetectReturnValue = 0; - -static char Input_isOffNowReturnValue = 0; - -static char Input_isOnNowReturnValue = 0; - -static DWORD_PTR Input_isOpenPewviewWindowReturnValue = 0; - -static char Input_setGamepadConfigReturnValue = 0; - -static char *NetworkProperty_getAddressStringReturnValue = "192.168.0.1"; - -static DWORD_PTR NetworkProperty_getAddressValueReturnValue = 0; - -static DWORD_PTR System_getAppRootPathReturnValue = 0; - -static DWORD_PTR System_getRegionCodeReturnValue = 0; - -static DWORD_PTR System_isDevelopReturnValue = 0; - -static char apmGamepadConfigReturnValue = 0; - -static char apmGamepadGetApmInputReturnValue = 0; - -static char apmGamepadGetDeviceCapsReturnValue = 0; - -static DWORD_PTR apmGamepadGetInfoReturnValue = 0; - -static char apmGamepadGetRawInputReturnValue = 0; - -static DWORD_PTR apmGamepadInitConfigReturnValue = 0; - -static char apmGamepadIsDetectedReturnValue = 0; - -static DWORD_PTR apmGamepadIsXInputDeviceReturnValue = 0; - -static int apmGamepadUpdateReturnValue = 0; +//#define _LOGAPM3 1 +//#define _LOGAPM3AIME 1 +//#define _LOGAPM3AUTH 1 +//#define _LOGAPM3BACKUP 1 +//#define _LOGAPM3SEQUENCE 1 \ No newline at end of file diff --git a/OpenParrot/src/Functions/Games/APM3/Aime.cpp b/OpenParrot/src/Functions/Games/APM3/Aime.cpp index 6aaa518..febc26d 100644 --- a/OpenParrot/src/Functions/Games/APM3/Aime.cpp +++ b/OpenParrot/src/Functions/Games/APM3/Aime.cpp @@ -3,7 +3,7 @@ #include #include "Functions\Global.h" #include "Aime.h" -//#define _LOGAPM3AIME 1 + bool CALLPLEB Aime_acceptConfirm() { #ifdef _LOGAPM3AIME @@ -37,7 +37,6 @@ bool CALLPLEB Aime_getAimeId(unsigned int* uid) return 0; } - AIME_CONFIRM CALLPLEB Aime_getConfirm() { #ifdef _LOGAPM3AIME @@ -46,7 +45,6 @@ AIME_CONFIRM CALLPLEB Aime_getConfirm() return AIME_CONFIRM::AimeDB; } - AIME_ERROR_CATEGORY CALLPLEB Aime_getErrorCategory() { #ifdef _LOGAPM3AIME diff --git a/OpenParrot/src/Functions/Games/APM3/Aime.h b/OpenParrot/src/Functions/Games/APM3/Aime.h index 6cf3e2b..7d9ea7e 100644 --- a/OpenParrot/src/Functions/Games/APM3/Aime.h +++ b/OpenParrot/src/Functions/Games/APM3/Aime.h @@ -1,11 +1,9 @@ #pragma once -#ifdef _M_IX86 -#define CALLPLEB __stdcall -#else -#define CALLPLEB __fastcall -#endif +#include "APM3.h" + bool CALLPLEB Aime_acceptConfirm(); bool CALLPLEB Aime_cancel(); + struct AccessCode { const int DigitCount = 20; @@ -17,6 +15,7 @@ struct AccessCode bool CALLPLEB Aime_getAccessCode(AccessCode* accessCode); bool CALLPLEB Aime_getAimeId(unsigned int* uid); + enum class AIME_CONFIRM { NoneDB, @@ -36,19 +35,12 @@ enum class AIME_ERROR_CATEGORY }; AIME_ERROR_CATEGORY CALLPLEB Aime_getErrorCategory(); - bool CALLPLEB Aime_hasConfirm(); - bool CALLPLEB Aime_hasError(); - bool CALLPLEB Aime_hasResult(); - bool CALLPLEB Aime_isBusy(); - bool CALLPLEB Aime_isDBAlive(); - bool CALLPLEB Aime_isMobile(); - bool CALLPLEB Aime_isReaderDetected(); enum class AIME_LOG_STATUS @@ -59,9 +51,6 @@ enum class AIME_LOG_STATUS }; bool CALLPLEB Aime_sendLog(unsigned int uid, AIME_LOG_STATUS status, DWORD_PTR count); - bool CALLPLEB Aime_setLedError(); - bool CALLPLEB Aime_setLedSuccess(); - bool CALLPLEB Aime_start(); \ No newline at end of file diff --git a/OpenParrot/src/Functions/Games/APM3/Auth.cpp b/OpenParrot/src/Functions/Games/APM3/Auth.cpp index b61869d..81ca7c4 100644 --- a/OpenParrot/src/Functions/Games/APM3/Auth.cpp +++ b/OpenParrot/src/Functions/Games/APM3/Auth.cpp @@ -11,7 +11,17 @@ wchar_t LocationName[64]; wchar_t LinkServerName[64]; wchar_t ServerName[64]; -//#define _LOGAPM3AUTH 1 +// Define default return values here +DWORD_PTR AllnetAccounting_beginPlayReturnValue = 0; +DWORD_PTR AllnetAccounting_endPlayReturnValue = 0; +DWORD_PTR AllnetAuth_getCountryCodeReturnValue = 0; +DWORD_PTR AllnetAuth_getLocationIdReturnValue = 0; +int AllnetAuth_getLocationNicknamePartCountReturnValue = 0; +DWORD_PTR AllnetAuth_getRegionCodeReturnValue = 0; +int AllnetAuth_getRegionNamePartCountReturnValue = 0; +bool AllnetAuth_isDevelopReturnValue = false; +bool AllnetAuth_isGoodReturnValue = false; + DWORD_PTR CALLPLEB AllnetAccounting_beginPlay(unsigned int a1) { #ifdef _LOGAPM3AUTH diff --git a/OpenParrot/src/Functions/Games/APM3/Auth.h b/OpenParrot/src/Functions/Games/APM3/Auth.h index 0baa6dd..2e4f2a6 100644 --- a/OpenParrot/src/Functions/Games/APM3/Auth.h +++ b/OpenParrot/src/Functions/Games/APM3/Auth.h @@ -1,9 +1,5 @@ #pragma once -#ifdef _M_IX86 -#define CALLPLEB __stdcall -#else -#define CALLPLEB __fastcall -#endif +#include "APM3.h" extern wchar_t APM3GameId[10]; extern wchar_t RegionName[64]; @@ -12,23 +8,16 @@ extern wchar_t LocationName[64]; extern wchar_t LinkServerName[64]; extern wchar_t ServerName[64]; -static DWORD_PTR AllnetAccounting_beginPlayReturnValue = 0; - -static DWORD_PTR AllnetAccounting_endPlayReturnValue = 0; - -static DWORD_PTR AllnetAuth_getCountryCodeReturnValue = 0; - -static DWORD_PTR AllnetAuth_getLocationIdReturnValue = 0; - -static int AllnetAuth_getLocationNicknamePartCountReturnValue = 0; - -static DWORD_PTR AllnetAuth_getRegionCodeReturnValue = 0; - -static int AllnetAuth_getRegionNamePartCountReturnValue = 0; - -static bool AllnetAuth_isDevelopReturnValue = false; - -static bool AllnetAuth_isGoodReturnValue = false; +// Make return values global +extern DWORD_PTR AllnetAccounting_beginPlayReturnValue; +extern DWORD_PTR AllnetAccounting_endPlayReturnValue; +extern DWORD_PTR AllnetAuth_getCountryCodeReturnValue; +extern DWORD_PTR AllnetAuth_getLocationIdReturnValue; +extern int AllnetAuth_getLocationNicknamePartCountReturnValue; +extern DWORD_PTR AllnetAuth_getRegionCodeReturnValue; +extern int AllnetAuth_getRegionNamePartCountReturnValue; +extern bool AllnetAuth_isDevelopReturnValue; +extern bool AllnetAuth_isGoodReturnValue; bool CALLPLEB AllnetAuth_isGood(); bool CALLPLEB AllnetAuth_isDevelop(); diff --git a/OpenParrot/src/Functions/Games/APM3/Backup.cpp b/OpenParrot/src/Functions/Games/APM3/Backup.cpp index 3bed60d..9c5ac4f 100644 --- a/OpenParrot/src/Functions/Games/APM3/Backup.cpp +++ b/OpenParrot/src/Functions/Games/APM3/Backup.cpp @@ -3,7 +3,7 @@ #include #include "Functions\Global.h" #include "Backup.h" -//#define _LOGAPM3BACKUP 1 + char* BackupSaveFileName = "save"; char fileBuffer[256]; unsigned int internal_recordCount; @@ -11,6 +11,12 @@ unsigned int internal_recordCount; // Prefill some memory for save pointers, only 2-3 are used typically. Can be made dynamic, but this is for testing and seeing live data rn. static auto backups = new BackupRecord[64]; +// Define default return values here +bool Backup_isSetupSucceededReturnValue = true; +DWORD_PTR Backup_saveRecordReturnValue = 0; +DWORD_PTR Backup_saveRecordByAddressReturnValue = 0; +DWORD_PTR Backup_setupRecordsReturnValue = 0; + BackupRecordStatus CALLPLEB Backup_getRecordStatus(DWORD_PTR recordIndex) { #ifdef _LOGAPM3BACKUP diff --git a/OpenParrot/src/Functions/Games/APM3/Backup.h b/OpenParrot/src/Functions/Games/APM3/Backup.h index df0bfe6..a294009 100644 --- a/OpenParrot/src/Functions/Games/APM3/Backup.h +++ b/OpenParrot/src/Functions/Games/APM3/Backup.h @@ -1,9 +1,6 @@ #pragma once -#ifdef _M_IX86 -#define CALLPLEB __stdcall -#else -#define CALLPLEB __fastcall -#endif +#include "APM3.h" + extern char* BackupSaveFileName; extern char fileBuffer[256]; @@ -21,13 +18,11 @@ enum class BackupRecordStatus BackupRecordStatus_BrokenData = 2, }; -static bool Backup_isSetupSucceededReturnValue = true; - -static DWORD_PTR Backup_saveRecordReturnValue = 0; - -static DWORD_PTR Backup_saveRecordByAddressReturnValue = 0; - -static DWORD_PTR Backup_setupRecordsReturnValue = 0; +// Make return values global +extern bool Backup_isSetupSucceededReturnValue; +extern DWORD_PTR Backup_saveRecordReturnValue; +extern DWORD_PTR Backup_saveRecordByAddressReturnValue; +extern DWORD_PTR Backup_setupRecordsReturnValue; BackupRecordStatus CALLPLEB Backup_getRecordStatus(DWORD_PTR recordIndex); bool CALLPLEB Backup_isSetupSucceeded(); diff --git a/OpenParrot/src/Functions/Games/APM3/Sequence.cpp b/OpenParrot/src/Functions/Games/APM3/Sequence.cpp index e3641c0..a09f9a4 100644 --- a/OpenParrot/src/Functions/Games/APM3/Sequence.cpp +++ b/OpenParrot/src/Functions/Games/APM3/Sequence.cpp @@ -3,11 +3,21 @@ #include #include "Functions\Global.h" #include "Sequence.h" -//#define _LOGAPM3SEQUENCE 1 + +// Define default return values here +bool Sequence_beginPlayReturnValue = true; +bool Sequence_clearBackupReturnValue = false; +bool Sequence_continuePlayReturnValue = true; +bool Sequence_endPlayReturnValue = false; +unsigned int Sequence_getPlayingAimeIdReturnValue = 0; +bool Sequence_isAccountingPlayingReturnValue = false; +bool Sequence_isPlayingReturnValue = false; +bool Sequence_isTestReturnValue = false; + bool CALLPLEB Sequence_beginPlay(SequenceAccountingBegin beginPlay, unsigned int uid, SEQUENCE_PLAY_ERROR_ID* errorID, unsigned long count) { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_beginPlay"); + info(true, "Sequence_beginPlay rv: %u", Sequence_beginPlayReturnValue); #endif return Sequence_beginPlayReturnValue; } @@ -15,7 +25,7 @@ bool CALLPLEB Sequence_beginPlay(SequenceAccountingBegin beginPlay, unsigned int bool CALLPLEB Sequence_clearBackup() { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_clearBackup"); + info(true, "Sequence_clearBackup rv: %u", Sequence_clearBackupReturnValue); #endif return Sequence_clearBackupReturnValue; } @@ -23,15 +33,15 @@ bool CALLPLEB Sequence_clearBackup() bool CALLPLEB Sequence_continuePlay(SequenceAccountingBegin beginPlay, SequenceAccountingEnd endPlay, SEQUENCE_PLAY_ERROR_ID* errorId, unsigned long count) { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_continuePlay"); + info(true, "Sequence_continuePlay rv: %u", Sequence_continuePlayReturnValue); #endif - return true; + return Sequence_continuePlayReturnValue; } bool CALLPLEB Sequence_endPlay(SequenceAccountingEnd endPlay, SEQUENCE_PLAY_ERROR_ID* errorID) { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_endPlay"); + info(true, "Sequence_endPlay rv: %u", Sequence_endPlayReturnValue); #endif return Sequence_endPlayReturnValue; } @@ -53,7 +63,7 @@ SequenceBookkeeping* CALLPLEB Sequence_getBookkeeping() unsigned int CALLPLEB Sequence_getPlayingAimeId() { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_getPlayingAimeId"); + info(true, "Sequence_getPlayingAimeId rv: %u", Sequence_getPlayingAimeIdReturnValue); #endif return Sequence_getPlayingAimeIdReturnValue; } @@ -61,7 +71,7 @@ unsigned int CALLPLEB Sequence_getPlayingAimeId() bool CALLPLEB Sequence_isAccountingPlaying() { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_isAccountingPlaying"); + info(true, "Sequence_isAccountingPlaying rv: %u", Sequence_isAccountingPlayingReturnValue); #endif return Sequence_isAccountingPlayingReturnValue; } @@ -69,7 +79,7 @@ bool CALLPLEB Sequence_isAccountingPlaying() bool CALLPLEB Sequence_isPlaying() { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_isPlaying"); + info(true, "Sequence_isPlaying rv: %u", Sequence_isPlayingReturnValue); #endif return Sequence_isPlayingReturnValue; } @@ -77,7 +87,7 @@ bool CALLPLEB Sequence_isPlaying() bool CALLPLEB Sequence_isTest() { #ifdef _LOGAPM3SEQUENCE - info(true, "Sequence_isTest"); + info(true, "Sequence_isTest rv: %u", Sequence_isTestReturnValue); #endif return Sequence_isTestReturnValue; } diff --git a/OpenParrot/src/Functions/Games/APM3/Sequence.h b/OpenParrot/src/Functions/Games/APM3/Sequence.h index 38b3f12..85859ce 100644 --- a/OpenParrot/src/Functions/Games/APM3/Sequence.h +++ b/OpenParrot/src/Functions/Games/APM3/Sequence.h @@ -1,9 +1,6 @@ #pragma once -#ifdef _M_IX86 -#define CALLPLEB __stdcall -#else -#define CALLPLEB __fastcall -#endif +#include "APM3.h" + struct SequenceAccountingBegin { bool AccountingBeginValid; @@ -27,7 +24,6 @@ enum class SEQUENCE_PLAY_ERROR_ID ACCOUNTING_END, }; - struct SequenceTimeHistogramItem { unsigned int TimeRangeMin; @@ -48,21 +44,15 @@ struct SequenceBookkeeping SequenceTimeHistogramItem TimeHistogram[32]; }; -static bool Sequence_beginPlayReturnValue = true; - -static bool Sequence_clearBackupReturnValue = false; - -static bool Sequence_continuePlayReturnValue = 0; - -static bool Sequence_endPlayReturnValue = false; - -static unsigned int Sequence_getPlayingAimeIdReturnValue = 0; - -static bool Sequence_isAccountingPlayingReturnValue = false; - -static bool Sequence_isPlayingReturnValue = false; - -static bool Sequence_isTestReturnValue = 0; +// Make return values global +extern bool Sequence_beginPlayReturnValue; +extern bool Sequence_clearBackupReturnValue; +extern bool Sequence_continuePlayReturnValue; +extern bool Sequence_endPlayReturnValue; +extern unsigned int Sequence_getPlayingAimeIdReturnValue; +extern bool Sequence_isAccountingPlayingReturnValue; +extern bool Sequence_isPlayingReturnValue; +extern bool Sequence_isTestReturnValue; bool CALLPLEB Sequence_isTest(); bool CALLPLEB Sequence_isPlaying();