1#ifndef ENGINE_SHARED_PROTOCOL_EX_H
2#define ENGINE_SHARED_PROTOCOL_EX_H
3
4#include <engine/shared/uuid_manager.h>
5
6class CMsgPacker;
7class CUnpacker;
8
9enum // NOLINT(readability-enum-initial-value)
10{
11 NETMSG_EX_INVALID = UUID_INVALID,
12 NETMSG_EX_UNKNOWN = UUID_UNKNOWN,
13
14 OFFSET_NETMSG_UUID = OFFSET_UUID,
15
16 __NETMSG_UUID_HELPER = OFFSET_NETMSG_UUID - 1,
17#define UUID(id, name) id,
18#include "protocol_ex_msgs.h"
19#undef UUID
20 OFFSET_TEEHISTORIAN_UUID,
21};
22
23enum
24{
25 UNPACKMESSAGE_ERROR = 0,
26 UNPACKMESSAGE_OK,
27 UNPACKMESSAGE_ANSWER,
28};
29
30enum
31{
32 SERVERCAP_CURVERSION = 5,
33 SERVERCAPFLAG_DDNET = 1 << 0,
34 SERVERCAPFLAG_CHATTIMEOUTCODE = 1 << 1,
35 SERVERCAPFLAG_ANYPLAYERFLAG = 1 << 2,
36 SERVERCAPFLAG_PINGEX = 1 << 3,
37 SERVERCAPFLAG_ALLOWDUMMY = 1 << 4,
38 SERVERCAPFLAG_SYNCWEAPONINPUT = 1 << 5,
39};
40
41void RegisterUuids(CUuidManager *pManager);
42int UnpackMessageId(int *pId, bool *pSys, CUuid *pUuid, CUnpacker *pUnpacker, CMsgPacker *pPacker);
43
44#endif // ENGINE_SHARED_PROTOCOL_EX_H
45