Files
Project-Reboot-3.0/Project Reboot 3.0/NetConnection.cpp
Milxnor 891f45f469 a bit
Fixed MCP on 1.8, Fixed some buildings not showing up on 1.7.2 and 1.8, fixed listplayers crashing on some versions
2023-04-29 20:15:24 -04:00

25 lines
1.1 KiB
C++

#include "NetConnection.h"
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();
if (!ClientHasInitializedLevelForAddr)
{
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 48 8D", false).Get(); // 1.8
if (!ClientHasInitializedLevelForAddr)
{
ClientHasInitializedLevelForAddr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 48 8B F9 48 85 D2 74 35 48").Get(); // 1.7.2
}
}
if (!ClientHasInitializedLevelForAddr)
return true;
static bool (*ClientHasInitializedLevelForOriginal)(const UNetConnection * Connection, const AActor * TestActor)
= decltype(ClientHasInitializedLevelForOriginal)(ClientHasInitializedLevelForAddr);
// ^ This is virtual but it doesn't really matter
return ClientHasInitializedLevelForOriginal(this, TestActor);
}