diff --git a/Project Reboot 3.0/FortGameModeAthena.cpp b/Project Reboot 3.0/FortGameModeAthena.cpp index 4996dab..4eb735c 100644 --- a/Project Reboot 3.0/FortGameModeAthena.cpp +++ b/Project Reboot 3.0/FortGameModeAthena.cpp @@ -986,6 +986,19 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game LOG_INFO(LogDev, "bShouldUseReplicationGraph: {}", Globals::bShouldUseReplicationGraph); + if (Fortnite_Version >= 2.42 && Fortnite_Version < 3.4) + { + static auto FortHLODSMActorClass = FindObject("/Script/FortniteGame.FortHLODSMActor"); + auto FortHLODSMActors = UGameplayStatics::GetAllActorsOfClass(GetWorld(), FortHLODSMActorClass); + + for (int i = 0; i < FortHLODSMActors.Num(); ++i) + { + FortHLODSMActors.at(i)->K2_DestroyActor(); + } + + LOG_INFO(LogDev, "Destroyed HLODs!"); + } + Globals::bStartedListening = true; } diff --git a/Project Reboot 3.0/FortPlayerController.cpp b/Project Reboot 3.0/FortPlayerController.cpp index df2df49..6151ac4 100644 --- a/Project Reboot 3.0/FortPlayerController.cpp +++ b/Project Reboot 3.0/FortPlayerController.cpp @@ -1793,7 +1793,7 @@ void AFortPlayerController::ServerEndEditingBuildingActorHook(AFortPlayerControl FGuid EditToolGuid = EditToolInstance->GetItemEntry()->GetItemGuid(); // Should we ref? -#if 1 +#if 0 EditTool = Cast(Pawn->EquipWeaponDefinition(EditToolDef, EditToolGuid)); // ERM #else Cast(Pawn->EquipWeaponDefinition(EditToolDef, EditToolGuid)); // ERM diff --git a/Project Reboot 3.0/Project Reboot 3.0.vcxproj.filters b/Project Reboot 3.0/Project Reboot 3.0.vcxproj.filters index 2b45796..841b174 100644 --- a/Project Reboot 3.0/Project Reboot 3.0.vcxproj.filters +++ b/Project Reboot 3.0/Project Reboot 3.0.vcxproj.filters @@ -961,7 +961,8 @@ Engine\Source\Runtime\Engine\Classes\Engine - + + Reboot\Public diff --git a/Project Reboot 3.0/dllmain.cpp b/Project Reboot 3.0/dllmain.cpp index d094f71..6636a55 100644 --- a/Project Reboot 3.0/dllmain.cpp +++ b/Project Reboot 3.0/dllmain.cpp @@ -212,7 +212,7 @@ void ActivatePhaseAtIndexHook(UObject* SpecialEventScript, int Index) static auto OnRep_ReplicatedActivePhaseIndexFn = FindObject("/Script/SpecialEventGameplayRuntime.SpecialEventScript.OnRep_ReplicatedActivePhaseIndex"); SpecialEventScript->ProcessEvent(OnRep_ReplicatedActivePhaseIndexFn); - auto ClientConnections = GetWorld()->GetNetDriver()->GetClientConnections(); + auto& ClientConnections = GetWorld()->GetNetDriver()->GetClientConnections(); // Rift Tour if (Fortnite_Version == 17.30) @@ -248,11 +248,11 @@ void ActivatePhaseAtIndexHook(UObject* SpecialEventScript, int Index) } if (Index == 2) // Slide { - auto Script = FindObject("/Buffet/Levels/Buffet_Part_4.Buffet_Part_4.PersistentLevel.BP_Buffet_PhaseScripting_Paint_4"); + auto Script = FindObject(L"/Buffet/Levels/Buffet_Part_4.Buffet_Part_4.PersistentLevel.BP_Buffet_PhaseScripting_Paint_4"); auto SplineActor = Script->Get(Script->GetOffset("SplineActor")); auto PawnLocation = Script->Get(Script->GetOffset("PawnLocation")) = SplineActor; - auto AllWrapsSpawners = UGameplayStatics::GetAllActorsOfClass(GetWorld(), FindObject("/Script/SpecialEventGameplayRuntime.FortSpecialRelevancyActorSpawner")); + auto AllWrapsSpawners = UGameplayStatics::GetAllActorsOfClass(GetWorld(), FindObject(L"/Script/SpecialEventGameplayRuntime.FortSpecialRelevancyActorSpawner")); for (int i = 0; i < AllWrapsSpawners.Num(); i++) { @@ -266,11 +266,11 @@ void ActivatePhaseAtIndexHook(UObject* SpecialEventScript, int Index) if (CurrentWrapSpawner->GetName().contains("WrapChangePickup")) { - ClassToSpawn = FindObject("/Buffet/Gameplay/Blueprints/WrapWorldPrototype/BP_Buffet_Paint_WrapChangePickup.BP_Buffet_Paint_WrapChangePickup_C"); + ClassToSpawn = FindObject(L"/Buffet/Gameplay/Blueprints/WrapWorldPrototype/BP_Buffet_Paint_WrapChangePickup.BP_Buffet_Paint_WrapChangePickup_C"); } else if (CurrentWrapSpawner->GetName().contains("Paint_Pickup")) { - ClassToSpawn = FindObject("/Buffet/Gameplay/Blueprints/WrapWorldPrototype/BP_Buffet_Paint_Pickup.BP_Buffet_Paint_Pickup_C"); + ClassToSpawn = FindObject(L"/Buffet/Gameplay/Blueprints/WrapWorldPrototype/BP_Buffet_Paint_Pickup.BP_Buffet_Paint_Pickup_C"); } auto SpawnedWrap = GetWorld()->SpawnActor(ClassToSpawn, WrapSpawnerLocation, WrapSpawnerRotation.Quaternion(), FVector(1, 1, 1), CreateSpawnParameters(ESpawnActorCollisionHandlingMethod::AlwaysSpawn, true, nullptr)); @@ -292,8 +292,8 @@ void ActivatePhaseAtIndexHook(UObject* SpecialEventScript, int Index) for (int i = 0; i < ClientConnections.Num(); i++) { - auto CurrentPawn = ClientConnections.At(i)->GetPlayerController()->GetPawn(); auto CurrentController = ClientConnections.At(i)->GetPlayerController(); + auto CurrentPawn = ClientConnections.At(i)->GetPlayerController()->GetPawn(); if (!CurrentPawn) continue; @@ -368,7 +368,7 @@ void ActivatePhaseAtIndexHook(UObject* SpecialEventScript, int Index) SendMessageToConsole(CurrentController, L"Gave WID_Buffet_BeatMatchingBoomBox!"); } - auto AllWeps = UGameplayStatics::GetAllActorsOfClass(GetWorld(), FindObject("/Buffet/Gameplay/Blueprints/WolfMother/BeatmatchingWeapon/B_Buffet_BeatMatchingWeaponPrototype.B_Buffet_BeatMatchingWeaponPrototype_C")); + auto AllWeps = UGameplayStatics::GetAllActorsOfClass(GetWorld(), FindObject(L"/Buffet/Gameplay/Blueprints/WolfMother/BeatmatchingWeapon/B_Buffet_BeatMatchingWeaponPrototype.B_Buffet_BeatMatchingWeaponPrototype_C")); for (int i = 0; i < AllWeps.Num(); i++) { @@ -382,7 +382,7 @@ void ActivatePhaseAtIndexHook(UObject* SpecialEventScript, int Index) } if (Index == 6) // Ariana { - auto ReflectScript = FindObject("/Buffet/Levels/Buffet_Reflect.Buffet_Reflect:PersistentLevel.BP_Buffet_PhaseScripting_Stars_2"); + auto ReflectScript = FindObject(L"/Buffet/Levels/Buffet_Reflect.Buffet_Reflect:PersistentLevel.BP_Buffet_PhaseScripting_Stars_2"); for (int i = 0; i < ClientConnections.Num(); i++) { diff --git a/Project Reboot 3.0/gui.h b/Project Reboot 3.0/gui.h index f69703a..5ecad51 100644 --- a/Project Reboot 3.0/gui.h +++ b/Project Reboot 3.0/gui.h @@ -1460,6 +1460,7 @@ static inline DWORD WINAPI GuiThread(LPVOID) // Initialize Direct3D if (!CreateDeviceD3D(hwnd)) { + LOG_ERROR(LogDev, "Failed to create D3D Device!"); CleanupDeviceD3D(); ::UnregisterClass(wc.lpszClassName, wc.hInstance); return 1;