From e5e043430bea7c3d7317ae3df4679e3dc8e67451 Mon Sep 17 00:00:00 2001 From: Gabriella Date: Thu, 2 Jan 2025 01:02:18 +0100 Subject: [PATCH] Fix: Removed scuffed code for getting network id --- src/client/Latite.cpp | 8 +------- src/client/Latite.h | 4 +--- src/client/hook/impl/PacketHooks.cpp | 2 +- src/client/script/objects/GameScriptingObject.cpp | 8 +++++++- src/sdk/common/network/RakNetConnector.h | 5 +++++ 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/client/Latite.cpp b/src/client/Latite.cpp index 0df11b8..20ed8bd 100644 --- a/src/client/Latite.cpp +++ b/src/client/Latite.cpp @@ -1202,18 +1202,12 @@ void Latite::writeServerIP() { lastServer = server; } -void* Latite::networkIdentifier = nullptr; void* Latite::netEventCallback = nullptr; -void Latite::setNetwork(void* netId, void* netEv) { - networkIdentifier = netId; +void Latite::setNetEv(void* netEv) { netEventCallback = netEv; } -void* Latite::getNetId() { - return networkIdentifier; -} - void* Latite::getNetEv() { return netEventCallback; } \ No newline at end of file diff --git a/src/client/Latite.h b/src/client/Latite.h index c90ed39..d66e633 100644 --- a/src/client/Latite.h +++ b/src/client/Latite.h @@ -50,11 +50,9 @@ class Latite final : public Listener { void queueForClientThread(std::function callback); void queueForDXRender(std::function callback); - static void* networkIdentifier; static void* netEventCallback; - static void setNetwork(void* netId, void* netEv); - static void* getNetId(); + static void setNetEv(void* netEv); static void* getNetEv(); Latite() = default; diff --git a/src/client/hook/impl/PacketHooks.cpp b/src/client/hook/impl/PacketHooks.cpp index de4273b..5c49cbb 100644 --- a/src/client/hook/impl/PacketHooks.cpp +++ b/src/client/hook/impl/PacketHooks.cpp @@ -56,7 +56,7 @@ std::shared_ptr PacketHooks::MinecraftPackets_createPacket(SDK::Pac } void PacketHooks::PacketHandlerDispatcherInstance_handle(void* instance, void* networkIdentifier, void* netEventCallback, std::shared_ptr& packet) { - Latite::setNetwork(networkIdentifier, netEventCallback); + Latite::setNetEv(netEventCallback); auto& hook = PacketHookArray[(size_t)packet->getID()]; diff --git a/src/client/script/objects/GameScriptingObject.cpp b/src/client/script/objects/GameScriptingObject.cpp index bf9b123..6cf48a4 100644 --- a/src/client/script/objects/GameScriptingObject.cpp +++ b/src/client/script/objects/GameScriptingObject.cpp @@ -218,7 +218,13 @@ JsValueRef GameScriptingObject::openModalForm(JsValueRef callee, bool isConstruc packet->Id = packetId; packet->Json = json; - memory::callVirtual(packet->handler, 1, (void*)Latite::getNetId(), (void*)Latite::getNetEv(), (std::shared_ptr&)packet); + SDK::RakNetConnector* raknetConnector = SDK::RakNetConnector::get(); + void* networkIdentifier = raknetConnector->getNetworkIdentifier(); + + // TODO: Replace this with proper retrieving for netevent + void* networkEventCallback = Latite::getNetEv(); + + memory::callVirtual(packet->handler, 1, networkIdentifier, networkEventCallback, (std::shared_ptr&)packet); return Chakra::GetUndefined(); } diff --git a/src/sdk/common/network/RakNetConnector.h b/src/sdk/common/network/RakNetConnector.h index 8efd528..276d00b 100644 --- a/src/sdk/common/network/RakNetConnector.h +++ b/src/sdk/common/network/RakNetConnector.h @@ -35,5 +35,10 @@ namespace SDK { } return util::directAccess(this, 0x230); } + + void* getNetworkIdentifier() { + return memory::callVirtual(this, 0xE); + } + }; }