From 695fa5f41402152517d179be326319d30b1aa154 Mon Sep 17 00:00:00 2001 From: Nico Giansanti Date: Wed, 7 Jul 2021 01:48:53 +0300 Subject: [PATCH] Add Pengo 1.1 Add Pengo Online 1.1 and include some byte patterns --- OpenParrot/src/Functions/Games/APM3/APM3.cpp | 20 ++++++++++++++++++-- OpenParrot/src/Utility/GameDetect.cpp | 3 +++ OpenParrot/src/Utility/GameID.h | 3 ++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/OpenParrot/src/Functions/Games/APM3/APM3.cpp b/OpenParrot/src/Functions/Games/APM3/APM3.cpp index 84a805e..8482d42 100644 --- a/OpenParrot/src/Functions/Games/APM3/APM3.cpp +++ b/OpenParrot/src/Functions/Games/APM3/APM3.cpp @@ -1021,16 +1021,32 @@ static InitFunction initFunc([]() strcpy(APM3GameId, "SDFH"); __int64 mainModuleBase = (__int64)GetModuleHandle(0); - + /// PATTERNS BELOW // Skip joysticks injector::MakeRET(mainModuleBase + 0x15C5B0); // Skip keyboard injector::MakeRET(mainModuleBase + 0x15CBA0); - injector::MakeRET(mainModuleBase + 0x24CD0); // some print gay + injector::MakeRET(mainModuleBase + 0x24CD0); }, GameID::Pengoe5); +static InitFunction initFuncPengoe511([]() + { + HookAPM3(); + strcpy(APM3GameId, "SDFH"); + + __int64 mainModuleBase = (__int64)GetModuleHandle(0); + + // Skip joysticks + injector::MakeRET(mainModuleBase + 0x16A7C0); // CC 48 89 5C 24 10 48 89 6C 24 18 48 89 74 24 20 57 48 83 EC 40 + // Skip keyboard + injector::MakeRET(mainModuleBase + 0x16ADB0); // 48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 41 54 41 55 41 56 41 57 48 81 EC A0 00 00 00 + + injector::MakeRET(mainModuleBase + 0x24EB0); // 4C 89 44 24 18 4C 89 4C 24 20 53 55 56 57 48 83 EC 38 49 8B F0 48 8D 6C 24 78 48 8B DA 48 8B F9 + + }, GameID::Pengoe511); + static InitFunction initTestFunc([]() { HookAPM3(); diff --git a/OpenParrot/src/Utility/GameDetect.cpp b/OpenParrot/src/Utility/GameDetect.cpp index be0486a..b051136 100644 --- a/OpenParrot/src/Utility/GameDetect.cpp +++ b/OpenParrot/src/Utility/GameDetect.cpp @@ -650,6 +650,9 @@ void GameDetect::DetectCurrentGame() case 0x0f98a7a2: currentGame = GameID::Pengoe5; break; + case 0x3f67d5b2: + currentGame = GameID::Pengoe511; + break; case 0x6fc27eed: // Original case 0x3b3fc3ab: // Other exe currentGame = GameID::VF5Esports; diff --git a/OpenParrot/src/Utility/GameID.h b/OpenParrot/src/Utility/GameID.h index 94c53bc..2137cd4 100644 --- a/OpenParrot/src/Utility/GameID.h +++ b/OpenParrot/src/Utility/GameID.h @@ -103,5 +103,6 @@ enum class GameID GoonyaFighter, PuyoPuyoEsports, SFV, - TappingSkillTest + TappingSkillTest, + Pengoe511 }; \ No newline at end of file