Dont mess with the dead

This commit is contained in:
Gray
2024-03-24 21:51:54 -04:00
parent 68ae6d81cb
commit 34b797c083
11 changed files with 45 additions and 16 deletions

View File

@@ -41,7 +41,7 @@ class UStruct : public UField
public:
int GetPropertiesSize();
UStruct* GetSuperStruct() { return *(UStruct**)(__int64(this) + Offsets::SuperStruct); } // idk if this is in UStruct
UStruct* GetSuperStruct() const { return *(UStruct**)(__int64(this) + Offsets::SuperStruct); } // idk if this is in UStruct
TArray<uint8_t> GetScript() { return *(TArray<uint8_t>*)(__int64(this) + Offsets::Script); }
};

View File

@@ -0,0 +1 @@
#pragma once

View File

@@ -6,6 +6,6 @@ void AFortAthenaVehicleSpawner::SpawnVehicleHook(AFortAthenaVehicleSpawner* Vehi
{
// literally doesnt get called!!!!
// LOG_INFO(LogDev, "omgonmg call!!!!\n\n");
LOG_INFO(LogDev, "omgonmg call!!!!\n\n");
// SpawnVehicleFromSpawner(VehicleSpawner);
}

View File

@@ -1490,6 +1490,7 @@ void AFortPlayerController::ClientOnPawnDiedHook(AFortPlayerController* PlayerCo
continue;
PickupCreateData CreateData;
CreateData.PawnOwner = DeadPawn;
CreateData.bToss = true;
CreateData.ItemEntry = ItemEntry;
CreateData.SourceType = EFortPickupSourceTypeFlag::GetPlayerValue();

View File

@@ -78,12 +78,12 @@ class UKismetSystemLibrary : public UObject
public:
static inline void (*PrintStringOriginal)(UObject* Context, FFrame* Stack, void* Ret);
static FString GetPathName(UObject* Object)
static FString GetPathName(const UObject* Object)
{
static auto GetPathNameFunction = FindObject<UFunction>("/Script/Engine.KismetSystemLibrary.GetPathName");
static auto KismetSystemLibrary = FindObject("/Script/Engine.Default__KismetSystemLibrary");
static auto GetPathNameFunction = FindObject<UFunction>(L"/Script/Engine.KismetSystemLibrary.GetPathName");
static auto KismetSystemLibrary = FindObject(L"/Script/Engine.Default__KismetSystemLibrary");
struct { UObject* Object; FString ReturnValue; } GetPathName_Params{ Object };
struct { const UObject* Object; FString ReturnValue; } GetPathName_Params{ Object };
KismetSystemLibrary->ProcessEvent(GetPathNameFunction, &GetPathName_Params);

View File

@@ -2,7 +2,7 @@
bool UNetConnection::ClientHasInitializedLevelFor(const AActor* TestActor) const
{
static auto ClientHasInitializedLevelForAddr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 48 8B 5A 20 48 8B F1 4C 8B C3", false).Get();
static auto ClientHasInitializedLevelForAddr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 48 8B 5A 20 48 8B F1 4C 8B C3", false).Get(); // 2.4.2
if (!ClientHasInitializedLevelForAddr)
{

View File

@@ -456,6 +456,7 @@ bool UNetDriver::IsLevelInitializedForActor(const AActor* InActor, const UNetCon
const bool bCorrectWorld = (bFirstWorldCheck && InConnection->ClientHasInitializedLevelFor(InActor));
const bool bIsConnectionPC = (InActor == InConnection->GetPlayerController());
// LOG_INFO(LogDev, "Finished call {}", bCorrectWorld || bIsConnectionPC);
return bCorrectWorld || bIsConnectionPC;
}
@@ -759,10 +760,8 @@ int32 UNetDriver::ServerReplicateActors()
if (!Channel)
{
// if (!IsLevelInitializedForActor(Actor, Connection))
if (!bLevelInitializedForActor)
{
// If the level this actor belongs to isn't loaded on client, don't bother sending
continue;
}

View File

@@ -119,12 +119,12 @@ void UObject::SetBitfieldValue(int Offset, uint8_t FieldMask, bool NewValue)
SetBitfield(this->GetPtr<PlaceholderBitfield>(Offset), FieldMask, NewValue);
}
std::string UObject::GetPathName()
std::string UObject::GetPathName() const
{
return UKismetSystemLibrary::GetPathName(this).ToString();
}
std::string UObject::GetFullName()
std::string UObject::GetFullName() const
{
return ClassPrivate ? ClassPrivate->GetName() + " " + UKismetSystemLibrary::GetPathName(this).ToString() : "NoClassPrivate";
}
@@ -143,7 +143,7 @@ UPackage* UObject::GetOutermost() const
}
}
bool UObject::IsA(UStruct* otherClass)
bool UObject::IsA(UStruct* otherClass) const
{
UStruct* super = ClassPrivate;

View File

@@ -52,14 +52,14 @@ public:
ProcessEventOriginal(this, Function, Parms);
}
std::string GetName() { return NamePrivate.ToString(); }
std::string GetPathName();
std::string GetFullName();
std::string GetName() const { return NamePrivate.ToString(); }
std::string GetPathName() const;
std::string GetFullName() const;
UObject* GetOuter() const { return OuterPrivate; }
FName GetFName() const { return NamePrivate; }
class UPackage* GetOutermost() const;
bool IsA(class UStruct* Other);
bool IsA(class UStruct* Other) const;
class UFunction* FindFunction(const std::string& ShortFunctionName);
void* GetProperty(const std::string& ChildName, bool bWarnIfNotFound = true);

View File

@@ -343,6 +343,7 @@
<ClInclude Include="FortAthenaMutator.h" />
<ClInclude Include="FortAthenaMutator_Barrier.h" />
<ClInclude Include="FortAthenaMutator_Bots.h" />
<ClInclude Include="FortAthenaMutator_CobaltHighTower.h" />
<ClInclude Include="FortAthenaMutator_Disco.h" />
<ClInclude Include="FortAthenaMutator_GG.h" />
<ClInclude Include="FortAthenaMutator_GiveItemsAtGamePhaseStep.h" />

View File

@@ -987,6 +987,9 @@
<ClInclude Include="botnames.h">
<Filter>Reboot\Public</Filter>
</ClInclude>
<ClInclude Include="FortAthenaMutator_CobaltHighTower.h">
<Filter>FortniteGame\Plugins\GameFeatures\LTM\HighTower_Cobalt\Source\HighTowerCobaltRuntime\Public</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="Engine">
@@ -1259,6 +1262,30 @@
<Filter Include="FortniteGame\Source\FortniteGame\Private\AI">
<UniqueIdentifier>{4aadfbef-7320-4457-9f5c-e5fd53b97367}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins">
<UniqueIdentifier>{2294e6a0-1351-45bb-aeac-f5af8f1b8924}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures">
<UniqueIdentifier>{62d5f8f1-92be-415d-91e1-8006c6d65603}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures\LTM">
<UniqueIdentifier>{2252ad6f-262b-4b66-af0d-6bbb9fd0dc27}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures\LTM\HighTower_Cobalt">
<UniqueIdentifier>{da63f9f5-40a5-4699-8260-a9f7d3dbc5c6}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures\LTM\HighTower_Cobalt\Source">
<UniqueIdentifier>{dc531123-dd74-4244-b84b-9360639fcbe8}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures\LTM\HighTower_Cobalt\Source\HighTowerCobaltRuntime">
<UniqueIdentifier>{becae49a-a48d-4154-bb87-35600e904307}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures\LTM\HighTower_Cobalt\Source\HighTowerCobaltRuntime\Private">
<UniqueIdentifier>{63f563fa-0091-423c-b75b-cbbcad274193}</UniqueIdentifier>
</Filter>
<Filter Include="FortniteGame\Plugins\GameFeatures\LTM\HighTower_Cobalt\Source\HighTowerCobaltRuntime\Public">
<UniqueIdentifier>{e071f31a-5c29-4631-a5fc-1bee4ceed4ae}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="UnrealEngine.cpp">