diff --git a/OpenParrot/src/Functions/Games/APM3/APM3.cpp b/OpenParrot/src/Functions/Games/APM3/APM3.cpp index 451331e..a37963a 100644 --- a/OpenParrot/src/Functions/Games/APM3/APM3.cpp +++ b/OpenParrot/src/Functions/Games/APM3/APM3.cpp @@ -1223,4 +1223,12 @@ static InitFunction initFuncDengekiBunkoFC([]() }, GameID::DengekiBunkoFC); +static InitFunction initFuncBladeStrangesAPM3([]() + { + HookAPM3(L"SDFD"); + + DWORD_PTR mainModuleBase = (DWORD_PTR)GetModuleHandle(0); + + }, GameID::BladeStrangesAPM3); + #endif diff --git a/OpenParrot/src/Functions/Games/Other/Daytona3.cpp b/OpenParrot/src/Functions/Games/Other/Daytona3.cpp index 7fd868b..b2426e9 100644 --- a/OpenParrot/src/Functions/Games/Other/Daytona3.cpp +++ b/OpenParrot/src/Functions/Games/Other/Daytona3.cpp @@ -339,6 +339,10 @@ static InitFunction Daytona3Func([]() { SetCursorPos(20000, 20000); } + else + { + injector::MakeNOP(0x004DBB62, 8); + } std::string FFBDeadzoneString = config["General"]["FFB Deadzone Percent"]; int FFBDeadzone = std::stoi(FFBDeadzoneString); diff --git a/OpenParrot/src/Functions/WindowedDxgi.cpp b/OpenParrot/src/Functions/WindowedDxgi.cpp index b4e8d4b..3dabf3e 100644 --- a/OpenParrot/src/Functions/WindowedDxgi.cpp +++ b/OpenParrot/src/Functions/WindowedDxgi.cpp @@ -2,7 +2,6 @@ #define D3D11_NO_HELPERS #define INITGUID #include -#ifdef _M_AMD64 #include "Utility/InitFunction.h" #pragma optimize("", off) @@ -284,6 +283,11 @@ static InitFunction initFunc([]() if (GameDetect::currentGame == GameID::PokkenTournament || GameDetect::currentGame == GameID::PokkenTournament26 || GameDetect::currentGame == GameID::SchoolOfRagnarok || GameDetect::currentGame == GameID::TER || GameDetect::currentGame == GameID::Tekken7Update00 || GameDetect::currentGame == GameID::SFV) return; +#ifndef _M_AMD64 + // Hook only Daytona on x86 for now + if (GameDetect::currentGame != GameID::Daytona3) + return; +#endif // Make local variables for speed Windowed = ToBool(config["General"]["Windowed"]); @@ -304,5 +308,4 @@ static InitFunction initFunc([]() if (Windowed || FpsLimiterEnable || DisableVSync) InitDXGIWindowHook(); -}); -#endif \ No newline at end of file +}); \ No newline at end of file diff --git a/OpenParrot/src/Utility/GameDetect.cpp b/OpenParrot/src/Utility/GameDetect.cpp index 9eeecc2..40db84e 100644 --- a/OpenParrot/src/Utility/GameDetect.cpp +++ b/OpenParrot/src/Utility/GameDetect.cpp @@ -651,6 +651,9 @@ void GameDetect::DetectCurrentGame() case 0xcf741456: // Update 1 SetGameId(GameID::DengekiBunkoFC, "Dengeki Bunko: Fighting Climax"); break; + case 0xd8dd1127: + SetGameId(GameID::BladeStrangesAPM3, "Blade Strangers APM3"); + break; #endif #ifdef _AMD64_ case 0xf322d053: diff --git a/OpenParrot/src/Utility/GameID.h b/OpenParrot/src/Utility/GameID.h index cf4db21..f093ca8 100644 --- a/OpenParrot/src/Utility/GameID.h +++ b/OpenParrot/src/Utility/GameID.h @@ -131,5 +131,6 @@ enum class GameID Kasiori, GGXRd, BlazBlueCrossTagBattle, - DengekiBunkoFC + DengekiBunkoFC, + BladeStrangesAPM3 }; \ No newline at end of file