Someone order me popeyes

This commit is contained in:
Gray
2024-03-16 23:17:09 -04:00
parent bf5fd426c6
commit 07a6569f4a
6 changed files with 39 additions and 8 deletions

View File

@@ -419,7 +419,7 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game
if (Fortnite_Season == 7) if (Fortnite_Season == 7)
{ {
ShowFoundation(FindObject<AActor>("/Game/Athena/Maps/Athena_POI_Foundations.Athena_POI_Foundations.PersistentLevel.LF_Athena_POI_25x36")); // Polar Peak ShowFoundation(FindObject<AActor>("/Game/Athena/Maps/Athena_POI_Foundations.Athena_POI_Foundations.PersistentLevel.LF_Athena_POI_25x36")); // Polar Peak
ShowFoundation(FindObject<AActor>("/Game/Athena/Maps/Athena_POI_Foundations.Athena_POI_Foundations.PersistentLevel.ShopsNew")); // Tilted Tower Shops, is this 7.40 specific? ShowFoundation(FindObject<AActor>("/Game/Athena/Maps/Athena_POI_Foundations.Athena_POI_Foundations.PersistentLevel.ShopsNew")); // Tilted Tower Shops, is this 7.40 specific? (not on 7.20)
} }
// not sure what other build is needed idrc // not sure what other build is needed idrc
else if (Fortnite_Season == 8 || Fortnite_Version == 9.10) else if (Fortnite_Season == 8 || Fortnite_Version == 9.10)

View File

@@ -521,6 +521,8 @@ void Offsets::Print()
LOG_INFO(LogDev, "Func: 0x{:x}", Func); LOG_INFO(LogDev, "Func: 0x{:x}", Func);
LOG_INFO(LogDev, "ServerReplicateActors: 0x{:x}", ServerReplicateActors); LOG_INFO(LogDev, "ServerReplicateActors: 0x{:x}", ServerReplicateActors);
LOG_INFO(LogDev, "ReplicationFrame: 0x{:x}", ReplicationFrame); LOG_INFO(LogDev, "ReplicationFrame: 0x{:x}", ReplicationFrame);
LOG_INFO(LogDev, "ClientWorldPackageName: 0x{:x}", ClientWorldPackageName);
LOG_INFO(LogDev, "NetworkObjectList: 0x{:x}", NetworkObjectList);
LOG_INFO(LogDev, "Script: 0x{:x}", Script); LOG_INFO(LogDev, "Script: 0x{:x}", Script);
LOG_INFO(LogDev, "PropertyClass: 0x{:x}", PropertyClass); LOG_INFO(LogDev, "PropertyClass: 0x{:x}", PropertyClass);
} }

View File

@@ -1148,7 +1148,7 @@ DWORD WINAPI Main(LPVOID)
AFortWeapon::ServerReleaseWeaponAbilityHook, (PVOID*)&AFortWeapon::ServerReleaseWeaponAbilityOriginal, false, true); AFortWeapon::ServerReleaseWeaponAbilityHook, (PVOID*)&AFortWeapon::ServerReleaseWeaponAbilityOriginal, false, true);
Hooking::MinHook::Hook(FindObject<UKismetSystemLibrary>(L"/Script/Engine.Default__KismetSystemLibrary"), FindObject<UFunction>(L"/Script/Engine.KismetSystemLibrary.PrintString"), Hooking::MinHook::Hook(FindObject<UKismetSystemLibrary>(L"/Script/Engine.Default__KismetSystemLibrary"), FindObject<UFunction>(L"/Script/Engine.KismetSystemLibrary.PrintString"),
UKismetSystemLibrary::PrintStringHook, (PVOID*)&UKismetSystemLibrary::PrintStringOriginal, false, true); UKismetSystemLibrary::PrintStringHook, (PVOID*)&UKismetSystemLibrary::PrintStringOriginal, false, true); // todo FortShippingLog
Hooking::MinHook::Hook((PVOID)Addresses::GetSquadIdForCurrentPlayer, (PVOID)AFortGameSessionDedicatedAthena::GetSquadIdForCurrentPlayerHook); Hooking::MinHook::Hook((PVOID)Addresses::GetSquadIdForCurrentPlayer, (PVOID)AFortGameSessionDedicatedAthena::GetSquadIdForCurrentPlayerHook);

View File

@@ -594,7 +594,7 @@ static inline std::string GetEventName()
return ""; return "";
} }
static inline void LoadEvent(bool* bWereAllSuccessful = nullptr) static inline void LoadEvent(bool* bWereAllSuccessful = nullptr) // did i forget return values existed
{ {
if (bWereAllSuccessful) if (bWereAllSuccessful)
*bWereAllSuccessful = false; *bWereAllSuccessful = false;
@@ -638,7 +638,26 @@ static inline void LoadEvent(bool* bWereAllSuccessful = nullptr)
return; // GetEventLoader handles the printing return; // GetEventLoader handles the printing
} }
if (Fortnite_Version == 7.20)
{
static auto LoadMooneyMapOffset = Loader->GetOffset("LoadMooneyMap");
static auto OnRep_LoadMooneyMapFn = FindObject<UFunction>("/Game/Athena/Prototype/Blueprints/Mooney/BP_MooneyLoader.BP_MooneyLoader_C.OnRep_LoadMooneyMap");
if (LoadMooneyMapOffset == -1 || !OnRep_LoadMooneyMapFn)
{
if (bWereAllSuccessful)
*bWereAllSuccessful = false;
return;
}
Loader->Get<bool>(LoadMooneyMapOffset) = true;
Loader->ProcessEvent(OnRep_LoadMooneyMapFn);
}
else
{
Loader->ProcessEvent(LoaderFunction, &OurEvent.AdditionalLoaderParams); Loader->ProcessEvent(LoaderFunction, &OurEvent.AdditionalLoaderParams);
}
} }
static inline bool CallOnReadys(bool* bWereAllSuccessful = nullptr) static inline bool CallOnReadys(bool* bWereAllSuccessful = nullptr)

View File

@@ -859,8 +859,18 @@ static inline uint64 FindNoMCP()
return 0; return 0;
auto scanner = Memcury::Scanner(__int64(fn->GetFunc())); auto scanner = Memcury::Scanner(__int64(fn->GetFunc()));
auto noMcpIthink = Memcury::Scanner(FindBytes(scanner, { 0xE8 })).RelativeOffset(1).Get(); // GetFunctionIdxOrPtr(fn); auto noMcpIthink = Memcury::Scanner(FindBytes(scanner, { 0xE8 })).RelativeOffset(1); // GetFunctionIdxOrPtr(fn);
return noMcpIthink;
if (noMcpIthink.Get())
{
if (*noMcpIthink.GetAs<uint8_t*>() == 0xE8 || *noMcpIthink.GetAs<uint8_t*>() == 0xE9) // ex 7.20
{
LOG_INFO(LogDev, "Weird MCP thing!");
noMcpIthink.RelativeOffset(1); // we are in the weird thing that compiler does when the func is just in a jmp
}
}
return noMcpIthink.Get();
if (Engine_Version == 421 || Engine_Version == 422) if (Engine_Version == 421 || Engine_Version == 422)
return Memcury::Scanner::FindPattern("E8 ? ? ? ? 84 C0 75 CE").RelativeOffset(1).Get(); return Memcury::Scanner::FindPattern("E8 ? ? ? ? 84 C0 75 CE").RelativeOffset(1).Get();

View File

@@ -711,13 +711,13 @@ static inline void MainUI()
SetIsLategame(bWillBeLategame); SetIsLategame(bWillBeLategame);
} }
ImGui::Text(std::format("Joinable {}", Globals::bStartedListening).c_str());
if (!Globals::bStartedListening) // hm if (!Globals::bStartedListening) // hm
{ {
ImGui::SliderInt("Players required to start the match", &WarmupRequiredPlayerCount, 1, 100); ImGui::SliderInt("Players required to start the match", &WarmupRequiredPlayerCount, 1, 100);
} }
ImGui::Text(std::format("Joinable {}", Globals::bStartedListening).c_str());
static std::string ConsoleCommand; static std::string ConsoleCommand;
ImGui::InputText("Console command", &ConsoleCommand); ImGui::InputText("Console command", &ConsoleCommand);