diff --git a/src/net/connection/NetClient.cpp b/src/net/connection/NetClient.cpp index aae5007..6cb09dd 100644 --- a/src/net/connection/NetClient.cpp +++ b/src/net/connection/NetClient.cpp @@ -21,7 +21,26 @@ void InitializePropContext() { } void NETEVENTQUEUE::AddEvent(EVENTID eventId, void* conn, NetClient* client, const void* data, uint32_t bytes) { - // TODO + this->m_critSect.Enter(); + + auto node = this->m_eventQueue.NewNode(2, 0, 0x0); + + node->m_eventId = eventId; + + if (bytes) { + node->m_data = SMemAlloc(bytes, __FILE__, __LINE__, 0x0); + memcpy(node->m_data, data, bytes); + node->m_dataSize = bytes; + } else { + node->m_data = nullptr; + node->m_dataSize = 0; + } + + node->m_timeReceived = OsGetAsyncTimeMsPrecise(); + + // TODO SInterlockedIncremement(client->uint2E44); + + this->m_critSect.Leave(); } void NetClient::AuthChallengeHandler(WowConnection* conn, CDataStore* msg) { diff --git a/src/net/connection/NetClient.hpp b/src/net/connection/NetClient.hpp index 7e745d2..23d1cea 100644 --- a/src/net/connection/NetClient.hpp +++ b/src/net/connection/NetClient.hpp @@ -22,6 +22,11 @@ struct AuthenticationChallenge { class NETEVENTQUEUENODE : public TSLinkedNode { public: + // Member variables + EVENTID m_eventId; + uint32_t m_timeReceived; + void* m_data; + uint32_t m_dataSize; }; class NETEVENTQUEUE {