mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-21 10:04:18 +00:00
5ae37e6c72
This system can easily be extended by independent authors without collisions, something the old system with plain increasing integers did not allow. Do this by utilizing the previously unused message code `NETMSG_NULL` which has a value of 0. This works for engine and game messages, snapshot items and events.
30 lines
727 B
C
30 lines
727 B
C
#ifndef ENGINE_SHARED_PROTOCOL_EX_H
|
|
#define ENGINE_SHARED_PROTOCOL_EX_H
|
|
|
|
#include <engine/message.h>
|
|
|
|
enum
|
|
{
|
|
NETMSG_EX_INVALID=UUID_INVALID,
|
|
NETMSG_EX_UNKNOWN=UUID_UNKNOWN,
|
|
|
|
OFFSET_NETMSG_UUID=OFFSET_UUID,
|
|
|
|
__NETMSG_UUID_HELPER=OFFSET_NETMSG_UUID-1,
|
|
#define UUID(id, name) id,
|
|
#include "protocol_ex_msgs.h"
|
|
#undef UUID
|
|
OFFSET_GAME_UUID,
|
|
|
|
UNPACKMESSAGE_ERROR=0,
|
|
UNPACKMESSAGE_OK,
|
|
UNPACKMESSAGE_ANSWER,
|
|
};
|
|
|
|
void RegisterUuids(class CUuidManager *pManager);
|
|
bool NetworkExDefaultHandler(int *pID, struct CUuid *pUuid, CUnpacker *pUnpacker, CMsgPacker *pPacker, int Type);
|
|
|
|
int UnpackMessageID(int *pID, bool *pSys, struct CUuid *pUuid, CUnpacker *pUnpacker, CMsgPacker *pPacker);
|
|
|
|
#endif // ENGINE_SHARED_PROTOCOL_EX_H
|