fix practically every version since i broke it last commit

This commit is contained in:
Milxnor
2023-03-24 07:32:58 -04:00
parent 7d21fef63a
commit 907650ef85
12 changed files with 37 additions and 38 deletions

View File

@@ -33,9 +33,9 @@ void UAthenaMarkerComponent::ServerAddMapMarkerHook(UAthenaMarkerComponent* Mark
MarkerData->GetMarkerType() = MarkerRequestPtr->GetMarkerType(); MarkerData->GetMarkerType() = MarkerRequestPtr->GetMarkerType();
MarkerData->GetOwner() = PlayerState; MarkerData->GetOwner() = PlayerState;
MarkerData->GetWorldNormal() = MarkerRequestPtr->GetWorldNormal(); MarkerData->GetWorldNormal() = MarkerRequestPtr->GetWorldNormal();
if (WorldPositionOffset != 0) if (WorldPositionOffset != -1)
MarkerData->GetWorldPosition() = MarkerRequestPtr->GetWorldPosition(); MarkerData->GetWorldPosition() = MarkerRequestPtr->GetWorldPosition();
if (WorldPositionOffset != 0) if (WorldPositionOffset != -1)
MarkerData->GetWorldPositionOffset() = MarkerRequestPtr->GetWorldPositionOffset(); MarkerData->GetWorldPositionOffset() = MarkerRequestPtr->GetWorldPositionOffset();
MarkerData->GetMarkerID() = MarkerID; MarkerData->GetMarkerID() = MarkerID;
MarkerData->GetMarkedActorClass().SoftObjectPtr.WeakPtr.ObjectIndex = -1; MarkerData->GetMarkedActorClass().SoftObjectPtr.WeakPtr.ObjectIndex = -1;

View File

@@ -41,7 +41,7 @@ public:
static auto TeamIndexOffset = GetOffset("TeamIndex", false); static auto TeamIndexOffset = GetOffset("TeamIndex", false);
if (TeamIndexOffset != 0) if (TeamIndexOffset != -1)
Get<uint8_t>(TeamIndexOffset) = InTeam; Get<uint8_t>(TeamIndexOffset) = InTeam;
} }
else else

View File

@@ -30,7 +30,7 @@ public:
{ {
static auto OwningPlayerOffset = GetOffset("OwningPlayer", false); static auto OwningPlayerOffset = GetOffset("OwningPlayer", false);
if (OwningPlayerOffset == 0) if (OwningPlayerOffset == -1)
return nullptr; return nullptr;
return GetPtr<void>(OwningPlayerOffset); return GetPtr<void>(OwningPlayerOffset);

View File

@@ -56,7 +56,7 @@ void ShowFoundation(UObject* BuildingFoundation)
static auto bShowHLODWhenDisabledOffset = BuildingFoundation->GetOffset("bShowHLODWhenDisabled", false); static auto bShowHLODWhenDisabledOffset = BuildingFoundation->GetOffset("bShowHLODWhenDisabled", false);
if (bShowHLODWhenDisabledOffset != 0) if (bShowHLODWhenDisabledOffset != -1)
{ {
static auto bShowHLODWhenDisabledFieldMask = GetFieldMask(BuildingFoundation->GetProperty("bShowHLODWhenDisabled")); static auto bShowHLODWhenDisabledFieldMask = GetFieldMask(BuildingFoundation->GetProperty("bShowHLODWhenDisabled"));
BuildingFoundation->SetBitfieldValue(bShowHLODWhenDisabledOffset, bShowHLODWhenDisabledFieldMask, true); BuildingFoundation->SetBitfieldValue(bShowHLODWhenDisabledOffset, bShowHLODWhenDisabledFieldMask, true);
@@ -67,7 +67,7 @@ void ShowFoundation(UObject* BuildingFoundation)
static auto DynamicFoundationRepDataOffset = BuildingFoundation->GetOffset("DynamicFoundationRepData", false); static auto DynamicFoundationRepDataOffset = BuildingFoundation->GetOffset("DynamicFoundationRepData", false);
if (DynamicFoundationRepDataOffset != 0) if (DynamicFoundationRepDataOffset != -1)
{ {
auto DynamicFoundationRepData = BuildingFoundation->GetPtr<void>(DynamicFoundationRepDataOffset); auto DynamicFoundationRepData = BuildingFoundation->GetPtr<void>(DynamicFoundationRepDataOffset);
@@ -81,7 +81,7 @@ void ShowFoundation(UObject* BuildingFoundation)
static auto FoundationEnabledStateOffset = BuildingFoundation->GetOffset("FoundationEnabledState", false); static auto FoundationEnabledStateOffset = BuildingFoundation->GetOffset("FoundationEnabledState", false);
if (FoundationEnabledStateOffset != 0) if (FoundationEnabledStateOffset != -1)
BuildingFoundation->Get<EDynamicFoundationEnabledState>(FoundationEnabledStateOffset) = EDynamicFoundationEnabledState::Enabled; BuildingFoundation->Get<EDynamicFoundationEnabledState>(FoundationEnabledStateOffset) = EDynamicFoundationEnabledState::Enabled;
} }
@@ -123,7 +123,7 @@ FName AFortGameModeAthena::RedirectLootTier(const FName& LootTier)
{ {
static auto RedirectAthenaLootTierGroupsOffset = this->GetOffset("RedirectAthenaLootTierGroups", false); static auto RedirectAthenaLootTierGroupsOffset = this->GetOffset("RedirectAthenaLootTierGroups", false);
if (RedirectAthenaLootTierGroupsOffset == 0) if (RedirectAthenaLootTierGroupsOffset == -1)
{ {
static auto Loot_TreasureFName = UKismetStringLibrary::Conv_StringToName(L"Loot_Treasure"); static auto Loot_TreasureFName = UKismetStringLibrary::Conv_StringToName(L"Loot_Treasure");
static auto Loot_AmmoFName = UKismetStringLibrary::Conv_StringToName(L"Loot_Ammo"); static auto Loot_AmmoFName = UKismetStringLibrary::Conv_StringToName(L"Loot_Ammo");
@@ -276,7 +276,7 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game
{ {
static auto UpdateMapOffset = Scripting->GetOffset("UpdateMap", false); static auto UpdateMapOffset = Scripting->GetOffset("UpdateMap", false);
if (UpdateMapOffset != 0) if (UpdateMapOffset != -1)
{ {
Scripting->Get<bool>(UpdateMapOffset) = true; Scripting->Get<bool>(UpdateMapOffset) = true;
@@ -386,7 +386,7 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game
{ {
static auto AdditionalLevelsOffset = PlaylistToUse->GetOffset("AdditionalLevels", false); static auto AdditionalLevelsOffset = PlaylistToUse->GetOffset("AdditionalLevels", false);
if (AdditionalLevelsOffset != 0) if (AdditionalLevelsOffset != -1)
{ {
auto& AdditionalLevels = PlaylistToUse->Get<TArray<TSoftObjectPtr<UClass>>>(AdditionalLevelsOffset); auto& AdditionalLevels = PlaylistToUse->Get<TArray<TSoftObjectPtr<UClass>>>(AdditionalLevelsOffset);
@@ -710,7 +710,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
static auto CharacterPartsOffset = PlayerStateAthena->GetOffset("CharacterParts", false); static auto CharacterPartsOffset = PlayerStateAthena->GetOffset("CharacterParts", false);
static auto CustomCharacterPartsStruct = FindObject<UStruct>("/Script/FortniteGame.CustomCharacterParts"); static auto CustomCharacterPartsStruct = FindObject<UStruct>("/Script/FortniteGame.CustomCharacterParts");
if (CharacterPartsOffset != 0) // && CustomCharacterPartsStruct) if (CharacterPartsOffset != -1) // && CustomCharacterPartsStruct)
{ {
auto CharacterParts = PlayerStateAthena->GetPtr<__int64>("CharacterParts"); auto CharacterParts = PlayerStateAthena->GetPtr<__int64>("CharacterParts");
@@ -732,7 +732,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
static auto SquadIdOffset = PlayerStateAthena->GetOffset("SquadId", false); static auto SquadIdOffset = PlayerStateAthena->GetOffset("SquadId", false);
if (SquadIdOffset != 0) if (SquadIdOffset != -1)
PlayerStateAthena->GetSquadId() = PlayerStateAthena->GetTeamIndex() - 2; PlayerStateAthena->GetSquadId() = PlayerStateAthena->GetTeamIndex() - 2;
// idk if this is needed // idk if this is needed
@@ -807,7 +807,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
static auto GameMemberInfoArrayOffset = GameState->GetOffset("GameMemberInfoArray", false); static auto GameMemberInfoArrayOffset = GameState->GetOffset("GameMemberInfoArray", false);
// if (false) // if (false)
// if (GameMemberInfoArrayOffset != 0) // if (GameMemberInfoArrayOffset != -1)
if (Engine_Version >= 423) if (Engine_Version >= 423)
{ {
struct FGameMemberInfo : public FFastArraySerializerItem struct FGameMemberInfo : public FFastArraySerializerItem
@@ -867,7 +867,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
AFortAthenaCreativePortal* Portal = nullptr; AFortAthenaCreativePortal* Portal = nullptr;
if (AvailablePortalsOffset != 0) if (AvailablePortalsOffset != -1)
{ {
auto& AvailablePortals = CreativePortalManager->Get<TArray<AActor*>>(AvailablePortalsOffset); auto& AvailablePortals = CreativePortalManager->Get<TArray<AActor*>>(AvailablePortalsOffset);
@@ -918,7 +918,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
static auto PlayersReadyOffset = Portal->GetOffset("PlayersReady", false); static auto PlayersReadyOffset = Portal->GetOffset("PlayersReady", false);
if (PlayersReadyOffset != 0) if (PlayersReadyOffset != -1)
{ {
auto& PlayersReady = Portal->Get<TArray<FUniqueNetIdRepl>>(PlayersReadyOffset); auto& PlayersReady = Portal->Get<TArray<FUniqueNetIdRepl>>(PlayersReadyOffset);
PlayersReady.AddPtr(PlayerStateUniqueId, FUniqueNetIdRepl::GetSizeOfStruct()); // im not even sure what this is for PlayersReady.AddPtr(PlayerStateUniqueId, FUniqueNetIdRepl::GetSizeOfStruct()); // im not even sure what this is for
@@ -926,7 +926,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
static auto bUserInitiatedLoadOffset = Portal->GetOffset("bUserInitiatedLoad", false); static auto bUserInitiatedLoadOffset = Portal->GetOffset("bUserInitiatedLoad", false);
if (bUserInitiatedLoadOffset != 0) if (bUserInitiatedLoadOffset != -1)
Portal->GetUserInitiatedLoad() = true; Portal->GetUserInitiatedLoad() = true;
Portal->GetInErrorState() = false; Portal->GetInErrorState() = false;
@@ -976,7 +976,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
{ {
static auto QuickBarsOffset = NewPlayer->GetOffset("QuickBars", false); static auto QuickBarsOffset = NewPlayer->GetOffset("QuickBars", false);
if (QuickBarsOffset != 0) if (QuickBarsOffset != -1)
{ {
static auto FortQuickBarsClass = FindObject<UClass>("/Script/FortniteGame.FortQuickBars"); static auto FortQuickBarsClass = FindObject<UClass>("/Script/FortniteGame.FortQuickBars");
NewPlayer->Get<AActor*>(QuickBarsOffset) = GetWorld()->SpawnActor<AActor>(FortQuickBarsClass); NewPlayer->Get<AActor*>(QuickBarsOffset) = GetWorld()->SpawnActor<AActor>(FortQuickBarsClass);

View File

@@ -12,7 +12,7 @@ UObject*& AFortGameStateAthena::GetCurrentPlaylist()
{ {
static auto CurrentPlaylistInfoOffset = GetOffset("CurrentPlaylistInfo", false); static auto CurrentPlaylistInfoOffset = GetOffset("CurrentPlaylistInfo", false);
if (CurrentPlaylistInfoOffset == 0) if (CurrentPlaylistInfoOffset == -1)
{ {
static auto CurrentPlaylistDataOffset = GetOffset("CurrentPlaylistData"); static auto CurrentPlaylistDataOffset = GetOffset("CurrentPlaylistData");
return Get(CurrentPlaylistDataOffset); return Get(CurrentPlaylistDataOffset);

View File

@@ -39,7 +39,7 @@ void UFortKismetLibrary::ApplyCharacterCosmetics(UObject* WorldContextObject, co
static auto CharacterPartsOffset = PlayerState->GetOffset("CharacterParts", false); static auto CharacterPartsOffset = PlayerState->GetOffset("CharacterParts", false);
if (CharacterPartsOffset != 0) if (CharacterPartsOffset != -1)
{ {
auto CharacterPartsPS = PlayerState->GetPtr<__int64>("CharacterParts"); auto CharacterPartsPS = PlayerState->GetPtr<__int64>("CharacterParts");
@@ -123,10 +123,10 @@ void UFortKismetLibrary::GiveItemToInventoryOwnerHook(UObject* Context, FFrame&
LOG_INFO(LogDev, __FUNCTION__); LOG_INFO(LogDev, __FUNCTION__);
if (ItemLevelOffset != 0) if (ItemLevelOffset != -1)
Stack.StepCompiledIn(&ItemLevel); Stack.StepCompiledIn(&ItemLevel);
if (PickupInstigatorHandleOffset != 0) if (PickupInstigatorHandleOffset != -1)
Stack.StepCompiledIn(&PickupInstigatorHandle); Stack.StepCompiledIn(&PickupInstigatorHandle);
if (!ItemDefinition) if (!ItemDefinition)
@@ -395,7 +395,7 @@ bool UFortKismetLibrary::PickLootDropsHook(UObject* Context, FFrame& Stack, bool
int WorldLevel; // (ConstParm, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int WorldLevel; // (ConstParm, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
int ForcedLootTier; // (ConstParm, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic) int ForcedLootTier; // (ConstParm, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
if (WorldContextObjectOffset != 0) if (WorldContextObjectOffset != -1)
Stack.StepCompiledIn(&WorldContextObject); Stack.StepCompiledIn(&WorldContextObject);
auto& OutLootToDrop = Stack.StepCompiledInRef<TArray<FFortItemEntry>>(&OutLootToDropTempBuf); auto& OutLootToDrop = Stack.StepCompiledInRef<TArray<FFortItemEntry>>(&OutLootToDropTempBuf);

View File

@@ -49,10 +49,10 @@ public:
{ {
static auto CosmeticLoadoutPCOffset = this->GetOffset("CosmeticLoadoutPC", false); static auto CosmeticLoadoutPCOffset = this->GetOffset("CosmeticLoadoutPC", false);
if (CosmeticLoadoutPCOffset == 0) if (CosmeticLoadoutPCOffset == -1)
CosmeticLoadoutPCOffset = this->GetOffset("CustomizationLoadout"); CosmeticLoadoutPCOffset = this->GetOffset("CustomizationLoadout");
if (CosmeticLoadoutPCOffset == 0) if (CosmeticLoadoutPCOffset == -1)
return nullptr; return nullptr;
auto CosmeticLoadout = this->GetPtr<FFortAthenaLoadout>(CosmeticLoadoutPCOffset); auto CosmeticLoadout = this->GetPtr<FFortAthenaLoadout>(CosmeticLoadoutPCOffset);

View File

@@ -9,7 +9,7 @@ void UNetDriver::TickFlushHook(UNetDriver* NetDriver)
{ {
static auto ReplicationDriverOffset = NetDriver->GetOffset("ReplicationDriver", false); static auto ReplicationDriverOffset = NetDriver->GetOffset("ReplicationDriver", false);
if (ReplicationDriverOffset == 0) if (ReplicationDriverOffset == -1)
{ {
NetDriver->ServerReplicateActors(); NetDriver->ServerReplicateActors();
} }

View File

@@ -52,7 +52,7 @@ void* UObject::GetProperty(const std::string& ChildName, bool bWarnIfNotFound)
if (bWarnIfNotFound) if (bWarnIfNotFound)
LOG_WARN(LogFinder, "Unable to find0{}", ChildName); LOG_WARN(LogFinder, "Unable to find0{}", ChildName);
return 0; return nullptr;
} }
int UObject::GetOffset(const std::string& ChildName, bool bWarnIfNotFound) int UObject::GetOffset(const std::string& ChildName, bool bWarnIfNotFound)
@@ -60,7 +60,7 @@ int UObject::GetOffset(const std::string& ChildName, bool bWarnIfNotFound)
auto Property = GetProperty(ChildName, bWarnIfNotFound); auto Property = GetProperty(ChildName, bWarnIfNotFound);
if (!Property) if (!Property)
return 0; return -1;
return *(int*)(__int64(Property) + Offsets::Offset_Internal); return *(int*)(__int64(Property) + Offsets::Offset_Internal);
} }

View File

@@ -6,7 +6,7 @@ int& APlayerState::GetPlayerID()
{ {
static auto PlayerIDOffset = FindOffsetStruct("/Script/Engine.PlayerState", "PlayerID", false); static auto PlayerIDOffset = FindOffsetStruct("/Script/Engine.PlayerState", "PlayerID", false);
if (PlayerIDOffset == 0) if (PlayerIDOffset == -1)
{ {
static auto PlayerIdOffset = FindOffsetStruct("/Script/Engine.PlayerState", "PlayerId", false); static auto PlayerIdOffset = FindOffsetStruct("/Script/Engine.PlayerState", "PlayerId", false);
return Get<int>(PlayerIdOffset); return Get<int>(PlayerIdOffset);

View File

@@ -270,7 +270,7 @@ inline int FindOffsetStruct(const std::string& StructName, const std::string& Me
if (bWarnIfNotFound) if (bWarnIfNotFound)
LOG_WARN(LogFinder, "Unable to find1 {}", MemberName); LOG_WARN(LogFinder, "Unable to find1 {}", MemberName);
return 0; return -1;
} }
static void CopyStruct(void* Dest, void* Src, size_t Size) static void CopyStruct(void* Dest, void* Src, size_t Size)
@@ -319,9 +319,7 @@ static UObject* GetPlaylistToUse()
auto Playlist = FindObject("/Game/Athena/Playlists/Playlist_DefaultSolo.Playlist_DefaultSolo"); auto Playlist = FindObject("/Game/Athena/Playlists/Playlist_DefaultSolo.Playlist_DefaultSolo");
// Playlist = FindObject("/BlueCheese/Playlists/Playlist_ShowdownAlt_BlueCheese_Trios.Playlist_ShowdownAlt_BlueCheese_Trios"); // Playlist = FindObject("/BlueCheese/Playlists/Playlist_ShowdownAlt_BlueCheese_Trios.Playlist_ShowdownAlt_BlueCheese_Trios");
/* /* if (Globals::bGoingToPlayEvent)
if (Globals::bGoingToPlayEvent)
{ {
if (Fortnite_Version != 12.61) if (Fortnite_Version != 12.61)
{ {
@@ -337,8 +335,9 @@ static UObject* GetPlaylistToUse()
Playlist = EventPlaylist; Playlist = EventPlaylist;
} }
} }
} } */
*/
// SET OVERRIDE PLAYLIST DOWN HERE
// Playlist = FindObject("/Game/Athena/Playlists/Playground/Playlist_Playground.Playlist_Playground"); // Playlist = FindObject("/Game/Athena/Playlists/Playground/Playlist_Playground.Playlist_Playground");

View File

@@ -129,7 +129,7 @@ static inline AActor* SpawnVehicleFromSpawner(AActor* VehicleSpawner)
static auto VehicleClassOffset = VehicleSpawner->GetOffset("VehicleClass", false); static auto VehicleClassOffset = VehicleSpawner->GetOffset("VehicleClass", false);
if (VehicleClassOffset != 0) // 10.40 and below? if (VehicleClassOffset != -1) // 10.40 and below?
{ {
auto& SoftVehicleClass = VehicleSpawner->Get<TSoftObjectPtr<UClass>>(VehicleClassOffset); auto& SoftVehicleClass = VehicleSpawner->Get<TSoftObjectPtr<UClass>>(VehicleClassOffset);
auto StrongVehicleClass = SoftVehicleClass.Get(); auto StrongVehicleClass = SoftVehicleClass.Get();
@@ -146,7 +146,7 @@ static inline AActor* SpawnVehicleFromSpawner(AActor* VehicleSpawner)
static auto FortVehicleItemDefOffset = VehicleSpawner->GetOffset("FortVehicleItemDef"); static auto FortVehicleItemDefOffset = VehicleSpawner->GetOffset("FortVehicleItemDef");
if (FortVehicleItemDefOffset == 0) if (FortVehicleItemDefOffset == -1)
return nullptr; return nullptr;
auto& SoftFortVehicleItemDef = VehicleSpawner->Get<TSoftObjectPtr<UFortItemDefinition>>(FortVehicleItemDefOffset); auto& SoftFortVehicleItemDef = VehicleSpawner->Get<TSoftObjectPtr<UFortItemDefinition>>(FortVehicleItemDefOffset);
@@ -202,7 +202,7 @@ static inline void SpawnVehicles()
static auto VIDClass = FindObject<UClass>("/Script/FortniteGame.FortVehicleItemDefinition"); static auto VIDClass = FindObject<UClass>("/Script/FortniteGame.FortVehicleItemDefinition");
if (FortVehicleItemDefVariantsOffset != 0) if (FortVehicleItemDefVariantsOffset != -1)
{ {
struct FVehicleWeightedDef struct FVehicleWeightedDef
{ {
@@ -250,7 +250,7 @@ static inline void SpawnVehicles()
{ {
static auto FortVehicleItemDefOffset = VehicleSpawner->GetOffset("FortVehicleItemDef"); static auto FortVehicleItemDefOffset = VehicleSpawner->GetOffset("FortVehicleItemDef");
if (FortVehicleItemDefOffset == 0) if (FortVehicleItemDefOffset == -1)
{ {
} }