From c30e7739b64f328b599c9c0491f40f3b102d8d67 Mon Sep 17 00:00:00 2001 From: Reaver Date: Fri, 27 Aug 2021 11:13:54 +0300 Subject: [PATCH] Add ALESTE APM3 Add ALESTE APM3 --- OpenParrot/src/Functions/Games/APM3/APM3.cpp | 13 +++++++++++++ OpenParrot/src/Utility/GameDetect.cpp | 3 +++ OpenParrot/src/Utility/GameID.h | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/OpenParrot/src/Functions/Games/APM3/APM3.cpp b/OpenParrot/src/Functions/Games/APM3/APM3.cpp index 61c1231..4f0e9cd 100644 --- a/OpenParrot/src/Functions/Games/APM3/APM3.cpp +++ b/OpenParrot/src/Functions/Games/APM3/APM3.cpp @@ -1050,4 +1050,17 @@ static InitFunction initFuncRollingGunner21([]() injector::MakeJMP(mainModuleBase + 0xB6140, ValidateDongle); }, GameID::RollingGunner21); + +static InitFunction initFuncAleste([]() + { + HookAPM3(); + wcscpy(APM3GameId, L"SDHB"); + + DWORD_PTR mainModuleBase = (DWORD_PTR)GetModuleHandle(0); + + // I am crazy and not care about serial check + injector::MakeJMP(mainModuleBase + 0x13B900, ValidateDongle); + + }, GameID::Aleste); + #endif diff --git a/OpenParrot/src/Utility/GameDetect.cpp b/OpenParrot/src/Utility/GameDetect.cpp index 2f11fcb..856d053 100644 --- a/OpenParrot/src/Utility/GameDetect.cpp +++ b/OpenParrot/src/Utility/GameDetect.cpp @@ -622,6 +622,9 @@ void GameDetect::DetectCurrentGame() case 0x3c367b7b: // Rolling Gunner 2.1 SetGameId(GameID::RollingGunner21, "Rolling Gunner 2.1"); break; + case 0xfcf9c9ce: // ALESTE + SetGameId(GameID::Aleste, "ALESTE"); + break; #endif #ifdef _AMD64_ case 0xf322d053: diff --git a/OpenParrot/src/Utility/GameID.h b/OpenParrot/src/Utility/GameID.h index 055688c..832e35b 100644 --- a/OpenParrot/src/Utility/GameID.h +++ b/OpenParrot/src/Utility/GameID.h @@ -116,5 +116,6 @@ enum class GameID GGS, Umifresh, RollingGunner20, - RollingGunner21 + RollingGunner21, + Aleste }; \ No newline at end of file