diff --git a/r5dev/common/netmessages.h b/r5dev/common/netmessages.h index 656867ec..2d3a0aa3 100644 --- a/r5dev/common/netmessages.h +++ b/r5dev/common/netmessages.h @@ -44,24 +44,6 @@ public: bf_write m_DataOut; }; -struct VecNetMessages -{ - CNetMessage** items; - int64_t m_nAllocationCount; - int64_t m_nGrowSize; - int m_Size; - int padding_; -}; - -struct VecNetDataFragments -{ - void** items; - int64_t m_nAllocationCount; - int64_t m_nGrowSize; - int m_Size; - int padding_; -}; - //------------------------------------------------------------------------- // MM_HEARTBEAT //------------------------------------------------------------------------- diff --git a/r5dev/engine/net_chan.h b/r5dev/engine/net_chan.h index 9e937caf..bc2a486d 100644 --- a/r5dev/engine/net_chan.h +++ b/r5dev/engine/net_chan.h @@ -10,6 +10,7 @@ #include "tier1/bitbuf.h" #include "tier1/NetAdr2.h" #include "tier1/utlmemory.h" +#include "tier1/utlvector.h" #include "common/netmessages.h" #include "common/protocol.h" #include "public/include/inetchannel.h" @@ -129,7 +130,7 @@ private: uint32_t m_Rate; int padding_maybe; double m_fClearTime; - VecNetDataFragments m_WaitingList; + CUtlVector m_WaitingList; dataFragments_t m_ReceiveList; int m_nSubOutFragmentsAck; int m_nSubInFragments; @@ -144,7 +145,7 @@ private: uint32_t dword168; float m_Timeout; INetChannelHandler* m_MessageHandler; - VecNetMessages m_NetMessages; + CUtlVector m_NetMessages; uint64_t qword198; int m_nQueuedPackets; float m_flRemoteFrameTime; diff --git a/r5dev/tier1/utlvector.h b/r5dev/tier1/utlvector.h index 95666ce6..355f1b5f 100644 --- a/r5dev/tier1/utlvector.h +++ b/r5dev/tier1/utlvector.h @@ -11,11 +11,13 @@ #include "tier1/utlmemory.h" -struct __declspec(align(4)) CUtlVector +template< class T, class A = CUtlMemory > +class CUtlVector { - void* vtable; - CUtlMemory m_Memory; + typedef A CAllocator; +public: + typedef T ElemType_t; +protected: + CAllocator m_Memory; int m_Size; }; - -