diff --git a/Project Reboot 3.0/FortGameModeAthena.cpp b/Project Reboot 3.0/FortGameModeAthena.cpp index 404c9e3..de57792 100644 --- a/Project Reboot 3.0/FortGameModeAthena.cpp +++ b/Project Reboot 3.0/FortGameModeAthena.cpp @@ -273,9 +273,12 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game LOG_INFO(LogDev, "Presetup!"); - SetupAIGoalManager(); - SetupAIDirector(); - SetupServerBotManager(); + if (false) + { + SetupAIGoalManager(); + SetupAIDirector(); + SetupServerBotManager(); + } // SetupNavConfig(UKismetStringLibrary::Conv_StringToName(L"MANG")); /* @@ -564,6 +567,8 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game GameState->Get(DefaultRebootMachineHotfixOffset) = 1; // idk i dont think we need to set } + LOG_INFO(LogDev, "Finished presetup!"); + Globals::bInitializedPlaylist = true; } @@ -625,7 +630,7 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game LOG_INFO(LogDev, "Initializing!"); - if (std::floor(Fortnite_Version) == 3) + if (Fortnite_Version == 3) SetPlaylist(GetPlaylistToUse(), true); LOG_INFO(LogDev, "GameMode 0x{:x}", __int64(GameMode)); diff --git a/Project Reboot 3.0/addresses.cpp b/Project Reboot 3.0/addresses.cpp index 5b6e8ba..559e8fa 100644 --- a/Project Reboot 3.0/addresses.cpp +++ b/Project Reboot 3.0/addresses.cpp @@ -559,7 +559,7 @@ std::vector Addresses::GetFunctionsToNull() toNull.push_back(Memcury::Scanner::FindPattern("48 89 54 24 ? 48 89 4C 24 ? 55 53 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 8B 41 08 C1 E8 05").Get()); // Widget class } - if (Fortnite_Version > 2.5 && Engine_Version == 420) + if (Fortnite_Version > 3.2 && Engine_Version == 420) { toNull.push_back(Memcury::Scanner::FindPattern("48 8B C4 57 48 81 EC ? ? ? ? 4C 8B 82 ? ? ? ? 48 8B F9 0F 29 70 E8 0F 29 78 D8").Get()); // Pawn Overlap // toNull.push_back(Memcury::Scanner::FindPattern("E8 ? ? ? ? EB 26 40 38 3D ? ? ? ?").RelativeOffset(1).Get()); // collectgarbage diff --git a/Project Reboot 3.0/ai.h b/Project Reboot 3.0/ai.h index 0e2a579..739b672 100644 --- a/Project Reboot 3.0/ai.h +++ b/Project Reboot 3.0/ai.h @@ -146,6 +146,9 @@ static void SetupAIGoalManager() static auto AIGoalManagerClass = FindObject(L"/Script.FortniteGame.FortAIGoalManager"); + if (!AIGoalManagerClass) + return; + LOG_INFO(LogDev, "AIGoalManager Before: {}", __int64(GameMode->Get(AIGoalManagerOffset))); if (!GameMode->Get(AIGoalManagerOffset)) diff --git a/Project Reboot 3.0/die.h b/Project Reboot 3.0/die.h index 570dd33..755af24 100644 --- a/Project Reboot 3.0/die.h +++ b/Project Reboot 3.0/die.h @@ -8,7 +8,7 @@ #include "DataTableFunctionLibrary.h" #include "FortPlaysetItemDefinition.h" -static inline void (*SetZoneToIndexOriginal)(AFortGameModeAthena* GameModeAthena, int OverridePhaseMaybeIDFK); +extern inline void (*SetZoneToIndexOriginal)(AFortGameModeAthena* GameModeAthena, int OverridePhaseMaybeIDFK) = nullptr; void SetZoneToIndexHook(AFortGameModeAthena* GameModeAthena, int OverridePhaseMaybeIDFK); diff --git a/Project Reboot 3.0/finder.cpp b/Project Reboot 3.0/finder.cpp index 0e5f49c..879c0d8 100644 --- a/Project Reboot 3.0/finder.cpp +++ b/Project Reboot 3.0/finder.cpp @@ -150,10 +150,12 @@ uint64 ApplyGameSessionPatch() return 0; } + LOG_INFO(LogDev, "ByteToPatch: 0x{:x}", __int64(ByteToPatch) - __int64(GetModuleHandleW(0))); + DWORD dwProtection; VirtualProtect((PVOID)ByteToPatch, 1, PAGE_EXECUTE_READWRITE, &dwProtection); - *ByteToPatch = 0x85; + *ByteToPatch = 0x85; // jz -> jnz DWORD dwTemp; VirtualProtect((PVOID)ByteToPatch, 1, dwProtection, &dwTemp);