mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 02:42:22 +01:00
fix nmt swpa
This commit is contained in:
@@ -9,6 +9,11 @@
|
|||||||
struct FMemory
|
struct FMemory
|
||||||
{
|
{
|
||||||
static inline void* (*Realloc)(void* Original, SIZE_T Count, uint32_t Alignment /* = DEFAULT_ALIGNMENT */);
|
static inline void* (*Realloc)(void* Original, SIZE_T Count, uint32_t Alignment /* = DEFAULT_ALIGNMENT */);
|
||||||
|
|
||||||
|
static void Free(void* Address)
|
||||||
|
{
|
||||||
|
Realloc(Address, 0, 0);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T = __int64>
|
template <typename T = __int64>
|
||||||
@@ -330,7 +335,7 @@ public:
|
|||||||
{
|
{
|
||||||
if (true)
|
if (true)
|
||||||
{
|
{
|
||||||
static void (*FreeOriginal)(void* Original) = decltype(FreeOriginal)(Addresses::Free);
|
static void (*FreeOriginal)(void* Original) = decltype(FreeOriginal)(0);
|
||||||
|
|
||||||
if (FreeOriginal)
|
if (FreeOriginal)
|
||||||
FreeOriginal(Data);
|
FreeOriginal(Data);
|
||||||
|
|||||||
@@ -88,10 +88,7 @@ struct PickupCreateData
|
|||||||
|
|
||||||
if (bUseFMemoryRealloc)
|
if (bUseFMemoryRealloc)
|
||||||
{
|
{
|
||||||
static void (*FreeOriginal)(void* Original) = decltype(FreeOriginal)(Addresses::Free);
|
FMemory::Free(ItemEntry);
|
||||||
|
|
||||||
if (FreeOriginal)
|
|
||||||
FreeOriginal(ItemEntry);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -837,8 +837,8 @@ int32 UNetDriver::ServerReplicateActors()
|
|||||||
|
|
||||||
if (!Channel)
|
if (!Channel)
|
||||||
{
|
{
|
||||||
if (!Offsets::IsNetRelevantFor
|
if (// !Offsets::IsNetRelevantFor &&
|
||||||
&& Actor->IsA(APlayerController::StaticClass()) && Actor != Connection->GetPlayerController()) // isnetrelevantfor should handle this iirc
|
Actor->IsA(APlayerController::StaticClass()) && Actor != Connection->GetPlayerController()) // isnetrelevantfor should handle this iirc
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (bLevelInitializedForActor)
|
if (bLevelInitializedForActor)
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ namespace Addresses
|
|||||||
extern inline uint64 RemoveFromAlivePlayers = 0;
|
extern inline uint64 RemoveFromAlivePlayers = 0;
|
||||||
extern inline uint64 ActorChannelClose = 0;
|
extern inline uint64 ActorChannelClose = 0;
|
||||||
extern inline uint64 FrameStepExplicitProperty = 0;
|
extern inline uint64 FrameStepExplicitProperty = 0;
|
||||||
extern inline uint64 Free = 0;
|
|
||||||
extern inline uint64 ClearAbility = 0;
|
extern inline uint64 ClearAbility = 0;
|
||||||
extern inline uint64 ApplyGadgetData = 0;
|
extern inline uint64 ApplyGadgetData = 0;
|
||||||
extern inline uint64 RemoveGadgetData = 0;
|
extern inline uint64 RemoveGadgetData = 0;
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ uint64 ApplyGameSessionPatch()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_INFO(LogDev, "ByteToPatch: 0x{:x}", __int64(ByteToPatch) - __int64(GetModuleHandleW(0)));
|
LOG_INFO(LogDev, "[ApplyGameSessionPatch] ByteToPatch: 0x{:x}", __int64(ByteToPatch) - __int64(GetModuleHandleW(0)));
|
||||||
|
|
||||||
DWORD dwProtection;
|
DWORD dwProtection;
|
||||||
VirtualProtect((PVOID)ByteToPatch, 1, PAGE_EXECUTE_READWRITE, &dwProtection);
|
VirtualProtect((PVOID)ByteToPatch, 1, PAGE_EXECUTE_READWRITE, &dwProtection);
|
||||||
|
|||||||
@@ -1203,6 +1203,8 @@ static inline uint64 FindGetInterfaceAddress()
|
|||||||
|
|
||||||
static inline uint64 FindCollectGarbage()
|
static inline uint64 FindCollectGarbage()
|
||||||
{
|
{
|
||||||
|
if (Engine_Version == 416)
|
||||||
|
return Memcury::Scanner::FindPattern("48 8B C4 48 89 58 08 88 50 10 55 56 57 41 54 41 55 41 56 41 57 48 8D 68 A1").Get(); // 1.9
|
||||||
// return 0;
|
// return 0;
|
||||||
|
|
||||||
auto Addr = Memcury::Scanner::FindStringRef(L"STAT_CollectGarbageInternal");
|
auto Addr = Memcury::Scanner::FindStringRef(L"STAT_CollectGarbageInternal");
|
||||||
|
|||||||
Reference in New Issue
Block a user