Skip to content

Commit dede110

Browse files
committed
Remove NetBitStreamInterfaceNoVersion
1 parent f855b36 commit dede110

File tree

2 files changed

+29
-40
lines changed

2 files changed

+29
-40
lines changed

Server/mods/deathmatch/logic/common/CBitStream.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,22 @@ class CBitStream
2020
{
2121
pBitStream = g_pNetServer->AllocateNetServerBitStream(0, pData, uiDataSize, bCopyData);
2222
}
23+
2324
~CBitStream() { g_pNetServer->DeallocateNetServerBitStream((NetBitStreamInterface*)pBitStream); };
24-
NetBitStreamInterfaceNoVersion* operator->() { return pBitStream; }
2525

26-
NetBitStreamInterfaceNoVersion* pBitStream;
26+
NetBitStreamInterface* operator->() { return pBitStream; }
27+
28+
NetBitStreamInterface* pBitStream;
2729
};
2830

2931
// Use this if Version() is required - Make sure the player is the once receiving/sending the data
3032
class CPlayerBitStream
3133
{
3234
public:
33-
CPlayerBitStream(class CPlayer* pPlayer); // { pBitStream = g_pNetServer->AllocateNetServerBitStream ( pPlayer->GetBitStreamVersion() ); };
35+
CPlayerBitStream(class CPlayer* pPlayer);
36+
3437
~CPlayerBitStream() { g_pNetServer->DeallocateNetServerBitStream((NetBitStreamInterface*)pBitStream); };
38+
3539
NetBitStreamInterface* operator->() { return pBitStream; }
3640

3741
NetBitStreamInterface* pBitStream;

Shared/sdk/net/bitstream.h

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,27 @@
2828
#endif
2929

3030
struct ISyncStructure;
31-
class NetBitStreamInterface;
3231

33-
class NetBitStreamInterfaceNoVersion : public CRefCountable
32+
// eBitStreamVersion allows us to track what BitStream version is being used without placing magic numbers everywhere.
33+
// It also helps us know what code branches can be removed when we increment a major version of MTA.
34+
// Make sure you only add new items to the end of the list, above the "Latest" entry.
35+
enum class eBitStreamVersion : unsigned short
3436
{
35-
public:
36-
virtual operator NetBitStreamInterface&() = 0;
37+
Unk = 0x030,
38+
39+
// DESCRIPTION
40+
// YYYY-MM-DD
41+
// Name,
42+
43+
// This allows us to automatically increment the BitStreamVersion when things are added to this enum.
44+
// Make sure you only add things above this comment.
45+
Next,
46+
Latest = Next - 1,
47+
};
3748

49+
class NetBitStreamInterface : public CRefCountable
50+
{
51+
public:
3852
virtual int GetReadOffsetAsBits() = 0;
3953
virtual void SetReadOffsetAsBits(int iOffset) = 0;
4054

@@ -128,6 +142,10 @@ class NetBitStreamInterfaceNoVersion : public CRefCountable
128142

129143
virtual unsigned char* GetData() const = 0;
130144

145+
virtual unsigned short Version() const = 0;
146+
147+
bool Can(eBitStreamVersion query) { return static_cast<eBitStreamVersion>(Version()) >= query; }
148+
131149
// Force long types to use 4 bytes
132150
bool Read(unsigned long& e)
133151
{
@@ -394,39 +412,6 @@ class NetBitStreamInterfaceNoVersion : public CRefCountable
394412
}
395413
};
396414

397-
// eBitStreamVersion allows us to track what BitStream version is being used without placing magic numbers everywhere.
398-
// It also helps us know what code branches can be removed when we increment a major version of MTA.
399-
// Make sure you only add new items to the end of the list, above the "Latest" entry.
400-
enum class eBitStreamVersion : unsigned short
401-
{
402-
Unk = 0x030,
403-
404-
// DESCRIPTION
405-
// YYYY-MM-DD
406-
// Name,
407-
408-
// This allows us to automatically increment the BitStreamVersion when things are added to this enum.
409-
// Make sure you only add things above this comment.
410-
Next,
411-
Latest = Next - 1,
412-
};
413-
414-
class NetBitStreamInterface : public NetBitStreamInterfaceNoVersion
415-
{
416-
NetBitStreamInterface(const NetBitStreamInterface&);
417-
const NetBitStreamInterface& operator=(const NetBitStreamInterface&);
418-
419-
protected:
420-
NetBitStreamInterface() { DEBUG_CREATE_COUNT("NetBitStreamInterface"); }
421-
virtual ~NetBitStreamInterface() { DEBUG_DESTROY_COUNT("NetBitStreamInterface"); }
422-
423-
public:
424-
virtual operator NetBitStreamInterface&() { return *this; }
425-
virtual unsigned short Version() const = 0;
426-
427-
bool Can(eBitStreamVersion query) { return static_cast<eBitStreamVersion>(Version()) >= query; }
428-
};
429-
430415
// Interface for all sync structures
431416
struct ISyncStructure
432417
{

0 commit comments

Comments
 (0)