diff options
Diffstat (limited to 'src/proto2')
-rw-r--r-- | src/proto2/any-user.hpp | 47 | ||||
-rw-r--r-- | src/proto2/char-map.hpp | 84 | ||||
-rw-r--r-- | src/proto2/char-user.hpp | 18 | ||||
-rw-r--r-- | src/proto2/fwd.hpp | 789 | ||||
-rw-r--r-- | src/proto2/include_clif_t_test.cpp | 36 | ||||
-rw-r--r-- | src/proto2/include_enums_test.cpp | 1 | ||||
-rw-r--r-- | src/proto2/include_login_t_test.cpp (renamed from src/proto2/include_types_test.cpp) | 4 | ||||
-rw-r--r-- | src/proto2/include_skill_t_test.cpp | 25 | ||||
-rw-r--r-- | src/proto2/include_timer_t_test.cpp | 24 | ||||
-rw-r--r-- | src/proto2/login-admin.hpp | 55 | ||||
-rw-r--r-- | src/proto2/login-char.hpp | 32 | ||||
-rw-r--r-- | src/proto2/login-user.hpp | 10 | ||||
-rw-r--r-- | src/proto2/map-user.hpp | 7845 | ||||
-rw-r--r-- | src/proto2/types.hpp | 320 |
14 files changed, 9273 insertions, 17 deletions
diff --git a/src/proto2/any-user.hpp b/src/proto2/any-user.hpp index da9b1bc..4e14712 100644 --- a/src/proto2/any-user.hpp +++ b/src/proto2/any-user.hpp @@ -28,7 +28,7 @@ // This is a public protocol, and changes require client cooperation // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) template<> struct Packet_Fixed<0x0081> @@ -68,6 +68,17 @@ struct Packet_Fixed<0x7532> uint16_t magic_packet_id = PACKET_ID; }; +template<> +struct Packet_Payload<0x8000> +{ + static const uint16_t PACKET_ID = 0x8000; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; + template<> struct NetPacket_Fixed<0x0081> @@ -78,6 +89,7 @@ struct NetPacket_Fixed<0x0081> static_assert(offsetof(NetPacket_Fixed<0x0081>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0081>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x0081>, error_code) == 2, "offsetof(NetPacket_Fixed<0x0081>, error_code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x0081>) == 3, "sizeof(NetPacket_Fixed<0x0081>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x0081>) == 1, "alignof(NetPacket_Fixed<0x0081>) == 1"); template<> struct NetPacket_Fixed<0x7530> @@ -86,6 +98,7 @@ struct NetPacket_Fixed<0x7530> }; static_assert(offsetof(NetPacket_Fixed<0x7530>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7530>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x7530>) == 2, "sizeof(NetPacket_Fixed<0x7530>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x7530>) == 1, "alignof(NetPacket_Fixed<0x7530>) == 1"); template<> struct NetPacket_Fixed<0x7531> @@ -96,6 +109,7 @@ struct NetPacket_Fixed<0x7531> static_assert(offsetof(NetPacket_Fixed<0x7531>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7531>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7531>, version) == 2, "offsetof(NetPacket_Fixed<0x7531>, version) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7531>) == 10, "sizeof(NetPacket_Fixed<0x7531>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x7531>) == 1, "alignof(NetPacket_Fixed<0x7531>) == 1"); template<> struct NetPacket_Fixed<0x7532> @@ -104,6 +118,18 @@ struct NetPacket_Fixed<0x7532> }; static_assert(offsetof(NetPacket_Fixed<0x7532>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7532>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x7532>) == 2, "sizeof(NetPacket_Fixed<0x7532>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x7532>) == 1, "alignof(NetPacket_Fixed<0x7532>) == 1"); + +template<> +struct NetPacket_Payload<0x8000> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Payload<0x8000>, magic_packet_id) == 0, "offsetof(NetPacket_Payload<0x8000>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Payload<0x8000>, magic_packet_length) == 2, "offsetof(NetPacket_Payload<0x8000>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Payload<0x8000>) == 4, "sizeof(NetPacket_Payload<0x8000>) == 4"); +static_assert(alignof(NetPacket_Payload<0x8000>) == 1, "alignof(NetPacket_Payload<0x8000>) == 1"); inline __attribute__((warn_unused_result)) @@ -170,7 +196,24 @@ bool network_to_native(Packet_Fixed<0x7532> *native, NetPacket_Fixed<0x7532> net return rv; } +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Payload<0x8000> *network, Packet_Payload<0x8000> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Payload<0x8000> *native, NetPacket_Payload<0x8000> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} + -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_ANY_USER_HPP diff --git a/src/proto2/char-map.hpp b/src/proto2/char-map.hpp index 333c948..f543b90 100644 --- a/src/proto2/char-map.hpp +++ b/src/proto2/char-map.hpp @@ -28,7 +28,7 @@ // This is an internal protocol, and can be changed without notice // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) template<> struct Packet_Fixed<0x2af7> @@ -928,6 +928,7 @@ struct NetPacket_Fixed<0x2af7> }; static_assert(offsetof(NetPacket_Fixed<0x2af7>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2af7>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x2af7>) == 2, "sizeof(NetPacket_Fixed<0x2af7>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x2af7>) == 1, "alignof(NetPacket_Fixed<0x2af7>) == 1"); template<> struct NetPacket_Fixed<0x2af8> @@ -946,6 +947,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2af8>, unused) == 50, "offsetof(NetPack static_assert(offsetof(NetPacket_Fixed<0x2af8>, ip) == 54, "offsetof(NetPacket_Fixed<0x2af8>, ip) == 54"); static_assert(offsetof(NetPacket_Fixed<0x2af8>, port) == 58, "offsetof(NetPacket_Fixed<0x2af8>, port) == 58"); static_assert(sizeof(NetPacket_Fixed<0x2af8>) == 60, "sizeof(NetPacket_Fixed<0x2af8>) == 60"); +static_assert(alignof(NetPacket_Fixed<0x2af8>) == 1, "alignof(NetPacket_Fixed<0x2af8>) == 1"); template<> struct NetPacket_Fixed<0x2af9> @@ -956,6 +958,7 @@ struct NetPacket_Fixed<0x2af9> static_assert(offsetof(NetPacket_Fixed<0x2af9>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2af9>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2af9>, code) == 2, "offsetof(NetPacket_Fixed<0x2af9>, code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2af9>) == 3, "sizeof(NetPacket_Fixed<0x2af9>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x2af9>) == 1, "alignof(NetPacket_Fixed<0x2af9>) == 1"); template<> struct NetPacket_Head<0x2afa> @@ -966,6 +969,7 @@ struct NetPacket_Head<0x2afa> static_assert(offsetof(NetPacket_Head<0x2afa>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x2afa>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x2afa>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2afa>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x2afa>) == 4, "sizeof(NetPacket_Head<0x2afa>) == 4"); +static_assert(alignof(NetPacket_Head<0x2afa>) == 1, "alignof(NetPacket_Head<0x2afa>) == 1"); template<> struct NetPacket_Repeat<0x2afa> { @@ -973,6 +977,7 @@ struct NetPacket_Repeat<0x2afa> }; static_assert(offsetof(NetPacket_Repeat<0x2afa>, map_name) == 0, "offsetof(NetPacket_Repeat<0x2afa>, map_name) == 0"); static_assert(sizeof(NetPacket_Repeat<0x2afa>) == 16, "sizeof(NetPacket_Repeat<0x2afa>) == 16"); +static_assert(alignof(NetPacket_Repeat<0x2afa>) == 1, "alignof(NetPacket_Repeat<0x2afa>) == 1"); template<> struct NetPacket_Fixed<0x2afa> @@ -985,6 +990,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2afa>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2afa>, source_item_id) == 2, "offsetof(NetPacket_Fixed<0x2afa>, source_item_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2afa>, dest_item_id) == 6, "offsetof(NetPacket_Fixed<0x2afa>, dest_item_id) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2afa>) == 10, "sizeof(NetPacket_Fixed<0x2afa>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x2afa>) == 1, "alignof(NetPacket_Fixed<0x2afa>) == 1"); template<> struct NetPacket_Fixed<0x2afb> @@ -997,6 +1003,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2afb>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2afb>, unknown) == 2, "offsetof(NetPacket_Fixed<0x2afb>, unknown) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2afb>, whisper_name) == 3, "offsetof(NetPacket_Fixed<0x2afb>, whisper_name) == 3"); static_assert(sizeof(NetPacket_Fixed<0x2afb>) == 27, "sizeof(NetPacket_Fixed<0x2afb>) == 27"); +static_assert(alignof(NetPacket_Fixed<0x2afb>) == 1, "alignof(NetPacket_Fixed<0x2afb>) == 1"); template<> struct NetPacket_Fixed<0x2afc> @@ -1015,6 +1022,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2afc>, login_id1) == 10, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2afc>, login_id2) == 14, "offsetof(NetPacket_Fixed<0x2afc>, login_id2) == 14"); static_assert(offsetof(NetPacket_Fixed<0x2afc>, ip) == 18, "offsetof(NetPacket_Fixed<0x2afc>, ip) == 18"); static_assert(sizeof(NetPacket_Fixed<0x2afc>) == 22, "sizeof(NetPacket_Fixed<0x2afc>) == 22"); +static_assert(alignof(NetPacket_Fixed<0x2afc>) == 1, "alignof(NetPacket_Fixed<0x2afc>) == 1"); template<> struct NetPacket_Payload<0x2afd> @@ -1035,6 +1043,7 @@ static_assert(offsetof(NetPacket_Payload<0x2afd>, login_id2) == 8, "offsetof(Net static_assert(offsetof(NetPacket_Payload<0x2afd>, connect_until) == 12, "offsetof(NetPacket_Payload<0x2afd>, connect_until) == 12"); static_assert(offsetof(NetPacket_Payload<0x2afd>, packet_tmw_version) == 16, "offsetof(NetPacket_Payload<0x2afd>, packet_tmw_version) == 16"); static_assert(offsetof(NetPacket_Payload<0x2afd>, char_key) == 18, "offsetof(NetPacket_Payload<0x2afd>, char_key) == 18"); +static_assert(alignof(NetPacket_Payload<0x2afd>) == 1, "alignof(NetPacket_Payload<0x2afd>) == 1"); template<> struct NetPacket_Fixed<0x2afe> @@ -1045,6 +1054,7 @@ struct NetPacket_Fixed<0x2afe> static_assert(offsetof(NetPacket_Fixed<0x2afe>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2afe>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2afe>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2afe>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2afe>) == 6, "sizeof(NetPacket_Fixed<0x2afe>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2afe>) == 1, "alignof(NetPacket_Fixed<0x2afe>) == 1"); template<> struct NetPacket_Head<0x2aff> @@ -1057,6 +1067,7 @@ static_assert(offsetof(NetPacket_Head<0x2aff>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2aff>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2aff>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2aff>, users) == 4, "offsetof(NetPacket_Head<0x2aff>, users) == 4"); static_assert(sizeof(NetPacket_Head<0x2aff>) == 6, "sizeof(NetPacket_Head<0x2aff>) == 6"); +static_assert(alignof(NetPacket_Head<0x2aff>) == 1, "alignof(NetPacket_Head<0x2aff>) == 1"); template<> struct NetPacket_Repeat<0x2aff> { @@ -1064,6 +1075,7 @@ struct NetPacket_Repeat<0x2aff> }; static_assert(offsetof(NetPacket_Repeat<0x2aff>, char_id) == 0, "offsetof(NetPacket_Repeat<0x2aff>, char_id) == 0"); static_assert(sizeof(NetPacket_Repeat<0x2aff>) == 4, "sizeof(NetPacket_Repeat<0x2aff>) == 4"); +static_assert(alignof(NetPacket_Repeat<0x2aff>) == 1, "alignof(NetPacket_Repeat<0x2aff>) == 1"); template<> struct NetPacket_Fixed<0x2b00> @@ -1074,6 +1086,7 @@ struct NetPacket_Fixed<0x2b00> static_assert(offsetof(NetPacket_Fixed<0x2b00>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2b00>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2b00>, users) == 2, "offsetof(NetPacket_Fixed<0x2b00>, users) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2b00>) == 6, "sizeof(NetPacket_Fixed<0x2b00>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2b00>) == 1, "alignof(NetPacket_Fixed<0x2b00>) == 1"); template<> struct NetPacket_Payload<0x2b01> @@ -1090,6 +1103,7 @@ static_assert(offsetof(NetPacket_Payload<0x2b01>, magic_packet_length) == 2, "of static_assert(offsetof(NetPacket_Payload<0x2b01>, account_id) == 4, "offsetof(NetPacket_Payload<0x2b01>, account_id) == 4"); static_assert(offsetof(NetPacket_Payload<0x2b01>, char_id) == 8, "offsetof(NetPacket_Payload<0x2b01>, char_id) == 8"); static_assert(offsetof(NetPacket_Payload<0x2b01>, char_key) == 12, "offsetof(NetPacket_Payload<0x2b01>, char_key) == 12"); +static_assert(alignof(NetPacket_Payload<0x2b01>) == 1, "alignof(NetPacket_Payload<0x2b01>) == 1"); template<> struct NetPacket_Fixed<0x2b02> @@ -1106,6 +1120,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b02>, login_id1) == 6, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x2b02>, login_id2) == 10, "offsetof(NetPacket_Fixed<0x2b02>, login_id2) == 10"); static_assert(offsetof(NetPacket_Fixed<0x2b02>, ip) == 14, "offsetof(NetPacket_Fixed<0x2b02>, ip) == 14"); static_assert(sizeof(NetPacket_Fixed<0x2b02>) == 18, "sizeof(NetPacket_Fixed<0x2b02>) == 18"); +static_assert(alignof(NetPacket_Fixed<0x2b02>) == 1, "alignof(NetPacket_Fixed<0x2b02>) == 1"); template<> struct NetPacket_Fixed<0x2b03> @@ -1118,6 +1133,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b03>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2b03>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2b03>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2b03>, unknown) == 6, "offsetof(NetPacket_Fixed<0x2b03>, unknown) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2b03>) == 7, "sizeof(NetPacket_Fixed<0x2b03>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x2b03>) == 1, "alignof(NetPacket_Fixed<0x2b03>) == 1"); template<> struct NetPacket_Head<0x2b04> @@ -1132,6 +1148,7 @@ static_assert(offsetof(NetPacket_Head<0x2b04>, magic_packet_length) == 2, "offse static_assert(offsetof(NetPacket_Head<0x2b04>, ip) == 4, "offsetof(NetPacket_Head<0x2b04>, ip) == 4"); static_assert(offsetof(NetPacket_Head<0x2b04>, port) == 8, "offsetof(NetPacket_Head<0x2b04>, port) == 8"); static_assert(sizeof(NetPacket_Head<0x2b04>) == 10, "sizeof(NetPacket_Head<0x2b04>) == 10"); +static_assert(alignof(NetPacket_Head<0x2b04>) == 1, "alignof(NetPacket_Head<0x2b04>) == 1"); template<> struct NetPacket_Repeat<0x2b04> { @@ -1139,6 +1156,7 @@ struct NetPacket_Repeat<0x2b04> }; static_assert(offsetof(NetPacket_Repeat<0x2b04>, map_name) == 0, "offsetof(NetPacket_Repeat<0x2b04>, map_name) == 0"); static_assert(sizeof(NetPacket_Repeat<0x2b04>) == 16, "sizeof(NetPacket_Repeat<0x2b04>) == 16"); +static_assert(alignof(NetPacket_Repeat<0x2b04>) == 1, "alignof(NetPacket_Repeat<0x2b04>) == 1"); template<> struct NetPacket_Fixed<0x2b05> @@ -1169,6 +1187,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b05>, map_port) == 42, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x2b05>, sex) == 44, "offsetof(NetPacket_Fixed<0x2b05>, sex) == 44"); static_assert(offsetof(NetPacket_Fixed<0x2b05>, client_ip) == 45, "offsetof(NetPacket_Fixed<0x2b05>, client_ip) == 45"); static_assert(sizeof(NetPacket_Fixed<0x2b05>) == 49, "sizeof(NetPacket_Fixed<0x2b05>) == 49"); +static_assert(alignof(NetPacket_Fixed<0x2b05>) == 1, "alignof(NetPacket_Fixed<0x2b05>) == 1"); template<> struct NetPacket_Fixed<0x2b06> @@ -1195,6 +1214,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b06>, y) == 36, "offsetof(NetPacket_Fi static_assert(offsetof(NetPacket_Fixed<0x2b06>, map_ip) == 38, "offsetof(NetPacket_Fixed<0x2b06>, map_ip) == 38"); static_assert(offsetof(NetPacket_Fixed<0x2b06>, map_port) == 42, "offsetof(NetPacket_Fixed<0x2b06>, map_port) == 42"); static_assert(sizeof(NetPacket_Fixed<0x2b06>) == 44, "sizeof(NetPacket_Fixed<0x2b06>) == 44"); +static_assert(alignof(NetPacket_Fixed<0x2b06>) == 1, "alignof(NetPacket_Fixed<0x2b06>) == 1"); template<> struct NetPacket_Head<0x2b0a> @@ -1207,6 +1227,7 @@ static_assert(offsetof(NetPacket_Head<0x2b0a>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2b0a>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2b0a>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2b0a>, account_id) == 4, "offsetof(NetPacket_Head<0x2b0a>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x2b0a>) == 8, "sizeof(NetPacket_Head<0x2b0a>) == 8"); +static_assert(alignof(NetPacket_Head<0x2b0a>) == 1, "alignof(NetPacket_Head<0x2b0a>) == 1"); template<> struct NetPacket_Repeat<0x2b0a> { @@ -1214,6 +1235,7 @@ struct NetPacket_Repeat<0x2b0a> }; static_assert(offsetof(NetPacket_Repeat<0x2b0a>, c) == 0, "offsetof(NetPacket_Repeat<0x2b0a>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x2b0a>) == 1, "sizeof(NetPacket_Repeat<0x2b0a>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x2b0a>) == 1, "alignof(NetPacket_Repeat<0x2b0a>) == 1"); template<> struct NetPacket_Fixed<0x2b0b> @@ -1226,6 +1248,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b0b>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2b0b>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2b0b>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2b0b>, gm_level) == 6, "offsetof(NetPacket_Fixed<0x2b0b>, gm_level) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2b0b>) == 10, "sizeof(NetPacket_Fixed<0x2b0b>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x2b0b>) == 1, "alignof(NetPacket_Fixed<0x2b0b>) == 1"); template<> struct NetPacket_Fixed<0x2b0c> @@ -1240,6 +1263,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b0c>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2b0c>, old_email) == 6, "offsetof(NetPacket_Fixed<0x2b0c>, old_email) == 6"); static_assert(offsetof(NetPacket_Fixed<0x2b0c>, new_email) == 46, "offsetof(NetPacket_Fixed<0x2b0c>, new_email) == 46"); static_assert(sizeof(NetPacket_Fixed<0x2b0c>) == 86, "sizeof(NetPacket_Fixed<0x2b0c>) == 86"); +static_assert(alignof(NetPacket_Fixed<0x2b0c>) == 1, "alignof(NetPacket_Fixed<0x2b0c>) == 1"); template<> struct NetPacket_Fixed<0x2b0d> @@ -1252,6 +1276,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b0d>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2b0d>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2b0d>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2b0d>, sex) == 6, "offsetof(NetPacket_Fixed<0x2b0d>, sex) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2b0d>) == 7, "sizeof(NetPacket_Fixed<0x2b0d>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x2b0d>) == 1, "alignof(NetPacket_Fixed<0x2b0d>) == 1"); template<> struct NetPacket_Fixed<0x2b0e> @@ -1268,6 +1293,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b0e>, char_name) == 6, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x2b0e>, operation) == 30, "offsetof(NetPacket_Fixed<0x2b0e>, operation) == 30"); static_assert(offsetof(NetPacket_Fixed<0x2b0e>, ban_add) == 32, "offsetof(NetPacket_Fixed<0x2b0e>, ban_add) == 32"); static_assert(sizeof(NetPacket_Fixed<0x2b0e>) == 44, "sizeof(NetPacket_Fixed<0x2b0e>) == 44"); +static_assert(alignof(NetPacket_Fixed<0x2b0e>) == 1, "alignof(NetPacket_Fixed<0x2b0e>) == 1"); template<> struct NetPacket_Fixed<0x2b0f> @@ -1284,6 +1310,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b0f>, char_name) == 6, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x2b0f>, operation) == 30, "offsetof(NetPacket_Fixed<0x2b0f>, operation) == 30"); static_assert(offsetof(NetPacket_Fixed<0x2b0f>, error) == 32, "offsetof(NetPacket_Fixed<0x2b0f>, error) == 32"); static_assert(sizeof(NetPacket_Fixed<0x2b0f>) == 34, "sizeof(NetPacket_Fixed<0x2b0f>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x2b0f>) == 1, "alignof(NetPacket_Fixed<0x2b0f>) == 1"); template<> struct NetPacket_Head<0x2b10> @@ -1296,6 +1323,7 @@ static_assert(offsetof(NetPacket_Head<0x2b10>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2b10>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2b10>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2b10>, account_id) == 4, "offsetof(NetPacket_Head<0x2b10>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x2b10>) == 8, "sizeof(NetPacket_Head<0x2b10>) == 8"); +static_assert(alignof(NetPacket_Head<0x2b10>) == 1, "alignof(NetPacket_Head<0x2b10>) == 1"); template<> struct NetPacket_Repeat<0x2b10> { @@ -1305,6 +1333,7 @@ struct NetPacket_Repeat<0x2b10> static_assert(offsetof(NetPacket_Repeat<0x2b10>, name) == 0, "offsetof(NetPacket_Repeat<0x2b10>, name) == 0"); static_assert(offsetof(NetPacket_Repeat<0x2b10>, value) == 32, "offsetof(NetPacket_Repeat<0x2b10>, value) == 32"); static_assert(sizeof(NetPacket_Repeat<0x2b10>) == 36, "sizeof(NetPacket_Repeat<0x2b10>) == 36"); +static_assert(alignof(NetPacket_Repeat<0x2b10>) == 1, "alignof(NetPacket_Repeat<0x2b10>) == 1"); template<> struct NetPacket_Head<0x2b11> @@ -1317,6 +1346,7 @@ static_assert(offsetof(NetPacket_Head<0x2b11>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2b11>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2b11>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2b11>, account_id) == 4, "offsetof(NetPacket_Head<0x2b11>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x2b11>) == 8, "sizeof(NetPacket_Head<0x2b11>) == 8"); +static_assert(alignof(NetPacket_Head<0x2b11>) == 1, "alignof(NetPacket_Head<0x2b11>) == 1"); template<> struct NetPacket_Repeat<0x2b11> { @@ -1326,6 +1356,7 @@ struct NetPacket_Repeat<0x2b11> static_assert(offsetof(NetPacket_Repeat<0x2b11>, name) == 0, "offsetof(NetPacket_Repeat<0x2b11>, name) == 0"); static_assert(offsetof(NetPacket_Repeat<0x2b11>, value) == 32, "offsetof(NetPacket_Repeat<0x2b11>, value) == 32"); static_assert(sizeof(NetPacket_Repeat<0x2b11>) == 36, "sizeof(NetPacket_Repeat<0x2b11>) == 36"); +static_assert(alignof(NetPacket_Repeat<0x2b11>) == 1, "alignof(NetPacket_Repeat<0x2b11>) == 1"); template<> struct NetPacket_Fixed<0x2b12> @@ -1338,6 +1369,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b12>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2b12>, char_id) == 2, "offsetof(NetPacket_Fixed<0x2b12>, char_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2b12>, partner_id) == 6, "offsetof(NetPacket_Fixed<0x2b12>, partner_id) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2b12>) == 10, "sizeof(NetPacket_Fixed<0x2b12>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x2b12>) == 1, "alignof(NetPacket_Fixed<0x2b12>) == 1"); template<> struct NetPacket_Fixed<0x2b13> @@ -1348,6 +1380,7 @@ struct NetPacket_Fixed<0x2b13> static_assert(offsetof(NetPacket_Fixed<0x2b13>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2b13>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2b13>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2b13>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2b13>) == 6, "sizeof(NetPacket_Fixed<0x2b13>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2b13>) == 1, "alignof(NetPacket_Fixed<0x2b13>) == 1"); template<> struct NetPacket_Fixed<0x2b14> @@ -1362,6 +1395,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2b14>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2b14>, ban_not_status) == 6, "offsetof(NetPacket_Fixed<0x2b14>, ban_not_status) == 6"); static_assert(offsetof(NetPacket_Fixed<0x2b14>, status_or_ban_until) == 7, "offsetof(NetPacket_Fixed<0x2b14>, status_or_ban_until) == 7"); static_assert(sizeof(NetPacket_Fixed<0x2b14>) == 11, "sizeof(NetPacket_Fixed<0x2b14>) == 11"); +static_assert(alignof(NetPacket_Fixed<0x2b14>) == 1, "alignof(NetPacket_Fixed<0x2b14>) == 1"); template<> struct NetPacket_Head<0x2b15> @@ -1372,6 +1406,7 @@ struct NetPacket_Head<0x2b15> static_assert(offsetof(NetPacket_Head<0x2b15>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x2b15>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x2b15>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2b15>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x2b15>) == 4, "sizeof(NetPacket_Head<0x2b15>) == 4"); +static_assert(alignof(NetPacket_Head<0x2b15>) == 1, "alignof(NetPacket_Head<0x2b15>) == 1"); template<> struct NetPacket_Repeat<0x2b15> { @@ -1381,6 +1416,7 @@ struct NetPacket_Repeat<0x2b15> static_assert(offsetof(NetPacket_Repeat<0x2b15>, account_id) == 0, "offsetof(NetPacket_Repeat<0x2b15>, account_id) == 0"); static_assert(offsetof(NetPacket_Repeat<0x2b15>, gm_level) == 4, "offsetof(NetPacket_Repeat<0x2b15>, gm_level) == 4"); static_assert(sizeof(NetPacket_Repeat<0x2b15>) == 5, "sizeof(NetPacket_Repeat<0x2b15>) == 5"); +static_assert(alignof(NetPacket_Repeat<0x2b15>) == 1, "alignof(NetPacket_Repeat<0x2b15>) == 1"); template<> struct NetPacket_Fixed<0x2b16> @@ -1391,6 +1427,7 @@ struct NetPacket_Fixed<0x2b16> static_assert(offsetof(NetPacket_Fixed<0x2b16>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2b16>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2b16>, char_id) == 2, "offsetof(NetPacket_Fixed<0x2b16>, char_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2b16>) == 6, "sizeof(NetPacket_Fixed<0x2b16>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2b16>) == 1, "alignof(NetPacket_Fixed<0x2b16>) == 1"); template<> struct NetPacket_Head<0x3000> @@ -1401,6 +1438,7 @@ struct NetPacket_Head<0x3000> static_assert(offsetof(NetPacket_Head<0x3000>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x3000>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x3000>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x3000>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x3000>) == 4, "sizeof(NetPacket_Head<0x3000>) == 4"); +static_assert(alignof(NetPacket_Head<0x3000>) == 1, "alignof(NetPacket_Head<0x3000>) == 1"); template<> struct NetPacket_Repeat<0x3000> { @@ -1408,6 +1446,7 @@ struct NetPacket_Repeat<0x3000> }; static_assert(offsetof(NetPacket_Repeat<0x3000>, c) == 0, "offsetof(NetPacket_Repeat<0x3000>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3000>) == 1, "sizeof(NetPacket_Repeat<0x3000>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3000>) == 1, "alignof(NetPacket_Repeat<0x3000>) == 1"); template<> struct NetPacket_Head<0x3001> @@ -1422,6 +1461,7 @@ static_assert(offsetof(NetPacket_Head<0x3001>, magic_packet_length) == 2, "offse static_assert(offsetof(NetPacket_Head<0x3001>, from_char_name) == 4, "offsetof(NetPacket_Head<0x3001>, from_char_name) == 4"); static_assert(offsetof(NetPacket_Head<0x3001>, to_char_name) == 28, "offsetof(NetPacket_Head<0x3001>, to_char_name) == 28"); static_assert(sizeof(NetPacket_Head<0x3001>) == 52, "sizeof(NetPacket_Head<0x3001>) == 52"); +static_assert(alignof(NetPacket_Head<0x3001>) == 1, "alignof(NetPacket_Head<0x3001>) == 1"); template<> struct NetPacket_Repeat<0x3001> { @@ -1429,6 +1469,7 @@ struct NetPacket_Repeat<0x3001> }; static_assert(offsetof(NetPacket_Repeat<0x3001>, c) == 0, "offsetof(NetPacket_Repeat<0x3001>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3001>) == 1, "sizeof(NetPacket_Repeat<0x3001>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3001>) == 1, "alignof(NetPacket_Repeat<0x3001>) == 1"); template<> struct NetPacket_Fixed<0x3002> @@ -1441,6 +1482,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3002>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x3002>, char_id) == 2, "offsetof(NetPacket_Fixed<0x3002>, char_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x3002>, flag) == 6, "offsetof(NetPacket_Fixed<0x3002>, flag) == 6"); static_assert(sizeof(NetPacket_Fixed<0x3002>) == 7, "sizeof(NetPacket_Fixed<0x3002>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x3002>) == 1, "alignof(NetPacket_Fixed<0x3002>) == 1"); template<> struct NetPacket_Head<0x3003> @@ -1455,6 +1497,7 @@ static_assert(offsetof(NetPacket_Head<0x3003>, magic_packet_length) == 2, "offse static_assert(offsetof(NetPacket_Head<0x3003>, char_name) == 4, "offsetof(NetPacket_Head<0x3003>, char_name) == 4"); static_assert(offsetof(NetPacket_Head<0x3003>, min_gm_level) == 28, "offsetof(NetPacket_Head<0x3003>, min_gm_level) == 28"); static_assert(sizeof(NetPacket_Head<0x3003>) == 30, "sizeof(NetPacket_Head<0x3003>) == 30"); +static_assert(alignof(NetPacket_Head<0x3003>) == 1, "alignof(NetPacket_Head<0x3003>) == 1"); template<> struct NetPacket_Repeat<0x3003> { @@ -1462,6 +1505,7 @@ struct NetPacket_Repeat<0x3003> }; static_assert(offsetof(NetPacket_Repeat<0x3003>, c) == 0, "offsetof(NetPacket_Repeat<0x3003>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3003>) == 1, "sizeof(NetPacket_Repeat<0x3003>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3003>) == 1, "alignof(NetPacket_Repeat<0x3003>) == 1"); template<> struct NetPacket_Head<0x3004> @@ -1474,6 +1518,7 @@ static_assert(offsetof(NetPacket_Head<0x3004>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x3004>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x3004>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x3004>, account_id) == 4, "offsetof(NetPacket_Head<0x3004>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x3004>) == 8, "sizeof(NetPacket_Head<0x3004>) == 8"); +static_assert(alignof(NetPacket_Head<0x3004>) == 1, "alignof(NetPacket_Head<0x3004>) == 1"); template<> struct NetPacket_Repeat<0x3004> { @@ -1483,6 +1528,7 @@ struct NetPacket_Repeat<0x3004> static_assert(offsetof(NetPacket_Repeat<0x3004>, name) == 0, "offsetof(NetPacket_Repeat<0x3004>, name) == 0"); static_assert(offsetof(NetPacket_Repeat<0x3004>, value) == 32, "offsetof(NetPacket_Repeat<0x3004>, value) == 32"); static_assert(sizeof(NetPacket_Repeat<0x3004>) == 36, "sizeof(NetPacket_Repeat<0x3004>) == 36"); +static_assert(alignof(NetPacket_Repeat<0x3004>) == 1, "alignof(NetPacket_Repeat<0x3004>) == 1"); template<> struct NetPacket_Fixed<0x3005> @@ -1493,6 +1539,7 @@ struct NetPacket_Fixed<0x3005> static_assert(offsetof(NetPacket_Fixed<0x3005>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x3005>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x3005>, account_id) == 2, "offsetof(NetPacket_Fixed<0x3005>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x3005>) == 6, "sizeof(NetPacket_Fixed<0x3005>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x3005>) == 1, "alignof(NetPacket_Fixed<0x3005>) == 1"); template<> struct NetPacket_Fixed<0x3010> @@ -1503,6 +1550,7 @@ struct NetPacket_Fixed<0x3010> static_assert(offsetof(NetPacket_Fixed<0x3010>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x3010>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x3010>, account_id) == 2, "offsetof(NetPacket_Fixed<0x3010>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x3010>) == 6, "sizeof(NetPacket_Fixed<0x3010>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x3010>) == 1, "alignof(NetPacket_Fixed<0x3010>) == 1"); template<> struct NetPacket_Payload<0x3011> @@ -1516,6 +1564,7 @@ static_assert(offsetof(NetPacket_Payload<0x3011>, magic_packet_id) == 0, "offset static_assert(offsetof(NetPacket_Payload<0x3011>, magic_packet_length) == 2, "offsetof(NetPacket_Payload<0x3011>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Payload<0x3011>, account_id) == 4, "offsetof(NetPacket_Payload<0x3011>, account_id) == 4"); static_assert(offsetof(NetPacket_Payload<0x3011>, storage) == 8, "offsetof(NetPacket_Payload<0x3011>, storage) == 8"); +static_assert(alignof(NetPacket_Payload<0x3011>) == 1, "alignof(NetPacket_Payload<0x3011>) == 1"); template<> struct NetPacket_Fixed<0x3020> @@ -1534,6 +1583,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3020>, char_name) == 30, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x3020>, map_name) == 54, "offsetof(NetPacket_Fixed<0x3020>, map_name) == 54"); static_assert(offsetof(NetPacket_Fixed<0x3020>, level) == 70, "offsetof(NetPacket_Fixed<0x3020>, level) == 70"); static_assert(sizeof(NetPacket_Fixed<0x3020>) == 72, "sizeof(NetPacket_Fixed<0x3020>) == 72"); +static_assert(alignof(NetPacket_Fixed<0x3020>) == 1, "alignof(NetPacket_Fixed<0x3020>) == 1"); template<> struct NetPacket_Fixed<0x3021> @@ -1544,6 +1594,7 @@ struct NetPacket_Fixed<0x3021> static_assert(offsetof(NetPacket_Fixed<0x3021>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x3021>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x3021>, party_id) == 2, "offsetof(NetPacket_Fixed<0x3021>, party_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x3021>) == 6, "sizeof(NetPacket_Fixed<0x3021>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x3021>) == 1, "alignof(NetPacket_Fixed<0x3021>) == 1"); template<> struct NetPacket_Fixed<0x3022> @@ -1562,6 +1613,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3022>, char_name) == 10, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x3022>, map_name) == 34, "offsetof(NetPacket_Fixed<0x3022>, map_name) == 34"); static_assert(offsetof(NetPacket_Fixed<0x3022>, level) == 50, "offsetof(NetPacket_Fixed<0x3022>, level) == 50"); static_assert(sizeof(NetPacket_Fixed<0x3022>) == 52, "sizeof(NetPacket_Fixed<0x3022>) == 52"); +static_assert(alignof(NetPacket_Fixed<0x3022>) == 1, "alignof(NetPacket_Fixed<0x3022>) == 1"); template<> struct NetPacket_Fixed<0x3023> @@ -1578,6 +1630,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3023>, account_id) == 6, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x3023>, exp) == 10, "offsetof(NetPacket_Fixed<0x3023>, exp) == 10"); static_assert(offsetof(NetPacket_Fixed<0x3023>, item) == 12, "offsetof(NetPacket_Fixed<0x3023>, item) == 12"); static_assert(sizeof(NetPacket_Fixed<0x3023>) == 14, "sizeof(NetPacket_Fixed<0x3023>) == 14"); +static_assert(alignof(NetPacket_Fixed<0x3023>) == 1, "alignof(NetPacket_Fixed<0x3023>) == 1"); template<> struct NetPacket_Fixed<0x3024> @@ -1590,6 +1643,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3024>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x3024>, party_id) == 2, "offsetof(NetPacket_Fixed<0x3024>, party_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x3024>, account_id) == 6, "offsetof(NetPacket_Fixed<0x3024>, account_id) == 6"); static_assert(sizeof(NetPacket_Fixed<0x3024>) == 10, "sizeof(NetPacket_Fixed<0x3024>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x3024>) == 1, "alignof(NetPacket_Fixed<0x3024>) == 1"); template<> struct NetPacket_Fixed<0x3025> @@ -1608,6 +1662,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3025>, map_name) == 10, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x3025>, online) == 26, "offsetof(NetPacket_Fixed<0x3025>, online) == 26"); static_assert(offsetof(NetPacket_Fixed<0x3025>, level) == 27, "offsetof(NetPacket_Fixed<0x3025>, level) == 27"); static_assert(sizeof(NetPacket_Fixed<0x3025>) == 29, "sizeof(NetPacket_Fixed<0x3025>) == 29"); +static_assert(alignof(NetPacket_Fixed<0x3025>) == 1, "alignof(NetPacket_Fixed<0x3025>) == 1"); template<> struct NetPacket_Fixed<0x3026> @@ -1618,6 +1673,7 @@ struct NetPacket_Fixed<0x3026> static_assert(offsetof(NetPacket_Fixed<0x3026>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x3026>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x3026>, party_id) == 2, "offsetof(NetPacket_Fixed<0x3026>, party_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x3026>) == 6, "sizeof(NetPacket_Fixed<0x3026>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x3026>) == 1, "alignof(NetPacket_Fixed<0x3026>) == 1"); template<> struct NetPacket_Head<0x3027> @@ -1632,6 +1688,7 @@ static_assert(offsetof(NetPacket_Head<0x3027>, magic_packet_length) == 2, "offse static_assert(offsetof(NetPacket_Head<0x3027>, party_id) == 4, "offsetof(NetPacket_Head<0x3027>, party_id) == 4"); static_assert(offsetof(NetPacket_Head<0x3027>, account_id) == 8, "offsetof(NetPacket_Head<0x3027>, account_id) == 8"); static_assert(sizeof(NetPacket_Head<0x3027>) == 12, "sizeof(NetPacket_Head<0x3027>) == 12"); +static_assert(alignof(NetPacket_Head<0x3027>) == 1, "alignof(NetPacket_Head<0x3027>) == 1"); template<> struct NetPacket_Repeat<0x3027> { @@ -1639,6 +1696,7 @@ struct NetPacket_Repeat<0x3027> }; static_assert(offsetof(NetPacket_Repeat<0x3027>, c) == 0, "offsetof(NetPacket_Repeat<0x3027>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3027>) == 1, "sizeof(NetPacket_Repeat<0x3027>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3027>) == 1, "alignof(NetPacket_Repeat<0x3027>) == 1"); template<> struct NetPacket_Fixed<0x3028> @@ -1653,6 +1711,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3028>, party_id) == 2, "offsetof(NetPac static_assert(offsetof(NetPacket_Fixed<0x3028>, account_id) == 6, "offsetof(NetPacket_Fixed<0x3028>, account_id) == 6"); static_assert(offsetof(NetPacket_Fixed<0x3028>, char_name) == 10, "offsetof(NetPacket_Fixed<0x3028>, char_name) == 10"); static_assert(sizeof(NetPacket_Fixed<0x3028>) == 34, "sizeof(NetPacket_Fixed<0x3028>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x3028>) == 1, "alignof(NetPacket_Fixed<0x3028>) == 1"); template<> struct NetPacket_Head<0x3800> @@ -1663,6 +1722,7 @@ struct NetPacket_Head<0x3800> static_assert(offsetof(NetPacket_Head<0x3800>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x3800>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x3800>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x3800>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x3800>) == 4, "sizeof(NetPacket_Head<0x3800>) == 4"); +static_assert(alignof(NetPacket_Head<0x3800>) == 1, "alignof(NetPacket_Head<0x3800>) == 1"); template<> struct NetPacket_Repeat<0x3800> { @@ -1670,6 +1730,7 @@ struct NetPacket_Repeat<0x3800> }; static_assert(offsetof(NetPacket_Repeat<0x3800>, c) == 0, "offsetof(NetPacket_Repeat<0x3800>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3800>) == 1, "sizeof(NetPacket_Repeat<0x3800>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3800>) == 1, "alignof(NetPacket_Repeat<0x3800>) == 1"); template<> struct NetPacket_Head<0x3801> @@ -1686,6 +1747,7 @@ static_assert(offsetof(NetPacket_Head<0x3801>, whisper_id) == 4, "offsetof(NetPa static_assert(offsetof(NetPacket_Head<0x3801>, src_char_name) == 8, "offsetof(NetPacket_Head<0x3801>, src_char_name) == 8"); static_assert(offsetof(NetPacket_Head<0x3801>, dst_char_name) == 32, "offsetof(NetPacket_Head<0x3801>, dst_char_name) == 32"); static_assert(sizeof(NetPacket_Head<0x3801>) == 56, "sizeof(NetPacket_Head<0x3801>) == 56"); +static_assert(alignof(NetPacket_Head<0x3801>) == 1, "alignof(NetPacket_Head<0x3801>) == 1"); template<> struct NetPacket_Repeat<0x3801> { @@ -1693,6 +1755,7 @@ struct NetPacket_Repeat<0x3801> }; static_assert(offsetof(NetPacket_Repeat<0x3801>, c) == 0, "offsetof(NetPacket_Repeat<0x3801>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3801>) == 1, "sizeof(NetPacket_Repeat<0x3801>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3801>) == 1, "alignof(NetPacket_Repeat<0x3801>) == 1"); template<> struct NetPacket_Fixed<0x3802> @@ -1705,6 +1768,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3802>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x3802>, sender_char_name) == 2, "offsetof(NetPacket_Fixed<0x3802>, sender_char_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x3802>, flag) == 26, "offsetof(NetPacket_Fixed<0x3802>, flag) == 26"); static_assert(sizeof(NetPacket_Fixed<0x3802>) == 27, "sizeof(NetPacket_Fixed<0x3802>) == 27"); +static_assert(alignof(NetPacket_Fixed<0x3802>) == 1, "alignof(NetPacket_Fixed<0x3802>) == 1"); template<> struct NetPacket_Head<0x3803> @@ -1719,6 +1783,7 @@ static_assert(offsetof(NetPacket_Head<0x3803>, magic_packet_length) == 2, "offse static_assert(offsetof(NetPacket_Head<0x3803>, char_name) == 4, "offsetof(NetPacket_Head<0x3803>, char_name) == 4"); static_assert(offsetof(NetPacket_Head<0x3803>, min_gm_level) == 28, "offsetof(NetPacket_Head<0x3803>, min_gm_level) == 28"); static_assert(sizeof(NetPacket_Head<0x3803>) == 30, "sizeof(NetPacket_Head<0x3803>) == 30"); +static_assert(alignof(NetPacket_Head<0x3803>) == 1, "alignof(NetPacket_Head<0x3803>) == 1"); template<> struct NetPacket_Repeat<0x3803> { @@ -1726,6 +1791,7 @@ struct NetPacket_Repeat<0x3803> }; static_assert(offsetof(NetPacket_Repeat<0x3803>, c) == 0, "offsetof(NetPacket_Repeat<0x3803>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3803>) == 1, "sizeof(NetPacket_Repeat<0x3803>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3803>) == 1, "alignof(NetPacket_Repeat<0x3803>) == 1"); template<> struct NetPacket_Head<0x3804> @@ -1738,6 +1804,7 @@ static_assert(offsetof(NetPacket_Head<0x3804>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x3804>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x3804>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x3804>, account_id) == 4, "offsetof(NetPacket_Head<0x3804>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x3804>) == 8, "sizeof(NetPacket_Head<0x3804>) == 8"); +static_assert(alignof(NetPacket_Head<0x3804>) == 1, "alignof(NetPacket_Head<0x3804>) == 1"); template<> struct NetPacket_Repeat<0x3804> { @@ -1747,6 +1814,7 @@ struct NetPacket_Repeat<0x3804> static_assert(offsetof(NetPacket_Repeat<0x3804>, name) == 0, "offsetof(NetPacket_Repeat<0x3804>, name) == 0"); static_assert(offsetof(NetPacket_Repeat<0x3804>, value) == 32, "offsetof(NetPacket_Repeat<0x3804>, value) == 32"); static_assert(sizeof(NetPacket_Repeat<0x3804>) == 36, "sizeof(NetPacket_Repeat<0x3804>) == 36"); +static_assert(alignof(NetPacket_Repeat<0x3804>) == 1, "alignof(NetPacket_Repeat<0x3804>) == 1"); template<> struct NetPacket_Payload<0x3810> @@ -1760,6 +1828,7 @@ static_assert(offsetof(NetPacket_Payload<0x3810>, magic_packet_id) == 0, "offset static_assert(offsetof(NetPacket_Payload<0x3810>, magic_packet_length) == 2, "offsetof(NetPacket_Payload<0x3810>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Payload<0x3810>, account_id) == 4, "offsetof(NetPacket_Payload<0x3810>, account_id) == 4"); static_assert(offsetof(NetPacket_Payload<0x3810>, storage) == 8, "offsetof(NetPacket_Payload<0x3810>, storage) == 8"); +static_assert(alignof(NetPacket_Payload<0x3810>) == 1, "alignof(NetPacket_Payload<0x3810>) == 1"); template<> struct NetPacket_Fixed<0x3811> @@ -1772,6 +1841,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3811>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x3811>, account_id) == 2, "offsetof(NetPacket_Fixed<0x3811>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x3811>, unknown) == 6, "offsetof(NetPacket_Fixed<0x3811>, unknown) == 6"); static_assert(sizeof(NetPacket_Fixed<0x3811>) == 7, "sizeof(NetPacket_Fixed<0x3811>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x3811>) == 1, "alignof(NetPacket_Fixed<0x3811>) == 1"); template<> struct NetPacket_Fixed<0x3820> @@ -1788,6 +1858,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3820>, error) == 6, "offsetof(NetPacket static_assert(offsetof(NetPacket_Fixed<0x3820>, party_id) == 7, "offsetof(NetPacket_Fixed<0x3820>, party_id) == 7"); static_assert(offsetof(NetPacket_Fixed<0x3820>, party_name) == 11, "offsetof(NetPacket_Fixed<0x3820>, party_name) == 11"); static_assert(sizeof(NetPacket_Fixed<0x3820>) == 35, "sizeof(NetPacket_Fixed<0x3820>) == 35"); +static_assert(alignof(NetPacket_Fixed<0x3820>) == 1, "alignof(NetPacket_Fixed<0x3820>) == 1"); template<> struct NetPacket_Head<0x3821> @@ -1800,12 +1871,14 @@ static_assert(offsetof(NetPacket_Head<0x3821>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x3821>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x3821>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x3821>, party_id) == 4, "offsetof(NetPacket_Head<0x3821>, party_id) == 4"); static_assert(sizeof(NetPacket_Head<0x3821>) == 8, "sizeof(NetPacket_Head<0x3821>) == 8"); +static_assert(alignof(NetPacket_Head<0x3821>) == 1, "alignof(NetPacket_Head<0x3821>) == 1"); template<> struct NetPacket_Option<0x3821> { PartyMost party_most; }; static_assert(offsetof(NetPacket_Option<0x3821>, party_most) == 0, "offsetof(NetPacket_Option<0x3821>, party_most) == 0"); +static_assert(alignof(NetPacket_Option<0x3821>) == 1, "alignof(NetPacket_Option<0x3821>) == 1"); template<> struct NetPacket_Fixed<0x3822> @@ -1820,6 +1893,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3822>, party_id) == 2, "offsetof(NetPac static_assert(offsetof(NetPacket_Fixed<0x3822>, account_id) == 6, "offsetof(NetPacket_Fixed<0x3822>, account_id) == 6"); static_assert(offsetof(NetPacket_Fixed<0x3822>, flag) == 10, "offsetof(NetPacket_Fixed<0x3822>, flag) == 10"); static_assert(sizeof(NetPacket_Fixed<0x3822>) == 11, "sizeof(NetPacket_Fixed<0x3822>) == 11"); +static_assert(alignof(NetPacket_Fixed<0x3822>) == 1, "alignof(NetPacket_Fixed<0x3822>) == 1"); template<> struct NetPacket_Fixed<0x3823> @@ -1838,6 +1912,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3823>, exp) == 10, "offsetof(NetPacket_ static_assert(offsetof(NetPacket_Fixed<0x3823>, item) == 12, "offsetof(NetPacket_Fixed<0x3823>, item) == 12"); static_assert(offsetof(NetPacket_Fixed<0x3823>, flag) == 14, "offsetof(NetPacket_Fixed<0x3823>, flag) == 14"); static_assert(sizeof(NetPacket_Fixed<0x3823>) == 15, "sizeof(NetPacket_Fixed<0x3823>) == 15"); +static_assert(alignof(NetPacket_Fixed<0x3823>) == 1, "alignof(NetPacket_Fixed<0x3823>) == 1"); template<> struct NetPacket_Fixed<0x3824> @@ -1852,6 +1927,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3824>, party_id) == 2, "offsetof(NetPac static_assert(offsetof(NetPacket_Fixed<0x3824>, account_id) == 6, "offsetof(NetPacket_Fixed<0x3824>, account_id) == 6"); static_assert(offsetof(NetPacket_Fixed<0x3824>, char_name) == 10, "offsetof(NetPacket_Fixed<0x3824>, char_name) == 10"); static_assert(sizeof(NetPacket_Fixed<0x3824>) == 34, "sizeof(NetPacket_Fixed<0x3824>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x3824>) == 1, "alignof(NetPacket_Fixed<0x3824>) == 1"); template<> struct NetPacket_Fixed<0x3825> @@ -1870,6 +1946,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3825>, map_name) == 10, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x3825>, online) == 26, "offsetof(NetPacket_Fixed<0x3825>, online) == 26"); static_assert(offsetof(NetPacket_Fixed<0x3825>, level) == 27, "offsetof(NetPacket_Fixed<0x3825>, level) == 27"); static_assert(sizeof(NetPacket_Fixed<0x3825>) == 29, "sizeof(NetPacket_Fixed<0x3825>) == 29"); +static_assert(alignof(NetPacket_Fixed<0x3825>) == 1, "alignof(NetPacket_Fixed<0x3825>) == 1"); template<> struct NetPacket_Fixed<0x3826> @@ -1882,6 +1959,7 @@ static_assert(offsetof(NetPacket_Fixed<0x3826>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x3826>, party_id) == 2, "offsetof(NetPacket_Fixed<0x3826>, party_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x3826>, flag) == 6, "offsetof(NetPacket_Fixed<0x3826>, flag) == 6"); static_assert(sizeof(NetPacket_Fixed<0x3826>) == 7, "sizeof(NetPacket_Fixed<0x3826>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x3826>) == 1, "alignof(NetPacket_Fixed<0x3826>) == 1"); template<> struct NetPacket_Head<0x3827> @@ -1896,6 +1974,7 @@ static_assert(offsetof(NetPacket_Head<0x3827>, magic_packet_length) == 2, "offse static_assert(offsetof(NetPacket_Head<0x3827>, party_id) == 4, "offsetof(NetPacket_Head<0x3827>, party_id) == 4"); static_assert(offsetof(NetPacket_Head<0x3827>, account_id) == 8, "offsetof(NetPacket_Head<0x3827>, account_id) == 8"); static_assert(sizeof(NetPacket_Head<0x3827>) == 12, "sizeof(NetPacket_Head<0x3827>) == 12"); +static_assert(alignof(NetPacket_Head<0x3827>) == 1, "alignof(NetPacket_Head<0x3827>) == 1"); template<> struct NetPacket_Repeat<0x3827> { @@ -1903,6 +1982,7 @@ struct NetPacket_Repeat<0x3827> }; static_assert(offsetof(NetPacket_Repeat<0x3827>, c) == 0, "offsetof(NetPacket_Repeat<0x3827>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x3827>) == 1, "sizeof(NetPacket_Repeat<0x3827>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x3827>) == 1, "alignof(NetPacket_Repeat<0x3827>) == 1"); inline __attribute__((warn_unused_result)) @@ -3456,6 +3536,6 @@ bool network_to_native(Packet_Repeat<0x3827> *native, NetPacket_Repeat<0x3827> n } -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_CHAR_MAP_HPP diff --git a/src/proto2/char-user.hpp b/src/proto2/char-user.hpp index 3a51a2a..2c1d1ac 100644 --- a/src/proto2/char-user.hpp +++ b/src/proto2/char-user.hpp @@ -28,7 +28,7 @@ // This is a public protocol, and changes require client cooperation // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) template<> struct Packet_Fixed<0x0061> @@ -193,6 +193,7 @@ static_assert(offsetof(NetPacket_Fixed<0x0061>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x0061>, old_pass) == 2, "offsetof(NetPacket_Fixed<0x0061>, old_pass) == 2"); static_assert(offsetof(NetPacket_Fixed<0x0061>, new_pass) == 26, "offsetof(NetPacket_Fixed<0x0061>, new_pass) == 26"); static_assert(sizeof(NetPacket_Fixed<0x0061>) == 50, "sizeof(NetPacket_Fixed<0x0061>) == 50"); +static_assert(alignof(NetPacket_Fixed<0x0061>) == 1, "alignof(NetPacket_Fixed<0x0061>) == 1"); template<> struct NetPacket_Fixed<0x0062> @@ -203,6 +204,7 @@ struct NetPacket_Fixed<0x0062> static_assert(offsetof(NetPacket_Fixed<0x0062>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0062>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x0062>, status) == 2, "offsetof(NetPacket_Fixed<0x0062>, status) == 2"); static_assert(sizeof(NetPacket_Fixed<0x0062>) == 3, "sizeof(NetPacket_Fixed<0x0062>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x0062>) == 1, "alignof(NetPacket_Fixed<0x0062>) == 1"); template<> struct NetPacket_Fixed<0x0065> @@ -221,6 +223,7 @@ static_assert(offsetof(NetPacket_Fixed<0x0065>, login_id2) == 10, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x0065>, packet_tmw_version) == 14, "offsetof(NetPacket_Fixed<0x0065>, packet_tmw_version) == 14"); static_assert(offsetof(NetPacket_Fixed<0x0065>, sex) == 16, "offsetof(NetPacket_Fixed<0x0065>, sex) == 16"); static_assert(sizeof(NetPacket_Fixed<0x0065>) == 17, "sizeof(NetPacket_Fixed<0x0065>) == 17"); +static_assert(alignof(NetPacket_Fixed<0x0065>) == 1, "alignof(NetPacket_Fixed<0x0065>) == 1"); template<> struct NetPacket_Fixed<0x0066> @@ -231,6 +234,7 @@ struct NetPacket_Fixed<0x0066> static_assert(offsetof(NetPacket_Fixed<0x0066>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0066>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x0066>, code) == 2, "offsetof(NetPacket_Fixed<0x0066>, code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x0066>) == 3, "sizeof(NetPacket_Fixed<0x0066>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x0066>) == 1, "alignof(NetPacket_Fixed<0x0066>) == 1"); template<> struct NetPacket_Fixed<0x0067> @@ -249,6 +253,7 @@ static_assert(offsetof(NetPacket_Fixed<0x0067>, slot) == 32, "offsetof(NetPacket static_assert(offsetof(NetPacket_Fixed<0x0067>, hair_color) == 33, "offsetof(NetPacket_Fixed<0x0067>, hair_color) == 33"); static_assert(offsetof(NetPacket_Fixed<0x0067>, hair_style) == 35, "offsetof(NetPacket_Fixed<0x0067>, hair_style) == 35"); static_assert(sizeof(NetPacket_Fixed<0x0067>) == 37, "sizeof(NetPacket_Fixed<0x0067>) == 37"); +static_assert(alignof(NetPacket_Fixed<0x0067>) == 1, "alignof(NetPacket_Fixed<0x0067>) == 1"); template<> struct NetPacket_Fixed<0x0068> @@ -261,6 +266,7 @@ static_assert(offsetof(NetPacket_Fixed<0x0068>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x0068>, char_id) == 2, "offsetof(NetPacket_Fixed<0x0068>, char_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x0068>, email) == 6, "offsetof(NetPacket_Fixed<0x0068>, email) == 6"); static_assert(sizeof(NetPacket_Fixed<0x0068>) == 46, "sizeof(NetPacket_Fixed<0x0068>) == 46"); +static_assert(alignof(NetPacket_Fixed<0x0068>) == 1, "alignof(NetPacket_Fixed<0x0068>) == 1"); template<> struct NetPacket_Head<0x006b> @@ -273,6 +279,7 @@ static_assert(offsetof(NetPacket_Head<0x006b>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x006b>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x006b>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x006b>, unused) == 4, "offsetof(NetPacket_Head<0x006b>, unused) == 4"); static_assert(sizeof(NetPacket_Head<0x006b>) == 24, "sizeof(NetPacket_Head<0x006b>) == 24"); +static_assert(alignof(NetPacket_Head<0x006b>) == 1, "alignof(NetPacket_Head<0x006b>) == 1"); template<> struct NetPacket_Repeat<0x006b> { @@ -280,6 +287,7 @@ struct NetPacket_Repeat<0x006b> }; static_assert(offsetof(NetPacket_Repeat<0x006b>, char_select) == 0, "offsetof(NetPacket_Repeat<0x006b>, char_select) == 0"); static_assert(sizeof(NetPacket_Repeat<0x006b>) == 106, "sizeof(NetPacket_Repeat<0x006b>) == 106"); +static_assert(alignof(NetPacket_Repeat<0x006b>) == 1, "alignof(NetPacket_Repeat<0x006b>) == 1"); template<> struct NetPacket_Fixed<0x006c> @@ -290,6 +298,7 @@ struct NetPacket_Fixed<0x006c> static_assert(offsetof(NetPacket_Fixed<0x006c>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x006c>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x006c>, code) == 2, "offsetof(NetPacket_Fixed<0x006c>, code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x006c>) == 3, "sizeof(NetPacket_Fixed<0x006c>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x006c>) == 1, "alignof(NetPacket_Fixed<0x006c>) == 1"); template<> struct NetPacket_Fixed<0x006d> @@ -300,6 +309,7 @@ struct NetPacket_Fixed<0x006d> static_assert(offsetof(NetPacket_Fixed<0x006d>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x006d>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x006d>, char_select) == 2, "offsetof(NetPacket_Fixed<0x006d>, char_select) == 2"); static_assert(sizeof(NetPacket_Fixed<0x006d>) == 108, "sizeof(NetPacket_Fixed<0x006d>) == 108"); +static_assert(alignof(NetPacket_Fixed<0x006d>) == 1, "alignof(NetPacket_Fixed<0x006d>) == 1"); template<> struct NetPacket_Fixed<0x006e> @@ -310,6 +320,7 @@ struct NetPacket_Fixed<0x006e> static_assert(offsetof(NetPacket_Fixed<0x006e>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x006e>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x006e>, code) == 2, "offsetof(NetPacket_Fixed<0x006e>, code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x006e>) == 3, "sizeof(NetPacket_Fixed<0x006e>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x006e>) == 1, "alignof(NetPacket_Fixed<0x006e>) == 1"); template<> struct NetPacket_Fixed<0x006f> @@ -318,6 +329,7 @@ struct NetPacket_Fixed<0x006f> }; static_assert(offsetof(NetPacket_Fixed<0x006f>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x006f>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x006f>) == 2, "sizeof(NetPacket_Fixed<0x006f>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x006f>) == 1, "alignof(NetPacket_Fixed<0x006f>) == 1"); template<> struct NetPacket_Fixed<0x0070> @@ -328,6 +340,7 @@ struct NetPacket_Fixed<0x0070> static_assert(offsetof(NetPacket_Fixed<0x0070>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0070>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x0070>, code) == 2, "offsetof(NetPacket_Fixed<0x0070>, code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x0070>) == 3, "sizeof(NetPacket_Fixed<0x0070>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x0070>) == 1, "alignof(NetPacket_Fixed<0x0070>) == 1"); template<> struct NetPacket_Fixed<0x0071> @@ -344,6 +357,7 @@ static_assert(offsetof(NetPacket_Fixed<0x0071>, map_name) == 6, "offsetof(NetPac static_assert(offsetof(NetPacket_Fixed<0x0071>, ip) == 22, "offsetof(NetPacket_Fixed<0x0071>, ip) == 22"); static_assert(offsetof(NetPacket_Fixed<0x0071>, port) == 26, "offsetof(NetPacket_Fixed<0x0071>, port) == 26"); static_assert(sizeof(NetPacket_Fixed<0x0071>) == 28, "sizeof(NetPacket_Fixed<0x0071>) == 28"); +static_assert(alignof(NetPacket_Fixed<0x0071>) == 1, "alignof(NetPacket_Fixed<0x0071>) == 1"); inline __attribute__((warn_unused_result)) @@ -608,6 +622,6 @@ bool network_to_native(Packet_Fixed<0x0071> *native, NetPacket_Fixed<0x0071> net } -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_CHAR_USER_HPP diff --git a/src/proto2/fwd.hpp b/src/proto2/fwd.hpp index 169f5e2..d41b7fe 100644 --- a/src/proto2/fwd.hpp +++ b/src/proto2/fwd.hpp @@ -904,6 +904,790 @@ struct NetPacket_Fixed<0x0071>; template<> +struct Packet_Fixed<0x0072>; +template<> +struct NetPacket_Fixed<0x0072>; + +template<> +struct Packet_Fixed<0x0073>; +template<> +struct NetPacket_Fixed<0x0073>; + +template<> +struct Packet_Fixed<0x0078>; +template<> +struct NetPacket_Fixed<0x0078>; + +template<> +struct Packet_Fixed<0x007b>; +template<> +struct NetPacket_Fixed<0x007b>; + +template<> +struct Packet_Fixed<0x007c>; +template<> +struct NetPacket_Fixed<0x007c>; + +template<> +struct Packet_Fixed<0x007d>; +template<> +struct NetPacket_Fixed<0x007d>; + +template<> +struct Packet_Fixed<0x007e>; +template<> +struct NetPacket_Fixed<0x007e>; + +template<> +struct Packet_Fixed<0x007f>; +template<> +struct NetPacket_Fixed<0x007f>; + +template<> +struct Packet_Fixed<0x0080>; +template<> +struct NetPacket_Fixed<0x0080>; + +template<> +struct Packet_Fixed<0x0085>; +template<> +struct NetPacket_Fixed<0x0085>; + +template<> +struct Packet_Fixed<0x0087>; +template<> +struct NetPacket_Fixed<0x0087>; + +template<> +struct Packet_Fixed<0x0088>; +template<> +struct NetPacket_Fixed<0x0088>; + +template<> +struct Packet_Fixed<0x0089>; +template<> +struct NetPacket_Fixed<0x0089>; + +template<> +struct Packet_Fixed<0x008a>; +template<> +struct NetPacket_Fixed<0x008a>; + +template<> +struct Packet_Head<0x008c>; +template<> +struct NetPacket_Head<0x008c>; +template<> +struct Packet_Repeat<0x008c>; +template<> +struct NetPacket_Repeat<0x008c>; + +template<> +struct Packet_Head<0x008d>; +template<> +struct NetPacket_Head<0x008d>; +template<> +struct Packet_Repeat<0x008d>; +template<> +struct NetPacket_Repeat<0x008d>; + +template<> +struct Packet_Head<0x008e>; +template<> +struct NetPacket_Head<0x008e>; +template<> +struct Packet_Repeat<0x008e>; +template<> +struct NetPacket_Repeat<0x008e>; + +template<> +struct Packet_Fixed<0x0090>; +template<> +struct NetPacket_Fixed<0x0090>; + +template<> +struct Packet_Fixed<0x0091>; +template<> +struct NetPacket_Fixed<0x0091>; + +template<> +struct Packet_Fixed<0x0092>; +template<> +struct NetPacket_Fixed<0x0092>; + +template<> +struct Packet_Fixed<0x0094>; +template<> +struct NetPacket_Fixed<0x0094>; + +template<> +struct Packet_Fixed<0x0095>; +template<> +struct NetPacket_Fixed<0x0095>; + +template<> +struct Packet_Head<0x0096>; +template<> +struct NetPacket_Head<0x0096>; +template<> +struct Packet_Repeat<0x0096>; +template<> +struct NetPacket_Repeat<0x0096>; + +template<> +struct Packet_Head<0x0097>; +template<> +struct NetPacket_Head<0x0097>; +template<> +struct Packet_Repeat<0x0097>; +template<> +struct NetPacket_Repeat<0x0097>; + +template<> +struct Packet_Fixed<0x0098>; +template<> +struct NetPacket_Fixed<0x0098>; + +template<> +struct Packet_Head<0x009a>; +template<> +struct NetPacket_Head<0x009a>; +template<> +struct Packet_Repeat<0x009a>; +template<> +struct NetPacket_Repeat<0x009a>; + +template<> +struct Packet_Fixed<0x009b>; +template<> +struct NetPacket_Fixed<0x009b>; + +template<> +struct Packet_Fixed<0x009c>; +template<> +struct NetPacket_Fixed<0x009c>; + +template<> +struct Packet_Fixed<0x009d>; +template<> +struct NetPacket_Fixed<0x009d>; + +template<> +struct Packet_Fixed<0x009e>; +template<> +struct NetPacket_Fixed<0x009e>; + +template<> +struct Packet_Fixed<0x009f>; +template<> +struct NetPacket_Fixed<0x009f>; + +template<> +struct Packet_Fixed<0x00a0>; +template<> +struct NetPacket_Fixed<0x00a0>; + +template<> +struct Packet_Fixed<0x00a1>; +template<> +struct NetPacket_Fixed<0x00a1>; + +template<> +struct Packet_Fixed<0x00a2>; +template<> +struct NetPacket_Fixed<0x00a2>; + +template<> +struct Packet_Head<0x00a4>; +template<> +struct NetPacket_Head<0x00a4>; +template<> +struct Packet_Repeat<0x00a4>; +template<> +struct NetPacket_Repeat<0x00a4>; + +template<> +struct Packet_Head<0x00a6>; +template<> +struct NetPacket_Head<0x00a6>; +template<> +struct Packet_Repeat<0x00a6>; +template<> +struct NetPacket_Repeat<0x00a6>; + +template<> +struct Packet_Fixed<0x00a7>; +template<> +struct NetPacket_Fixed<0x00a7>; + +template<> +struct Packet_Fixed<0x00a8>; +template<> +struct NetPacket_Fixed<0x00a8>; + +template<> +struct Packet_Fixed<0x00a9>; +template<> +struct NetPacket_Fixed<0x00a9>; + +template<> +struct Packet_Fixed<0x00aa>; +template<> +struct NetPacket_Fixed<0x00aa>; + +template<> +struct Packet_Fixed<0x00ab>; +template<> +struct NetPacket_Fixed<0x00ab>; + +template<> +struct Packet_Fixed<0x00ac>; +template<> +struct NetPacket_Fixed<0x00ac>; + +template<> +struct Packet_Fixed<0x00af>; +template<> +struct NetPacket_Fixed<0x00af>; + +template<> +struct Packet_Fixed<0x00b0>; +template<> +struct NetPacket_Fixed<0x00b0>; + +template<> +struct Packet_Fixed<0x00b1>; +template<> +struct NetPacket_Fixed<0x00b1>; + +template<> +struct Packet_Fixed<0x00b2>; +template<> +struct NetPacket_Fixed<0x00b2>; + +template<> +struct Packet_Fixed<0x00b3>; +template<> +struct NetPacket_Fixed<0x00b3>; + +template<> +struct Packet_Head<0x00b4>; +template<> +struct NetPacket_Head<0x00b4>; +template<> +struct Packet_Repeat<0x00b4>; +template<> +struct NetPacket_Repeat<0x00b4>; + +template<> +struct Packet_Fixed<0x00b5>; +template<> +struct NetPacket_Fixed<0x00b5>; + +template<> +struct Packet_Fixed<0x00b6>; +template<> +struct NetPacket_Fixed<0x00b6>; + +template<> +struct Packet_Head<0x00b7>; +template<> +struct NetPacket_Head<0x00b7>; +template<> +struct Packet_Repeat<0x00b7>; +template<> +struct NetPacket_Repeat<0x00b7>; + +template<> +struct Packet_Fixed<0x00b8>; +template<> +struct NetPacket_Fixed<0x00b8>; + +template<> +struct Packet_Fixed<0x00b9>; +template<> +struct NetPacket_Fixed<0x00b9>; + +template<> +struct Packet_Fixed<0x00bb>; +template<> +struct NetPacket_Fixed<0x00bb>; + +template<> +struct Packet_Fixed<0x00bc>; +template<> +struct NetPacket_Fixed<0x00bc>; + +template<> +struct Packet_Fixed<0x00bd>; +template<> +struct NetPacket_Fixed<0x00bd>; + +template<> +struct Packet_Fixed<0x00be>; +template<> +struct NetPacket_Fixed<0x00be>; + +template<> +struct Packet_Fixed<0x00bf>; +template<> +struct NetPacket_Fixed<0x00bf>; + +template<> +struct Packet_Fixed<0x00c0>; +template<> +struct NetPacket_Fixed<0x00c0>; + +template<> +struct Packet_Fixed<0x00c1>; +template<> +struct NetPacket_Fixed<0x00c1>; + +template<> +struct Packet_Fixed<0x00c2>; +template<> +struct NetPacket_Fixed<0x00c2>; + +template<> +struct Packet_Fixed<0x00c4>; +template<> +struct NetPacket_Fixed<0x00c4>; + +template<> +struct Packet_Fixed<0x00c5>; +template<> +struct NetPacket_Fixed<0x00c5>; + +template<> +struct Packet_Head<0x00c6>; +template<> +struct NetPacket_Head<0x00c6>; +template<> +struct Packet_Repeat<0x00c6>; +template<> +struct NetPacket_Repeat<0x00c6>; + +template<> +struct Packet_Head<0x00c7>; +template<> +struct NetPacket_Head<0x00c7>; +template<> +struct Packet_Repeat<0x00c7>; +template<> +struct NetPacket_Repeat<0x00c7>; + +template<> +struct Packet_Head<0x00c8>; +template<> +struct NetPacket_Head<0x00c8>; +template<> +struct Packet_Repeat<0x00c8>; +template<> +struct NetPacket_Repeat<0x00c8>; + +template<> +struct Packet_Head<0x00c9>; +template<> +struct NetPacket_Head<0x00c9>; +template<> +struct Packet_Repeat<0x00c9>; +template<> +struct NetPacket_Repeat<0x00c9>; + +template<> +struct Packet_Fixed<0x00ca>; +template<> +struct NetPacket_Fixed<0x00ca>; + +template<> +struct Packet_Fixed<0x00cb>; +template<> +struct NetPacket_Fixed<0x00cb>; + +template<> +struct Packet_Fixed<0x00cd>; +template<> +struct NetPacket_Fixed<0x00cd>; + +template<> +struct Packet_Fixed<0x00e4>; +template<> +struct NetPacket_Fixed<0x00e4>; + +template<> +struct Packet_Fixed<0x00e5>; +template<> +struct NetPacket_Fixed<0x00e5>; + +template<> +struct Packet_Fixed<0x00e6>; +template<> +struct NetPacket_Fixed<0x00e6>; + +template<> +struct Packet_Fixed<0x00e7>; +template<> +struct NetPacket_Fixed<0x00e7>; + +template<> +struct Packet_Fixed<0x00e8>; +template<> +struct NetPacket_Fixed<0x00e8>; + +template<> +struct Packet_Fixed<0x00e9>; +template<> +struct NetPacket_Fixed<0x00e9>; + +template<> +struct Packet_Fixed<0x00eb>; +template<> +struct NetPacket_Fixed<0x00eb>; + +template<> +struct Packet_Fixed<0x00ec>; +template<> +struct NetPacket_Fixed<0x00ec>; + +template<> +struct Packet_Fixed<0x00ed>; +template<> +struct NetPacket_Fixed<0x00ed>; + +template<> +struct Packet_Fixed<0x00ee>; +template<> +struct NetPacket_Fixed<0x00ee>; + +template<> +struct Packet_Fixed<0x00ef>; +template<> +struct NetPacket_Fixed<0x00ef>; + +template<> +struct Packet_Fixed<0x00f0>; +template<> +struct NetPacket_Fixed<0x00f0>; + +template<> +struct Packet_Fixed<0x00f2>; +template<> +struct NetPacket_Fixed<0x00f2>; + +template<> +struct Packet_Fixed<0x00f3>; +template<> +struct NetPacket_Fixed<0x00f3>; + +template<> +struct Packet_Fixed<0x00f4>; +template<> +struct NetPacket_Fixed<0x00f4>; + +template<> +struct Packet_Fixed<0x00f5>; +template<> +struct NetPacket_Fixed<0x00f5>; + +template<> +struct Packet_Fixed<0x00f6>; +template<> +struct NetPacket_Fixed<0x00f6>; + +template<> +struct Packet_Fixed<0x00f7>; +template<> +struct NetPacket_Fixed<0x00f7>; + +template<> +struct Packet_Fixed<0x00f8>; +template<> +struct NetPacket_Fixed<0x00f8>; + +template<> +struct Packet_Fixed<0x00f9>; +template<> +struct NetPacket_Fixed<0x00f9>; + +template<> +struct Packet_Fixed<0x00fa>; +template<> +struct NetPacket_Fixed<0x00fa>; + +template<> +struct Packet_Head<0x00fb>; +template<> +struct NetPacket_Head<0x00fb>; +template<> +struct Packet_Repeat<0x00fb>; +template<> +struct NetPacket_Repeat<0x00fb>; + +template<> +struct Packet_Fixed<0x00fc>; +template<> +struct NetPacket_Fixed<0x00fc>; + +template<> +struct Packet_Fixed<0x00fd>; +template<> +struct NetPacket_Fixed<0x00fd>; + +template<> +struct Packet_Fixed<0x00fe>; +template<> +struct NetPacket_Fixed<0x00fe>; + +template<> +struct Packet_Fixed<0x00ff>; +template<> +struct NetPacket_Fixed<0x00ff>; + +template<> +struct Packet_Fixed<0x0100>; +template<> +struct NetPacket_Fixed<0x0100>; + +template<> +struct Packet_Fixed<0x0101>; +template<> +struct NetPacket_Fixed<0x0101>; + +template<> +struct Packet_Fixed<0x0102>; +template<> +struct NetPacket_Fixed<0x0102>; + +template<> +struct Packet_Fixed<0x0103>; +template<> +struct NetPacket_Fixed<0x0103>; + +template<> +struct Packet_Fixed<0x0105>; +template<> +struct NetPacket_Fixed<0x0105>; + +template<> +struct Packet_Fixed<0x0106>; +template<> +struct NetPacket_Fixed<0x0106>; + +template<> +struct Packet_Fixed<0x0107>; +template<> +struct NetPacket_Fixed<0x0107>; + +template<> +struct Packet_Head<0x0108>; +template<> +struct NetPacket_Head<0x0108>; +template<> +struct Packet_Repeat<0x0108>; +template<> +struct NetPacket_Repeat<0x0108>; + +template<> +struct Packet_Head<0x0109>; +template<> +struct NetPacket_Head<0x0109>; +template<> +struct Packet_Repeat<0x0109>; +template<> +struct NetPacket_Repeat<0x0109>; + +template<> +struct Packet_Fixed<0x010c>; +template<> +struct NetPacket_Fixed<0x010c>; + +template<> +struct Packet_Fixed<0x010e>; +template<> +struct NetPacket_Fixed<0x010e>; + +template<> +struct Packet_Head<0x010f>; +template<> +struct NetPacket_Head<0x010f>; +template<> +struct Packet_Repeat<0x010f>; +template<> +struct NetPacket_Repeat<0x010f>; + +template<> +struct Packet_Fixed<0x0110>; +template<> +struct NetPacket_Fixed<0x0110>; + +template<> +struct Packet_Fixed<0x0112>; +template<> +struct NetPacket_Fixed<0x0112>; + +template<> +struct Packet_Fixed<0x0118>; +template<> +struct NetPacket_Fixed<0x0118>; + +template<> +struct Packet_Fixed<0x0119>; +template<> +struct NetPacket_Fixed<0x0119>; + +template<> +struct Packet_Fixed<0x0139>; +template<> +struct NetPacket_Fixed<0x0139>; + +template<> +struct Packet_Fixed<0x013a>; +template<> +struct NetPacket_Fixed<0x013a>; + +template<> +struct Packet_Fixed<0x013b>; +template<> +struct NetPacket_Fixed<0x013b>; + +template<> +struct Packet_Fixed<0x013c>; +template<> +struct NetPacket_Fixed<0x013c>; + +template<> +struct Packet_Fixed<0x0141>; +template<> +struct NetPacket_Fixed<0x0141>; + +template<> +struct Packet_Fixed<0x0142>; +template<> +struct NetPacket_Fixed<0x0142>; + +template<> +struct Packet_Fixed<0x0143>; +template<> +struct NetPacket_Fixed<0x0143>; + +template<> +struct Packet_Fixed<0x0146>; +template<> +struct NetPacket_Fixed<0x0146>; + +template<> +struct Packet_Fixed<0x0147>; +template<> +struct NetPacket_Fixed<0x0147>; + +template<> +struct Packet_Fixed<0x0148>; +template<> +struct NetPacket_Fixed<0x0148>; + +template<> +struct Packet_Fixed<0x014d>; +template<> +struct NetPacket_Fixed<0x014d>; + +template<> +struct Packet_Fixed<0x018a>; +template<> +struct NetPacket_Fixed<0x018a>; + +template<> +struct Packet_Fixed<0x018b>; +template<> +struct NetPacket_Fixed<0x018b>; + +template<> +struct Packet_Fixed<0x0195>; +template<> +struct NetPacket_Fixed<0x0195>; + +template<> +struct Packet_Fixed<0x0196>; +template<> +struct NetPacket_Fixed<0x0196>; + +template<> +struct Packet_Fixed<0x019b>; +template<> +struct NetPacket_Fixed<0x019b>; + +template<> +struct Packet_Fixed<0x01b1>; +template<> +struct NetPacket_Fixed<0x01b1>; + +template<> +struct Packet_Fixed<0x01c8>; +template<> +struct NetPacket_Fixed<0x01c8>; + +template<> +struct Packet_Fixed<0x01d4>; +template<> +struct NetPacket_Fixed<0x01d4>; + +template<> +struct Packet_Head<0x01d5>; +template<> +struct NetPacket_Head<0x01d5>; +template<> +struct Packet_Repeat<0x01d5>; +template<> +struct NetPacket_Repeat<0x01d5>; + +template<> +struct Packet_Fixed<0x01d7>; +template<> +struct NetPacket_Fixed<0x01d7>; + +template<> +struct Packet_Fixed<0x01d8>; +template<> +struct NetPacket_Fixed<0x01d8>; + +template<> +struct Packet_Fixed<0x01d9>; +template<> +struct NetPacket_Fixed<0x01d9>; + +template<> +struct Packet_Fixed<0x01da>; +template<> +struct NetPacket_Fixed<0x01da>; + +template<> +struct Packet_Fixed<0x01de>; +template<> +struct NetPacket_Fixed<0x01de>; + +template<> +struct Packet_Head<0x01ee>; +template<> +struct NetPacket_Head<0x01ee>; +template<> +struct Packet_Repeat<0x01ee>; +template<> +struct NetPacket_Repeat<0x01ee>; + +template<> +struct Packet_Head<0x01f0>; +template<> +struct NetPacket_Head<0x01f0>; +template<> +struct Packet_Repeat<0x01f0>; +template<> +struct NetPacket_Repeat<0x01f0>; + +template<> +struct Packet_Fixed<0x020c>; +template<> +struct NetPacket_Fixed<0x020c>; + +template<> struct Packet_Fixed<0x0212>; template<> struct NetPacket_Fixed<0x0212>; @@ -929,6 +1713,11 @@ struct Packet_Fixed<0x7532>; template<> struct NetPacket_Fixed<0x7532>; +template<> +struct Packet_Payload<0x8000>; +template<> +struct NetPacket_Payload<0x8000>; + #endif // TMWA_PROTO2_FWD_HPP diff --git a/src/proto2/include_clif_t_test.cpp b/src/proto2/include_clif_t_test.cpp new file mode 100644 index 0000000..93c7f90 --- /dev/null +++ b/src/proto2/include_clif_t_test.cpp @@ -0,0 +1,36 @@ +#include "../map/clif.t.hpp" +// include_clif_t_test.cpp - testsuite for protocol includes +// +// Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +#include "../poison.hpp" + +using Test_Position1 = Position1; +using Test_NetPosition1 = NetPosition1; +using Test_Position2 = Position2; +using Test_NetPosition2 = NetPosition2; +using Test_BeingRemoveWhy = BeingRemoveWhy; +using Test_DIR = DIR; +using Test_Opt1 = Opt1; +using Test_Opt2 = Opt2; +using Test_Opt3 = Opt3; +using Test_ItemType = ItemType; +using Test_PickupFail = PickupFail; +using Test_DamageType = DamageType; +using Test_SP = SP; +using Test_LOOK = LOOK; diff --git a/src/proto2/include_enums_test.cpp b/src/proto2/include_enums_test.cpp index 49b4a95..cad9b12 100644 --- a/src/proto2/include_enums_test.cpp +++ b/src/proto2/include_enums_test.cpp @@ -22,3 +22,4 @@ using Test_SEX = SEX; using Test_Option = Option; +using Test_EPOS = EPOS; diff --git a/src/proto2/include_types_test.cpp b/src/proto2/include_login_t_test.cpp index 7927f37..3273ba3 100644 --- a/src/proto2/include_types_test.cpp +++ b/src/proto2/include_login_t_test.cpp @@ -1,5 +1,5 @@ -#include "../login/types.hpp" -// include_types_test.cpp - testsuite for protocol includes +#include "../login/login.t.hpp" +// include_login_t_test.cpp - testsuite for protocol includes // // Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> // diff --git a/src/proto2/include_skill_t_test.cpp b/src/proto2/include_skill_t_test.cpp new file mode 100644 index 0000000..e4b957f --- /dev/null +++ b/src/proto2/include_skill_t_test.cpp @@ -0,0 +1,25 @@ +#include "../map/skill.t.hpp" +// include_skill_t_test.cpp - testsuite for protocol includes +// +// Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +#include "../poison.hpp" + +using Test_SkillID = SkillID; +using Test_StatusChange = StatusChange; +using Test_SkillFlags = SkillFlags; diff --git a/src/proto2/include_timer_t_test.cpp b/src/proto2/include_timer_t_test.cpp new file mode 100644 index 0000000..859757f --- /dev/null +++ b/src/proto2/include_timer_t_test.cpp @@ -0,0 +1,24 @@ +#include "../net/timer.t.hpp" +// include_timer_t_test.cpp - testsuite for protocol includes +// +// Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +#include "../poison.hpp" + +using Test_tick_t = tick_t; +using Test_interval_t = interval_t; diff --git a/src/proto2/login-admin.hpp b/src/proto2/login-admin.hpp index 7876d1d..e3962b9 100644 --- a/src/proto2/login-admin.hpp +++ b/src/proto2/login-admin.hpp @@ -28,7 +28,7 @@ // This is an internal protocol, and can be changed without notice // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) template<> struct Packet_Head<0x2726> @@ -599,6 +599,7 @@ static_assert(offsetof(NetPacket_Head<0x2726>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2726>, unused) == 2, "offsetof(NetPacket_Head<0x2726>, unused) == 2"); static_assert(offsetof(NetPacket_Head<0x2726>, magic_packet_length) == 4, "offsetof(NetPacket_Head<0x2726>, magic_packet_length) == 4"); static_assert(sizeof(NetPacket_Head<0x2726>) == 8, "sizeof(NetPacket_Head<0x2726>) == 8"); +static_assert(alignof(NetPacket_Head<0x2726>) == 1, "alignof(NetPacket_Head<0x2726>) == 1"); template<> struct NetPacket_Repeat<0x2726> { @@ -606,6 +607,7 @@ struct NetPacket_Repeat<0x2726> }; static_assert(offsetof(NetPacket_Repeat<0x2726>, c) == 0, "offsetof(NetPacket_Repeat<0x2726>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x2726>) == 1, "sizeof(NetPacket_Repeat<0x2726>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x2726>) == 1, "alignof(NetPacket_Repeat<0x2726>) == 1"); template<> struct NetPacket_Fixed<0x7918> @@ -618,6 +620,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7918>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7918>, encryption_zero) == 2, "offsetof(NetPacket_Fixed<0x7918>, encryption_zero) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7918>, account_pass) == 4, "offsetof(NetPacket_Fixed<0x7918>, account_pass) == 4"); static_assert(sizeof(NetPacket_Fixed<0x7918>) == 28, "sizeof(NetPacket_Fixed<0x7918>) == 28"); +static_assert(alignof(NetPacket_Fixed<0x7918>) == 1, "alignof(NetPacket_Fixed<0x7918>) == 1"); template<> struct NetPacket_Fixed<0x7919> @@ -628,6 +631,7 @@ struct NetPacket_Fixed<0x7919> static_assert(offsetof(NetPacket_Fixed<0x7919>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7919>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7919>, error) == 2, "offsetof(NetPacket_Fixed<0x7919>, error) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7919>) == 3, "sizeof(NetPacket_Fixed<0x7919>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x7919>) == 1, "alignof(NetPacket_Fixed<0x7919>) == 1"); template<> struct NetPacket_Fixed<0x7920> @@ -640,6 +644,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7920>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7920>, start_account_id) == 2, "offsetof(NetPacket_Fixed<0x7920>, start_account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7920>, end_account_id) == 6, "offsetof(NetPacket_Fixed<0x7920>, end_account_id) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7920>) == 10, "sizeof(NetPacket_Fixed<0x7920>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x7920>) == 1, "alignof(NetPacket_Fixed<0x7920>) == 1"); template<> struct NetPacket_Head<0x7921> @@ -650,6 +655,7 @@ struct NetPacket_Head<0x7921> static_assert(offsetof(NetPacket_Head<0x7921>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x7921>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x7921>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x7921>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x7921>) == 4, "sizeof(NetPacket_Head<0x7921>) == 4"); +static_assert(alignof(NetPacket_Head<0x7921>) == 1, "alignof(NetPacket_Head<0x7921>) == 1"); template<> struct NetPacket_Repeat<0x7921> { @@ -667,6 +673,7 @@ static_assert(offsetof(NetPacket_Repeat<0x7921>, sex) == 29, "offsetof(NetPacket static_assert(offsetof(NetPacket_Repeat<0x7921>, login_count) == 30, "offsetof(NetPacket_Repeat<0x7921>, login_count) == 30"); static_assert(offsetof(NetPacket_Repeat<0x7921>, status) == 34, "offsetof(NetPacket_Repeat<0x7921>, status) == 34"); static_assert(sizeof(NetPacket_Repeat<0x7921>) == 38, "sizeof(NetPacket_Repeat<0x7921>) == 38"); +static_assert(alignof(NetPacket_Repeat<0x7921>) == 1, "alignof(NetPacket_Repeat<0x7921>) == 1"); template<> struct NetPacket_Fixed<0x7924> @@ -679,6 +686,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7924>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7924>, source_item_id) == 2, "offsetof(NetPacket_Fixed<0x7924>, source_item_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7924>, dest_item_id) == 6, "offsetof(NetPacket_Fixed<0x7924>, dest_item_id) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7924>) == 10, "sizeof(NetPacket_Fixed<0x7924>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x7924>) == 1, "alignof(NetPacket_Fixed<0x7924>) == 1"); template<> struct NetPacket_Fixed<0x7925> @@ -687,6 +695,7 @@ struct NetPacket_Fixed<0x7925> }; static_assert(offsetof(NetPacket_Fixed<0x7925>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7925>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x7925>) == 2, "sizeof(NetPacket_Fixed<0x7925>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x7925>) == 1, "alignof(NetPacket_Fixed<0x7925>) == 1"); template<> struct NetPacket_Fixed<0x7930> @@ -703,6 +712,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7930>, password) == 26, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x7930>, sex) == 50, "offsetof(NetPacket_Fixed<0x7930>, sex) == 50"); static_assert(offsetof(NetPacket_Fixed<0x7930>, email) == 51, "offsetof(NetPacket_Fixed<0x7930>, email) == 51"); static_assert(sizeof(NetPacket_Fixed<0x7930>) == 91, "sizeof(NetPacket_Fixed<0x7930>) == 91"); +static_assert(alignof(NetPacket_Fixed<0x7930>) == 1, "alignof(NetPacket_Fixed<0x7930>) == 1"); template<> struct NetPacket_Fixed<0x7931> @@ -715,6 +725,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7931>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7931>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7931>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7931>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7931>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7931>) == 30, "sizeof(NetPacket_Fixed<0x7931>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7931>) == 1, "alignof(NetPacket_Fixed<0x7931>) == 1"); template<> struct NetPacket_Fixed<0x7932> @@ -725,6 +736,7 @@ struct NetPacket_Fixed<0x7932> static_assert(offsetof(NetPacket_Fixed<0x7932>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7932>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7932>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7932>, account_name) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7932>) == 26, "sizeof(NetPacket_Fixed<0x7932>) == 26"); +static_assert(alignof(NetPacket_Fixed<0x7932>) == 1, "alignof(NetPacket_Fixed<0x7932>) == 1"); template<> struct NetPacket_Fixed<0x7933> @@ -737,6 +749,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7933>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7933>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7933>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7933>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7933>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7933>) == 30, "sizeof(NetPacket_Fixed<0x7933>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7933>) == 1, "alignof(NetPacket_Fixed<0x7933>) == 1"); template<> struct NetPacket_Fixed<0x7934> @@ -749,6 +762,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7934>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7934>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7934>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7934>, password) == 26, "offsetof(NetPacket_Fixed<0x7934>, password) == 26"); static_assert(sizeof(NetPacket_Fixed<0x7934>) == 50, "sizeof(NetPacket_Fixed<0x7934>) == 50"); +static_assert(alignof(NetPacket_Fixed<0x7934>) == 1, "alignof(NetPacket_Fixed<0x7934>) == 1"); template<> struct NetPacket_Fixed<0x7935> @@ -761,6 +775,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7935>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7935>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7935>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7935>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7935>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7935>) == 30, "sizeof(NetPacket_Fixed<0x7935>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7935>) == 1, "alignof(NetPacket_Fixed<0x7935>) == 1"); template<> struct NetPacket_Fixed<0x7936> @@ -775,6 +790,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7936>, account_name) == 2, "offsetof(Ne static_assert(offsetof(NetPacket_Fixed<0x7936>, status) == 26, "offsetof(NetPacket_Fixed<0x7936>, status) == 26"); static_assert(offsetof(NetPacket_Fixed<0x7936>, error_message) == 30, "offsetof(NetPacket_Fixed<0x7936>, error_message) == 30"); static_assert(sizeof(NetPacket_Fixed<0x7936>) == 50, "sizeof(NetPacket_Fixed<0x7936>) == 50"); +static_assert(alignof(NetPacket_Fixed<0x7936>) == 1, "alignof(NetPacket_Fixed<0x7936>) == 1"); template<> struct NetPacket_Fixed<0x7937> @@ -789,6 +805,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7937>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x7937>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7937>, account_name) == 6"); static_assert(offsetof(NetPacket_Fixed<0x7937>, status) == 30, "offsetof(NetPacket_Fixed<0x7937>, status) == 30"); static_assert(sizeof(NetPacket_Fixed<0x7937>) == 34, "sizeof(NetPacket_Fixed<0x7937>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x7937>) == 1, "alignof(NetPacket_Fixed<0x7937>) == 1"); template<> struct NetPacket_Fixed<0x7938> @@ -797,6 +814,7 @@ struct NetPacket_Fixed<0x7938> }; static_assert(offsetof(NetPacket_Fixed<0x7938>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7938>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x7938>) == 2, "sizeof(NetPacket_Fixed<0x7938>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x7938>) == 1, "alignof(NetPacket_Fixed<0x7938>) == 1"); template<> struct NetPacket_Head<0x7939> @@ -807,6 +825,7 @@ struct NetPacket_Head<0x7939> static_assert(offsetof(NetPacket_Head<0x7939>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x7939>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x7939>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x7939>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x7939>) == 4, "sizeof(NetPacket_Head<0x7939>) == 4"); +static_assert(alignof(NetPacket_Head<0x7939>) == 1, "alignof(NetPacket_Head<0x7939>) == 1"); template<> struct NetPacket_Repeat<0x7939> { @@ -824,6 +843,7 @@ static_assert(offsetof(NetPacket_Repeat<0x7939>, users) == 26, "offsetof(NetPack static_assert(offsetof(NetPacket_Repeat<0x7939>, maintenance) == 28, "offsetof(NetPacket_Repeat<0x7939>, maintenance) == 28"); static_assert(offsetof(NetPacket_Repeat<0x7939>, is_new) == 30, "offsetof(NetPacket_Repeat<0x7939>, is_new) == 30"); static_assert(sizeof(NetPacket_Repeat<0x7939>) == 32, "sizeof(NetPacket_Repeat<0x7939>) == 32"); +static_assert(alignof(NetPacket_Repeat<0x7939>) == 1, "alignof(NetPacket_Repeat<0x7939>) == 1"); template<> struct NetPacket_Fixed<0x793a> @@ -836,6 +856,7 @@ static_assert(offsetof(NetPacket_Fixed<0x793a>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x793a>, account_name) == 2, "offsetof(NetPacket_Fixed<0x793a>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x793a>, password) == 26, "offsetof(NetPacket_Fixed<0x793a>, password) == 26"); static_assert(sizeof(NetPacket_Fixed<0x793a>) == 50, "sizeof(NetPacket_Fixed<0x793a>) == 50"); +static_assert(alignof(NetPacket_Fixed<0x793a>) == 1, "alignof(NetPacket_Fixed<0x793a>) == 1"); template<> struct NetPacket_Fixed<0x793b> @@ -848,6 +869,7 @@ static_assert(offsetof(NetPacket_Fixed<0x793b>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x793b>, account_id) == 2, "offsetof(NetPacket_Fixed<0x793b>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x793b>, account_name) == 6, "offsetof(NetPacket_Fixed<0x793b>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x793b>) == 30, "sizeof(NetPacket_Fixed<0x793b>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x793b>) == 1, "alignof(NetPacket_Fixed<0x793b>) == 1"); template<> struct NetPacket_Fixed<0x793c> @@ -860,6 +882,7 @@ static_assert(offsetof(NetPacket_Fixed<0x793c>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x793c>, account_name) == 2, "offsetof(NetPacket_Fixed<0x793c>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x793c>, sex) == 26, "offsetof(NetPacket_Fixed<0x793c>, sex) == 26"); static_assert(sizeof(NetPacket_Fixed<0x793c>) == 27, "sizeof(NetPacket_Fixed<0x793c>) == 27"); +static_assert(alignof(NetPacket_Fixed<0x793c>) == 1, "alignof(NetPacket_Fixed<0x793c>) == 1"); template<> struct NetPacket_Fixed<0x793d> @@ -872,6 +895,7 @@ static_assert(offsetof(NetPacket_Fixed<0x793d>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x793d>, account_id) == 2, "offsetof(NetPacket_Fixed<0x793d>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x793d>, account_name) == 6, "offsetof(NetPacket_Fixed<0x793d>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x793d>) == 30, "sizeof(NetPacket_Fixed<0x793d>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x793d>) == 1, "alignof(NetPacket_Fixed<0x793d>) == 1"); template<> struct NetPacket_Fixed<0x793e> @@ -884,6 +908,7 @@ static_assert(offsetof(NetPacket_Fixed<0x793e>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x793e>, account_name) == 2, "offsetof(NetPacket_Fixed<0x793e>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x793e>, gm_level) == 26, "offsetof(NetPacket_Fixed<0x793e>, gm_level) == 26"); static_assert(sizeof(NetPacket_Fixed<0x793e>) == 27, "sizeof(NetPacket_Fixed<0x793e>) == 27"); +static_assert(alignof(NetPacket_Fixed<0x793e>) == 1, "alignof(NetPacket_Fixed<0x793e>) == 1"); template<> struct NetPacket_Fixed<0x793f> @@ -896,6 +921,7 @@ static_assert(offsetof(NetPacket_Fixed<0x793f>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x793f>, account_id) == 2, "offsetof(NetPacket_Fixed<0x793f>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x793f>, account_name) == 6, "offsetof(NetPacket_Fixed<0x793f>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x793f>) == 30, "sizeof(NetPacket_Fixed<0x793f>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x793f>) == 1, "alignof(NetPacket_Fixed<0x793f>) == 1"); template<> struct NetPacket_Fixed<0x7940> @@ -908,6 +934,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7940>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7940>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7940>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7940>, email) == 26, "offsetof(NetPacket_Fixed<0x7940>, email) == 26"); static_assert(sizeof(NetPacket_Fixed<0x7940>) == 66, "sizeof(NetPacket_Fixed<0x7940>) == 66"); +static_assert(alignof(NetPacket_Fixed<0x7940>) == 1, "alignof(NetPacket_Fixed<0x7940>) == 1"); template<> struct NetPacket_Fixed<0x7941> @@ -920,6 +947,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7941>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7941>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7941>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7941>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7941>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7941>) == 30, "sizeof(NetPacket_Fixed<0x7941>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7941>) == 1, "alignof(NetPacket_Fixed<0x7941>) == 1"); template<> struct NetPacket_Head<0x7942> @@ -932,6 +960,7 @@ static_assert(offsetof(NetPacket_Head<0x7942>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x7942>, account_name) == 2, "offsetof(NetPacket_Head<0x7942>, account_name) == 2"); static_assert(offsetof(NetPacket_Head<0x7942>, magic_packet_length) == 26, "offsetof(NetPacket_Head<0x7942>, magic_packet_length) == 26"); static_assert(sizeof(NetPacket_Head<0x7942>) == 28, "sizeof(NetPacket_Head<0x7942>) == 28"); +static_assert(alignof(NetPacket_Head<0x7942>) == 1, "alignof(NetPacket_Head<0x7942>) == 1"); template<> struct NetPacket_Repeat<0x7942> { @@ -939,6 +968,7 @@ struct NetPacket_Repeat<0x7942> }; static_assert(offsetof(NetPacket_Repeat<0x7942>, c) == 0, "offsetof(NetPacket_Repeat<0x7942>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x7942>) == 1, "sizeof(NetPacket_Repeat<0x7942>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x7942>) == 1, "alignof(NetPacket_Repeat<0x7942>) == 1"); template<> struct NetPacket_Fixed<0x7943> @@ -951,6 +981,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7943>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7943>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7943>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7943>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7943>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7943>) == 30, "sizeof(NetPacket_Fixed<0x7943>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7943>) == 1, "alignof(NetPacket_Fixed<0x7943>) == 1"); template<> struct NetPacket_Fixed<0x7944> @@ -961,6 +992,7 @@ struct NetPacket_Fixed<0x7944> static_assert(offsetof(NetPacket_Fixed<0x7944>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7944>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7944>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7944>, account_name) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7944>) == 26, "sizeof(NetPacket_Fixed<0x7944>) == 26"); +static_assert(alignof(NetPacket_Fixed<0x7944>) == 1, "alignof(NetPacket_Fixed<0x7944>) == 1"); template<> struct NetPacket_Fixed<0x7945> @@ -973,6 +1005,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7945>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7945>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7945>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7945>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7945>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7945>) == 30, "sizeof(NetPacket_Fixed<0x7945>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7945>) == 1, "alignof(NetPacket_Fixed<0x7945>) == 1"); template<> struct NetPacket_Fixed<0x7946> @@ -983,6 +1016,7 @@ struct NetPacket_Fixed<0x7946> static_assert(offsetof(NetPacket_Fixed<0x7946>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7946>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7946>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7946>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7946>) == 6, "sizeof(NetPacket_Fixed<0x7946>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x7946>) == 1, "alignof(NetPacket_Fixed<0x7946>) == 1"); template<> struct NetPacket_Fixed<0x7947> @@ -995,6 +1029,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7947>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7947>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7947>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7947>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7947>, account_name) == 6"); static_assert(sizeof(NetPacket_Fixed<0x7947>) == 30, "sizeof(NetPacket_Fixed<0x7947>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7947>) == 1, "alignof(NetPacket_Fixed<0x7947>) == 1"); template<> struct NetPacket_Fixed<0x7948> @@ -1007,6 +1042,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7948>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7948>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7948>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7948>, valid_until) == 26, "offsetof(NetPacket_Fixed<0x7948>, valid_until) == 26"); static_assert(sizeof(NetPacket_Fixed<0x7948>) == 30, "sizeof(NetPacket_Fixed<0x7948>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x7948>) == 1, "alignof(NetPacket_Fixed<0x7948>) == 1"); template<> struct NetPacket_Fixed<0x7949> @@ -1021,6 +1057,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7949>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x7949>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7949>, account_name) == 6"); static_assert(offsetof(NetPacket_Fixed<0x7949>, valid_until) == 30, "offsetof(NetPacket_Fixed<0x7949>, valid_until) == 30"); static_assert(sizeof(NetPacket_Fixed<0x7949>) == 34, "sizeof(NetPacket_Fixed<0x7949>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x7949>) == 1, "alignof(NetPacket_Fixed<0x7949>) == 1"); template<> struct NetPacket_Fixed<0x794a> @@ -1033,6 +1070,7 @@ static_assert(offsetof(NetPacket_Fixed<0x794a>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x794a>, account_name) == 2, "offsetof(NetPacket_Fixed<0x794a>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x794a>, ban_until) == 26, "offsetof(NetPacket_Fixed<0x794a>, ban_until) == 26"); static_assert(sizeof(NetPacket_Fixed<0x794a>) == 30, "sizeof(NetPacket_Fixed<0x794a>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x794a>) == 1, "alignof(NetPacket_Fixed<0x794a>) == 1"); template<> struct NetPacket_Fixed<0x794b> @@ -1047,6 +1085,7 @@ static_assert(offsetof(NetPacket_Fixed<0x794b>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x794b>, account_name) == 6, "offsetof(NetPacket_Fixed<0x794b>, account_name) == 6"); static_assert(offsetof(NetPacket_Fixed<0x794b>, ban_until) == 30, "offsetof(NetPacket_Fixed<0x794b>, ban_until) == 30"); static_assert(sizeof(NetPacket_Fixed<0x794b>) == 34, "sizeof(NetPacket_Fixed<0x794b>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x794b>) == 1, "alignof(NetPacket_Fixed<0x794b>) == 1"); template<> struct NetPacket_Fixed<0x794c> @@ -1059,6 +1098,7 @@ static_assert(offsetof(NetPacket_Fixed<0x794c>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x794c>, account_name) == 2, "offsetof(NetPacket_Fixed<0x794c>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x794c>, ban_add) == 26, "offsetof(NetPacket_Fixed<0x794c>, ban_add) == 26"); static_assert(sizeof(NetPacket_Fixed<0x794c>) == 38, "sizeof(NetPacket_Fixed<0x794c>) == 38"); +static_assert(alignof(NetPacket_Fixed<0x794c>) == 1, "alignof(NetPacket_Fixed<0x794c>) == 1"); template<> struct NetPacket_Fixed<0x794d> @@ -1073,6 +1113,7 @@ static_assert(offsetof(NetPacket_Fixed<0x794d>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x794d>, account_name) == 6, "offsetof(NetPacket_Fixed<0x794d>, account_name) == 6"); static_assert(offsetof(NetPacket_Fixed<0x794d>, ban_until) == 30, "offsetof(NetPacket_Fixed<0x794d>, ban_until) == 30"); static_assert(sizeof(NetPacket_Fixed<0x794d>) == 34, "sizeof(NetPacket_Fixed<0x794d>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x794d>) == 1, "alignof(NetPacket_Fixed<0x794d>) == 1"); template<> struct NetPacket_Head<0x794e> @@ -1085,6 +1126,7 @@ static_assert(offsetof(NetPacket_Head<0x794e>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x794e>, unused) == 2, "offsetof(NetPacket_Head<0x794e>, unused) == 2"); static_assert(offsetof(NetPacket_Head<0x794e>, magic_packet_length) == 4, "offsetof(NetPacket_Head<0x794e>, magic_packet_length) == 4"); static_assert(sizeof(NetPacket_Head<0x794e>) == 8, "sizeof(NetPacket_Head<0x794e>) == 8"); +static_assert(alignof(NetPacket_Head<0x794e>) == 1, "alignof(NetPacket_Head<0x794e>) == 1"); template<> struct NetPacket_Repeat<0x794e> { @@ -1092,6 +1134,7 @@ struct NetPacket_Repeat<0x794e> }; static_assert(offsetof(NetPacket_Repeat<0x794e>, c) == 0, "offsetof(NetPacket_Repeat<0x794e>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x794e>) == 1, "sizeof(NetPacket_Repeat<0x794e>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x794e>) == 1, "alignof(NetPacket_Repeat<0x794e>) == 1"); template<> struct NetPacket_Fixed<0x794f> @@ -1102,6 +1145,7 @@ struct NetPacket_Fixed<0x794f> static_assert(offsetof(NetPacket_Fixed<0x794f>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x794f>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x794f>, error) == 2, "offsetof(NetPacket_Fixed<0x794f>, error) == 2"); static_assert(sizeof(NetPacket_Fixed<0x794f>) == 4, "sizeof(NetPacket_Fixed<0x794f>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x794f>) == 1, "alignof(NetPacket_Fixed<0x794f>) == 1"); template<> struct NetPacket_Fixed<0x7950> @@ -1114,6 +1158,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7950>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x7950>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7950>, account_name) == 2"); static_assert(offsetof(NetPacket_Fixed<0x7950>, valid_add) == 26, "offsetof(NetPacket_Fixed<0x7950>, valid_add) == 26"); static_assert(sizeof(NetPacket_Fixed<0x7950>) == 38, "sizeof(NetPacket_Fixed<0x7950>) == 38"); +static_assert(alignof(NetPacket_Fixed<0x7950>) == 1, "alignof(NetPacket_Fixed<0x7950>) == 1"); template<> struct NetPacket_Fixed<0x7951> @@ -1128,6 +1173,7 @@ static_assert(offsetof(NetPacket_Fixed<0x7951>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x7951>, account_name) == 6, "offsetof(NetPacket_Fixed<0x7951>, account_name) == 6"); static_assert(offsetof(NetPacket_Fixed<0x7951>, valid_until) == 30, "offsetof(NetPacket_Fixed<0x7951>, valid_until) == 30"); static_assert(sizeof(NetPacket_Fixed<0x7951>) == 34, "sizeof(NetPacket_Fixed<0x7951>) == 34"); +static_assert(alignof(NetPacket_Fixed<0x7951>) == 1, "alignof(NetPacket_Fixed<0x7951>) == 1"); template<> struct NetPacket_Fixed<0x7952> @@ -1138,6 +1184,7 @@ struct NetPacket_Fixed<0x7952> static_assert(offsetof(NetPacket_Fixed<0x7952>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7952>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7952>, account_name) == 2, "offsetof(NetPacket_Fixed<0x7952>, account_name) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7952>) == 26, "sizeof(NetPacket_Fixed<0x7952>) == 26"); +static_assert(alignof(NetPacket_Fixed<0x7952>) == 1, "alignof(NetPacket_Fixed<0x7952>) == 1"); template<> struct NetPacket_Head<0x7953> @@ -1172,6 +1219,7 @@ static_assert(offsetof(NetPacket_Head<0x7953>, connect_until) == 140, "offsetof( static_assert(offsetof(NetPacket_Head<0x7953>, ban_until) == 144, "offsetof(NetPacket_Head<0x7953>, ban_until) == 144"); static_assert(offsetof(NetPacket_Head<0x7953>, magic_packet_length) == 148, "offsetof(NetPacket_Head<0x7953>, magic_packet_length) == 148"); static_assert(sizeof(NetPacket_Head<0x7953>) == 150, "sizeof(NetPacket_Head<0x7953>) == 150"); +static_assert(alignof(NetPacket_Head<0x7953>) == 1, "alignof(NetPacket_Head<0x7953>) == 1"); template<> struct NetPacket_Repeat<0x7953> { @@ -1179,6 +1227,7 @@ struct NetPacket_Repeat<0x7953> }; static_assert(offsetof(NetPacket_Repeat<0x7953>, c) == 0, "offsetof(NetPacket_Repeat<0x7953>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x7953>) == 1, "sizeof(NetPacket_Repeat<0x7953>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x7953>) == 1, "alignof(NetPacket_Repeat<0x7953>) == 1"); template<> struct NetPacket_Fixed<0x7954> @@ -1189,6 +1238,7 @@ struct NetPacket_Fixed<0x7954> static_assert(offsetof(NetPacket_Fixed<0x7954>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7954>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x7954>, account_id) == 2, "offsetof(NetPacket_Fixed<0x7954>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x7954>) == 6, "sizeof(NetPacket_Fixed<0x7954>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x7954>) == 1, "alignof(NetPacket_Fixed<0x7954>) == 1"); template<> struct NetPacket_Fixed<0x7955> @@ -1197,6 +1247,7 @@ struct NetPacket_Fixed<0x7955> }; static_assert(offsetof(NetPacket_Fixed<0x7955>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x7955>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x7955>) == 2, "sizeof(NetPacket_Fixed<0x7955>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x7955>) == 1, "alignof(NetPacket_Fixed<0x7955>) == 1"); inline __attribute__((warn_unused_result)) @@ -2167,6 +2218,6 @@ bool network_to_native(Packet_Fixed<0x7955> *native, NetPacket_Fixed<0x7955> net } -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_LOGIN_ADMIN_HPP diff --git a/src/proto2/login-char.hpp b/src/proto2/login-char.hpp index 14d19a9..53e99f9 100644 --- a/src/proto2/login-char.hpp +++ b/src/proto2/login-char.hpp @@ -28,7 +28,7 @@ // This is an internal protocol, and can be changed without notice // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) template<> struct Packet_Fixed<0x2709> @@ -344,6 +344,7 @@ struct NetPacket_Fixed<0x2709> }; static_assert(offsetof(NetPacket_Fixed<0x2709>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2709>, magic_packet_id) == 0"); static_assert(sizeof(NetPacket_Fixed<0x2709>) == 2, "sizeof(NetPacket_Fixed<0x2709>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x2709>) == 1, "alignof(NetPacket_Fixed<0x2709>) == 1"); template<> struct NetPacket_Fixed<0x2710> @@ -370,6 +371,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2710>, unknown2) == 80, "offsetof(NetPa static_assert(offsetof(NetPacket_Fixed<0x2710>, maintenance) == 82, "offsetof(NetPacket_Fixed<0x2710>, maintenance) == 82"); static_assert(offsetof(NetPacket_Fixed<0x2710>, is_new) == 84, "offsetof(NetPacket_Fixed<0x2710>, is_new) == 84"); static_assert(sizeof(NetPacket_Fixed<0x2710>) == 86, "sizeof(NetPacket_Fixed<0x2710>) == 86"); +static_assert(alignof(NetPacket_Fixed<0x2710>) == 1, "alignof(NetPacket_Fixed<0x2710>) == 1"); template<> struct NetPacket_Fixed<0x2711> @@ -380,6 +382,7 @@ struct NetPacket_Fixed<0x2711> static_assert(offsetof(NetPacket_Fixed<0x2711>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2711>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2711>, code) == 2, "offsetof(NetPacket_Fixed<0x2711>, code) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2711>) == 3, "sizeof(NetPacket_Fixed<0x2711>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x2711>) == 1, "alignof(NetPacket_Fixed<0x2711>) == 1"); template<> struct NetPacket_Fixed<0x2712> @@ -398,6 +401,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2712>, login_id2) == 10, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2712>, sex) == 14, "offsetof(NetPacket_Fixed<0x2712>, sex) == 14"); static_assert(offsetof(NetPacket_Fixed<0x2712>, ip) == 15, "offsetof(NetPacket_Fixed<0x2712>, ip) == 15"); static_assert(sizeof(NetPacket_Fixed<0x2712>) == 19, "sizeof(NetPacket_Fixed<0x2712>) == 19"); +static_assert(alignof(NetPacket_Fixed<0x2712>) == 1, "alignof(NetPacket_Fixed<0x2712>) == 1"); template<> struct NetPacket_Fixed<0x2713> @@ -414,6 +418,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2713>, invalid) == 6, "offsetof(NetPack static_assert(offsetof(NetPacket_Fixed<0x2713>, email) == 7, "offsetof(NetPacket_Fixed<0x2713>, email) == 7"); static_assert(offsetof(NetPacket_Fixed<0x2713>, connect_until) == 47, "offsetof(NetPacket_Fixed<0x2713>, connect_until) == 47"); static_assert(sizeof(NetPacket_Fixed<0x2713>) == 51, "sizeof(NetPacket_Fixed<0x2713>) == 51"); +static_assert(alignof(NetPacket_Fixed<0x2713>) == 1, "alignof(NetPacket_Fixed<0x2713>) == 1"); template<> struct NetPacket_Fixed<0x2714> @@ -424,6 +429,7 @@ struct NetPacket_Fixed<0x2714> static_assert(offsetof(NetPacket_Fixed<0x2714>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2714>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2714>, users) == 2, "offsetof(NetPacket_Fixed<0x2714>, users) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2714>) == 6, "sizeof(NetPacket_Fixed<0x2714>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2714>) == 1, "alignof(NetPacket_Fixed<0x2714>) == 1"); template<> struct NetPacket_Fixed<0x2715> @@ -436,6 +442,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2715>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2715>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2715>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2715>, email) == 6, "offsetof(NetPacket_Fixed<0x2715>, email) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2715>) == 46, "sizeof(NetPacket_Fixed<0x2715>) == 46"); +static_assert(alignof(NetPacket_Fixed<0x2715>) == 1, "alignof(NetPacket_Fixed<0x2715>) == 1"); template<> struct NetPacket_Fixed<0x2716> @@ -446,6 +453,7 @@ struct NetPacket_Fixed<0x2716> static_assert(offsetof(NetPacket_Fixed<0x2716>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2716>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2716>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2716>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2716>) == 6, "sizeof(NetPacket_Fixed<0x2716>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2716>) == 1, "alignof(NetPacket_Fixed<0x2716>) == 1"); template<> struct NetPacket_Fixed<0x2717> @@ -460,6 +468,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2717>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2717>, email) == 6, "offsetof(NetPacket_Fixed<0x2717>, email) == 6"); static_assert(offsetof(NetPacket_Fixed<0x2717>, connect_until) == 46, "offsetof(NetPacket_Fixed<0x2717>, connect_until) == 46"); static_assert(sizeof(NetPacket_Fixed<0x2717>) == 50, "sizeof(NetPacket_Fixed<0x2717>) == 50"); +static_assert(alignof(NetPacket_Fixed<0x2717>) == 1, "alignof(NetPacket_Fixed<0x2717>) == 1"); template<> struct NetPacket_Head<0x2720> @@ -472,6 +481,7 @@ static_assert(offsetof(NetPacket_Head<0x2720>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2720>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2720>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2720>, account_id) == 4, "offsetof(NetPacket_Head<0x2720>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x2720>) == 8, "sizeof(NetPacket_Head<0x2720>) == 8"); +static_assert(alignof(NetPacket_Head<0x2720>) == 1, "alignof(NetPacket_Head<0x2720>) == 1"); template<> struct NetPacket_Repeat<0x2720> { @@ -479,6 +489,7 @@ struct NetPacket_Repeat<0x2720> }; static_assert(offsetof(NetPacket_Repeat<0x2720>, c) == 0, "offsetof(NetPacket_Repeat<0x2720>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x2720>) == 1, "sizeof(NetPacket_Repeat<0x2720>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x2720>) == 1, "alignof(NetPacket_Repeat<0x2720>) == 1"); template<> struct NetPacket_Fixed<0x2721> @@ -491,6 +502,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2721>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2721>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2721>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2721>, gm_level) == 6, "offsetof(NetPacket_Fixed<0x2721>, gm_level) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2721>) == 10, "sizeof(NetPacket_Fixed<0x2721>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x2721>) == 1, "alignof(NetPacket_Fixed<0x2721>) == 1"); template<> struct NetPacket_Fixed<0x2722> @@ -505,6 +517,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2722>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2722>, old_email) == 6, "offsetof(NetPacket_Fixed<0x2722>, old_email) == 6"); static_assert(offsetof(NetPacket_Fixed<0x2722>, new_email) == 46, "offsetof(NetPacket_Fixed<0x2722>, new_email) == 46"); static_assert(sizeof(NetPacket_Fixed<0x2722>) == 86, "sizeof(NetPacket_Fixed<0x2722>) == 86"); +static_assert(alignof(NetPacket_Fixed<0x2722>) == 1, "alignof(NetPacket_Fixed<0x2722>) == 1"); template<> struct NetPacket_Fixed<0x2723> @@ -517,6 +530,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2723>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2723>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2723>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2723>, sex) == 6, "offsetof(NetPacket_Fixed<0x2723>, sex) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2723>) == 7, "sizeof(NetPacket_Fixed<0x2723>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x2723>) == 1, "alignof(NetPacket_Fixed<0x2723>) == 1"); template<> struct NetPacket_Fixed<0x2724> @@ -529,6 +543,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2724>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2724>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2724>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2724>, status) == 6, "offsetof(NetPacket_Fixed<0x2724>, status) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2724>) == 10, "sizeof(NetPacket_Fixed<0x2724>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x2724>) == 1, "alignof(NetPacket_Fixed<0x2724>) == 1"); template<> struct NetPacket_Fixed<0x2725> @@ -541,6 +556,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2725>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2725>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2725>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2725>, ban_add) == 6, "offsetof(NetPacket_Fixed<0x2725>, ban_add) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2725>) == 18, "sizeof(NetPacket_Fixed<0x2725>) == 18"); +static_assert(alignof(NetPacket_Fixed<0x2725>) == 1, "alignof(NetPacket_Fixed<0x2725>) == 1"); template<> struct NetPacket_Fixed<0x2727> @@ -551,6 +567,7 @@ struct NetPacket_Fixed<0x2727> static_assert(offsetof(NetPacket_Fixed<0x2727>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2727>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2727>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2727>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2727>) == 6, "sizeof(NetPacket_Fixed<0x2727>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2727>) == 1, "alignof(NetPacket_Fixed<0x2727>) == 1"); template<> struct NetPacket_Head<0x2728> @@ -563,6 +580,7 @@ static_assert(offsetof(NetPacket_Head<0x2728>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2728>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2728>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2728>, account_id) == 4, "offsetof(NetPacket_Head<0x2728>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x2728>) == 8, "sizeof(NetPacket_Head<0x2728>) == 8"); +static_assert(alignof(NetPacket_Head<0x2728>) == 1, "alignof(NetPacket_Head<0x2728>) == 1"); template<> struct NetPacket_Repeat<0x2728> { @@ -572,6 +590,7 @@ struct NetPacket_Repeat<0x2728> static_assert(offsetof(NetPacket_Repeat<0x2728>, name) == 0, "offsetof(NetPacket_Repeat<0x2728>, name) == 0"); static_assert(offsetof(NetPacket_Repeat<0x2728>, value) == 32, "offsetof(NetPacket_Repeat<0x2728>, value) == 32"); static_assert(sizeof(NetPacket_Repeat<0x2728>) == 36, "sizeof(NetPacket_Repeat<0x2728>) == 36"); +static_assert(alignof(NetPacket_Repeat<0x2728>) == 1, "alignof(NetPacket_Repeat<0x2728>) == 1"); template<> struct NetPacket_Head<0x2729> @@ -584,6 +603,7 @@ static_assert(offsetof(NetPacket_Head<0x2729>, magic_packet_id) == 0, "offsetof( static_assert(offsetof(NetPacket_Head<0x2729>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2729>, magic_packet_length) == 2"); static_assert(offsetof(NetPacket_Head<0x2729>, account_id) == 4, "offsetof(NetPacket_Head<0x2729>, account_id) == 4"); static_assert(sizeof(NetPacket_Head<0x2729>) == 8, "sizeof(NetPacket_Head<0x2729>) == 8"); +static_assert(alignof(NetPacket_Head<0x2729>) == 1, "alignof(NetPacket_Head<0x2729>) == 1"); template<> struct NetPacket_Repeat<0x2729> { @@ -593,6 +613,7 @@ struct NetPacket_Repeat<0x2729> static_assert(offsetof(NetPacket_Repeat<0x2729>, name) == 0, "offsetof(NetPacket_Repeat<0x2729>, name) == 0"); static_assert(offsetof(NetPacket_Repeat<0x2729>, value) == 32, "offsetof(NetPacket_Repeat<0x2729>, value) == 32"); static_assert(sizeof(NetPacket_Repeat<0x2729>) == 36, "sizeof(NetPacket_Repeat<0x2729>) == 36"); +static_assert(alignof(NetPacket_Repeat<0x2729>) == 1, "alignof(NetPacket_Repeat<0x2729>) == 1"); template<> struct NetPacket_Fixed<0x272a> @@ -603,6 +624,7 @@ struct NetPacket_Fixed<0x272a> static_assert(offsetof(NetPacket_Fixed<0x272a>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x272a>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x272a>, account_id) == 2, "offsetof(NetPacket_Fixed<0x272a>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x272a>) == 6, "sizeof(NetPacket_Fixed<0x272a>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x272a>) == 1, "alignof(NetPacket_Fixed<0x272a>) == 1"); template<> struct NetPacket_Fixed<0x2730> @@ -613,6 +635,7 @@ struct NetPacket_Fixed<0x2730> static_assert(offsetof(NetPacket_Fixed<0x2730>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x2730>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Fixed<0x2730>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2730>, account_id) == 2"); static_assert(sizeof(NetPacket_Fixed<0x2730>) == 6, "sizeof(NetPacket_Fixed<0x2730>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x2730>) == 1, "alignof(NetPacket_Fixed<0x2730>) == 1"); template<> struct NetPacket_Fixed<0x2731> @@ -627,6 +650,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2731>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2731>, ban_not_status) == 6, "offsetof(NetPacket_Fixed<0x2731>, ban_not_status) == 6"); static_assert(offsetof(NetPacket_Fixed<0x2731>, status_or_ban_until) == 7, "offsetof(NetPacket_Fixed<0x2731>, status_or_ban_until) == 7"); static_assert(sizeof(NetPacket_Fixed<0x2731>) == 11, "sizeof(NetPacket_Fixed<0x2731>) == 11"); +static_assert(alignof(NetPacket_Fixed<0x2731>) == 1, "alignof(NetPacket_Fixed<0x2731>) == 1"); template<> struct NetPacket_Head<0x2732> @@ -637,6 +661,7 @@ struct NetPacket_Head<0x2732> static_assert(offsetof(NetPacket_Head<0x2732>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x2732>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x2732>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x2732>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x2732>) == 4, "sizeof(NetPacket_Head<0x2732>) == 4"); +static_assert(alignof(NetPacket_Head<0x2732>) == 1, "alignof(NetPacket_Head<0x2732>) == 1"); template<> struct NetPacket_Repeat<0x2732> { @@ -646,6 +671,7 @@ struct NetPacket_Repeat<0x2732> static_assert(offsetof(NetPacket_Repeat<0x2732>, account_id) == 0, "offsetof(NetPacket_Repeat<0x2732>, account_id) == 0"); static_assert(offsetof(NetPacket_Repeat<0x2732>, gm_level) == 4, "offsetof(NetPacket_Repeat<0x2732>, gm_level) == 4"); static_assert(sizeof(NetPacket_Repeat<0x2732>) == 5, "sizeof(NetPacket_Repeat<0x2732>) == 5"); +static_assert(alignof(NetPacket_Repeat<0x2732>) == 1, "alignof(NetPacket_Repeat<0x2732>) == 1"); template<> struct NetPacket_Fixed<0x2740> @@ -660,6 +686,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2740>, account_id) == 2, "offsetof(NetP static_assert(offsetof(NetPacket_Fixed<0x2740>, old_pass) == 6, "offsetof(NetPacket_Fixed<0x2740>, old_pass) == 6"); static_assert(offsetof(NetPacket_Fixed<0x2740>, new_pass) == 30, "offsetof(NetPacket_Fixed<0x2740>, new_pass) == 30"); static_assert(sizeof(NetPacket_Fixed<0x2740>) == 54, "sizeof(NetPacket_Fixed<0x2740>) == 54"); +static_assert(alignof(NetPacket_Fixed<0x2740>) == 1, "alignof(NetPacket_Fixed<0x2740>) == 1"); template<> struct NetPacket_Fixed<0x2741> @@ -672,6 +699,7 @@ static_assert(offsetof(NetPacket_Fixed<0x2741>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x2741>, account_id) == 2, "offsetof(NetPacket_Fixed<0x2741>, account_id) == 2"); static_assert(offsetof(NetPacket_Fixed<0x2741>, status) == 6, "offsetof(NetPacket_Fixed<0x2741>, status) == 6"); static_assert(sizeof(NetPacket_Fixed<0x2741>) == 7, "sizeof(NetPacket_Fixed<0x2741>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x2741>) == 1, "alignof(NetPacket_Fixed<0x2741>) == 1"); inline __attribute__((warn_unused_result)) @@ -1207,6 +1235,6 @@ bool network_to_native(Packet_Fixed<0x2741> *native, NetPacket_Fixed<0x2741> net } -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_LOGIN_CHAR_HPP diff --git a/src/proto2/login-user.hpp b/src/proto2/login-user.hpp index 7f0e5ea..af4a070 100644 --- a/src/proto2/login-user.hpp +++ b/src/proto2/login-user.hpp @@ -28,7 +28,7 @@ // This is a public protocol, and changes require client cooperation // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) template<> struct Packet_Head<0x0063> @@ -112,6 +112,7 @@ struct NetPacket_Head<0x0063> static_assert(offsetof(NetPacket_Head<0x0063>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x0063>, magic_packet_id) == 0"); static_assert(offsetof(NetPacket_Head<0x0063>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x0063>, magic_packet_length) == 2"); static_assert(sizeof(NetPacket_Head<0x0063>) == 4, "sizeof(NetPacket_Head<0x0063>) == 4"); +static_assert(alignof(NetPacket_Head<0x0063>) == 1, "alignof(NetPacket_Head<0x0063>) == 1"); template<> struct NetPacket_Repeat<0x0063> { @@ -119,6 +120,7 @@ struct NetPacket_Repeat<0x0063> }; static_assert(offsetof(NetPacket_Repeat<0x0063>, c) == 0, "offsetof(NetPacket_Repeat<0x0063>, c) == 0"); static_assert(sizeof(NetPacket_Repeat<0x0063>) == 1, "sizeof(NetPacket_Repeat<0x0063>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x0063>) == 1, "alignof(NetPacket_Repeat<0x0063>) == 1"); template<> struct NetPacket_Fixed<0x0064> @@ -135,6 +137,7 @@ static_assert(offsetof(NetPacket_Fixed<0x0064>, account_name) == 6, "offsetof(Ne static_assert(offsetof(NetPacket_Fixed<0x0064>, account_pass) == 30, "offsetof(NetPacket_Fixed<0x0064>, account_pass) == 30"); static_assert(offsetof(NetPacket_Fixed<0x0064>, version_2_flags) == 54, "offsetof(NetPacket_Fixed<0x0064>, version_2_flags) == 54"); static_assert(sizeof(NetPacket_Fixed<0x0064>) == 55, "sizeof(NetPacket_Fixed<0x0064>) == 55"); +static_assert(alignof(NetPacket_Fixed<0x0064>) == 1, "alignof(NetPacket_Fixed<0x0064>) == 1"); template<> struct NetPacket_Head<0x0069> @@ -159,6 +162,7 @@ static_assert(offsetof(NetPacket_Head<0x0069>, last_login_string) == 20, "offset static_assert(offsetof(NetPacket_Head<0x0069>, unused2) == 44, "offsetof(NetPacket_Head<0x0069>, unused2) == 44"); static_assert(offsetof(NetPacket_Head<0x0069>, sex) == 46, "offsetof(NetPacket_Head<0x0069>, sex) == 46"); static_assert(sizeof(NetPacket_Head<0x0069>) == 47, "sizeof(NetPacket_Head<0x0069>) == 47"); +static_assert(alignof(NetPacket_Head<0x0069>) == 1, "alignof(NetPacket_Head<0x0069>) == 1"); template<> struct NetPacket_Repeat<0x0069> { @@ -176,6 +180,7 @@ static_assert(offsetof(NetPacket_Repeat<0x0069>, users) == 26, "offsetof(NetPack static_assert(offsetof(NetPacket_Repeat<0x0069>, maintenance) == 28, "offsetof(NetPacket_Repeat<0x0069>, maintenance) == 28"); static_assert(offsetof(NetPacket_Repeat<0x0069>, is_new) == 30, "offsetof(NetPacket_Repeat<0x0069>, is_new) == 30"); static_assert(sizeof(NetPacket_Repeat<0x0069>) == 32, "sizeof(NetPacket_Repeat<0x0069>) == 32"); +static_assert(alignof(NetPacket_Repeat<0x0069>) == 1, "alignof(NetPacket_Repeat<0x0069>) == 1"); template<> struct NetPacket_Fixed<0x006a> @@ -188,6 +193,7 @@ static_assert(offsetof(NetPacket_Fixed<0x006a>, magic_packet_id) == 0, "offsetof static_assert(offsetof(NetPacket_Fixed<0x006a>, error_code) == 2, "offsetof(NetPacket_Fixed<0x006a>, error_code) == 2"); static_assert(offsetof(NetPacket_Fixed<0x006a>, error_message) == 3, "offsetof(NetPacket_Fixed<0x006a>, error_message) == 3"); static_assert(sizeof(NetPacket_Fixed<0x006a>) == 23, "sizeof(NetPacket_Fixed<0x006a>) == 23"); +static_assert(alignof(NetPacket_Fixed<0x006a>) == 1, "alignof(NetPacket_Fixed<0x006a>) == 1"); inline __attribute__((warn_unused_result)) @@ -319,6 +325,6 @@ bool network_to_native(Packet_Fixed<0x006a> *native, NetPacket_Fixed<0x006a> net } -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_LOGIN_USER_HPP diff --git a/src/proto2/map-user.hpp b/src/proto2/map-user.hpp index 08d19fa..ef401f4 100644 --- a/src/proto2/map-user.hpp +++ b/src/proto2/map-user.hpp @@ -28,7 +28,1953 @@ // This is a public protocol, and changes require client cooperation // this is only needed for the payload packet right now, and that needs to die -#pragma pack(push, 1) +# pragma pack(push, 1) + +template<> +struct Packet_Fixed<0x0072> +{ + static const uint16_t PACKET_ID = 0x0072; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + CharId char_id = {}; + uint32_t login_id1 = {}; + uint32_t client_tick = {}; + SEX sex = {}; +}; + +template<> +struct Packet_Fixed<0x0073> +{ + static const uint16_t PACKET_ID = 0x0073; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + tick_t tick = {}; + Position1 pos = {}; + uint8_t five1 = {}; + uint8_t five2 = {}; +}; + +template<> +struct Packet_Fixed<0x0078> +{ + static const uint16_t PACKET_ID = 0x0078; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + interval_t speed = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + Species species = {}; + uint16_t unused_hair_style = {}; + uint16_t unused_weapon = {}; + uint16_t unused_head_bottom_or_species_again = {}; + uint16_t unused_shield_or_part_of_guild_emblem = {}; + uint16_t unused_head_top_or_unused_part_of_guild_emblem = {}; + uint16_t unused_head_mid_or_part_of_guild_id = {}; + uint16_t unused_hair_color_or_part_of_guild_id = {}; + uint16_t unused_clothes_color = {}; + uint16_t unused_1 = {}; + uint16_t unused_2 = {}; + Position1 unused_pos_again = {}; + uint8_t unused_4b = {}; + uint16_t unused_5 = {}; + uint16_t unused_zero_1 = {}; + uint8_t unused_zero_2 = {}; + uint8_t unused_sex = {}; + Position1 pos = {}; + uint8_t five1 = {}; + uint8_t five2 = {}; + uint8_t zero = {}; + uint16_t level = {}; +}; + +template<> +struct Packet_Fixed<0x007b> +{ + static const uint16_t PACKET_ID = 0x007b; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + interval_t speed = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + Species mob_class = {}; + uint16_t unused_hair_style = {}; + uint16_t unused_weapon = {}; + uint16_t unused_head_bottom = {}; + tick_t tick_and_maybe_part_of_guild_emblem = {}; + uint16_t unused_shield_or_maybe_part_of_guild_emblem = {}; + uint16_t unused_head_top_or_maybe_part_of_guild_id = {}; + uint16_t unused_head_mid_or_maybe_part_of_guild_id = {}; + uint16_t unused_hair_color = {}; + uint16_t unused_clothes_color = {}; + uint16_t unused_1 = {}; + uint16_t unused_2 = {}; + uint16_t unused_3 = {}; + uint16_t unused_4 = {}; + uint16_t unused_5 = {}; + uint16_t unused_zero_1 = {}; + uint8_t unused_zero_2 = {}; + uint8_t unused_sex = {}; + Position2 pos2 = {}; + uint8_t zero = {}; + uint8_t five1 = {}; + uint8_t five2 = {}; + uint16_t level = {}; +}; + +template<> +struct Packet_Fixed<0x007c> +{ + static const uint16_t PACKET_ID = 0x007c; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + interval_t speed = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + uint16_t unknown_1 = {}; + uint16_t unknown_2 = {}; + uint16_t unknown_3 = {}; + Species species = {}; + uint16_t unknown_4 = {}; + uint16_t unknown_5 = {}; + uint16_t unknown_6 = {}; + uint16_t unknown_7 = {}; + uint16_t unknown_8 = {}; + uint16_t unknown_9 = {}; + uint16_t unknown_10 = {}; + Position1 pos = {}; + uint16_t unknown_11 = {}; +}; + +template<> +struct Packet_Fixed<0x007d> +{ + static const uint16_t PACKET_ID = 0x007d; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x007e> +{ + static const uint16_t PACKET_ID = 0x007e; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint32_t client_tick = {}; +}; + +template<> +struct Packet_Fixed<0x007f> +{ + static const uint16_t PACKET_ID = 0x007f; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + tick_t tick = {}; +}; + +template<> +struct Packet_Fixed<0x0080> +{ + static const uint16_t PACKET_ID = 0x0080; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + BeingRemoveWhy type = {}; +}; + +template<> +struct Packet_Fixed<0x0085> +{ + static const uint16_t PACKET_ID = 0x0085; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + Position1 pos = {}; +}; + +template<> +struct Packet_Fixed<0x0087> +{ + static const uint16_t PACKET_ID = 0x0087; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + tick_t tick = {}; + Position2 pos2 = {}; + uint8_t zero = {}; +}; + +template<> +struct Packet_Fixed<0x0088> +{ + static const uint16_t PACKET_ID = 0x0088; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint16_t x = {}; + uint16_t y = {}; +}; + +template<> +struct Packet_Fixed<0x0089> +{ + static const uint16_t PACKET_ID = 0x0089; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId target_id = {}; + DamageType action = {}; +}; + +template<> +struct Packet_Fixed<0x008a> +{ + static const uint16_t PACKET_ID = 0x008a; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId src_id = {}; + BlockId dst_id = {}; + tick_t tick = {}; + interval_t sdelay = {}; + interval_t ddelay = {}; + uint16_t damage = {}; + uint16_t div = {}; + DamageType damage_type = {}; + uint16_t damage2 = {}; +}; + +template<> +struct Packet_Head<0x008c> +{ + static const uint16_t PACKET_ID = 0x008c; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x008c> +{ + static const uint16_t PACKET_ID = 0x008c; + + uint8_t c = {}; +}; + +template<> +struct Packet_Head<0x008d> +{ + static const uint16_t PACKET_ID = 0x008d; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + BlockId block_id = {}; +}; +template<> +struct Packet_Repeat<0x008d> +{ + static const uint16_t PACKET_ID = 0x008d; + + uint8_t c = {}; +}; + +template<> +struct Packet_Head<0x008e> +{ + static const uint16_t PACKET_ID = 0x008e; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x008e> +{ + static const uint16_t PACKET_ID = 0x008e; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x0090> +{ + static const uint16_t PACKET_ID = 0x0090; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint8_t unused = {}; +}; + +template<> +struct Packet_Fixed<0x0091> +{ + static const uint16_t PACKET_ID = 0x0091; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + MapName map_name = {}; + uint16_t x = {}; + uint16_t y = {}; +}; + +template<> +struct Packet_Fixed<0x0092> +{ + static const uint16_t PACKET_ID = 0x0092; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + MapName map_name = {}; + uint16_t x = {}; + uint16_t y = {}; + IP4Address ip = {}; + uint16_t port = {}; +}; + +template<> +struct Packet_Fixed<0x0094> +{ + static const uint16_t PACKET_ID = 0x0094; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x0095> +{ + static const uint16_t PACKET_ID = 0x0095; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + CharName char_name = {}; +}; + +template<> +struct Packet_Head<0x0096> +{ + static const uint16_t PACKET_ID = 0x0096; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + CharName target_name = {}; +}; +template<> +struct Packet_Repeat<0x0096> +{ + static const uint16_t PACKET_ID = 0x0096; + + uint8_t c = {}; +}; + +template<> +struct Packet_Head<0x0097> +{ + static const uint16_t PACKET_ID = 0x0097; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + CharName char_name = {}; +}; +template<> +struct Packet_Repeat<0x0097> +{ + static const uint16_t PACKET_ID = 0x0097; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x0098> +{ + static const uint16_t PACKET_ID = 0x0098; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t flag = {}; +}; + +template<> +struct Packet_Head<0x009a> +{ + static const uint16_t PACKET_ID = 0x009a; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x009a> +{ + static const uint16_t PACKET_ID = 0x009a; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x009b> +{ + static const uint16_t PACKET_ID = 0x009b; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t unused = {}; + uint8_t client_dir = {}; +}; + +template<> +struct Packet_Fixed<0x009c> +{ + static const uint16_t PACKET_ID = 0x009c; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint16_t zero = {}; + uint8_t client_dir = {}; +}; + +template<> +struct Packet_Fixed<0x009d> +{ + static const uint16_t PACKET_ID = 0x009d; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + ItemNameId name_id = {}; + uint8_t identify = {}; + uint16_t x = {}; + uint16_t y = {}; + uint16_t amount = {}; + uint8_t subx = {}; + uint8_t suby = {}; +}; + +template<> +struct Packet_Fixed<0x009e> +{ + static const uint16_t PACKET_ID = 0x009e; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + ItemNameId name_id = {}; + uint8_t identify = {}; + uint16_t x = {}; + uint16_t y = {}; + uint8_t subx = {}; + uint8_t suby = {}; + uint16_t amount = {}; +}; + +template<> +struct Packet_Fixed<0x009f> +{ + static const uint16_t PACKET_ID = 0x009f; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId object_id = {}; +}; + +template<> +struct Packet_Fixed<0x00a0> +{ + static const uint16_t PACKET_ID = 0x00a0; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint16_t amount = {}; + ItemNameId name_id = {}; + uint8_t identify = {}; + uint8_t broken_or_attribute = {}; + uint8_t refine = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; + EPOS epos = {}; + ItemType item_type = {}; + PickupFail pickup_fail = {}; +}; + +template<> +struct Packet_Fixed<0x00a1> +{ + static const uint16_t PACKET_ID = 0x00a1; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x00a2> +{ + static const uint16_t PACKET_ID = 0x00a2; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint16_t amount = {}; +}; + +template<> +struct Packet_Head<0x00a4> +{ + static const uint16_t PACKET_ID = 0x00a4; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x00a4> +{ + static const uint16_t PACKET_ID = 0x00a4; + + uint16_t ioff2 = {}; + ItemNameId name_id = {}; + ItemType item_type = {}; + uint8_t identify = {}; + EPOS epos_pc = {}; + EPOS epos_inv = {}; + uint8_t broken_or_attribute = {}; + uint8_t refine = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; +}; + +template<> +struct Packet_Head<0x00a6> +{ + static const uint16_t PACKET_ID = 0x00a6; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x00a6> +{ + static const uint16_t PACKET_ID = 0x00a6; + + uint16_t soff1 = {}; + ItemNameId name_id = {}; + ItemType item_type = {}; + uint8_t identify = {}; + EPOS epos_id = {}; + EPOS epos_stor = {}; + uint8_t broken_or_attribute = {}; + uint8_t refine = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; +}; + +template<> +struct Packet_Fixed<0x00a7> +{ + static const uint16_t PACKET_ID = 0x00a7; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint32_t unused_id = {}; +}; + +template<> +struct Packet_Fixed<0x00a8> +{ + static const uint16_t PACKET_ID = 0x00a8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint16_t amount = {}; + uint8_t ok = {}; +}; + +template<> +struct Packet_Fixed<0x00a9> +{ + static const uint16_t PACKET_ID = 0x00a9; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + EPOS epos_ignored = {}; +}; + +template<> +struct Packet_Fixed<0x00aa> +{ + static const uint16_t PACKET_ID = 0x00aa; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + EPOS epos = {}; + uint8_t ok = {}; +}; + +template<> +struct Packet_Fixed<0x00ab> +{ + static const uint16_t PACKET_ID = 0x00ab; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; +}; + +template<> +struct Packet_Fixed<0x00ac> +{ + static const uint16_t PACKET_ID = 0x00ac; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + EPOS epos = {}; + uint8_t ok = {}; +}; + +template<> +struct Packet_Fixed<0x00af> +{ + static const uint16_t PACKET_ID = 0x00af; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint16_t amount = {}; +}; + +template<> +struct Packet_Fixed<0x00b0> +{ + static const uint16_t PACKET_ID = 0x00b0; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SP sp_type = {}; + uint32_t value = {}; +}; + +template<> +struct Packet_Fixed<0x00b1> +{ + static const uint16_t PACKET_ID = 0x00b1; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SP sp_type = {}; + uint32_t value = {}; +}; + +template<> +struct Packet_Fixed<0x00b2> +{ + static const uint16_t PACKET_ID = 0x00b2; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t flag = {}; +}; + +template<> +struct Packet_Fixed<0x00b3> +{ + static const uint16_t PACKET_ID = 0x00b3; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t one = {}; +}; + +template<> +struct Packet_Head<0x00b4> +{ + static const uint16_t PACKET_ID = 0x00b4; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + BlockId block_id = {}; +}; +template<> +struct Packet_Repeat<0x00b4> +{ + static const uint16_t PACKET_ID = 0x00b4; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x00b5> +{ + static const uint16_t PACKET_ID = 0x00b5; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x00b6> +{ + static const uint16_t PACKET_ID = 0x00b6; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Head<0x00b7> +{ + static const uint16_t PACKET_ID = 0x00b7; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + BlockId block_id = {}; +}; +template<> +struct Packet_Repeat<0x00b7> +{ + static const uint16_t PACKET_ID = 0x00b7; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x00b8> +{ + static const uint16_t PACKET_ID = 0x00b8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId npc_id = {}; + uint8_t menu_entry = {}; +}; + +template<> +struct Packet_Fixed<0x00b9> +{ + static const uint16_t PACKET_ID = 0x00b9; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId npc_id = {}; +}; + +template<> +struct Packet_Fixed<0x00bb> +{ + static const uint16_t PACKET_ID = 0x00bb; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SP asp = {}; + uint8_t unused = {}; +}; + +template<> +struct Packet_Fixed<0x00bc> +{ + static const uint16_t PACKET_ID = 0x00bc; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SP sp_type = {}; + uint8_t ok = {}; + uint8_t val = {}; +}; + +template<> +struct Packet_Fixed<0x00bd> +{ + static const uint16_t PACKET_ID = 0x00bd; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t status_point = {}; + uint8_t str_attr = {}; + uint8_t str_upd = {}; + uint8_t agi_attr = {}; + uint8_t agi_upd = {}; + uint8_t vit_attr = {}; + uint8_t vit_upd = {}; + uint8_t int_attr = {}; + uint8_t int_upd = {}; + uint8_t dex_attr = {}; + uint8_t dex_upd = {}; + uint8_t luk_attr = {}; + uint8_t luk_upd = {}; + uint16_t atk_sum = {}; + uint16_t watk2 = {}; + uint16_t matk1 = {}; + uint16_t matk2 = {}; + uint16_t def = {}; + uint16_t def2 = {}; + uint16_t mdef = {}; + uint16_t mdef2 = {}; + uint16_t hit = {}; + uint16_t flee = {}; + uint16_t flee2 = {}; + uint16_t critical = {}; + uint16_t karma = {}; + uint16_t manner = {}; +}; + +template<> +struct Packet_Fixed<0x00be> +{ + static const uint16_t PACKET_ID = 0x00be; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SP sp_type = {}; + uint8_t value = {}; +}; + +template<> +struct Packet_Fixed<0x00bf> +{ + static const uint16_t PACKET_ID = 0x00bf; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t emote = {}; +}; + +template<> +struct Packet_Fixed<0x00c0> +{ + static const uint16_t PACKET_ID = 0x00c0; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint8_t type = {}; +}; + +template<> +struct Packet_Fixed<0x00c1> +{ + static const uint16_t PACKET_ID = 0x00c1; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00c2> +{ + static const uint16_t PACKET_ID = 0x00c2; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint32_t users = {}; +}; + +template<> +struct Packet_Fixed<0x00c4> +{ + static const uint16_t PACKET_ID = 0x00c4; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x00c5> +{ + static const uint16_t PACKET_ID = 0x00c5; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint8_t type = {}; +}; + +template<> +struct Packet_Head<0x00c6> +{ + static const uint16_t PACKET_ID = 0x00c6; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x00c6> +{ + static const uint16_t PACKET_ID = 0x00c6; + + uint32_t base_price = {}; + uint32_t actual_price = {}; + ItemType type = {}; + ItemNameId name_id = {}; +}; + +template<> +struct Packet_Head<0x00c7> +{ + static const uint16_t PACKET_ID = 0x00c7; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x00c7> +{ + static const uint16_t PACKET_ID = 0x00c7; + + uint16_t ioff2 = {}; + uint32_t base_price = {}; + uint32_t actual_price = {}; +}; + +template<> +struct Packet_Head<0x00c8> +{ + static const uint16_t PACKET_ID = 0x00c8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x00c8> +{ + static const uint16_t PACKET_ID = 0x00c8; + + uint16_t count = {}; + ItemNameId name_id = {}; +}; + +template<> +struct Packet_Head<0x00c9> +{ + static const uint16_t PACKET_ID = 0x00c9; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x00c9> +{ + static const uint16_t PACKET_ID = 0x00c9; + + uint16_t ioff2 = {}; + uint16_t count = {}; +}; + +template<> +struct Packet_Fixed<0x00ca> +{ + static const uint16_t PACKET_ID = 0x00ca; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t fail = {}; +}; + +template<> +struct Packet_Fixed<0x00cb> +{ + static const uint16_t PACKET_ID = 0x00cb; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t fail = {}; +}; + +template<> +struct Packet_Fixed<0x00cd> +{ + static const uint16_t PACKET_ID = 0x00cd; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; +}; + +template<> +struct Packet_Fixed<0x00e4> +{ + static const uint16_t PACKET_ID = 0x00e4; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x00e5> +{ + static const uint16_t PACKET_ID = 0x00e5; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + CharName char_name = {}; +}; + +template<> +struct Packet_Fixed<0x00e6> +{ + static const uint16_t PACKET_ID = 0x00e6; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t type = {}; +}; + +template<> +struct Packet_Fixed<0x00e7> +{ + static const uint16_t PACKET_ID = 0x00e7; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t type = {}; +}; + +template<> +struct Packet_Fixed<0x00e8> +{ + static const uint16_t PACKET_ID = 0x00e8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t zeny_or_ioff2 = {}; + uint32_t amount = {}; +}; + +template<> +struct Packet_Fixed<0x00e9> +{ + static const uint16_t PACKET_ID = 0x00e9; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint32_t amount = {}; + ItemNameId name_id = {}; + uint8_t identify = {}; + uint8_t broken_or_attribute = {}; + uint8_t refine = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; +}; + +template<> +struct Packet_Fixed<0x00eb> +{ + static const uint16_t PACKET_ID = 0x00eb; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00ec> +{ + static const uint16_t PACKET_ID = 0x00ec; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t fail = {}; +}; + +template<> +struct Packet_Fixed<0x00ed> +{ + static const uint16_t PACKET_ID = 0x00ed; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00ee> +{ + static const uint16_t PACKET_ID = 0x00ee; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00ef> +{ + static const uint16_t PACKET_ID = 0x00ef; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00f0> +{ + static const uint16_t PACKET_ID = 0x00f0; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t fail = {}; +}; + +template<> +struct Packet_Fixed<0x00f2> +{ + static const uint16_t PACKET_ID = 0x00f2; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t current_slots = {}; + uint16_t max_slots = {}; +}; + +template<> +struct Packet_Fixed<0x00f3> +{ + static const uint16_t PACKET_ID = 0x00f3; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint32_t amount = {}; +}; + +template<> +struct Packet_Fixed<0x00f4> +{ + static const uint16_t PACKET_ID = 0x00f4; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t soff1 = {}; + uint32_t amount = {}; + ItemNameId name_id = {}; + uint8_t identify = {}; + uint8_t broken_or_attribute = {}; + uint8_t refine = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; +}; + +template<> +struct Packet_Fixed<0x00f5> +{ + static const uint16_t PACKET_ID = 0x00f5; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t soff1 = {}; + uint32_t amount = {}; +}; + +template<> +struct Packet_Fixed<0x00f6> +{ + static const uint16_t PACKET_ID = 0x00f6; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t soff1 = {}; + uint32_t amount = {}; +}; + +template<> +struct Packet_Fixed<0x00f7> +{ + static const uint16_t PACKET_ID = 0x00f7; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00f8> +{ + static const uint16_t PACKET_ID = 0x00f8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x00f9> +{ + static const uint16_t PACKET_ID = 0x00f9; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + PartyName party_name = {}; +}; + +template<> +struct Packet_Fixed<0x00fa> +{ + static const uint16_t PACKET_ID = 0x00fa; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint8_t flag = {}; +}; + +template<> +struct Packet_Head<0x00fb> +{ + static const uint16_t PACKET_ID = 0x00fb; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + PartyName party_name = {}; +}; +template<> +struct Packet_Repeat<0x00fb> +{ + static const uint16_t PACKET_ID = 0x00fb; + + AccountId account_id = {}; + CharName char_name = {}; + MapName map_name = {}; + uint8_t leader = {}; + uint8_t online = {}; +}; + +template<> +struct Packet_Fixed<0x00fc> +{ + static const uint16_t PACKET_ID = 0x00fc; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; +}; + +template<> +struct Packet_Fixed<0x00fd> +{ + static const uint16_t PACKET_ID = 0x00fd; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + CharName char_name = {}; + uint8_t flag = {}; +}; + +template<> +struct Packet_Fixed<0x00fe> +{ + static const uint16_t PACKET_ID = 0x00fe; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + PartyName party_name = {}; +}; + +template<> +struct Packet_Fixed<0x00ff> +{ + static const uint16_t PACKET_ID = 0x00ff; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + uint32_t flag = {}; +}; + +template<> +struct Packet_Fixed<0x0100> +{ + static const uint16_t PACKET_ID = 0x0100; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x0101> +{ + static const uint16_t PACKET_ID = 0x0101; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t exp = {}; + uint16_t item = {}; +}; + +template<> +struct Packet_Fixed<0x0102> +{ + static const uint16_t PACKET_ID = 0x0102; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t exp = {}; + uint16_t item = {}; +}; + +template<> +struct Packet_Fixed<0x0103> +{ + static const uint16_t PACKET_ID = 0x0103; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + CharName unused_char_name = {}; +}; + +template<> +struct Packet_Fixed<0x0105> +{ + static const uint16_t PACKET_ID = 0x0105; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + CharName char_name = {}; + uint8_t flag = {}; +}; + +template<> +struct Packet_Fixed<0x0106> +{ + static const uint16_t PACKET_ID = 0x0106; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + uint16_t hp = {}; + uint16_t max_hp = {}; +}; + +template<> +struct Packet_Fixed<0x0107> +{ + static const uint16_t PACKET_ID = 0x0107; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + AccountId account_id = {}; + uint16_t x = {}; + uint16_t y = {}; +}; + +template<> +struct Packet_Head<0x0108> +{ + static const uint16_t PACKET_ID = 0x0108; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x0108> +{ + static const uint16_t PACKET_ID = 0x0108; + + uint8_t c = {}; +}; + +template<> +struct Packet_Head<0x0109> +{ + static const uint16_t PACKET_ID = 0x0109; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + AccountId account_id = {}; +}; +template<> +struct Packet_Repeat<0x0109> +{ + static const uint16_t PACKET_ID = 0x0109; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x010c> +{ + static const uint16_t PACKET_ID = 0x010c; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x010e> +{ + static const uint16_t PACKET_ID = 0x010e; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SkillID skill_id = {}; + uint16_t level = {}; + uint16_t sp = {}; + uint16_t range = {}; + uint8_t can_raise = {}; +}; + +template<> +struct Packet_Head<0x010f> +{ + static const uint16_t PACKET_ID = 0x010f; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x010f> +{ + static const uint16_t PACKET_ID = 0x010f; + + SkillInfo info = {}; +}; + +template<> +struct Packet_Fixed<0x0110> +{ + static const uint16_t PACKET_ID = 0x0110; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SkillID skill_id = {}; + uint16_t btype = {}; + uint16_t zero1 = {}; + uint8_t zero2 = {}; + uint8_t type = {}; +}; + +template<> +struct Packet_Fixed<0x0112> +{ + static const uint16_t PACKET_ID = 0x0112; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SkillID skill_id = {}; +}; + +template<> +struct Packet_Fixed<0x0118> +{ + static const uint16_t PACKET_ID = 0x0118; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x0119> +{ + static const uint16_t PACKET_ID = 0x0119; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + uint8_t zero = {}; +}; + +template<> +struct Packet_Fixed<0x0139> +{ + static const uint16_t PACKET_ID = 0x0139; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint16_t bl_x = {}; + uint16_t bl_y = {}; + uint16_t sd_x = {}; + uint16_t sd_y = {}; + uint16_t range = {}; +}; + +template<> +struct Packet_Fixed<0x013a> +{ + static const uint16_t PACKET_ID = 0x013a; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t attack_range = {}; +}; + +template<> +struct Packet_Fixed<0x013b> +{ + static const uint16_t PACKET_ID = 0x013b; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t type = {}; +}; + +template<> +struct Packet_Fixed<0x013c> +{ + static const uint16_t PACKET_ID = 0x013c; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; +}; + +template<> +struct Packet_Fixed<0x0141> +{ + static const uint16_t PACKET_ID = 0x0141; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SP sp_type = {}; + uint16_t zero = {}; + uint32_t value_status = {}; + uint32_t value_b_e = {}; +}; + +template<> +struct Packet_Fixed<0x0142> +{ + static const uint16_t PACKET_ID = 0x0142; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x0143> +{ + static const uint16_t PACKET_ID = 0x0143; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint32_t input_int_value = {}; +}; + +template<> +struct Packet_Fixed<0x0146> +{ + static const uint16_t PACKET_ID = 0x0146; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Fixed<0x0147> +{ + static const uint16_t PACKET_ID = 0x0147; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SkillInfo info = {}; +}; + +template<> +struct Packet_Fixed<0x0148> +{ + static const uint16_t PACKET_ID = 0x0148; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint16_t type = {}; +}; + +template<> +struct Packet_Fixed<0x014d> +{ + static const uint16_t PACKET_ID = 0x014d; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; +}; + +template<> +struct Packet_Fixed<0x018a> +{ + static const uint16_t PACKET_ID = 0x018a; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t unused = {}; +}; + +template<> +struct Packet_Fixed<0x018b> +{ + static const uint16_t PACKET_ID = 0x018b; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t okay = {}; +}; + +template<> +struct Packet_Fixed<0x0195> +{ + static const uint16_t PACKET_ID = 0x0195; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + PartyName party_name = {}; + VString<23> guild_name = {}; + VString<23> guild_pos = {}; + VString<23> guild_pos_again = {}; +}; + +template<> +struct Packet_Fixed<0x0196> +{ + static const uint16_t PACKET_ID = 0x0196; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + StatusChange sc_type = {}; + BlockId block_id = {}; + uint8_t flag = {}; +}; + +template<> +struct Packet_Fixed<0x019b> +{ + static const uint16_t PACKET_ID = 0x019b; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + uint32_t type = {}; +}; + +template<> +struct Packet_Fixed<0x01b1> +{ + static const uint16_t PACKET_ID = 0x01b1; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + uint16_t amount = {}; + uint8_t fail = {}; +}; + +template<> +struct Packet_Fixed<0x01c8> +{ + static const uint16_t PACKET_ID = 0x01c8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + uint16_t ioff2 = {}; + ItemNameId name_id = {}; + BlockId block_id = {}; + uint16_t amount = {}; + uint8_t ok = {}; +}; + +template<> +struct Packet_Fixed<0x01d4> +{ + static const uint16_t PACKET_ID = 0x01d4; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; +}; + +template<> +struct Packet_Head<0x01d5> +{ + static const uint16_t PACKET_ID = 0x01d5; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; + BlockId block_id = {}; +}; +template<> +struct Packet_Repeat<0x01d5> +{ + static const uint16_t PACKET_ID = 0x01d5; + + uint8_t c = {}; +}; + +template<> +struct Packet_Fixed<0x01d7> +{ + static const uint16_t PACKET_ID = 0x01d7; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + LOOK look_type = {}; + uint16_t weapon_or_name_id_or_value = {}; + ItemNameId shield = {}; +}; + +template<> +struct Packet_Fixed<0x01d8> +{ + static const uint16_t PACKET_ID = 0x01d8; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + interval_t speed = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + Species species = {}; + uint16_t hair_style = {}; + ItemNameId weapon = {}; + ItemNameId shield = {}; + ItemNameId head_bottom = {}; + ItemNameId head_top = {}; + ItemNameId head_mid = {}; + uint16_t hair_color = {}; + uint16_t clothes_color = {}; + DIR head_dir = {}; + uint8_t unused2 = {}; + uint32_t guild_id = {}; + uint16_t guild_emblem_id = {}; + uint16_t manner = {}; + Opt3 opt3 = {}; + uint8_t karma = {}; + SEX sex = {}; + Position1 pos = {}; + uint16_t gm_bits = {}; + uint8_t dead_sit = {}; + uint16_t unused = {}; +}; + +template<> +struct Packet_Fixed<0x01d9> +{ + static const uint16_t PACKET_ID = 0x01d9; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + interval_t speed = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + Species species = {}; + uint16_t hair_style = {}; + ItemNameId weapon = {}; + ItemNameId shield = {}; + ItemNameId head_bottom = {}; + ItemNameId head_top = {}; + ItemNameId head_mid = {}; + uint16_t hair_color = {}; + uint16_t clothes_color = {}; + DIR head_dir = {}; + uint8_t unused2 = {}; + uint32_t guild_id = {}; + uint16_t guild_emblem_id = {}; + uint16_t manner = {}; + Opt3 opt3 = {}; + uint8_t karma = {}; + SEX sex = {}; + Position1 pos = {}; + uint16_t gm_bits = {}; + uint16_t unused = {}; +}; + +template<> +struct Packet_Fixed<0x01da> +{ + static const uint16_t PACKET_ID = 0x01da; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + interval_t speed = {}; + Opt1 opt1 = {}; + Opt2 opt2 = {}; + Option option = {}; + Species species = {}; + uint16_t hair_style = {}; + ItemNameId weapon = {}; + ItemNameId shield = {}; + ItemNameId head_bottom = {}; + tick_t tick = {}; + ItemNameId head_top = {}; + ItemNameId head_mid = {}; + uint16_t hair_color = {}; + uint16_t clothes_color = {}; + DIR head_dir = {}; + uint8_t unused2 = {}; + uint32_t guild_id = {}; + uint16_t guild_emblem_id = {}; + uint16_t manner = {}; + Opt3 opt3 = {}; + uint8_t karma = {}; + SEX sex = {}; + Position2 pos2 = {}; + uint16_t gm_bits = {}; + uint8_t five = {}; + uint16_t unused = {}; +}; + +template<> +struct Packet_Fixed<0x01de> +{ + static const uint16_t PACKET_ID = 0x01de; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + SkillID skill_id = {}; + BlockId src_id = {}; + BlockId dst_id = {}; + tick_t tick = {}; + interval_t sdelay = {}; + interval_t ddelay = {}; + uint32_t damage = {}; + uint16_t skill_level = {}; + uint16_t div = {}; + uint8_t type_or_hit = {}; +}; + +template<> +struct Packet_Head<0x01ee> +{ + static const uint16_t PACKET_ID = 0x01ee; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x01ee> +{ + static const uint16_t PACKET_ID = 0x01ee; + + uint16_t ioff2 = {}; + ItemNameId name_id = {}; + ItemType item_type = {}; + uint8_t identify = {}; + uint16_t amount = {}; + EPOS epos = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; +}; + +template<> +struct Packet_Head<0x01f0> +{ + static const uint16_t PACKET_ID = 0x01f0; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + // TODO remove this + uint16_t magic_packet_length = {}; +}; +template<> +struct Packet_Repeat<0x01f0> +{ + static const uint16_t PACKET_ID = 0x01f0; + + uint16_t soff1 = {}; + ItemNameId name_id = {}; + ItemType item_type = {}; + uint8_t identify = {}; + uint16_t amount = {}; + EPOS epos_zero = {}; + uint16_t card0 = {}; + uint16_t card1 = {}; + uint16_t card2 = {}; + uint16_t card3 = {}; +}; + +template<> +struct Packet_Fixed<0x020c> +{ + static const uint16_t PACKET_ID = 0x020c; + + // TODO remove this + uint16_t magic_packet_id = PACKET_ID; + BlockId block_id = {}; + IP4Address ip = {}; +}; template<> struct Packet_Fixed<0x0212> @@ -46,6 +1992,2470 @@ struct Packet_Fixed<0x0212> template<> +struct NetPacket_Fixed<0x0072> +{ + Little16 magic_packet_id; + Little32 account_id; + Little32 char_id; + Little32 login_id1; + Little32 client_tick; + Byte sex; +}; +static_assert(offsetof(NetPacket_Fixed<0x0072>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0072>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0072>, account_id) == 2, "offsetof(NetPacket_Fixed<0x0072>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0072>, char_id) == 6, "offsetof(NetPacket_Fixed<0x0072>, char_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0072>, login_id1) == 10, "offsetof(NetPacket_Fixed<0x0072>, login_id1) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x0072>, client_tick) == 14, "offsetof(NetPacket_Fixed<0x0072>, client_tick) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x0072>, sex) == 18, "offsetof(NetPacket_Fixed<0x0072>, sex) == 18"); +static_assert(sizeof(NetPacket_Fixed<0x0072>) == 19, "sizeof(NetPacket_Fixed<0x0072>) == 19"); +static_assert(alignof(NetPacket_Fixed<0x0072>) == 1, "alignof(NetPacket_Fixed<0x0072>) == 1"); + +template<> +struct NetPacket_Fixed<0x0073> +{ + Little16 magic_packet_id; + Little32 tick; + NetPosition1 pos; + Byte five1; + Byte five2; +}; +static_assert(offsetof(NetPacket_Fixed<0x0073>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0073>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0073>, tick) == 2, "offsetof(NetPacket_Fixed<0x0073>, tick) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0073>, pos) == 6, "offsetof(NetPacket_Fixed<0x0073>, pos) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0073>, five1) == 9, "offsetof(NetPacket_Fixed<0x0073>, five1) == 9"); +static_assert(offsetof(NetPacket_Fixed<0x0073>, five2) == 10, "offsetof(NetPacket_Fixed<0x0073>, five2) == 10"); +static_assert(sizeof(NetPacket_Fixed<0x0073>) == 11, "sizeof(NetPacket_Fixed<0x0073>) == 11"); +static_assert(alignof(NetPacket_Fixed<0x0073>) == 1, "alignof(NetPacket_Fixed<0x0073>) == 1"); + +template<> +struct NetPacket_Fixed<0x0078> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 speed; + Little16 opt1; + Little16 opt2; + Little16 option; + Little16 species; + Little16 unused_hair_style; + Little16 unused_weapon; + Little16 unused_head_bottom_or_species_again; + Little16 unused_shield_or_part_of_guild_emblem; + Little16 unused_head_top_or_unused_part_of_guild_emblem; + Little16 unused_head_mid_or_part_of_guild_id; + Little16 unused_hair_color_or_part_of_guild_id; + Little16 unused_clothes_color; + Little16 unused_1; + Little16 unused_2; + NetPosition1 unused_pos_again; + Byte unused_4b; + Little16 unused_5; + Little16 unused_zero_1; + Byte unused_zero_2; + Byte unused_sex; + NetPosition1 pos; + Byte five1; + Byte five2; + Byte zero; + Little16 level; +}; +static_assert(offsetof(NetPacket_Fixed<0x0078>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0078>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0078>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, speed) == 6, "offsetof(NetPacket_Fixed<0x0078>, speed) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, opt1) == 8, "offsetof(NetPacket_Fixed<0x0078>, opt1) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, opt2) == 10, "offsetof(NetPacket_Fixed<0x0078>, opt2) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, option) == 12, "offsetof(NetPacket_Fixed<0x0078>, option) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, species) == 14, "offsetof(NetPacket_Fixed<0x0078>, species) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_hair_style) == 16, "offsetof(NetPacket_Fixed<0x0078>, unused_hair_style) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_weapon) == 18, "offsetof(NetPacket_Fixed<0x0078>, unused_weapon) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_head_bottom_or_species_again) == 20, "offsetof(NetPacket_Fixed<0x0078>, unused_head_bottom_or_species_again) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_shield_or_part_of_guild_emblem) == 22, "offsetof(NetPacket_Fixed<0x0078>, unused_shield_or_part_of_guild_emblem) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_head_top_or_unused_part_of_guild_emblem) == 24, "offsetof(NetPacket_Fixed<0x0078>, unused_head_top_or_unused_part_of_guild_emblem) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_head_mid_or_part_of_guild_id) == 26, "offsetof(NetPacket_Fixed<0x0078>, unused_head_mid_or_part_of_guild_id) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_hair_color_or_part_of_guild_id) == 28, "offsetof(NetPacket_Fixed<0x0078>, unused_hair_color_or_part_of_guild_id) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_clothes_color) == 30, "offsetof(NetPacket_Fixed<0x0078>, unused_clothes_color) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_1) == 32, "offsetof(NetPacket_Fixed<0x0078>, unused_1) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_2) == 34, "offsetof(NetPacket_Fixed<0x0078>, unused_2) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_pos_again) == 36, "offsetof(NetPacket_Fixed<0x0078>, unused_pos_again) == 36"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_4b) == 39, "offsetof(NetPacket_Fixed<0x0078>, unused_4b) == 39"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_5) == 40, "offsetof(NetPacket_Fixed<0x0078>, unused_5) == 40"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_zero_1) == 42, "offsetof(NetPacket_Fixed<0x0078>, unused_zero_1) == 42"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_zero_2) == 44, "offsetof(NetPacket_Fixed<0x0078>, unused_zero_2) == 44"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, unused_sex) == 45, "offsetof(NetPacket_Fixed<0x0078>, unused_sex) == 45"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, pos) == 46, "offsetof(NetPacket_Fixed<0x0078>, pos) == 46"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, five1) == 49, "offsetof(NetPacket_Fixed<0x0078>, five1) == 49"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, five2) == 50, "offsetof(NetPacket_Fixed<0x0078>, five2) == 50"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, zero) == 51, "offsetof(NetPacket_Fixed<0x0078>, zero) == 51"); +static_assert(offsetof(NetPacket_Fixed<0x0078>, level) == 52, "offsetof(NetPacket_Fixed<0x0078>, level) == 52"); +static_assert(sizeof(NetPacket_Fixed<0x0078>) == 54, "sizeof(NetPacket_Fixed<0x0078>) == 54"); +static_assert(alignof(NetPacket_Fixed<0x0078>) == 1, "alignof(NetPacket_Fixed<0x0078>) == 1"); + +template<> +struct NetPacket_Fixed<0x007b> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 speed; + Little16 opt1; + Little16 opt2; + Little16 option; + Little16 mob_class; + Little16 unused_hair_style; + Little16 unused_weapon; + Little16 unused_head_bottom; + Little32 tick_and_maybe_part_of_guild_emblem; + Little16 unused_shield_or_maybe_part_of_guild_emblem; + Little16 unused_head_top_or_maybe_part_of_guild_id; + Little16 unused_head_mid_or_maybe_part_of_guild_id; + Little16 unused_hair_color; + Little16 unused_clothes_color; + Little16 unused_1; + Little16 unused_2; + Little16 unused_3; + Little16 unused_4; + Little16 unused_5; + Little16 unused_zero_1; + Byte unused_zero_2; + Byte unused_sex; + NetPosition2 pos2; + Byte zero; + Byte five1; + Byte five2; + Little16 level; +}; +static_assert(offsetof(NetPacket_Fixed<0x007b>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x007b>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, block_id) == 2, "offsetof(NetPacket_Fixed<0x007b>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, speed) == 6, "offsetof(NetPacket_Fixed<0x007b>, speed) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, opt1) == 8, "offsetof(NetPacket_Fixed<0x007b>, opt1) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, opt2) == 10, "offsetof(NetPacket_Fixed<0x007b>, opt2) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, option) == 12, "offsetof(NetPacket_Fixed<0x007b>, option) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, mob_class) == 14, "offsetof(NetPacket_Fixed<0x007b>, mob_class) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_hair_style) == 16, "offsetof(NetPacket_Fixed<0x007b>, unused_hair_style) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_weapon) == 18, "offsetof(NetPacket_Fixed<0x007b>, unused_weapon) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_head_bottom) == 20, "offsetof(NetPacket_Fixed<0x007b>, unused_head_bottom) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, tick_and_maybe_part_of_guild_emblem) == 22, "offsetof(NetPacket_Fixed<0x007b>, tick_and_maybe_part_of_guild_emblem) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_shield_or_maybe_part_of_guild_emblem) == 26, "offsetof(NetPacket_Fixed<0x007b>, unused_shield_or_maybe_part_of_guild_emblem) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_head_top_or_maybe_part_of_guild_id) == 28, "offsetof(NetPacket_Fixed<0x007b>, unused_head_top_or_maybe_part_of_guild_id) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_head_mid_or_maybe_part_of_guild_id) == 30, "offsetof(NetPacket_Fixed<0x007b>, unused_head_mid_or_maybe_part_of_guild_id) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_hair_color) == 32, "offsetof(NetPacket_Fixed<0x007b>, unused_hair_color) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_clothes_color) == 34, "offsetof(NetPacket_Fixed<0x007b>, unused_clothes_color) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_1) == 36, "offsetof(NetPacket_Fixed<0x007b>, unused_1) == 36"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_2) == 38, "offsetof(NetPacket_Fixed<0x007b>, unused_2) == 38"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_3) == 40, "offsetof(NetPacket_Fixed<0x007b>, unused_3) == 40"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_4) == 42, "offsetof(NetPacket_Fixed<0x007b>, unused_4) == 42"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_5) == 44, "offsetof(NetPacket_Fixed<0x007b>, unused_5) == 44"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_zero_1) == 46, "offsetof(NetPacket_Fixed<0x007b>, unused_zero_1) == 46"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_zero_2) == 48, "offsetof(NetPacket_Fixed<0x007b>, unused_zero_2) == 48"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, unused_sex) == 49, "offsetof(NetPacket_Fixed<0x007b>, unused_sex) == 49"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, pos2) == 50, "offsetof(NetPacket_Fixed<0x007b>, pos2) == 50"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, zero) == 55, "offsetof(NetPacket_Fixed<0x007b>, zero) == 55"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, five1) == 56, "offsetof(NetPacket_Fixed<0x007b>, five1) == 56"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, five2) == 57, "offsetof(NetPacket_Fixed<0x007b>, five2) == 57"); +static_assert(offsetof(NetPacket_Fixed<0x007b>, level) == 58, "offsetof(NetPacket_Fixed<0x007b>, level) == 58"); +static_assert(sizeof(NetPacket_Fixed<0x007b>) == 60, "sizeof(NetPacket_Fixed<0x007b>) == 60"); +static_assert(alignof(NetPacket_Fixed<0x007b>) == 1, "alignof(NetPacket_Fixed<0x007b>) == 1"); + +template<> +struct NetPacket_Fixed<0x007c> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 speed; + Little16 opt1; + Little16 opt2; + Little16 option; + Little16 unknown_1; + Little16 unknown_2; + Little16 unknown_3; + Little16 species; + Little16 unknown_4; + Little16 unknown_5; + Little16 unknown_6; + Little16 unknown_7; + Little16 unknown_8; + Little16 unknown_9; + Little16 unknown_10; + NetPosition1 pos; + Little16 unknown_11; +}; +static_assert(offsetof(NetPacket_Fixed<0x007c>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x007c>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, block_id) == 2, "offsetof(NetPacket_Fixed<0x007c>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, speed) == 6, "offsetof(NetPacket_Fixed<0x007c>, speed) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, opt1) == 8, "offsetof(NetPacket_Fixed<0x007c>, opt1) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, opt2) == 10, "offsetof(NetPacket_Fixed<0x007c>, opt2) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, option) == 12, "offsetof(NetPacket_Fixed<0x007c>, option) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_1) == 14, "offsetof(NetPacket_Fixed<0x007c>, unknown_1) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_2) == 16, "offsetof(NetPacket_Fixed<0x007c>, unknown_2) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_3) == 18, "offsetof(NetPacket_Fixed<0x007c>, unknown_3) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, species) == 20, "offsetof(NetPacket_Fixed<0x007c>, species) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_4) == 22, "offsetof(NetPacket_Fixed<0x007c>, unknown_4) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_5) == 24, "offsetof(NetPacket_Fixed<0x007c>, unknown_5) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_6) == 26, "offsetof(NetPacket_Fixed<0x007c>, unknown_6) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_7) == 28, "offsetof(NetPacket_Fixed<0x007c>, unknown_7) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_8) == 30, "offsetof(NetPacket_Fixed<0x007c>, unknown_8) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_9) == 32, "offsetof(NetPacket_Fixed<0x007c>, unknown_9) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_10) == 34, "offsetof(NetPacket_Fixed<0x007c>, unknown_10) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, pos) == 36, "offsetof(NetPacket_Fixed<0x007c>, pos) == 36"); +static_assert(offsetof(NetPacket_Fixed<0x007c>, unknown_11) == 39, "offsetof(NetPacket_Fixed<0x007c>, unknown_11) == 39"); +static_assert(sizeof(NetPacket_Fixed<0x007c>) == 41, "sizeof(NetPacket_Fixed<0x007c>) == 41"); +static_assert(alignof(NetPacket_Fixed<0x007c>) == 1, "alignof(NetPacket_Fixed<0x007c>) == 1"); + +template<> +struct NetPacket_Fixed<0x007d> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x007d>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x007d>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x007d>) == 2, "sizeof(NetPacket_Fixed<0x007d>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x007d>) == 1, "alignof(NetPacket_Fixed<0x007d>) == 1"); + +template<> +struct NetPacket_Fixed<0x007e> +{ + Little16 magic_packet_id; + Little32 client_tick; +}; +static_assert(offsetof(NetPacket_Fixed<0x007e>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x007e>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x007e>, client_tick) == 2, "offsetof(NetPacket_Fixed<0x007e>, client_tick) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x007e>) == 6, "sizeof(NetPacket_Fixed<0x007e>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x007e>) == 1, "alignof(NetPacket_Fixed<0x007e>) == 1"); + +template<> +struct NetPacket_Fixed<0x007f> +{ + Little16 magic_packet_id; + Little32 tick; +}; +static_assert(offsetof(NetPacket_Fixed<0x007f>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x007f>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x007f>, tick) == 2, "offsetof(NetPacket_Fixed<0x007f>, tick) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x007f>) == 6, "sizeof(NetPacket_Fixed<0x007f>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x007f>) == 1, "alignof(NetPacket_Fixed<0x007f>) == 1"); + +template<> +struct NetPacket_Fixed<0x0080> +{ + Little16 magic_packet_id; + Little32 block_id; + Byte type; +}; +static_assert(offsetof(NetPacket_Fixed<0x0080>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0080>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0080>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0080>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0080>, type) == 6, "offsetof(NetPacket_Fixed<0x0080>, type) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0080>) == 7, "sizeof(NetPacket_Fixed<0x0080>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x0080>) == 1, "alignof(NetPacket_Fixed<0x0080>) == 1"); + +template<> +struct NetPacket_Fixed<0x0085> +{ + Little16 magic_packet_id; + NetPosition1 pos; +}; +static_assert(offsetof(NetPacket_Fixed<0x0085>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0085>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0085>, pos) == 2, "offsetof(NetPacket_Fixed<0x0085>, pos) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0085>) == 5, "sizeof(NetPacket_Fixed<0x0085>) == 5"); +static_assert(alignof(NetPacket_Fixed<0x0085>) == 1, "alignof(NetPacket_Fixed<0x0085>) == 1"); + +template<> +struct NetPacket_Fixed<0x0087> +{ + Little16 magic_packet_id; + Little32 tick; + NetPosition2 pos2; + Byte zero; +}; +static_assert(offsetof(NetPacket_Fixed<0x0087>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0087>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0087>, tick) == 2, "offsetof(NetPacket_Fixed<0x0087>, tick) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0087>, pos2) == 6, "offsetof(NetPacket_Fixed<0x0087>, pos2) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0087>, zero) == 11, "offsetof(NetPacket_Fixed<0x0087>, zero) == 11"); +static_assert(sizeof(NetPacket_Fixed<0x0087>) == 12, "sizeof(NetPacket_Fixed<0x0087>) == 12"); +static_assert(alignof(NetPacket_Fixed<0x0087>) == 1, "alignof(NetPacket_Fixed<0x0087>) == 1"); + +template<> +struct NetPacket_Fixed<0x0088> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 x; + Little16 y; +}; +static_assert(offsetof(NetPacket_Fixed<0x0088>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0088>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0088>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0088>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0088>, x) == 6, "offsetof(NetPacket_Fixed<0x0088>, x) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0088>, y) == 8, "offsetof(NetPacket_Fixed<0x0088>, y) == 8"); +static_assert(sizeof(NetPacket_Fixed<0x0088>) == 10, "sizeof(NetPacket_Fixed<0x0088>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x0088>) == 1, "alignof(NetPacket_Fixed<0x0088>) == 1"); + +template<> +struct NetPacket_Fixed<0x0089> +{ + Little16 magic_packet_id; + Little32 target_id; + Byte action; +}; +static_assert(offsetof(NetPacket_Fixed<0x0089>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0089>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0089>, target_id) == 2, "offsetof(NetPacket_Fixed<0x0089>, target_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0089>, action) == 6, "offsetof(NetPacket_Fixed<0x0089>, action) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0089>) == 7, "sizeof(NetPacket_Fixed<0x0089>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x0089>) == 1, "alignof(NetPacket_Fixed<0x0089>) == 1"); + +template<> +struct NetPacket_Fixed<0x008a> +{ + Little16 magic_packet_id; + Little32 src_id; + Little32 dst_id; + Little32 tick; + Little32 sdelay; + Little32 ddelay; + Little16 damage; + Little16 div; + Byte damage_type; + Little16 damage2; +}; +static_assert(offsetof(NetPacket_Fixed<0x008a>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x008a>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, src_id) == 2, "offsetof(NetPacket_Fixed<0x008a>, src_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, dst_id) == 6, "offsetof(NetPacket_Fixed<0x008a>, dst_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, tick) == 10, "offsetof(NetPacket_Fixed<0x008a>, tick) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, sdelay) == 14, "offsetof(NetPacket_Fixed<0x008a>, sdelay) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, ddelay) == 18, "offsetof(NetPacket_Fixed<0x008a>, ddelay) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, damage) == 22, "offsetof(NetPacket_Fixed<0x008a>, damage) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, div) == 24, "offsetof(NetPacket_Fixed<0x008a>, div) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, damage_type) == 26, "offsetof(NetPacket_Fixed<0x008a>, damage_type) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x008a>, damage2) == 27, "offsetof(NetPacket_Fixed<0x008a>, damage2) == 27"); +static_assert(sizeof(NetPacket_Fixed<0x008a>) == 29, "sizeof(NetPacket_Fixed<0x008a>) == 29"); +static_assert(alignof(NetPacket_Fixed<0x008a>) == 1, "alignof(NetPacket_Fixed<0x008a>) == 1"); + +template<> +struct NetPacket_Head<0x008c> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x008c>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x008c>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x008c>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x008c>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x008c>) == 4, "sizeof(NetPacket_Head<0x008c>) == 4"); +static_assert(alignof(NetPacket_Head<0x008c>) == 1, "alignof(NetPacket_Head<0x008c>) == 1"); +template<> +struct NetPacket_Repeat<0x008c> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x008c>, c) == 0, "offsetof(NetPacket_Repeat<0x008c>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x008c>) == 1, "sizeof(NetPacket_Repeat<0x008c>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x008c>) == 1, "alignof(NetPacket_Repeat<0x008c>) == 1"); + +template<> +struct NetPacket_Head<0x008d> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Head<0x008d>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x008d>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x008d>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x008d>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x008d>, block_id) == 4, "offsetof(NetPacket_Head<0x008d>, block_id) == 4"); +static_assert(sizeof(NetPacket_Head<0x008d>) == 8, "sizeof(NetPacket_Head<0x008d>) == 8"); +static_assert(alignof(NetPacket_Head<0x008d>) == 1, "alignof(NetPacket_Head<0x008d>) == 1"); +template<> +struct NetPacket_Repeat<0x008d> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x008d>, c) == 0, "offsetof(NetPacket_Repeat<0x008d>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x008d>) == 1, "sizeof(NetPacket_Repeat<0x008d>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x008d>) == 1, "alignof(NetPacket_Repeat<0x008d>) == 1"); + +template<> +struct NetPacket_Head<0x008e> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x008e>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x008e>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x008e>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x008e>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x008e>) == 4, "sizeof(NetPacket_Head<0x008e>) == 4"); +static_assert(alignof(NetPacket_Head<0x008e>) == 1, "alignof(NetPacket_Head<0x008e>) == 1"); +template<> +struct NetPacket_Repeat<0x008e> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x008e>, c) == 0, "offsetof(NetPacket_Repeat<0x008e>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x008e>) == 1, "sizeof(NetPacket_Repeat<0x008e>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x008e>) == 1, "alignof(NetPacket_Repeat<0x008e>) == 1"); + +template<> +struct NetPacket_Fixed<0x0090> +{ + Little16 magic_packet_id; + Little32 block_id; + Byte unused; +}; +static_assert(offsetof(NetPacket_Fixed<0x0090>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0090>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0090>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0090>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0090>, unused) == 6, "offsetof(NetPacket_Fixed<0x0090>, unused) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0090>) == 7, "sizeof(NetPacket_Fixed<0x0090>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x0090>) == 1, "alignof(NetPacket_Fixed<0x0090>) == 1"); + +template<> +struct NetPacket_Fixed<0x0091> +{ + Little16 magic_packet_id; + NetString<sizeof(MapName)> map_name; + Little16 x; + Little16 y; +}; +static_assert(offsetof(NetPacket_Fixed<0x0091>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0091>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0091>, map_name) == 2, "offsetof(NetPacket_Fixed<0x0091>, map_name) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0091>, x) == 18, "offsetof(NetPacket_Fixed<0x0091>, x) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x0091>, y) == 20, "offsetof(NetPacket_Fixed<0x0091>, y) == 20"); +static_assert(sizeof(NetPacket_Fixed<0x0091>) == 22, "sizeof(NetPacket_Fixed<0x0091>) == 22"); +static_assert(alignof(NetPacket_Fixed<0x0091>) == 1, "alignof(NetPacket_Fixed<0x0091>) == 1"); + +template<> +struct NetPacket_Fixed<0x0092> +{ + Little16 magic_packet_id; + NetString<sizeof(MapName)> map_name; + Little16 x; + Little16 y; + IP4Address ip; + Little16 port; +}; +static_assert(offsetof(NetPacket_Fixed<0x0092>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0092>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0092>, map_name) == 2, "offsetof(NetPacket_Fixed<0x0092>, map_name) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0092>, x) == 18, "offsetof(NetPacket_Fixed<0x0092>, x) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x0092>, y) == 20, "offsetof(NetPacket_Fixed<0x0092>, y) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x0092>, ip) == 22, "offsetof(NetPacket_Fixed<0x0092>, ip) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x0092>, port) == 26, "offsetof(NetPacket_Fixed<0x0092>, port) == 26"); +static_assert(sizeof(NetPacket_Fixed<0x0092>) == 28, "sizeof(NetPacket_Fixed<0x0092>) == 28"); +static_assert(alignof(NetPacket_Fixed<0x0092>) == 1, "alignof(NetPacket_Fixed<0x0092>) == 1"); + +template<> +struct NetPacket_Fixed<0x0094> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x0094>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0094>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0094>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0094>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0094>) == 6, "sizeof(NetPacket_Fixed<0x0094>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x0094>) == 1, "alignof(NetPacket_Fixed<0x0094>) == 1"); + +template<> +struct NetPacket_Fixed<0x0095> +{ + Little16 magic_packet_id; + Little32 block_id; + NetString<sizeof(CharName)> char_name; +}; +static_assert(offsetof(NetPacket_Fixed<0x0095>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0095>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0095>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0095>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0095>, char_name) == 6, "offsetof(NetPacket_Fixed<0x0095>, char_name) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0095>) == 30, "sizeof(NetPacket_Fixed<0x0095>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x0095>) == 1, "alignof(NetPacket_Fixed<0x0095>) == 1"); + +template<> +struct NetPacket_Head<0x0096> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + NetString<sizeof(CharName)> target_name; +}; +static_assert(offsetof(NetPacket_Head<0x0096>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x0096>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x0096>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x0096>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x0096>, target_name) == 4, "offsetof(NetPacket_Head<0x0096>, target_name) == 4"); +static_assert(sizeof(NetPacket_Head<0x0096>) == 28, "sizeof(NetPacket_Head<0x0096>) == 28"); +static_assert(alignof(NetPacket_Head<0x0096>) == 1, "alignof(NetPacket_Head<0x0096>) == 1"); +template<> +struct NetPacket_Repeat<0x0096> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x0096>, c) == 0, "offsetof(NetPacket_Repeat<0x0096>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x0096>) == 1, "sizeof(NetPacket_Repeat<0x0096>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x0096>) == 1, "alignof(NetPacket_Repeat<0x0096>) == 1"); + +template<> +struct NetPacket_Head<0x0097> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + NetString<sizeof(CharName)> char_name; +}; +static_assert(offsetof(NetPacket_Head<0x0097>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x0097>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x0097>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x0097>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x0097>, char_name) == 4, "offsetof(NetPacket_Head<0x0097>, char_name) == 4"); +static_assert(sizeof(NetPacket_Head<0x0097>) == 28, "sizeof(NetPacket_Head<0x0097>) == 28"); +static_assert(alignof(NetPacket_Head<0x0097>) == 1, "alignof(NetPacket_Head<0x0097>) == 1"); +template<> +struct NetPacket_Repeat<0x0097> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x0097>, c) == 0, "offsetof(NetPacket_Repeat<0x0097>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x0097>) == 1, "sizeof(NetPacket_Repeat<0x0097>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x0097>) == 1, "alignof(NetPacket_Repeat<0x0097>) == 1"); + +template<> +struct NetPacket_Fixed<0x0098> +{ + Little16 magic_packet_id; + Byte flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x0098>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0098>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0098>, flag) == 2, "offsetof(NetPacket_Fixed<0x0098>, flag) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0098>) == 3, "sizeof(NetPacket_Fixed<0x0098>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x0098>) == 1, "alignof(NetPacket_Fixed<0x0098>) == 1"); + +template<> +struct NetPacket_Head<0x009a> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x009a>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x009a>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x009a>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x009a>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x009a>) == 4, "sizeof(NetPacket_Head<0x009a>) == 4"); +static_assert(alignof(NetPacket_Head<0x009a>) == 1, "alignof(NetPacket_Head<0x009a>) == 1"); +template<> +struct NetPacket_Repeat<0x009a> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x009a>, c) == 0, "offsetof(NetPacket_Repeat<0x009a>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x009a>) == 1, "sizeof(NetPacket_Repeat<0x009a>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x009a>) == 1, "alignof(NetPacket_Repeat<0x009a>) == 1"); + +template<> +struct NetPacket_Fixed<0x009b> +{ + Little16 magic_packet_id; + Little16 unused; + Byte client_dir; +}; +static_assert(offsetof(NetPacket_Fixed<0x009b>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x009b>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x009b>, unused) == 2, "offsetof(NetPacket_Fixed<0x009b>, unused) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x009b>, client_dir) == 4, "offsetof(NetPacket_Fixed<0x009b>, client_dir) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x009b>) == 5, "sizeof(NetPacket_Fixed<0x009b>) == 5"); +static_assert(alignof(NetPacket_Fixed<0x009b>) == 1, "alignof(NetPacket_Fixed<0x009b>) == 1"); + +template<> +struct NetPacket_Fixed<0x009c> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 zero; + Byte client_dir; +}; +static_assert(offsetof(NetPacket_Fixed<0x009c>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x009c>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x009c>, block_id) == 2, "offsetof(NetPacket_Fixed<0x009c>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x009c>, zero) == 6, "offsetof(NetPacket_Fixed<0x009c>, zero) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x009c>, client_dir) == 8, "offsetof(NetPacket_Fixed<0x009c>, client_dir) == 8"); +static_assert(sizeof(NetPacket_Fixed<0x009c>) == 9, "sizeof(NetPacket_Fixed<0x009c>) == 9"); +static_assert(alignof(NetPacket_Fixed<0x009c>) == 1, "alignof(NetPacket_Fixed<0x009c>) == 1"); + +template<> +struct NetPacket_Fixed<0x009d> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 name_id; + Byte identify; + Little16 x; + Little16 y; + Little16 amount; + Byte subx; + Byte suby; +}; +static_assert(offsetof(NetPacket_Fixed<0x009d>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x009d>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, block_id) == 2, "offsetof(NetPacket_Fixed<0x009d>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, name_id) == 6, "offsetof(NetPacket_Fixed<0x009d>, name_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, identify) == 8, "offsetof(NetPacket_Fixed<0x009d>, identify) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, x) == 9, "offsetof(NetPacket_Fixed<0x009d>, x) == 9"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, y) == 11, "offsetof(NetPacket_Fixed<0x009d>, y) == 11"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, amount) == 13, "offsetof(NetPacket_Fixed<0x009d>, amount) == 13"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, subx) == 15, "offsetof(NetPacket_Fixed<0x009d>, subx) == 15"); +static_assert(offsetof(NetPacket_Fixed<0x009d>, suby) == 16, "offsetof(NetPacket_Fixed<0x009d>, suby) == 16"); +static_assert(sizeof(NetPacket_Fixed<0x009d>) == 17, "sizeof(NetPacket_Fixed<0x009d>) == 17"); +static_assert(alignof(NetPacket_Fixed<0x009d>) == 1, "alignof(NetPacket_Fixed<0x009d>) == 1"); + +template<> +struct NetPacket_Fixed<0x009e> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 name_id; + Byte identify; + Little16 x; + Little16 y; + Byte subx; + Byte suby; + Little16 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x009e>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x009e>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, block_id) == 2, "offsetof(NetPacket_Fixed<0x009e>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, name_id) == 6, "offsetof(NetPacket_Fixed<0x009e>, name_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, identify) == 8, "offsetof(NetPacket_Fixed<0x009e>, identify) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, x) == 9, "offsetof(NetPacket_Fixed<0x009e>, x) == 9"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, y) == 11, "offsetof(NetPacket_Fixed<0x009e>, y) == 11"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, subx) == 13, "offsetof(NetPacket_Fixed<0x009e>, subx) == 13"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, suby) == 14, "offsetof(NetPacket_Fixed<0x009e>, suby) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x009e>, amount) == 15, "offsetof(NetPacket_Fixed<0x009e>, amount) == 15"); +static_assert(sizeof(NetPacket_Fixed<0x009e>) == 17, "sizeof(NetPacket_Fixed<0x009e>) == 17"); +static_assert(alignof(NetPacket_Fixed<0x009e>) == 1, "alignof(NetPacket_Fixed<0x009e>) == 1"); + +template<> +struct NetPacket_Fixed<0x009f> +{ + Little16 magic_packet_id; + Little32 object_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x009f>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x009f>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x009f>, object_id) == 2, "offsetof(NetPacket_Fixed<0x009f>, object_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x009f>) == 6, "sizeof(NetPacket_Fixed<0x009f>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x009f>) == 1, "alignof(NetPacket_Fixed<0x009f>) == 1"); + +template<> +struct NetPacket_Fixed<0x00a0> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 amount; + Little16 name_id; + Byte identify; + Byte broken_or_attribute; + Byte refine; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; + Little16 epos; + Byte item_type; + Byte pickup_fail; +}; +static_assert(offsetof(NetPacket_Fixed<0x00a0>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00a0>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00a0>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, amount) == 4, "offsetof(NetPacket_Fixed<0x00a0>, amount) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, name_id) == 6, "offsetof(NetPacket_Fixed<0x00a0>, name_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, identify) == 8, "offsetof(NetPacket_Fixed<0x00a0>, identify) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, broken_or_attribute) == 9, "offsetof(NetPacket_Fixed<0x00a0>, broken_or_attribute) == 9"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, refine) == 10, "offsetof(NetPacket_Fixed<0x00a0>, refine) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, card0) == 11, "offsetof(NetPacket_Fixed<0x00a0>, card0) == 11"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, card1) == 13, "offsetof(NetPacket_Fixed<0x00a0>, card1) == 13"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, card2) == 15, "offsetof(NetPacket_Fixed<0x00a0>, card2) == 15"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, card3) == 17, "offsetof(NetPacket_Fixed<0x00a0>, card3) == 17"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, epos) == 19, "offsetof(NetPacket_Fixed<0x00a0>, epos) == 19"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, item_type) == 21, "offsetof(NetPacket_Fixed<0x00a0>, item_type) == 21"); +static_assert(offsetof(NetPacket_Fixed<0x00a0>, pickup_fail) == 22, "offsetof(NetPacket_Fixed<0x00a0>, pickup_fail) == 22"); +static_assert(sizeof(NetPacket_Fixed<0x00a0>) == 23, "sizeof(NetPacket_Fixed<0x00a0>) == 23"); +static_assert(alignof(NetPacket_Fixed<0x00a0>) == 1, "alignof(NetPacket_Fixed<0x00a0>) == 1"); + +template<> +struct NetPacket_Fixed<0x00a1> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00a1>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00a1>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00a1>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00a1>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00a1>) == 6, "sizeof(NetPacket_Fixed<0x00a1>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00a1>) == 1, "alignof(NetPacket_Fixed<0x00a1>) == 1"); + +template<> +struct NetPacket_Fixed<0x00a2> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x00a2>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00a2>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00a2>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00a2>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00a2>, amount) == 4, "offsetof(NetPacket_Fixed<0x00a2>, amount) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00a2>) == 6, "sizeof(NetPacket_Fixed<0x00a2>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00a2>) == 1, "alignof(NetPacket_Fixed<0x00a2>) == 1"); + +template<> +struct NetPacket_Head<0x00a4> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x00a4>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00a4>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00a4>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00a4>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x00a4>) == 4, "sizeof(NetPacket_Head<0x00a4>) == 4"); +static_assert(alignof(NetPacket_Head<0x00a4>) == 1, "alignof(NetPacket_Head<0x00a4>) == 1"); +template<> +struct NetPacket_Repeat<0x00a4> +{ + Little16 ioff2; + Little16 name_id; + Byte item_type; + Byte identify; + Little16 epos_pc; + Little16 epos_inv; + Byte broken_or_attribute; + Byte refine; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; +}; +static_assert(offsetof(NetPacket_Repeat<0x00a4>, ioff2) == 0, "offsetof(NetPacket_Repeat<0x00a4>, ioff2) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, name_id) == 2, "offsetof(NetPacket_Repeat<0x00a4>, name_id) == 2"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, item_type) == 4, "offsetof(NetPacket_Repeat<0x00a4>, item_type) == 4"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, identify) == 5, "offsetof(NetPacket_Repeat<0x00a4>, identify) == 5"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, epos_pc) == 6, "offsetof(NetPacket_Repeat<0x00a4>, epos_pc) == 6"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, epos_inv) == 8, "offsetof(NetPacket_Repeat<0x00a4>, epos_inv) == 8"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, broken_or_attribute) == 10, "offsetof(NetPacket_Repeat<0x00a4>, broken_or_attribute) == 10"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, refine) == 11, "offsetof(NetPacket_Repeat<0x00a4>, refine) == 11"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, card0) == 12, "offsetof(NetPacket_Repeat<0x00a4>, card0) == 12"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, card1) == 14, "offsetof(NetPacket_Repeat<0x00a4>, card1) == 14"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, card2) == 16, "offsetof(NetPacket_Repeat<0x00a4>, card2) == 16"); +static_assert(offsetof(NetPacket_Repeat<0x00a4>, card3) == 18, "offsetof(NetPacket_Repeat<0x00a4>, card3) == 18"); +static_assert(sizeof(NetPacket_Repeat<0x00a4>) == 20, "sizeof(NetPacket_Repeat<0x00a4>) == 20"); +static_assert(alignof(NetPacket_Repeat<0x00a4>) == 1, "alignof(NetPacket_Repeat<0x00a4>) == 1"); + +template<> +struct NetPacket_Head<0x00a6> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x00a6>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00a6>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00a6>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00a6>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x00a6>) == 4, "sizeof(NetPacket_Head<0x00a6>) == 4"); +static_assert(alignof(NetPacket_Head<0x00a6>) == 1, "alignof(NetPacket_Head<0x00a6>) == 1"); +template<> +struct NetPacket_Repeat<0x00a6> +{ + Little16 soff1; + Little16 name_id; + Byte item_type; + Byte identify; + Little16 epos_id; + Little16 epos_stor; + Byte broken_or_attribute; + Byte refine; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; +}; +static_assert(offsetof(NetPacket_Repeat<0x00a6>, soff1) == 0, "offsetof(NetPacket_Repeat<0x00a6>, soff1) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, name_id) == 2, "offsetof(NetPacket_Repeat<0x00a6>, name_id) == 2"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, item_type) == 4, "offsetof(NetPacket_Repeat<0x00a6>, item_type) == 4"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, identify) == 5, "offsetof(NetPacket_Repeat<0x00a6>, identify) == 5"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, epos_id) == 6, "offsetof(NetPacket_Repeat<0x00a6>, epos_id) == 6"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, epos_stor) == 8, "offsetof(NetPacket_Repeat<0x00a6>, epos_stor) == 8"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, broken_or_attribute) == 10, "offsetof(NetPacket_Repeat<0x00a6>, broken_or_attribute) == 10"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, refine) == 11, "offsetof(NetPacket_Repeat<0x00a6>, refine) == 11"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, card0) == 12, "offsetof(NetPacket_Repeat<0x00a6>, card0) == 12"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, card1) == 14, "offsetof(NetPacket_Repeat<0x00a6>, card1) == 14"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, card2) == 16, "offsetof(NetPacket_Repeat<0x00a6>, card2) == 16"); +static_assert(offsetof(NetPacket_Repeat<0x00a6>, card3) == 18, "offsetof(NetPacket_Repeat<0x00a6>, card3) == 18"); +static_assert(sizeof(NetPacket_Repeat<0x00a6>) == 20, "sizeof(NetPacket_Repeat<0x00a6>) == 20"); +static_assert(alignof(NetPacket_Repeat<0x00a6>) == 1, "alignof(NetPacket_Repeat<0x00a6>) == 1"); + +template<> +struct NetPacket_Fixed<0x00a7> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little32 unused_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00a7>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00a7>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00a7>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00a7>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00a7>, unused_id) == 4, "offsetof(NetPacket_Fixed<0x00a7>, unused_id) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00a7>) == 8, "sizeof(NetPacket_Fixed<0x00a7>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00a7>) == 1, "alignof(NetPacket_Fixed<0x00a7>) == 1"); + +template<> +struct NetPacket_Fixed<0x00a8> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 amount; + Byte ok; +}; +static_assert(offsetof(NetPacket_Fixed<0x00a8>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00a8>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00a8>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00a8>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00a8>, amount) == 4, "offsetof(NetPacket_Fixed<0x00a8>, amount) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00a8>, ok) == 6, "offsetof(NetPacket_Fixed<0x00a8>, ok) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00a8>) == 7, "sizeof(NetPacket_Fixed<0x00a8>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x00a8>) == 1, "alignof(NetPacket_Fixed<0x00a8>) == 1"); + +template<> +struct NetPacket_Fixed<0x00a9> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 epos_ignored; +}; +static_assert(offsetof(NetPacket_Fixed<0x00a9>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00a9>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00a9>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00a9>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00a9>, epos_ignored) == 4, "offsetof(NetPacket_Fixed<0x00a9>, epos_ignored) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00a9>) == 6, "sizeof(NetPacket_Fixed<0x00a9>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00a9>) == 1, "alignof(NetPacket_Fixed<0x00a9>) == 1"); + +template<> +struct NetPacket_Fixed<0x00aa> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 epos; + Byte ok; +}; +static_assert(offsetof(NetPacket_Fixed<0x00aa>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00aa>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00aa>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00aa>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00aa>, epos) == 4, "offsetof(NetPacket_Fixed<0x00aa>, epos) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00aa>, ok) == 6, "offsetof(NetPacket_Fixed<0x00aa>, ok) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00aa>) == 7, "sizeof(NetPacket_Fixed<0x00aa>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x00aa>) == 1, "alignof(NetPacket_Fixed<0x00aa>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ab> +{ + Little16 magic_packet_id; + Little16 ioff2; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ab>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ab>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00ab>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00ab>, ioff2) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00ab>) == 4, "sizeof(NetPacket_Fixed<0x00ab>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x00ab>) == 1, "alignof(NetPacket_Fixed<0x00ab>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ac> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 epos; + Byte ok; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ac>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ac>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00ac>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00ac>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00ac>, epos) == 4, "offsetof(NetPacket_Fixed<0x00ac>, epos) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00ac>, ok) == 6, "offsetof(NetPacket_Fixed<0x00ac>, ok) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00ac>) == 7, "sizeof(NetPacket_Fixed<0x00ac>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x00ac>) == 1, "alignof(NetPacket_Fixed<0x00ac>) == 1"); + +template<> +struct NetPacket_Fixed<0x00af> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x00af>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00af>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00af>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00af>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00af>, amount) == 4, "offsetof(NetPacket_Fixed<0x00af>, amount) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00af>) == 6, "sizeof(NetPacket_Fixed<0x00af>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00af>) == 1, "alignof(NetPacket_Fixed<0x00af>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b0> +{ + Little16 magic_packet_id; + Little16 sp_type; + Little32 value; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b0>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b0>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b0>, sp_type) == 2, "offsetof(NetPacket_Fixed<0x00b0>, sp_type) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00b0>, value) == 4, "offsetof(NetPacket_Fixed<0x00b0>, value) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00b0>) == 8, "sizeof(NetPacket_Fixed<0x00b0>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00b0>) == 1, "alignof(NetPacket_Fixed<0x00b0>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b1> +{ + Little16 magic_packet_id; + Little16 sp_type; + Little32 value; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b1>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b1>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b1>, sp_type) == 2, "offsetof(NetPacket_Fixed<0x00b1>, sp_type) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00b1>, value) == 4, "offsetof(NetPacket_Fixed<0x00b1>, value) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00b1>) == 8, "sizeof(NetPacket_Fixed<0x00b1>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00b1>) == 1, "alignof(NetPacket_Fixed<0x00b1>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b2> +{ + Little16 magic_packet_id; + Byte flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b2>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b2>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b2>, flag) == 2, "offsetof(NetPacket_Fixed<0x00b2>, flag) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00b2>) == 3, "sizeof(NetPacket_Fixed<0x00b2>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00b2>) == 1, "alignof(NetPacket_Fixed<0x00b2>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b3> +{ + Little16 magic_packet_id; + Byte one; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b3>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b3>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b3>, one) == 2, "offsetof(NetPacket_Fixed<0x00b3>, one) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00b3>) == 3, "sizeof(NetPacket_Fixed<0x00b3>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00b3>) == 1, "alignof(NetPacket_Fixed<0x00b3>) == 1"); + +template<> +struct NetPacket_Head<0x00b4> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Head<0x00b4>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00b4>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00b4>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00b4>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x00b4>, block_id) == 4, "offsetof(NetPacket_Head<0x00b4>, block_id) == 4"); +static_assert(sizeof(NetPacket_Head<0x00b4>) == 8, "sizeof(NetPacket_Head<0x00b4>) == 8"); +static_assert(alignof(NetPacket_Head<0x00b4>) == 1, "alignof(NetPacket_Head<0x00b4>) == 1"); +template<> +struct NetPacket_Repeat<0x00b4> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x00b4>, c) == 0, "offsetof(NetPacket_Repeat<0x00b4>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x00b4>) == 1, "sizeof(NetPacket_Repeat<0x00b4>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x00b4>) == 1, "alignof(NetPacket_Repeat<0x00b4>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b5> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b5>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b5>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b5>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00b5>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00b5>) == 6, "sizeof(NetPacket_Fixed<0x00b5>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00b5>) == 1, "alignof(NetPacket_Fixed<0x00b5>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b6> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b6>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b6>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b6>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00b6>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00b6>) == 6, "sizeof(NetPacket_Fixed<0x00b6>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00b6>) == 1, "alignof(NetPacket_Fixed<0x00b6>) == 1"); + +template<> +struct NetPacket_Head<0x00b7> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Head<0x00b7>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00b7>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00b7>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00b7>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x00b7>, block_id) == 4, "offsetof(NetPacket_Head<0x00b7>, block_id) == 4"); +static_assert(sizeof(NetPacket_Head<0x00b7>) == 8, "sizeof(NetPacket_Head<0x00b7>) == 8"); +static_assert(alignof(NetPacket_Head<0x00b7>) == 1, "alignof(NetPacket_Head<0x00b7>) == 1"); +template<> +struct NetPacket_Repeat<0x00b7> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x00b7>, c) == 0, "offsetof(NetPacket_Repeat<0x00b7>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x00b7>) == 1, "sizeof(NetPacket_Repeat<0x00b7>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x00b7>) == 1, "alignof(NetPacket_Repeat<0x00b7>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b8> +{ + Little16 magic_packet_id; + Little32 npc_id; + Byte menu_entry; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b8>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b8>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b8>, npc_id) == 2, "offsetof(NetPacket_Fixed<0x00b8>, npc_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00b8>, menu_entry) == 6, "offsetof(NetPacket_Fixed<0x00b8>, menu_entry) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00b8>) == 7, "sizeof(NetPacket_Fixed<0x00b8>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x00b8>) == 1, "alignof(NetPacket_Fixed<0x00b8>) == 1"); + +template<> +struct NetPacket_Fixed<0x00b9> +{ + Little16 magic_packet_id; + Little32 npc_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00b9>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00b9>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00b9>, npc_id) == 2, "offsetof(NetPacket_Fixed<0x00b9>, npc_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00b9>) == 6, "sizeof(NetPacket_Fixed<0x00b9>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00b9>) == 1, "alignof(NetPacket_Fixed<0x00b9>) == 1"); + +template<> +struct NetPacket_Fixed<0x00bb> +{ + Little16 magic_packet_id; + Little16 asp; + Byte unused; +}; +static_assert(offsetof(NetPacket_Fixed<0x00bb>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00bb>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00bb>, asp) == 2, "offsetof(NetPacket_Fixed<0x00bb>, asp) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00bb>, unused) == 4, "offsetof(NetPacket_Fixed<0x00bb>, unused) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00bb>) == 5, "sizeof(NetPacket_Fixed<0x00bb>) == 5"); +static_assert(alignof(NetPacket_Fixed<0x00bb>) == 1, "alignof(NetPacket_Fixed<0x00bb>) == 1"); + +template<> +struct NetPacket_Fixed<0x00bc> +{ + Little16 magic_packet_id; + Little16 sp_type; + Byte ok; + Byte val; +}; +static_assert(offsetof(NetPacket_Fixed<0x00bc>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00bc>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00bc>, sp_type) == 2, "offsetof(NetPacket_Fixed<0x00bc>, sp_type) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00bc>, ok) == 4, "offsetof(NetPacket_Fixed<0x00bc>, ok) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00bc>, val) == 5, "offsetof(NetPacket_Fixed<0x00bc>, val) == 5"); +static_assert(sizeof(NetPacket_Fixed<0x00bc>) == 6, "sizeof(NetPacket_Fixed<0x00bc>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00bc>) == 1, "alignof(NetPacket_Fixed<0x00bc>) == 1"); + +template<> +struct NetPacket_Fixed<0x00bd> +{ + Little16 magic_packet_id; + Little16 status_point; + Byte str_attr; + Byte str_upd; + Byte agi_attr; + Byte agi_upd; + Byte vit_attr; + Byte vit_upd; + Byte int_attr; + Byte int_upd; + Byte dex_attr; + Byte dex_upd; + Byte luk_attr; + Byte luk_upd; + Little16 atk_sum; + Little16 watk2; + Little16 matk1; + Little16 matk2; + Little16 def; + Little16 def2; + Little16 mdef; + Little16 mdef2; + Little16 hit; + Little16 flee; + Little16 flee2; + Little16 critical; + Little16 karma; + Little16 manner; +}; +static_assert(offsetof(NetPacket_Fixed<0x00bd>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00bd>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, status_point) == 2, "offsetof(NetPacket_Fixed<0x00bd>, status_point) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, str_attr) == 4, "offsetof(NetPacket_Fixed<0x00bd>, str_attr) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, str_upd) == 5, "offsetof(NetPacket_Fixed<0x00bd>, str_upd) == 5"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, agi_attr) == 6, "offsetof(NetPacket_Fixed<0x00bd>, agi_attr) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, agi_upd) == 7, "offsetof(NetPacket_Fixed<0x00bd>, agi_upd) == 7"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, vit_attr) == 8, "offsetof(NetPacket_Fixed<0x00bd>, vit_attr) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, vit_upd) == 9, "offsetof(NetPacket_Fixed<0x00bd>, vit_upd) == 9"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, int_attr) == 10, "offsetof(NetPacket_Fixed<0x00bd>, int_attr) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, int_upd) == 11, "offsetof(NetPacket_Fixed<0x00bd>, int_upd) == 11"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, dex_attr) == 12, "offsetof(NetPacket_Fixed<0x00bd>, dex_attr) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, dex_upd) == 13, "offsetof(NetPacket_Fixed<0x00bd>, dex_upd) == 13"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, luk_attr) == 14, "offsetof(NetPacket_Fixed<0x00bd>, luk_attr) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, luk_upd) == 15, "offsetof(NetPacket_Fixed<0x00bd>, luk_upd) == 15"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, atk_sum) == 16, "offsetof(NetPacket_Fixed<0x00bd>, atk_sum) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, watk2) == 18, "offsetof(NetPacket_Fixed<0x00bd>, watk2) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, matk1) == 20, "offsetof(NetPacket_Fixed<0x00bd>, matk1) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, matk2) == 22, "offsetof(NetPacket_Fixed<0x00bd>, matk2) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, def) == 24, "offsetof(NetPacket_Fixed<0x00bd>, def) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, def2) == 26, "offsetof(NetPacket_Fixed<0x00bd>, def2) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, mdef) == 28, "offsetof(NetPacket_Fixed<0x00bd>, mdef) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, mdef2) == 30, "offsetof(NetPacket_Fixed<0x00bd>, mdef2) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, hit) == 32, "offsetof(NetPacket_Fixed<0x00bd>, hit) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, flee) == 34, "offsetof(NetPacket_Fixed<0x00bd>, flee) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, flee2) == 36, "offsetof(NetPacket_Fixed<0x00bd>, flee2) == 36"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, critical) == 38, "offsetof(NetPacket_Fixed<0x00bd>, critical) == 38"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, karma) == 40, "offsetof(NetPacket_Fixed<0x00bd>, karma) == 40"); +static_assert(offsetof(NetPacket_Fixed<0x00bd>, manner) == 42, "offsetof(NetPacket_Fixed<0x00bd>, manner) == 42"); +static_assert(sizeof(NetPacket_Fixed<0x00bd>) == 44, "sizeof(NetPacket_Fixed<0x00bd>) == 44"); +static_assert(alignof(NetPacket_Fixed<0x00bd>) == 1, "alignof(NetPacket_Fixed<0x00bd>) == 1"); + +template<> +struct NetPacket_Fixed<0x00be> +{ + Little16 magic_packet_id; + Little16 sp_type; + Byte value; +}; +static_assert(offsetof(NetPacket_Fixed<0x00be>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00be>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00be>, sp_type) == 2, "offsetof(NetPacket_Fixed<0x00be>, sp_type) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00be>, value) == 4, "offsetof(NetPacket_Fixed<0x00be>, value) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00be>) == 5, "sizeof(NetPacket_Fixed<0x00be>) == 5"); +static_assert(alignof(NetPacket_Fixed<0x00be>) == 1, "alignof(NetPacket_Fixed<0x00be>) == 1"); + +template<> +struct NetPacket_Fixed<0x00bf> +{ + Little16 magic_packet_id; + Byte emote; +}; +static_assert(offsetof(NetPacket_Fixed<0x00bf>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00bf>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00bf>, emote) == 2, "offsetof(NetPacket_Fixed<0x00bf>, emote) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00bf>) == 3, "sizeof(NetPacket_Fixed<0x00bf>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00bf>) == 1, "alignof(NetPacket_Fixed<0x00bf>) == 1"); + +template<> +struct NetPacket_Fixed<0x00c0> +{ + Little16 magic_packet_id; + Little32 block_id; + Byte type; +}; +static_assert(offsetof(NetPacket_Fixed<0x00c0>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00c0>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00c0>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00c0>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00c0>, type) == 6, "offsetof(NetPacket_Fixed<0x00c0>, type) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00c0>) == 7, "sizeof(NetPacket_Fixed<0x00c0>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x00c0>) == 1, "alignof(NetPacket_Fixed<0x00c0>) == 1"); + +template<> +struct NetPacket_Fixed<0x00c1> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00c1>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00c1>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00c1>) == 2, "sizeof(NetPacket_Fixed<0x00c1>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00c1>) == 1, "alignof(NetPacket_Fixed<0x00c1>) == 1"); + +template<> +struct NetPacket_Fixed<0x00c2> +{ + Little16 magic_packet_id; + Little32 users; +}; +static_assert(offsetof(NetPacket_Fixed<0x00c2>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00c2>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00c2>, users) == 2, "offsetof(NetPacket_Fixed<0x00c2>, users) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00c2>) == 6, "sizeof(NetPacket_Fixed<0x00c2>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00c2>) == 1, "alignof(NetPacket_Fixed<0x00c2>) == 1"); + +template<> +struct NetPacket_Fixed<0x00c4> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00c4>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00c4>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00c4>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00c4>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00c4>) == 6, "sizeof(NetPacket_Fixed<0x00c4>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00c4>) == 1, "alignof(NetPacket_Fixed<0x00c4>) == 1"); + +template<> +struct NetPacket_Fixed<0x00c5> +{ + Little16 magic_packet_id; + Little32 block_id; + Byte type; +}; +static_assert(offsetof(NetPacket_Fixed<0x00c5>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00c5>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00c5>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00c5>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00c5>, type) == 6, "offsetof(NetPacket_Fixed<0x00c5>, type) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00c5>) == 7, "sizeof(NetPacket_Fixed<0x00c5>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x00c5>) == 1, "alignof(NetPacket_Fixed<0x00c5>) == 1"); + +template<> +struct NetPacket_Head<0x00c6> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x00c6>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00c6>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00c6>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00c6>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x00c6>) == 4, "sizeof(NetPacket_Head<0x00c6>) == 4"); +static_assert(alignof(NetPacket_Head<0x00c6>) == 1, "alignof(NetPacket_Head<0x00c6>) == 1"); +template<> +struct NetPacket_Repeat<0x00c6> +{ + Little32 base_price; + Little32 actual_price; + Byte type; + Little16 name_id; +}; +static_assert(offsetof(NetPacket_Repeat<0x00c6>, base_price) == 0, "offsetof(NetPacket_Repeat<0x00c6>, base_price) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00c6>, actual_price) == 4, "offsetof(NetPacket_Repeat<0x00c6>, actual_price) == 4"); +static_assert(offsetof(NetPacket_Repeat<0x00c6>, type) == 8, "offsetof(NetPacket_Repeat<0x00c6>, type) == 8"); +static_assert(offsetof(NetPacket_Repeat<0x00c6>, name_id) == 9, "offsetof(NetPacket_Repeat<0x00c6>, name_id) == 9"); +static_assert(sizeof(NetPacket_Repeat<0x00c6>) == 11, "sizeof(NetPacket_Repeat<0x00c6>) == 11"); +static_assert(alignof(NetPacket_Repeat<0x00c6>) == 1, "alignof(NetPacket_Repeat<0x00c6>) == 1"); + +template<> +struct NetPacket_Head<0x00c7> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x00c7>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00c7>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00c7>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00c7>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x00c7>) == 4, "sizeof(NetPacket_Head<0x00c7>) == 4"); +static_assert(alignof(NetPacket_Head<0x00c7>) == 1, "alignof(NetPacket_Head<0x00c7>) == 1"); +template<> +struct NetPacket_Repeat<0x00c7> +{ + Little16 ioff2; + Little32 base_price; + Little32 actual_price; +}; +static_assert(offsetof(NetPacket_Repeat<0x00c7>, ioff2) == 0, "offsetof(NetPacket_Repeat<0x00c7>, ioff2) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00c7>, base_price) == 2, "offsetof(NetPacket_Repeat<0x00c7>, base_price) == 2"); +static_assert(offsetof(NetPacket_Repeat<0x00c7>, actual_price) == 6, "offsetof(NetPacket_Repeat<0x00c7>, actual_price) == 6"); +static_assert(sizeof(NetPacket_Repeat<0x00c7>) == 10, "sizeof(NetPacket_Repeat<0x00c7>) == 10"); +static_assert(alignof(NetPacket_Repeat<0x00c7>) == 1, "alignof(NetPacket_Repeat<0x00c7>) == 1"); + +template<> +struct NetPacket_Head<0x00c8> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x00c8>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00c8>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00c8>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00c8>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x00c8>) == 4, "sizeof(NetPacket_Head<0x00c8>) == 4"); +static_assert(alignof(NetPacket_Head<0x00c8>) == 1, "alignof(NetPacket_Head<0x00c8>) == 1"); +template<> +struct NetPacket_Repeat<0x00c8> +{ + Little16 count; + Little16 name_id; +}; +static_assert(offsetof(NetPacket_Repeat<0x00c8>, count) == 0, "offsetof(NetPacket_Repeat<0x00c8>, count) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00c8>, name_id) == 2, "offsetof(NetPacket_Repeat<0x00c8>, name_id) == 2"); +static_assert(sizeof(NetPacket_Repeat<0x00c8>) == 4, "sizeof(NetPacket_Repeat<0x00c8>) == 4"); +static_assert(alignof(NetPacket_Repeat<0x00c8>) == 1, "alignof(NetPacket_Repeat<0x00c8>) == 1"); + +template<> +struct NetPacket_Head<0x00c9> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x00c9>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00c9>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00c9>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00c9>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x00c9>) == 4, "sizeof(NetPacket_Head<0x00c9>) == 4"); +static_assert(alignof(NetPacket_Head<0x00c9>) == 1, "alignof(NetPacket_Head<0x00c9>) == 1"); +template<> +struct NetPacket_Repeat<0x00c9> +{ + Little16 ioff2; + Little16 count; +}; +static_assert(offsetof(NetPacket_Repeat<0x00c9>, ioff2) == 0, "offsetof(NetPacket_Repeat<0x00c9>, ioff2) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00c9>, count) == 2, "offsetof(NetPacket_Repeat<0x00c9>, count) == 2"); +static_assert(sizeof(NetPacket_Repeat<0x00c9>) == 4, "sizeof(NetPacket_Repeat<0x00c9>) == 4"); +static_assert(alignof(NetPacket_Repeat<0x00c9>) == 1, "alignof(NetPacket_Repeat<0x00c9>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ca> +{ + Little16 magic_packet_id; + Byte fail; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ca>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ca>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00ca>, fail) == 2, "offsetof(NetPacket_Fixed<0x00ca>, fail) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00ca>) == 3, "sizeof(NetPacket_Fixed<0x00ca>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00ca>) == 1, "alignof(NetPacket_Fixed<0x00ca>) == 1"); + +template<> +struct NetPacket_Fixed<0x00cb> +{ + Little16 magic_packet_id; + Byte fail; +}; +static_assert(offsetof(NetPacket_Fixed<0x00cb>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00cb>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00cb>, fail) == 2, "offsetof(NetPacket_Fixed<0x00cb>, fail) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00cb>) == 3, "sizeof(NetPacket_Fixed<0x00cb>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00cb>) == 1, "alignof(NetPacket_Fixed<0x00cb>) == 1"); + +template<> +struct NetPacket_Fixed<0x00cd> +{ + Little16 magic_packet_id; + Little32 account_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00cd>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00cd>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00cd>, account_id) == 2, "offsetof(NetPacket_Fixed<0x00cd>, account_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00cd>) == 6, "sizeof(NetPacket_Fixed<0x00cd>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00cd>) == 1, "alignof(NetPacket_Fixed<0x00cd>) == 1"); + +template<> +struct NetPacket_Fixed<0x00e4> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00e4>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00e4>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00e4>, block_id) == 2, "offsetof(NetPacket_Fixed<0x00e4>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00e4>) == 6, "sizeof(NetPacket_Fixed<0x00e4>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00e4>) == 1, "alignof(NetPacket_Fixed<0x00e4>) == 1"); + +template<> +struct NetPacket_Fixed<0x00e5> +{ + Little16 magic_packet_id; + NetString<sizeof(CharName)> char_name; +}; +static_assert(offsetof(NetPacket_Fixed<0x00e5>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00e5>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00e5>, char_name) == 2, "offsetof(NetPacket_Fixed<0x00e5>, char_name) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00e5>) == 26, "sizeof(NetPacket_Fixed<0x00e5>) == 26"); +static_assert(alignof(NetPacket_Fixed<0x00e5>) == 1, "alignof(NetPacket_Fixed<0x00e5>) == 1"); + +template<> +struct NetPacket_Fixed<0x00e6> +{ + Little16 magic_packet_id; + Byte type; +}; +static_assert(offsetof(NetPacket_Fixed<0x00e6>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00e6>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00e6>, type) == 2, "offsetof(NetPacket_Fixed<0x00e6>, type) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00e6>) == 3, "sizeof(NetPacket_Fixed<0x00e6>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00e6>) == 1, "alignof(NetPacket_Fixed<0x00e6>) == 1"); + +template<> +struct NetPacket_Fixed<0x00e7> +{ + Little16 magic_packet_id; + Byte type; +}; +static_assert(offsetof(NetPacket_Fixed<0x00e7>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00e7>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00e7>, type) == 2, "offsetof(NetPacket_Fixed<0x00e7>, type) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00e7>) == 3, "sizeof(NetPacket_Fixed<0x00e7>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00e7>) == 1, "alignof(NetPacket_Fixed<0x00e7>) == 1"); + +template<> +struct NetPacket_Fixed<0x00e8> +{ + Little16 magic_packet_id; + Little16 zeny_or_ioff2; + Little32 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x00e8>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00e8>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00e8>, zeny_or_ioff2) == 2, "offsetof(NetPacket_Fixed<0x00e8>, zeny_or_ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00e8>, amount) == 4, "offsetof(NetPacket_Fixed<0x00e8>, amount) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00e8>) == 8, "sizeof(NetPacket_Fixed<0x00e8>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00e8>) == 1, "alignof(NetPacket_Fixed<0x00e8>) == 1"); + +template<> +struct NetPacket_Fixed<0x00e9> +{ + Little16 magic_packet_id; + Little32 amount; + Little16 name_id; + Byte identify; + Byte broken_or_attribute; + Byte refine; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; +}; +static_assert(offsetof(NetPacket_Fixed<0x00e9>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00e9>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, amount) == 2, "offsetof(NetPacket_Fixed<0x00e9>, amount) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, name_id) == 6, "offsetof(NetPacket_Fixed<0x00e9>, name_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, identify) == 8, "offsetof(NetPacket_Fixed<0x00e9>, identify) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, broken_or_attribute) == 9, "offsetof(NetPacket_Fixed<0x00e9>, broken_or_attribute) == 9"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, refine) == 10, "offsetof(NetPacket_Fixed<0x00e9>, refine) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, card0) == 11, "offsetof(NetPacket_Fixed<0x00e9>, card0) == 11"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, card1) == 13, "offsetof(NetPacket_Fixed<0x00e9>, card1) == 13"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, card2) == 15, "offsetof(NetPacket_Fixed<0x00e9>, card2) == 15"); +static_assert(offsetof(NetPacket_Fixed<0x00e9>, card3) == 17, "offsetof(NetPacket_Fixed<0x00e9>, card3) == 17"); +static_assert(sizeof(NetPacket_Fixed<0x00e9>) == 19, "sizeof(NetPacket_Fixed<0x00e9>) == 19"); +static_assert(alignof(NetPacket_Fixed<0x00e9>) == 1, "alignof(NetPacket_Fixed<0x00e9>) == 1"); + +template<> +struct NetPacket_Fixed<0x00eb> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00eb>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00eb>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00eb>) == 2, "sizeof(NetPacket_Fixed<0x00eb>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00eb>) == 1, "alignof(NetPacket_Fixed<0x00eb>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ec> +{ + Little16 magic_packet_id; + Byte fail; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ec>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ec>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00ec>, fail) == 2, "offsetof(NetPacket_Fixed<0x00ec>, fail) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00ec>) == 3, "sizeof(NetPacket_Fixed<0x00ec>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00ec>) == 1, "alignof(NetPacket_Fixed<0x00ec>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ed> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ed>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ed>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00ed>) == 2, "sizeof(NetPacket_Fixed<0x00ed>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00ed>) == 1, "alignof(NetPacket_Fixed<0x00ed>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ee> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ee>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ee>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00ee>) == 2, "sizeof(NetPacket_Fixed<0x00ee>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00ee>) == 1, "alignof(NetPacket_Fixed<0x00ee>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ef> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ef>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ef>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00ef>) == 2, "sizeof(NetPacket_Fixed<0x00ef>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00ef>) == 1, "alignof(NetPacket_Fixed<0x00ef>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f0> +{ + Little16 magic_packet_id; + Byte fail; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f0>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f0>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f0>, fail) == 2, "offsetof(NetPacket_Fixed<0x00f0>, fail) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00f0>) == 3, "sizeof(NetPacket_Fixed<0x00f0>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00f0>) == 1, "alignof(NetPacket_Fixed<0x00f0>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f2> +{ + Little16 magic_packet_id; + Little16 current_slots; + Little16 max_slots; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f2>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f2>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f2>, current_slots) == 2, "offsetof(NetPacket_Fixed<0x00f2>, current_slots) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00f2>, max_slots) == 4, "offsetof(NetPacket_Fixed<0x00f2>, max_slots) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00f2>) == 6, "sizeof(NetPacket_Fixed<0x00f2>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00f2>) == 1, "alignof(NetPacket_Fixed<0x00f2>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f3> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little32 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f3>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f3>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f3>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x00f3>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00f3>, amount) == 4, "offsetof(NetPacket_Fixed<0x00f3>, amount) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00f3>) == 8, "sizeof(NetPacket_Fixed<0x00f3>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00f3>) == 1, "alignof(NetPacket_Fixed<0x00f3>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f4> +{ + Little16 magic_packet_id; + Little16 soff1; + Little32 amount; + Little16 name_id; + Byte identify; + Byte broken_or_attribute; + Byte refine; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f4>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f4>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, soff1) == 2, "offsetof(NetPacket_Fixed<0x00f4>, soff1) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, amount) == 4, "offsetof(NetPacket_Fixed<0x00f4>, amount) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, name_id) == 8, "offsetof(NetPacket_Fixed<0x00f4>, name_id) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, identify) == 10, "offsetof(NetPacket_Fixed<0x00f4>, identify) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, broken_or_attribute) == 11, "offsetof(NetPacket_Fixed<0x00f4>, broken_or_attribute) == 11"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, refine) == 12, "offsetof(NetPacket_Fixed<0x00f4>, refine) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, card0) == 13, "offsetof(NetPacket_Fixed<0x00f4>, card0) == 13"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, card1) == 15, "offsetof(NetPacket_Fixed<0x00f4>, card1) == 15"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, card2) == 17, "offsetof(NetPacket_Fixed<0x00f4>, card2) == 17"); +static_assert(offsetof(NetPacket_Fixed<0x00f4>, card3) == 19, "offsetof(NetPacket_Fixed<0x00f4>, card3) == 19"); +static_assert(sizeof(NetPacket_Fixed<0x00f4>) == 21, "sizeof(NetPacket_Fixed<0x00f4>) == 21"); +static_assert(alignof(NetPacket_Fixed<0x00f4>) == 1, "alignof(NetPacket_Fixed<0x00f4>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f5> +{ + Little16 magic_packet_id; + Little16 soff1; + Little32 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f5>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f5>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f5>, soff1) == 2, "offsetof(NetPacket_Fixed<0x00f5>, soff1) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00f5>, amount) == 4, "offsetof(NetPacket_Fixed<0x00f5>, amount) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00f5>) == 8, "sizeof(NetPacket_Fixed<0x00f5>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00f5>) == 1, "alignof(NetPacket_Fixed<0x00f5>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f6> +{ + Little16 magic_packet_id; + Little16 soff1; + Little32 amount; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f6>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f6>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f6>, soff1) == 2, "offsetof(NetPacket_Fixed<0x00f6>, soff1) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00f6>, amount) == 4, "offsetof(NetPacket_Fixed<0x00f6>, amount) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x00f6>) == 8, "sizeof(NetPacket_Fixed<0x00f6>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x00f6>) == 1, "alignof(NetPacket_Fixed<0x00f6>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f7> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f7>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f7>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00f7>) == 2, "sizeof(NetPacket_Fixed<0x00f7>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00f7>) == 1, "alignof(NetPacket_Fixed<0x00f7>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f8> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f8>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f8>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x00f8>) == 2, "sizeof(NetPacket_Fixed<0x00f8>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x00f8>) == 1, "alignof(NetPacket_Fixed<0x00f8>) == 1"); + +template<> +struct NetPacket_Fixed<0x00f9> +{ + Little16 magic_packet_id; + NetString<sizeof(PartyName)> party_name; +}; +static_assert(offsetof(NetPacket_Fixed<0x00f9>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00f9>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00f9>, party_name) == 2, "offsetof(NetPacket_Fixed<0x00f9>, party_name) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00f9>) == 26, "sizeof(NetPacket_Fixed<0x00f9>) == 26"); +static_assert(alignof(NetPacket_Fixed<0x00f9>) == 1, "alignof(NetPacket_Fixed<0x00f9>) == 1"); + +template<> +struct NetPacket_Fixed<0x00fa> +{ + Little16 magic_packet_id; + Byte flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x00fa>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00fa>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00fa>, flag) == 2, "offsetof(NetPacket_Fixed<0x00fa>, flag) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00fa>) == 3, "sizeof(NetPacket_Fixed<0x00fa>) == 3"); +static_assert(alignof(NetPacket_Fixed<0x00fa>) == 1, "alignof(NetPacket_Fixed<0x00fa>) == 1"); + +template<> +struct NetPacket_Head<0x00fb> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + NetString<sizeof(PartyName)> party_name; +}; +static_assert(offsetof(NetPacket_Head<0x00fb>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x00fb>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x00fb>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x00fb>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x00fb>, party_name) == 4, "offsetof(NetPacket_Head<0x00fb>, party_name) == 4"); +static_assert(sizeof(NetPacket_Head<0x00fb>) == 28, "sizeof(NetPacket_Head<0x00fb>) == 28"); +static_assert(alignof(NetPacket_Head<0x00fb>) == 1, "alignof(NetPacket_Head<0x00fb>) == 1"); +template<> +struct NetPacket_Repeat<0x00fb> +{ + Little32 account_id; + NetString<sizeof(CharName)> char_name; + NetString<sizeof(MapName)> map_name; + Byte leader; + Byte online; +}; +static_assert(offsetof(NetPacket_Repeat<0x00fb>, account_id) == 0, "offsetof(NetPacket_Repeat<0x00fb>, account_id) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x00fb>, char_name) == 4, "offsetof(NetPacket_Repeat<0x00fb>, char_name) == 4"); +static_assert(offsetof(NetPacket_Repeat<0x00fb>, map_name) == 28, "offsetof(NetPacket_Repeat<0x00fb>, map_name) == 28"); +static_assert(offsetof(NetPacket_Repeat<0x00fb>, leader) == 44, "offsetof(NetPacket_Repeat<0x00fb>, leader) == 44"); +static_assert(offsetof(NetPacket_Repeat<0x00fb>, online) == 45, "offsetof(NetPacket_Repeat<0x00fb>, online) == 45"); +static_assert(sizeof(NetPacket_Repeat<0x00fb>) == 46, "sizeof(NetPacket_Repeat<0x00fb>) == 46"); +static_assert(alignof(NetPacket_Repeat<0x00fb>) == 1, "alignof(NetPacket_Repeat<0x00fb>) == 1"); + +template<> +struct NetPacket_Fixed<0x00fc> +{ + Little16 magic_packet_id; + Little32 account_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x00fc>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00fc>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00fc>, account_id) == 2, "offsetof(NetPacket_Fixed<0x00fc>, account_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x00fc>) == 6, "sizeof(NetPacket_Fixed<0x00fc>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x00fc>) == 1, "alignof(NetPacket_Fixed<0x00fc>) == 1"); + +template<> +struct NetPacket_Fixed<0x00fd> +{ + Little16 magic_packet_id; + NetString<sizeof(CharName)> char_name; + Byte flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x00fd>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00fd>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00fd>, char_name) == 2, "offsetof(NetPacket_Fixed<0x00fd>, char_name) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00fd>, flag) == 26, "offsetof(NetPacket_Fixed<0x00fd>, flag) == 26"); +static_assert(sizeof(NetPacket_Fixed<0x00fd>) == 27, "sizeof(NetPacket_Fixed<0x00fd>) == 27"); +static_assert(alignof(NetPacket_Fixed<0x00fd>) == 1, "alignof(NetPacket_Fixed<0x00fd>) == 1"); + +template<> +struct NetPacket_Fixed<0x00fe> +{ + Little16 magic_packet_id; + Little32 account_id; + NetString<sizeof(PartyName)> party_name; +}; +static_assert(offsetof(NetPacket_Fixed<0x00fe>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00fe>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00fe>, account_id) == 2, "offsetof(NetPacket_Fixed<0x00fe>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00fe>, party_name) == 6, "offsetof(NetPacket_Fixed<0x00fe>, party_name) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00fe>) == 30, "sizeof(NetPacket_Fixed<0x00fe>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x00fe>) == 1, "alignof(NetPacket_Fixed<0x00fe>) == 1"); + +template<> +struct NetPacket_Fixed<0x00ff> +{ + Little16 magic_packet_id; + Little32 account_id; + Little32 flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x00ff>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x00ff>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x00ff>, account_id) == 2, "offsetof(NetPacket_Fixed<0x00ff>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x00ff>, flag) == 6, "offsetof(NetPacket_Fixed<0x00ff>, flag) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x00ff>) == 10, "sizeof(NetPacket_Fixed<0x00ff>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x00ff>) == 1, "alignof(NetPacket_Fixed<0x00ff>) == 1"); + +template<> +struct NetPacket_Fixed<0x0100> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x0100>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0100>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x0100>) == 2, "sizeof(NetPacket_Fixed<0x0100>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x0100>) == 1, "alignof(NetPacket_Fixed<0x0100>) == 1"); + +template<> +struct NetPacket_Fixed<0x0101> +{ + Little16 magic_packet_id; + Little16 exp; + Little16 item; +}; +static_assert(offsetof(NetPacket_Fixed<0x0101>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0101>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0101>, exp) == 2, "offsetof(NetPacket_Fixed<0x0101>, exp) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0101>, item) == 4, "offsetof(NetPacket_Fixed<0x0101>, item) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x0101>) == 6, "sizeof(NetPacket_Fixed<0x0101>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x0101>) == 1, "alignof(NetPacket_Fixed<0x0101>) == 1"); + +template<> +struct NetPacket_Fixed<0x0102> +{ + Little16 magic_packet_id; + Little16 exp; + Little16 item; +}; +static_assert(offsetof(NetPacket_Fixed<0x0102>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0102>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0102>, exp) == 2, "offsetof(NetPacket_Fixed<0x0102>, exp) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0102>, item) == 4, "offsetof(NetPacket_Fixed<0x0102>, item) == 4"); +static_assert(sizeof(NetPacket_Fixed<0x0102>) == 6, "sizeof(NetPacket_Fixed<0x0102>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x0102>) == 1, "alignof(NetPacket_Fixed<0x0102>) == 1"); + +template<> +struct NetPacket_Fixed<0x0103> +{ + Little16 magic_packet_id; + Little32 account_id; + NetString<sizeof(CharName)> unused_char_name; +}; +static_assert(offsetof(NetPacket_Fixed<0x0103>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0103>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0103>, account_id) == 2, "offsetof(NetPacket_Fixed<0x0103>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0103>, unused_char_name) == 6, "offsetof(NetPacket_Fixed<0x0103>, unused_char_name) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0103>) == 30, "sizeof(NetPacket_Fixed<0x0103>) == 30"); +static_assert(alignof(NetPacket_Fixed<0x0103>) == 1, "alignof(NetPacket_Fixed<0x0103>) == 1"); + +template<> +struct NetPacket_Fixed<0x0105> +{ + Little16 magic_packet_id; + Little32 account_id; + NetString<sizeof(CharName)> char_name; + Byte flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x0105>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0105>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0105>, account_id) == 2, "offsetof(NetPacket_Fixed<0x0105>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0105>, char_name) == 6, "offsetof(NetPacket_Fixed<0x0105>, char_name) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0105>, flag) == 30, "offsetof(NetPacket_Fixed<0x0105>, flag) == 30"); +static_assert(sizeof(NetPacket_Fixed<0x0105>) == 31, "sizeof(NetPacket_Fixed<0x0105>) == 31"); +static_assert(alignof(NetPacket_Fixed<0x0105>) == 1, "alignof(NetPacket_Fixed<0x0105>) == 1"); + +template<> +struct NetPacket_Fixed<0x0106> +{ + Little16 magic_packet_id; + Little32 account_id; + Little16 hp; + Little16 max_hp; +}; +static_assert(offsetof(NetPacket_Fixed<0x0106>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0106>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0106>, account_id) == 2, "offsetof(NetPacket_Fixed<0x0106>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0106>, hp) == 6, "offsetof(NetPacket_Fixed<0x0106>, hp) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0106>, max_hp) == 8, "offsetof(NetPacket_Fixed<0x0106>, max_hp) == 8"); +static_assert(sizeof(NetPacket_Fixed<0x0106>) == 10, "sizeof(NetPacket_Fixed<0x0106>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x0106>) == 1, "alignof(NetPacket_Fixed<0x0106>) == 1"); + +template<> +struct NetPacket_Fixed<0x0107> +{ + Little16 magic_packet_id; + Little32 account_id; + Little16 x; + Little16 y; +}; +static_assert(offsetof(NetPacket_Fixed<0x0107>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0107>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0107>, account_id) == 2, "offsetof(NetPacket_Fixed<0x0107>, account_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0107>, x) == 6, "offsetof(NetPacket_Fixed<0x0107>, x) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0107>, y) == 8, "offsetof(NetPacket_Fixed<0x0107>, y) == 8"); +static_assert(sizeof(NetPacket_Fixed<0x0107>) == 10, "sizeof(NetPacket_Fixed<0x0107>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x0107>) == 1, "alignof(NetPacket_Fixed<0x0107>) == 1"); + +template<> +struct NetPacket_Head<0x0108> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x0108>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x0108>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x0108>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x0108>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x0108>) == 4, "sizeof(NetPacket_Head<0x0108>) == 4"); +static_assert(alignof(NetPacket_Head<0x0108>) == 1, "alignof(NetPacket_Head<0x0108>) == 1"); +template<> +struct NetPacket_Repeat<0x0108> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x0108>, c) == 0, "offsetof(NetPacket_Repeat<0x0108>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x0108>) == 1, "sizeof(NetPacket_Repeat<0x0108>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x0108>) == 1, "alignof(NetPacket_Repeat<0x0108>) == 1"); + +template<> +struct NetPacket_Head<0x0109> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + Little32 account_id; +}; +static_assert(offsetof(NetPacket_Head<0x0109>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x0109>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x0109>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x0109>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x0109>, account_id) == 4, "offsetof(NetPacket_Head<0x0109>, account_id) == 4"); +static_assert(sizeof(NetPacket_Head<0x0109>) == 8, "sizeof(NetPacket_Head<0x0109>) == 8"); +static_assert(alignof(NetPacket_Head<0x0109>) == 1, "alignof(NetPacket_Head<0x0109>) == 1"); +template<> +struct NetPacket_Repeat<0x0109> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x0109>, c) == 0, "offsetof(NetPacket_Repeat<0x0109>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x0109>) == 1, "sizeof(NetPacket_Repeat<0x0109>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x0109>) == 1, "alignof(NetPacket_Repeat<0x0109>) == 1"); + +template<> +struct NetPacket_Fixed<0x010c> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x010c>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x010c>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x010c>, block_id) == 2, "offsetof(NetPacket_Fixed<0x010c>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x010c>) == 6, "sizeof(NetPacket_Fixed<0x010c>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x010c>) == 1, "alignof(NetPacket_Fixed<0x010c>) == 1"); + +template<> +struct NetPacket_Fixed<0x010e> +{ + Little16 magic_packet_id; + Little16 skill_id; + Little16 level; + Little16 sp; + Little16 range; + Byte can_raise; +}; +static_assert(offsetof(NetPacket_Fixed<0x010e>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x010e>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x010e>, skill_id) == 2, "offsetof(NetPacket_Fixed<0x010e>, skill_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x010e>, level) == 4, "offsetof(NetPacket_Fixed<0x010e>, level) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x010e>, sp) == 6, "offsetof(NetPacket_Fixed<0x010e>, sp) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x010e>, range) == 8, "offsetof(NetPacket_Fixed<0x010e>, range) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x010e>, can_raise) == 10, "offsetof(NetPacket_Fixed<0x010e>, can_raise) == 10"); +static_assert(sizeof(NetPacket_Fixed<0x010e>) == 11, "sizeof(NetPacket_Fixed<0x010e>) == 11"); +static_assert(alignof(NetPacket_Fixed<0x010e>) == 1, "alignof(NetPacket_Fixed<0x010e>) == 1"); + +template<> +struct NetPacket_Head<0x010f> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x010f>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x010f>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x010f>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x010f>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x010f>) == 4, "sizeof(NetPacket_Head<0x010f>) == 4"); +static_assert(alignof(NetPacket_Head<0x010f>) == 1, "alignof(NetPacket_Head<0x010f>) == 1"); +template<> +struct NetPacket_Repeat<0x010f> +{ + NetSkillInfo info; +}; +static_assert(offsetof(NetPacket_Repeat<0x010f>, info) == 0, "offsetof(NetPacket_Repeat<0x010f>, info) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x010f>) == 37, "sizeof(NetPacket_Repeat<0x010f>) == 37"); +static_assert(alignof(NetPacket_Repeat<0x010f>) == 1, "alignof(NetPacket_Repeat<0x010f>) == 1"); + +template<> +struct NetPacket_Fixed<0x0110> +{ + Little16 magic_packet_id; + Little16 skill_id; + Little16 btype; + Little16 zero1; + Byte zero2; + Byte type; +}; +static_assert(offsetof(NetPacket_Fixed<0x0110>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0110>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0110>, skill_id) == 2, "offsetof(NetPacket_Fixed<0x0110>, skill_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0110>, btype) == 4, "offsetof(NetPacket_Fixed<0x0110>, btype) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x0110>, zero1) == 6, "offsetof(NetPacket_Fixed<0x0110>, zero1) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0110>, zero2) == 8, "offsetof(NetPacket_Fixed<0x0110>, zero2) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x0110>, type) == 9, "offsetof(NetPacket_Fixed<0x0110>, type) == 9"); +static_assert(sizeof(NetPacket_Fixed<0x0110>) == 10, "sizeof(NetPacket_Fixed<0x0110>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x0110>) == 1, "alignof(NetPacket_Fixed<0x0110>) == 1"); + +template<> +struct NetPacket_Fixed<0x0112> +{ + Little16 magic_packet_id; + Little16 skill_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x0112>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0112>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0112>, skill_id) == 2, "offsetof(NetPacket_Fixed<0x0112>, skill_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0112>) == 4, "sizeof(NetPacket_Fixed<0x0112>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x0112>) == 1, "alignof(NetPacket_Fixed<0x0112>) == 1"); + +template<> +struct NetPacket_Fixed<0x0118> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x0118>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0118>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x0118>) == 2, "sizeof(NetPacket_Fixed<0x0118>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x0118>) == 1, "alignof(NetPacket_Fixed<0x0118>) == 1"); + +template<> +struct NetPacket_Fixed<0x0119> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 opt1; + Little16 opt2; + Little16 option; + Byte zero; +}; +static_assert(offsetof(NetPacket_Fixed<0x0119>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0119>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0119>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0119>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0119>, opt1) == 6, "offsetof(NetPacket_Fixed<0x0119>, opt1) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0119>, opt2) == 8, "offsetof(NetPacket_Fixed<0x0119>, opt2) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x0119>, option) == 10, "offsetof(NetPacket_Fixed<0x0119>, option) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x0119>, zero) == 12, "offsetof(NetPacket_Fixed<0x0119>, zero) == 12"); +static_assert(sizeof(NetPacket_Fixed<0x0119>) == 13, "sizeof(NetPacket_Fixed<0x0119>) == 13"); +static_assert(alignof(NetPacket_Fixed<0x0119>) == 1, "alignof(NetPacket_Fixed<0x0119>) == 1"); + +template<> +struct NetPacket_Fixed<0x0139> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 bl_x; + Little16 bl_y; + Little16 sd_x; + Little16 sd_y; + Little16 range; +}; +static_assert(offsetof(NetPacket_Fixed<0x0139>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0139>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0139>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0139>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0139>, bl_x) == 6, "offsetof(NetPacket_Fixed<0x0139>, bl_x) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0139>, bl_y) == 8, "offsetof(NetPacket_Fixed<0x0139>, bl_y) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x0139>, sd_x) == 10, "offsetof(NetPacket_Fixed<0x0139>, sd_x) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x0139>, sd_y) == 12, "offsetof(NetPacket_Fixed<0x0139>, sd_y) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x0139>, range) == 14, "offsetof(NetPacket_Fixed<0x0139>, range) == 14"); +static_assert(sizeof(NetPacket_Fixed<0x0139>) == 16, "sizeof(NetPacket_Fixed<0x0139>) == 16"); +static_assert(alignof(NetPacket_Fixed<0x0139>) == 1, "alignof(NetPacket_Fixed<0x0139>) == 1"); + +template<> +struct NetPacket_Fixed<0x013a> +{ + Little16 magic_packet_id; + Little16 attack_range; +}; +static_assert(offsetof(NetPacket_Fixed<0x013a>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x013a>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x013a>, attack_range) == 2, "offsetof(NetPacket_Fixed<0x013a>, attack_range) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x013a>) == 4, "sizeof(NetPacket_Fixed<0x013a>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x013a>) == 1, "alignof(NetPacket_Fixed<0x013a>) == 1"); + +template<> +struct NetPacket_Fixed<0x013b> +{ + Little16 magic_packet_id; + Little16 type; +}; +static_assert(offsetof(NetPacket_Fixed<0x013b>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x013b>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x013b>, type) == 2, "offsetof(NetPacket_Fixed<0x013b>, type) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x013b>) == 4, "sizeof(NetPacket_Fixed<0x013b>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x013b>) == 1, "alignof(NetPacket_Fixed<0x013b>) == 1"); + +template<> +struct NetPacket_Fixed<0x013c> +{ + Little16 magic_packet_id; + Little16 ioff2; +}; +static_assert(offsetof(NetPacket_Fixed<0x013c>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x013c>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x013c>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x013c>, ioff2) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x013c>) == 4, "sizeof(NetPacket_Fixed<0x013c>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x013c>) == 1, "alignof(NetPacket_Fixed<0x013c>) == 1"); + +template<> +struct NetPacket_Fixed<0x0141> +{ + Little16 magic_packet_id; + Little16 sp_type; + Little16 zero; + Little32 value_status; + Little32 value_b_e; +}; +static_assert(offsetof(NetPacket_Fixed<0x0141>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0141>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0141>, sp_type) == 2, "offsetof(NetPacket_Fixed<0x0141>, sp_type) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0141>, zero) == 4, "offsetof(NetPacket_Fixed<0x0141>, zero) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x0141>, value_status) == 6, "offsetof(NetPacket_Fixed<0x0141>, value_status) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0141>, value_b_e) == 10, "offsetof(NetPacket_Fixed<0x0141>, value_b_e) == 10"); +static_assert(sizeof(NetPacket_Fixed<0x0141>) == 14, "sizeof(NetPacket_Fixed<0x0141>) == 14"); +static_assert(alignof(NetPacket_Fixed<0x0141>) == 1, "alignof(NetPacket_Fixed<0x0141>) == 1"); + +template<> +struct NetPacket_Fixed<0x0142> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x0142>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0142>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0142>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0142>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0142>) == 6, "sizeof(NetPacket_Fixed<0x0142>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x0142>) == 1, "alignof(NetPacket_Fixed<0x0142>) == 1"); + +template<> +struct NetPacket_Fixed<0x0143> +{ + Little16 magic_packet_id; + Little32 block_id; + Little32 input_int_value; +}; +static_assert(offsetof(NetPacket_Fixed<0x0143>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0143>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0143>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0143>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0143>, input_int_value) == 6, "offsetof(NetPacket_Fixed<0x0143>, input_int_value) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0143>) == 10, "sizeof(NetPacket_Fixed<0x0143>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x0143>) == 1, "alignof(NetPacket_Fixed<0x0143>) == 1"); + +template<> +struct NetPacket_Fixed<0x0146> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x0146>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0146>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0146>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0146>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0146>) == 6, "sizeof(NetPacket_Fixed<0x0146>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x0146>) == 1, "alignof(NetPacket_Fixed<0x0146>) == 1"); + +template<> +struct NetPacket_Fixed<0x0147> +{ + Little16 magic_packet_id; + NetSkillInfo info; +}; +static_assert(offsetof(NetPacket_Fixed<0x0147>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0147>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0147>, info) == 2, "offsetof(NetPacket_Fixed<0x0147>, info) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x0147>) == 39, "sizeof(NetPacket_Fixed<0x0147>) == 39"); +static_assert(alignof(NetPacket_Fixed<0x0147>) == 1, "alignof(NetPacket_Fixed<0x0147>) == 1"); + +template<> +struct NetPacket_Fixed<0x0148> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 type; +}; +static_assert(offsetof(NetPacket_Fixed<0x0148>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0148>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0148>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0148>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0148>, type) == 6, "offsetof(NetPacket_Fixed<0x0148>, type) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x0148>) == 8, "sizeof(NetPacket_Fixed<0x0148>) == 8"); +static_assert(alignof(NetPacket_Fixed<0x0148>) == 1, "alignof(NetPacket_Fixed<0x0148>) == 1"); + +template<> +struct NetPacket_Fixed<0x014d> +{ + Little16 magic_packet_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x014d>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x014d>, magic_packet_id) == 0"); +static_assert(sizeof(NetPacket_Fixed<0x014d>) == 2, "sizeof(NetPacket_Fixed<0x014d>) == 2"); +static_assert(alignof(NetPacket_Fixed<0x014d>) == 1, "alignof(NetPacket_Fixed<0x014d>) == 1"); + +template<> +struct NetPacket_Fixed<0x018a> +{ + Little16 magic_packet_id; + Little16 unused; +}; +static_assert(offsetof(NetPacket_Fixed<0x018a>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x018a>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x018a>, unused) == 2, "offsetof(NetPacket_Fixed<0x018a>, unused) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x018a>) == 4, "sizeof(NetPacket_Fixed<0x018a>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x018a>) == 1, "alignof(NetPacket_Fixed<0x018a>) == 1"); + +template<> +struct NetPacket_Fixed<0x018b> +{ + Little16 magic_packet_id; + Little16 okay; +}; +static_assert(offsetof(NetPacket_Fixed<0x018b>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x018b>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x018b>, okay) == 2, "offsetof(NetPacket_Fixed<0x018b>, okay) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x018b>) == 4, "sizeof(NetPacket_Fixed<0x018b>) == 4"); +static_assert(alignof(NetPacket_Fixed<0x018b>) == 1, "alignof(NetPacket_Fixed<0x018b>) == 1"); + +template<> +struct NetPacket_Fixed<0x0195> +{ + Little16 magic_packet_id; + Little32 block_id; + NetString<sizeof(PartyName)> party_name; + NetString<sizeof(VString<23>)> guild_name; + NetString<sizeof(VString<23>)> guild_pos; + NetString<sizeof(VString<23>)> guild_pos_again; +}; +static_assert(offsetof(NetPacket_Fixed<0x0195>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0195>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0195>, block_id) == 2, "offsetof(NetPacket_Fixed<0x0195>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0195>, party_name) == 6, "offsetof(NetPacket_Fixed<0x0195>, party_name) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x0195>, guild_name) == 30, "offsetof(NetPacket_Fixed<0x0195>, guild_name) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x0195>, guild_pos) == 54, "offsetof(NetPacket_Fixed<0x0195>, guild_pos) == 54"); +static_assert(offsetof(NetPacket_Fixed<0x0195>, guild_pos_again) == 78, "offsetof(NetPacket_Fixed<0x0195>, guild_pos_again) == 78"); +static_assert(sizeof(NetPacket_Fixed<0x0195>) == 102, "sizeof(NetPacket_Fixed<0x0195>) == 102"); +static_assert(alignof(NetPacket_Fixed<0x0195>) == 1, "alignof(NetPacket_Fixed<0x0195>) == 1"); + +template<> +struct NetPacket_Fixed<0x0196> +{ + Little16 magic_packet_id; + Little16 sc_type; + Little32 block_id; + Byte flag; +}; +static_assert(offsetof(NetPacket_Fixed<0x0196>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x0196>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x0196>, sc_type) == 2, "offsetof(NetPacket_Fixed<0x0196>, sc_type) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x0196>, block_id) == 4, "offsetof(NetPacket_Fixed<0x0196>, block_id) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x0196>, flag) == 8, "offsetof(NetPacket_Fixed<0x0196>, flag) == 8"); +static_assert(sizeof(NetPacket_Fixed<0x0196>) == 9, "sizeof(NetPacket_Fixed<0x0196>) == 9"); +static_assert(alignof(NetPacket_Fixed<0x0196>) == 1, "alignof(NetPacket_Fixed<0x0196>) == 1"); + +template<> +struct NetPacket_Fixed<0x019b> +{ + Little16 magic_packet_id; + Little32 block_id; + Little32 type; +}; +static_assert(offsetof(NetPacket_Fixed<0x019b>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x019b>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x019b>, block_id) == 2, "offsetof(NetPacket_Fixed<0x019b>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x019b>, type) == 6, "offsetof(NetPacket_Fixed<0x019b>, type) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x019b>) == 10, "sizeof(NetPacket_Fixed<0x019b>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x019b>) == 1, "alignof(NetPacket_Fixed<0x019b>) == 1"); + +template<> +struct NetPacket_Fixed<0x01b1> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 amount; + Byte fail; +}; +static_assert(offsetof(NetPacket_Fixed<0x01b1>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01b1>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01b1>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x01b1>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01b1>, amount) == 4, "offsetof(NetPacket_Fixed<0x01b1>, amount) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x01b1>, fail) == 6, "offsetof(NetPacket_Fixed<0x01b1>, fail) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x01b1>) == 7, "sizeof(NetPacket_Fixed<0x01b1>) == 7"); +static_assert(alignof(NetPacket_Fixed<0x01b1>) == 1, "alignof(NetPacket_Fixed<0x01b1>) == 1"); + +template<> +struct NetPacket_Fixed<0x01c8> +{ + Little16 magic_packet_id; + Little16 ioff2; + Little16 name_id; + Little32 block_id; + Little16 amount; + Byte ok; +}; +static_assert(offsetof(NetPacket_Fixed<0x01c8>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01c8>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01c8>, ioff2) == 2, "offsetof(NetPacket_Fixed<0x01c8>, ioff2) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01c8>, name_id) == 4, "offsetof(NetPacket_Fixed<0x01c8>, name_id) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x01c8>, block_id) == 6, "offsetof(NetPacket_Fixed<0x01c8>, block_id) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x01c8>, amount) == 10, "offsetof(NetPacket_Fixed<0x01c8>, amount) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x01c8>, ok) == 12, "offsetof(NetPacket_Fixed<0x01c8>, ok) == 12"); +static_assert(sizeof(NetPacket_Fixed<0x01c8>) == 13, "sizeof(NetPacket_Fixed<0x01c8>) == 13"); +static_assert(alignof(NetPacket_Fixed<0x01c8>) == 1, "alignof(NetPacket_Fixed<0x01c8>) == 1"); + +template<> +struct NetPacket_Fixed<0x01d4> +{ + Little16 magic_packet_id; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Fixed<0x01d4>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01d4>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01d4>, block_id) == 2, "offsetof(NetPacket_Fixed<0x01d4>, block_id) == 2"); +static_assert(sizeof(NetPacket_Fixed<0x01d4>) == 6, "sizeof(NetPacket_Fixed<0x01d4>) == 6"); +static_assert(alignof(NetPacket_Fixed<0x01d4>) == 1, "alignof(NetPacket_Fixed<0x01d4>) == 1"); + +template<> +struct NetPacket_Head<0x01d5> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; + Little32 block_id; +}; +static_assert(offsetof(NetPacket_Head<0x01d5>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x01d5>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x01d5>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x01d5>, magic_packet_length) == 2"); +static_assert(offsetof(NetPacket_Head<0x01d5>, block_id) == 4, "offsetof(NetPacket_Head<0x01d5>, block_id) == 4"); +static_assert(sizeof(NetPacket_Head<0x01d5>) == 8, "sizeof(NetPacket_Head<0x01d5>) == 8"); +static_assert(alignof(NetPacket_Head<0x01d5>) == 1, "alignof(NetPacket_Head<0x01d5>) == 1"); +template<> +struct NetPacket_Repeat<0x01d5> +{ + Byte c; +}; +static_assert(offsetof(NetPacket_Repeat<0x01d5>, c) == 0, "offsetof(NetPacket_Repeat<0x01d5>, c) == 0"); +static_assert(sizeof(NetPacket_Repeat<0x01d5>) == 1, "sizeof(NetPacket_Repeat<0x01d5>) == 1"); +static_assert(alignof(NetPacket_Repeat<0x01d5>) == 1, "alignof(NetPacket_Repeat<0x01d5>) == 1"); + +template<> +struct NetPacket_Fixed<0x01d7> +{ + Little16 magic_packet_id; + Little32 block_id; + Byte look_type; + Little16 weapon_or_name_id_or_value; + Little16 shield; +}; +static_assert(offsetof(NetPacket_Fixed<0x01d7>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01d7>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01d7>, block_id) == 2, "offsetof(NetPacket_Fixed<0x01d7>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01d7>, look_type) == 6, "offsetof(NetPacket_Fixed<0x01d7>, look_type) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x01d7>, weapon_or_name_id_or_value) == 7, "offsetof(NetPacket_Fixed<0x01d7>, weapon_or_name_id_or_value) == 7"); +static_assert(offsetof(NetPacket_Fixed<0x01d7>, shield) == 9, "offsetof(NetPacket_Fixed<0x01d7>, shield) == 9"); +static_assert(sizeof(NetPacket_Fixed<0x01d7>) == 11, "sizeof(NetPacket_Fixed<0x01d7>) == 11"); +static_assert(alignof(NetPacket_Fixed<0x01d7>) == 1, "alignof(NetPacket_Fixed<0x01d7>) == 1"); + +template<> +struct NetPacket_Fixed<0x01d8> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 speed; + Little16 opt1; + Little16 opt2; + Little16 option; + Little16 species; + Little16 hair_style; + Little16 weapon; + Little16 shield; + Little16 head_bottom; + Little16 head_top; + Little16 head_mid; + Little16 hair_color; + Little16 clothes_color; + Byte head_dir; + Byte unused2; + Little32 guild_id; + Little16 guild_emblem_id; + Little16 manner; + Little16 opt3; + Byte karma; + Byte sex; + NetPosition1 pos; + Little16 gm_bits; + Byte dead_sit; + Little16 unused; +}; +static_assert(offsetof(NetPacket_Fixed<0x01d8>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01d8>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, block_id) == 2, "offsetof(NetPacket_Fixed<0x01d8>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, speed) == 6, "offsetof(NetPacket_Fixed<0x01d8>, speed) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, opt1) == 8, "offsetof(NetPacket_Fixed<0x01d8>, opt1) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, opt2) == 10, "offsetof(NetPacket_Fixed<0x01d8>, opt2) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, option) == 12, "offsetof(NetPacket_Fixed<0x01d8>, option) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, species) == 14, "offsetof(NetPacket_Fixed<0x01d8>, species) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, hair_style) == 16, "offsetof(NetPacket_Fixed<0x01d8>, hair_style) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, weapon) == 18, "offsetof(NetPacket_Fixed<0x01d8>, weapon) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, shield) == 20, "offsetof(NetPacket_Fixed<0x01d8>, shield) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, head_bottom) == 22, "offsetof(NetPacket_Fixed<0x01d8>, head_bottom) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, head_top) == 24, "offsetof(NetPacket_Fixed<0x01d8>, head_top) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, head_mid) == 26, "offsetof(NetPacket_Fixed<0x01d8>, head_mid) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, hair_color) == 28, "offsetof(NetPacket_Fixed<0x01d8>, hair_color) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, clothes_color) == 30, "offsetof(NetPacket_Fixed<0x01d8>, clothes_color) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, head_dir) == 32, "offsetof(NetPacket_Fixed<0x01d8>, head_dir) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, unused2) == 33, "offsetof(NetPacket_Fixed<0x01d8>, unused2) == 33"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, guild_id) == 34, "offsetof(NetPacket_Fixed<0x01d8>, guild_id) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, guild_emblem_id) == 38, "offsetof(NetPacket_Fixed<0x01d8>, guild_emblem_id) == 38"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, manner) == 40, "offsetof(NetPacket_Fixed<0x01d8>, manner) == 40"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, opt3) == 42, "offsetof(NetPacket_Fixed<0x01d8>, opt3) == 42"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, karma) == 44, "offsetof(NetPacket_Fixed<0x01d8>, karma) == 44"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, sex) == 45, "offsetof(NetPacket_Fixed<0x01d8>, sex) == 45"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, pos) == 46, "offsetof(NetPacket_Fixed<0x01d8>, pos) == 46"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, gm_bits) == 49, "offsetof(NetPacket_Fixed<0x01d8>, gm_bits) == 49"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, dead_sit) == 51, "offsetof(NetPacket_Fixed<0x01d8>, dead_sit) == 51"); +static_assert(offsetof(NetPacket_Fixed<0x01d8>, unused) == 52, "offsetof(NetPacket_Fixed<0x01d8>, unused) == 52"); +static_assert(sizeof(NetPacket_Fixed<0x01d8>) == 54, "sizeof(NetPacket_Fixed<0x01d8>) == 54"); +static_assert(alignof(NetPacket_Fixed<0x01d8>) == 1, "alignof(NetPacket_Fixed<0x01d8>) == 1"); + +template<> +struct NetPacket_Fixed<0x01d9> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 speed; + Little16 opt1; + Little16 opt2; + Little16 option; + Little16 species; + Little16 hair_style; + Little16 weapon; + Little16 shield; + Little16 head_bottom; + Little16 head_top; + Little16 head_mid; + Little16 hair_color; + Little16 clothes_color; + Byte head_dir; + Byte unused2; + Little32 guild_id; + Little16 guild_emblem_id; + Little16 manner; + Little16 opt3; + Byte karma; + Byte sex; + NetPosition1 pos; + Little16 gm_bits; + Little16 unused; +}; +static_assert(offsetof(NetPacket_Fixed<0x01d9>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01d9>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, block_id) == 2, "offsetof(NetPacket_Fixed<0x01d9>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, speed) == 6, "offsetof(NetPacket_Fixed<0x01d9>, speed) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, opt1) == 8, "offsetof(NetPacket_Fixed<0x01d9>, opt1) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, opt2) == 10, "offsetof(NetPacket_Fixed<0x01d9>, opt2) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, option) == 12, "offsetof(NetPacket_Fixed<0x01d9>, option) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, species) == 14, "offsetof(NetPacket_Fixed<0x01d9>, species) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, hair_style) == 16, "offsetof(NetPacket_Fixed<0x01d9>, hair_style) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, weapon) == 18, "offsetof(NetPacket_Fixed<0x01d9>, weapon) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, shield) == 20, "offsetof(NetPacket_Fixed<0x01d9>, shield) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, head_bottom) == 22, "offsetof(NetPacket_Fixed<0x01d9>, head_bottom) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, head_top) == 24, "offsetof(NetPacket_Fixed<0x01d9>, head_top) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, head_mid) == 26, "offsetof(NetPacket_Fixed<0x01d9>, head_mid) == 26"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, hair_color) == 28, "offsetof(NetPacket_Fixed<0x01d9>, hair_color) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, clothes_color) == 30, "offsetof(NetPacket_Fixed<0x01d9>, clothes_color) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, head_dir) == 32, "offsetof(NetPacket_Fixed<0x01d9>, head_dir) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, unused2) == 33, "offsetof(NetPacket_Fixed<0x01d9>, unused2) == 33"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, guild_id) == 34, "offsetof(NetPacket_Fixed<0x01d9>, guild_id) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, guild_emblem_id) == 38, "offsetof(NetPacket_Fixed<0x01d9>, guild_emblem_id) == 38"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, manner) == 40, "offsetof(NetPacket_Fixed<0x01d9>, manner) == 40"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, opt3) == 42, "offsetof(NetPacket_Fixed<0x01d9>, opt3) == 42"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, karma) == 44, "offsetof(NetPacket_Fixed<0x01d9>, karma) == 44"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, sex) == 45, "offsetof(NetPacket_Fixed<0x01d9>, sex) == 45"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, pos) == 46, "offsetof(NetPacket_Fixed<0x01d9>, pos) == 46"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, gm_bits) == 49, "offsetof(NetPacket_Fixed<0x01d9>, gm_bits) == 49"); +static_assert(offsetof(NetPacket_Fixed<0x01d9>, unused) == 51, "offsetof(NetPacket_Fixed<0x01d9>, unused) == 51"); +static_assert(sizeof(NetPacket_Fixed<0x01d9>) == 53, "sizeof(NetPacket_Fixed<0x01d9>) == 53"); +static_assert(alignof(NetPacket_Fixed<0x01d9>) == 1, "alignof(NetPacket_Fixed<0x01d9>) == 1"); + +template<> +struct NetPacket_Fixed<0x01da> +{ + Little16 magic_packet_id; + Little32 block_id; + Little16 speed; + Little16 opt1; + Little16 opt2; + Little16 option; + Little16 species; + Little16 hair_style; + Little16 weapon; + Little16 shield; + Little16 head_bottom; + Little32 tick; + Little16 head_top; + Little16 head_mid; + Little16 hair_color; + Little16 clothes_color; + Byte head_dir; + Byte unused2; + Little32 guild_id; + Little16 guild_emblem_id; + Little16 manner; + Little16 opt3; + Byte karma; + Byte sex; + NetPosition2 pos2; + Little16 gm_bits; + Byte five; + Little16 unused; +}; +static_assert(offsetof(NetPacket_Fixed<0x01da>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01da>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, block_id) == 2, "offsetof(NetPacket_Fixed<0x01da>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, speed) == 6, "offsetof(NetPacket_Fixed<0x01da>, speed) == 6"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, opt1) == 8, "offsetof(NetPacket_Fixed<0x01da>, opt1) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, opt2) == 10, "offsetof(NetPacket_Fixed<0x01da>, opt2) == 10"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, option) == 12, "offsetof(NetPacket_Fixed<0x01da>, option) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, species) == 14, "offsetof(NetPacket_Fixed<0x01da>, species) == 14"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, hair_style) == 16, "offsetof(NetPacket_Fixed<0x01da>, hair_style) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, weapon) == 18, "offsetof(NetPacket_Fixed<0x01da>, weapon) == 18"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, shield) == 20, "offsetof(NetPacket_Fixed<0x01da>, shield) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, head_bottom) == 22, "offsetof(NetPacket_Fixed<0x01da>, head_bottom) == 22"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, tick) == 24, "offsetof(NetPacket_Fixed<0x01da>, tick) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, head_top) == 28, "offsetof(NetPacket_Fixed<0x01da>, head_top) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, head_mid) == 30, "offsetof(NetPacket_Fixed<0x01da>, head_mid) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, hair_color) == 32, "offsetof(NetPacket_Fixed<0x01da>, hair_color) == 32"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, clothes_color) == 34, "offsetof(NetPacket_Fixed<0x01da>, clothes_color) == 34"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, head_dir) == 36, "offsetof(NetPacket_Fixed<0x01da>, head_dir) == 36"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, unused2) == 37, "offsetof(NetPacket_Fixed<0x01da>, unused2) == 37"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, guild_id) == 38, "offsetof(NetPacket_Fixed<0x01da>, guild_id) == 38"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, guild_emblem_id) == 42, "offsetof(NetPacket_Fixed<0x01da>, guild_emblem_id) == 42"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, manner) == 44, "offsetof(NetPacket_Fixed<0x01da>, manner) == 44"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, opt3) == 46, "offsetof(NetPacket_Fixed<0x01da>, opt3) == 46"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, karma) == 48, "offsetof(NetPacket_Fixed<0x01da>, karma) == 48"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, sex) == 49, "offsetof(NetPacket_Fixed<0x01da>, sex) == 49"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, pos2) == 50, "offsetof(NetPacket_Fixed<0x01da>, pos2) == 50"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, gm_bits) == 55, "offsetof(NetPacket_Fixed<0x01da>, gm_bits) == 55"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, five) == 57, "offsetof(NetPacket_Fixed<0x01da>, five) == 57"); +static_assert(offsetof(NetPacket_Fixed<0x01da>, unused) == 58, "offsetof(NetPacket_Fixed<0x01da>, unused) == 58"); +static_assert(sizeof(NetPacket_Fixed<0x01da>) == 60, "sizeof(NetPacket_Fixed<0x01da>) == 60"); +static_assert(alignof(NetPacket_Fixed<0x01da>) == 1, "alignof(NetPacket_Fixed<0x01da>) == 1"); + +template<> +struct NetPacket_Fixed<0x01de> +{ + Little16 magic_packet_id; + Little16 skill_id; + Little32 src_id; + Little32 dst_id; + Little32 tick; + Little32 sdelay; + Little32 ddelay; + Little32 damage; + Little16 skill_level; + Little16 div; + Byte type_or_hit; +}; +static_assert(offsetof(NetPacket_Fixed<0x01de>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x01de>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, skill_id) == 2, "offsetof(NetPacket_Fixed<0x01de>, skill_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, src_id) == 4, "offsetof(NetPacket_Fixed<0x01de>, src_id) == 4"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, dst_id) == 8, "offsetof(NetPacket_Fixed<0x01de>, dst_id) == 8"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, tick) == 12, "offsetof(NetPacket_Fixed<0x01de>, tick) == 12"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, sdelay) == 16, "offsetof(NetPacket_Fixed<0x01de>, sdelay) == 16"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, ddelay) == 20, "offsetof(NetPacket_Fixed<0x01de>, ddelay) == 20"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, damage) == 24, "offsetof(NetPacket_Fixed<0x01de>, damage) == 24"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, skill_level) == 28, "offsetof(NetPacket_Fixed<0x01de>, skill_level) == 28"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, div) == 30, "offsetof(NetPacket_Fixed<0x01de>, div) == 30"); +static_assert(offsetof(NetPacket_Fixed<0x01de>, type_or_hit) == 32, "offsetof(NetPacket_Fixed<0x01de>, type_or_hit) == 32"); +static_assert(sizeof(NetPacket_Fixed<0x01de>) == 33, "sizeof(NetPacket_Fixed<0x01de>) == 33"); +static_assert(alignof(NetPacket_Fixed<0x01de>) == 1, "alignof(NetPacket_Fixed<0x01de>) == 1"); + +template<> +struct NetPacket_Head<0x01ee> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x01ee>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x01ee>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x01ee>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x01ee>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x01ee>) == 4, "sizeof(NetPacket_Head<0x01ee>) == 4"); +static_assert(alignof(NetPacket_Head<0x01ee>) == 1, "alignof(NetPacket_Head<0x01ee>) == 1"); +template<> +struct NetPacket_Repeat<0x01ee> +{ + Little16 ioff2; + Little16 name_id; + Byte item_type; + Byte identify; + Little16 amount; + Little16 epos; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; +}; +static_assert(offsetof(NetPacket_Repeat<0x01ee>, ioff2) == 0, "offsetof(NetPacket_Repeat<0x01ee>, ioff2) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, name_id) == 2, "offsetof(NetPacket_Repeat<0x01ee>, name_id) == 2"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, item_type) == 4, "offsetof(NetPacket_Repeat<0x01ee>, item_type) == 4"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, identify) == 5, "offsetof(NetPacket_Repeat<0x01ee>, identify) == 5"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, amount) == 6, "offsetof(NetPacket_Repeat<0x01ee>, amount) == 6"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, epos) == 8, "offsetof(NetPacket_Repeat<0x01ee>, epos) == 8"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, card0) == 10, "offsetof(NetPacket_Repeat<0x01ee>, card0) == 10"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, card1) == 12, "offsetof(NetPacket_Repeat<0x01ee>, card1) == 12"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, card2) == 14, "offsetof(NetPacket_Repeat<0x01ee>, card2) == 14"); +static_assert(offsetof(NetPacket_Repeat<0x01ee>, card3) == 16, "offsetof(NetPacket_Repeat<0x01ee>, card3) == 16"); +static_assert(sizeof(NetPacket_Repeat<0x01ee>) == 18, "sizeof(NetPacket_Repeat<0x01ee>) == 18"); +static_assert(alignof(NetPacket_Repeat<0x01ee>) == 1, "alignof(NetPacket_Repeat<0x01ee>) == 1"); + +template<> +struct NetPacket_Head<0x01f0> +{ + Little16 magic_packet_id; + Little16 magic_packet_length; +}; +static_assert(offsetof(NetPacket_Head<0x01f0>, magic_packet_id) == 0, "offsetof(NetPacket_Head<0x01f0>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Head<0x01f0>, magic_packet_length) == 2, "offsetof(NetPacket_Head<0x01f0>, magic_packet_length) == 2"); +static_assert(sizeof(NetPacket_Head<0x01f0>) == 4, "sizeof(NetPacket_Head<0x01f0>) == 4"); +static_assert(alignof(NetPacket_Head<0x01f0>) == 1, "alignof(NetPacket_Head<0x01f0>) == 1"); +template<> +struct NetPacket_Repeat<0x01f0> +{ + Little16 soff1; + Little16 name_id; + Byte item_type; + Byte identify; + Little16 amount; + Little16 epos_zero; + Little16 card0; + Little16 card1; + Little16 card2; + Little16 card3; +}; +static_assert(offsetof(NetPacket_Repeat<0x01f0>, soff1) == 0, "offsetof(NetPacket_Repeat<0x01f0>, soff1) == 0"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, name_id) == 2, "offsetof(NetPacket_Repeat<0x01f0>, name_id) == 2"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, item_type) == 4, "offsetof(NetPacket_Repeat<0x01f0>, item_type) == 4"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, identify) == 5, "offsetof(NetPacket_Repeat<0x01f0>, identify) == 5"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, amount) == 6, "offsetof(NetPacket_Repeat<0x01f0>, amount) == 6"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, epos_zero) == 8, "offsetof(NetPacket_Repeat<0x01f0>, epos_zero) == 8"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, card0) == 10, "offsetof(NetPacket_Repeat<0x01f0>, card0) == 10"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, card1) == 12, "offsetof(NetPacket_Repeat<0x01f0>, card1) == 12"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, card2) == 14, "offsetof(NetPacket_Repeat<0x01f0>, card2) == 14"); +static_assert(offsetof(NetPacket_Repeat<0x01f0>, card3) == 16, "offsetof(NetPacket_Repeat<0x01f0>, card3) == 16"); +static_assert(sizeof(NetPacket_Repeat<0x01f0>) == 18, "sizeof(NetPacket_Repeat<0x01f0>) == 18"); +static_assert(alignof(NetPacket_Repeat<0x01f0>) == 1, "alignof(NetPacket_Repeat<0x01f0>) == 1"); + +template<> +struct NetPacket_Fixed<0x020c> +{ + Little16 magic_packet_id; + Little32 block_id; + IP4Address ip; +}; +static_assert(offsetof(NetPacket_Fixed<0x020c>, magic_packet_id) == 0, "offsetof(NetPacket_Fixed<0x020c>, magic_packet_id) == 0"); +static_assert(offsetof(NetPacket_Fixed<0x020c>, block_id) == 2, "offsetof(NetPacket_Fixed<0x020c>, block_id) == 2"); +static_assert(offsetof(NetPacket_Fixed<0x020c>, ip) == 6, "offsetof(NetPacket_Fixed<0x020c>, ip) == 6"); +static_assert(sizeof(NetPacket_Fixed<0x020c>) == 10, "sizeof(NetPacket_Fixed<0x020c>) == 10"); +static_assert(alignof(NetPacket_Fixed<0x020c>) == 1, "alignof(NetPacket_Fixed<0x020c>) == 1"); + +template<> struct NetPacket_Fixed<0x0212> { Little16 magic_packet_id; @@ -62,7 +4472,3438 @@ static_assert(offsetof(NetPacket_Fixed<0x0212>, id) == 8, "offsetof(NetPacket_Fi static_assert(offsetof(NetPacket_Fixed<0x0212>, x) == 12, "offsetof(NetPacket_Fixed<0x0212>, x) == 12"); static_assert(offsetof(NetPacket_Fixed<0x0212>, y) == 14, "offsetof(NetPacket_Fixed<0x0212>, y) == 14"); static_assert(sizeof(NetPacket_Fixed<0x0212>) == 16, "sizeof(NetPacket_Fixed<0x0212>) == 16"); +static_assert(alignof(NetPacket_Fixed<0x0212>) == 1, "alignof(NetPacket_Fixed<0x0212>) == 1"); + + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0072> *network, Packet_Fixed<0x0072> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->char_id, native.char_id); + rv &= native_to_network(&network->login_id1, native.login_id1); + rv &= native_to_network(&network->client_tick, native.client_tick); + rv &= native_to_network(&network->sex, native.sex); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0072> *native, NetPacket_Fixed<0x0072> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->char_id, network.char_id); + rv &= network_to_native(&native->login_id1, network.login_id1); + rv &= network_to_native(&native->client_tick, network.client_tick); + rv &= network_to_native(&native->sex, network.sex); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0073> *network, Packet_Fixed<0x0073> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->tick, native.tick); + rv &= native_to_network(&network->pos, native.pos); + rv &= native_to_network(&network->five1, native.five1); + rv &= native_to_network(&network->five2, native.five2); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0073> *native, NetPacket_Fixed<0x0073> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->tick, network.tick); + rv &= network_to_native(&native->pos, network.pos); + rv &= network_to_native(&native->five1, network.five1); + rv &= network_to_native(&native->five2, network.five2); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0078> *network, Packet_Fixed<0x0078> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->speed, native.speed); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->species, native.species); + rv &= native_to_network(&network->unused_hair_style, native.unused_hair_style); + rv &= native_to_network(&network->unused_weapon, native.unused_weapon); + rv &= native_to_network(&network->unused_head_bottom_or_species_again, native.unused_head_bottom_or_species_again); + rv &= native_to_network(&network->unused_shield_or_part_of_guild_emblem, native.unused_shield_or_part_of_guild_emblem); + rv &= native_to_network(&network->unused_head_top_or_unused_part_of_guild_emblem, native.unused_head_top_or_unused_part_of_guild_emblem); + rv &= native_to_network(&network->unused_head_mid_or_part_of_guild_id, native.unused_head_mid_or_part_of_guild_id); + rv &= native_to_network(&network->unused_hair_color_or_part_of_guild_id, native.unused_hair_color_or_part_of_guild_id); + rv &= native_to_network(&network->unused_clothes_color, native.unused_clothes_color); + rv &= native_to_network(&network->unused_1, native.unused_1); + rv &= native_to_network(&network->unused_2, native.unused_2); + rv &= native_to_network(&network->unused_pos_again, native.unused_pos_again); + rv &= native_to_network(&network->unused_4b, native.unused_4b); + rv &= native_to_network(&network->unused_5, native.unused_5); + rv &= native_to_network(&network->unused_zero_1, native.unused_zero_1); + rv &= native_to_network(&network->unused_zero_2, native.unused_zero_2); + rv &= native_to_network(&network->unused_sex, native.unused_sex); + rv &= native_to_network(&network->pos, native.pos); + rv &= native_to_network(&network->five1, native.five1); + rv &= native_to_network(&network->five2, native.five2); + rv &= native_to_network(&network->zero, native.zero); + rv &= native_to_network(&network->level, native.level); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0078> *native, NetPacket_Fixed<0x0078> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->speed, network.speed); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->species, network.species); + rv &= network_to_native(&native->unused_hair_style, network.unused_hair_style); + rv &= network_to_native(&native->unused_weapon, network.unused_weapon); + rv &= network_to_native(&native->unused_head_bottom_or_species_again, network.unused_head_bottom_or_species_again); + rv &= network_to_native(&native->unused_shield_or_part_of_guild_emblem, network.unused_shield_or_part_of_guild_emblem); + rv &= network_to_native(&native->unused_head_top_or_unused_part_of_guild_emblem, network.unused_head_top_or_unused_part_of_guild_emblem); + rv &= network_to_native(&native->unused_head_mid_or_part_of_guild_id, network.unused_head_mid_or_part_of_guild_id); + rv &= network_to_native(&native->unused_hair_color_or_part_of_guild_id, network.unused_hair_color_or_part_of_guild_id); + rv &= network_to_native(&native->unused_clothes_color, network.unused_clothes_color); + rv &= network_to_native(&native->unused_1, network.unused_1); + rv &= network_to_native(&native->unused_2, network.unused_2); + rv &= network_to_native(&native->unused_pos_again, network.unused_pos_again); + rv &= network_to_native(&native->unused_4b, network.unused_4b); + rv &= network_to_native(&native->unused_5, network.unused_5); + rv &= network_to_native(&native->unused_zero_1, network.unused_zero_1); + rv &= network_to_native(&native->unused_zero_2, network.unused_zero_2); + rv &= network_to_native(&native->unused_sex, network.unused_sex); + rv &= network_to_native(&native->pos, network.pos); + rv &= network_to_native(&native->five1, network.five1); + rv &= network_to_native(&native->five2, network.five2); + rv &= network_to_native(&native->zero, network.zero); + rv &= network_to_native(&native->level, network.level); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x007b> *network, Packet_Fixed<0x007b> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->speed, native.speed); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->mob_class, native.mob_class); + rv &= native_to_network(&network->unused_hair_style, native.unused_hair_style); + rv &= native_to_network(&network->unused_weapon, native.unused_weapon); + rv &= native_to_network(&network->unused_head_bottom, native.unused_head_bottom); + rv &= native_to_network(&network->tick_and_maybe_part_of_guild_emblem, native.tick_and_maybe_part_of_guild_emblem); + rv &= native_to_network(&network->unused_shield_or_maybe_part_of_guild_emblem, native.unused_shield_or_maybe_part_of_guild_emblem); + rv &= native_to_network(&network->unused_head_top_or_maybe_part_of_guild_id, native.unused_head_top_or_maybe_part_of_guild_id); + rv &= native_to_network(&network->unused_head_mid_or_maybe_part_of_guild_id, native.unused_head_mid_or_maybe_part_of_guild_id); + rv &= native_to_network(&network->unused_hair_color, native.unused_hair_color); + rv &= native_to_network(&network->unused_clothes_color, native.unused_clothes_color); + rv &= native_to_network(&network->unused_1, native.unused_1); + rv &= native_to_network(&network->unused_2, native.unused_2); + rv &= native_to_network(&network->unused_3, native.unused_3); + rv &= native_to_network(&network->unused_4, native.unused_4); + rv &= native_to_network(&network->unused_5, native.unused_5); + rv &= native_to_network(&network->unused_zero_1, native.unused_zero_1); + rv &= native_to_network(&network->unused_zero_2, native.unused_zero_2); + rv &= native_to_network(&network->unused_sex, native.unused_sex); + rv &= native_to_network(&network->pos2, native.pos2); + rv &= native_to_network(&network->zero, native.zero); + rv &= native_to_network(&network->five1, native.five1); + rv &= native_to_network(&network->five2, native.five2); + rv &= native_to_network(&network->level, native.level); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x007b> *native, NetPacket_Fixed<0x007b> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->speed, network.speed); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->mob_class, network.mob_class); + rv &= network_to_native(&native->unused_hair_style, network.unused_hair_style); + rv &= network_to_native(&native->unused_weapon, network.unused_weapon); + rv &= network_to_native(&native->unused_head_bottom, network.unused_head_bottom); + rv &= network_to_native(&native->tick_and_maybe_part_of_guild_emblem, network.tick_and_maybe_part_of_guild_emblem); + rv &= network_to_native(&native->unused_shield_or_maybe_part_of_guild_emblem, network.unused_shield_or_maybe_part_of_guild_emblem); + rv &= network_to_native(&native->unused_head_top_or_maybe_part_of_guild_id, network.unused_head_top_or_maybe_part_of_guild_id); + rv &= network_to_native(&native->unused_head_mid_or_maybe_part_of_guild_id, network.unused_head_mid_or_maybe_part_of_guild_id); + rv &= network_to_native(&native->unused_hair_color, network.unused_hair_color); + rv &= network_to_native(&native->unused_clothes_color, network.unused_clothes_color); + rv &= network_to_native(&native->unused_1, network.unused_1); + rv &= network_to_native(&native->unused_2, network.unused_2); + rv &= network_to_native(&native->unused_3, network.unused_3); + rv &= network_to_native(&native->unused_4, network.unused_4); + rv &= network_to_native(&native->unused_5, network.unused_5); + rv &= network_to_native(&native->unused_zero_1, network.unused_zero_1); + rv &= network_to_native(&native->unused_zero_2, network.unused_zero_2); + rv &= network_to_native(&native->unused_sex, network.unused_sex); + rv &= network_to_native(&native->pos2, network.pos2); + rv &= network_to_native(&native->zero, network.zero); + rv &= network_to_native(&native->five1, network.five1); + rv &= network_to_native(&native->five2, network.five2); + rv &= network_to_native(&native->level, network.level); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x007c> *network, Packet_Fixed<0x007c> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->speed, native.speed); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->unknown_1, native.unknown_1); + rv &= native_to_network(&network->unknown_2, native.unknown_2); + rv &= native_to_network(&network->unknown_3, native.unknown_3); + rv &= native_to_network(&network->species, native.species); + rv &= native_to_network(&network->unknown_4, native.unknown_4); + rv &= native_to_network(&network->unknown_5, native.unknown_5); + rv &= native_to_network(&network->unknown_6, native.unknown_6); + rv &= native_to_network(&network->unknown_7, native.unknown_7); + rv &= native_to_network(&network->unknown_8, native.unknown_8); + rv &= native_to_network(&network->unknown_9, native.unknown_9); + rv &= native_to_network(&network->unknown_10, native.unknown_10); + rv &= native_to_network(&network->pos, native.pos); + rv &= native_to_network(&network->unknown_11, native.unknown_11); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x007c> *native, NetPacket_Fixed<0x007c> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->speed, network.speed); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->unknown_1, network.unknown_1); + rv &= network_to_native(&native->unknown_2, network.unknown_2); + rv &= network_to_native(&native->unknown_3, network.unknown_3); + rv &= network_to_native(&native->species, network.species); + rv &= network_to_native(&native->unknown_4, network.unknown_4); + rv &= network_to_native(&native->unknown_5, network.unknown_5); + rv &= network_to_native(&native->unknown_6, network.unknown_6); + rv &= network_to_native(&native->unknown_7, network.unknown_7); + rv &= network_to_native(&native->unknown_8, network.unknown_8); + rv &= network_to_native(&native->unknown_9, network.unknown_9); + rv &= network_to_native(&native->unknown_10, network.unknown_10); + rv &= network_to_native(&native->pos, network.pos); + rv &= network_to_native(&native->unknown_11, network.unknown_11); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x007d> *network, Packet_Fixed<0x007d> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x007d> *native, NetPacket_Fixed<0x007d> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x007e> *network, Packet_Fixed<0x007e> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->client_tick, native.client_tick); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x007e> *native, NetPacket_Fixed<0x007e> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->client_tick, network.client_tick); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x007f> *network, Packet_Fixed<0x007f> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->tick, native.tick); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x007f> *native, NetPacket_Fixed<0x007f> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->tick, network.tick); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0080> *network, Packet_Fixed<0x0080> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0080> *native, NetPacket_Fixed<0x0080> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0085> *network, Packet_Fixed<0x0085> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->pos, native.pos); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0085> *native, NetPacket_Fixed<0x0085> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->pos, network.pos); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0087> *network, Packet_Fixed<0x0087> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->tick, native.tick); + rv &= native_to_network(&network->pos2, native.pos2); + rv &= native_to_network(&network->zero, native.zero); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0087> *native, NetPacket_Fixed<0x0087> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->tick, network.tick); + rv &= network_to_native(&native->pos2, network.pos2); + rv &= network_to_native(&native->zero, network.zero); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0088> *network, Packet_Fixed<0x0088> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->x, native.x); + rv &= native_to_network(&network->y, native.y); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0088> *native, NetPacket_Fixed<0x0088> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->x, network.x); + rv &= network_to_native(&native->y, network.y); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0089> *network, Packet_Fixed<0x0089> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->target_id, native.target_id); + rv &= native_to_network(&network->action, native.action); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0089> *native, NetPacket_Fixed<0x0089> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->target_id, network.target_id); + rv &= network_to_native(&native->action, network.action); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x008a> *network, Packet_Fixed<0x008a> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->src_id, native.src_id); + rv &= native_to_network(&network->dst_id, native.dst_id); + rv &= native_to_network(&network->tick, native.tick); + rv &= native_to_network(&network->sdelay, native.sdelay); + rv &= native_to_network(&network->ddelay, native.ddelay); + rv &= native_to_network(&network->damage, native.damage); + rv &= native_to_network(&network->div, native.div); + rv &= native_to_network(&network->damage_type, native.damage_type); + rv &= native_to_network(&network->damage2, native.damage2); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x008a> *native, NetPacket_Fixed<0x008a> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->src_id, network.src_id); + rv &= network_to_native(&native->dst_id, network.dst_id); + rv &= network_to_native(&native->tick, network.tick); + rv &= network_to_native(&native->sdelay, network.sdelay); + rv &= network_to_native(&native->ddelay, network.ddelay); + rv &= network_to_native(&native->damage, network.damage); + rv &= network_to_native(&native->div, network.div); + rv &= network_to_native(&native->damage_type, network.damage_type); + rv &= network_to_native(&native->damage2, network.damage2); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x008c> *network, Packet_Head<0x008c> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x008c> *native, NetPacket_Head<0x008c> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x008c> *network, Packet_Repeat<0x008c> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x008c> *native, NetPacket_Repeat<0x008c> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x008d> *network, Packet_Head<0x008d> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x008d> *native, NetPacket_Head<0x008d> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x008d> *network, Packet_Repeat<0x008d> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x008d> *native, NetPacket_Repeat<0x008d> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x008e> *network, Packet_Head<0x008e> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x008e> *native, NetPacket_Head<0x008e> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x008e> *network, Packet_Repeat<0x008e> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x008e> *native, NetPacket_Repeat<0x008e> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0090> *network, Packet_Fixed<0x0090> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->unused, native.unused); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0090> *native, NetPacket_Fixed<0x0090> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->unused, network.unused); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0091> *network, Packet_Fixed<0x0091> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->map_name, native.map_name); + rv &= native_to_network(&network->x, native.x); + rv &= native_to_network(&network->y, native.y); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0091> *native, NetPacket_Fixed<0x0091> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->map_name, network.map_name); + rv &= network_to_native(&native->x, network.x); + rv &= network_to_native(&native->y, network.y); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0092> *network, Packet_Fixed<0x0092> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->map_name, native.map_name); + rv &= native_to_network(&network->x, native.x); + rv &= native_to_network(&network->y, native.y); + rv &= native_to_network(&network->ip, native.ip); + rv &= native_to_network(&network->port, native.port); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0092> *native, NetPacket_Fixed<0x0092> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->map_name, network.map_name); + rv &= network_to_native(&native->x, network.x); + rv &= network_to_native(&native->y, network.y); + rv &= network_to_native(&native->ip, network.ip); + rv &= network_to_native(&native->port, network.port); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0094> *network, Packet_Fixed<0x0094> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0094> *native, NetPacket_Fixed<0x0094> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0095> *network, Packet_Fixed<0x0095> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->char_name, native.char_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0095> *native, NetPacket_Fixed<0x0095> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->char_name, network.char_name); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x0096> *network, Packet_Head<0x0096> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->target_name, native.target_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x0096> *native, NetPacket_Head<0x0096> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->target_name, network.target_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x0096> *network, Packet_Repeat<0x0096> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x0096> *native, NetPacket_Repeat<0x0096> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x0097> *network, Packet_Head<0x0097> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->char_name, native.char_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x0097> *native, NetPacket_Head<0x0097> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->char_name, network.char_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x0097> *network, Packet_Repeat<0x0097> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x0097> *native, NetPacket_Repeat<0x0097> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0098> *network, Packet_Fixed<0x0098> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0098> *native, NetPacket_Fixed<0x0098> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x009a> *network, Packet_Head<0x009a> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x009a> *native, NetPacket_Head<0x009a> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x009a> *network, Packet_Repeat<0x009a> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x009a> *native, NetPacket_Repeat<0x009a> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x009b> *network, Packet_Fixed<0x009b> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->unused, native.unused); + rv &= native_to_network(&network->client_dir, native.client_dir); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x009b> *native, NetPacket_Fixed<0x009b> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->unused, network.unused); + rv &= network_to_native(&native->client_dir, network.client_dir); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x009c> *network, Packet_Fixed<0x009c> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->zero, native.zero); + rv &= native_to_network(&network->client_dir, native.client_dir); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x009c> *native, NetPacket_Fixed<0x009c> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->zero, network.zero); + rv &= network_to_native(&native->client_dir, network.client_dir); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x009d> *network, Packet_Fixed<0x009d> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->x, native.x); + rv &= native_to_network(&network->y, native.y); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->subx, native.subx); + rv &= native_to_network(&network->suby, native.suby); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x009d> *native, NetPacket_Fixed<0x009d> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->x, network.x); + rv &= network_to_native(&native->y, network.y); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->subx, network.subx); + rv &= network_to_native(&native->suby, network.suby); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x009e> *network, Packet_Fixed<0x009e> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->x, native.x); + rv &= native_to_network(&network->y, native.y); + rv &= native_to_network(&network->subx, native.subx); + rv &= native_to_network(&network->suby, native.suby); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x009e> *native, NetPacket_Fixed<0x009e> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->x, network.x); + rv &= network_to_native(&native->y, network.y); + rv &= network_to_native(&native->subx, network.subx); + rv &= network_to_native(&native->suby, network.suby); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x009f> *network, Packet_Fixed<0x009f> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->object_id, native.object_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x009f> *native, NetPacket_Fixed<0x009f> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->object_id, network.object_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00a0> *network, Packet_Fixed<0x00a0> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->broken_or_attribute, native.broken_or_attribute); + rv &= native_to_network(&network->refine, native.refine); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + rv &= native_to_network(&network->epos, native.epos); + rv &= native_to_network(&network->item_type, native.item_type); + rv &= native_to_network(&network->pickup_fail, native.pickup_fail); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00a0> *native, NetPacket_Fixed<0x00a0> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->broken_or_attribute, network.broken_or_attribute); + rv &= network_to_native(&native->refine, network.refine); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + rv &= network_to_native(&native->epos, network.epos); + rv &= network_to_native(&native->item_type, network.item_type); + rv &= network_to_native(&native->pickup_fail, network.pickup_fail); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00a1> *network, Packet_Fixed<0x00a1> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00a1> *native, NetPacket_Fixed<0x00a1> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00a2> *network, Packet_Fixed<0x00a2> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00a2> *native, NetPacket_Fixed<0x00a2> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00a4> *network, Packet_Head<0x00a4> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00a4> *native, NetPacket_Head<0x00a4> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00a4> *network, Packet_Repeat<0x00a4> native) +{ + bool rv = true; + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->item_type, native.item_type); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->epos_pc, native.epos_pc); + rv &= native_to_network(&network->epos_inv, native.epos_inv); + rv &= native_to_network(&network->broken_or_attribute, native.broken_or_attribute); + rv &= native_to_network(&network->refine, native.refine); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00a4> *native, NetPacket_Repeat<0x00a4> network) +{ + bool rv = true; + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->item_type, network.item_type); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->epos_pc, network.epos_pc); + rv &= network_to_native(&native->epos_inv, network.epos_inv); + rv &= network_to_native(&native->broken_or_attribute, network.broken_or_attribute); + rv &= network_to_native(&native->refine, network.refine); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00a6> *network, Packet_Head<0x00a6> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00a6> *native, NetPacket_Head<0x00a6> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00a6> *network, Packet_Repeat<0x00a6> native) +{ + bool rv = true; + rv &= native_to_network(&network->soff1, native.soff1); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->item_type, native.item_type); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->epos_id, native.epos_id); + rv &= native_to_network(&network->epos_stor, native.epos_stor); + rv &= native_to_network(&network->broken_or_attribute, native.broken_or_attribute); + rv &= native_to_network(&network->refine, native.refine); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00a6> *native, NetPacket_Repeat<0x00a6> network) +{ + bool rv = true; + rv &= network_to_native(&native->soff1, network.soff1); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->item_type, network.item_type); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->epos_id, network.epos_id); + rv &= network_to_native(&native->epos_stor, network.epos_stor); + rv &= network_to_native(&native->broken_or_attribute, network.broken_or_attribute); + rv &= network_to_native(&native->refine, network.refine); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00a7> *network, Packet_Fixed<0x00a7> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->unused_id, native.unused_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00a7> *native, NetPacket_Fixed<0x00a7> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->unused_id, network.unused_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00a8> *network, Packet_Fixed<0x00a8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->ok, native.ok); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00a8> *native, NetPacket_Fixed<0x00a8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->ok, network.ok); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00a9> *network, Packet_Fixed<0x00a9> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->epos_ignored, native.epos_ignored); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00a9> *native, NetPacket_Fixed<0x00a9> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->epos_ignored, network.epos_ignored); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00aa> *network, Packet_Fixed<0x00aa> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->epos, native.epos); + rv &= native_to_network(&network->ok, native.ok); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00aa> *native, NetPacket_Fixed<0x00aa> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->epos, network.epos); + rv &= network_to_native(&native->ok, network.ok); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ab> *network, Packet_Fixed<0x00ab> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ab> *native, NetPacket_Fixed<0x00ab> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ac> *network, Packet_Fixed<0x00ac> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->epos, native.epos); + rv &= native_to_network(&network->ok, native.ok); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ac> *native, NetPacket_Fixed<0x00ac> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->epos, network.epos); + rv &= network_to_native(&native->ok, network.ok); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00af> *network, Packet_Fixed<0x00af> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00af> *native, NetPacket_Fixed<0x00af> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b0> *network, Packet_Fixed<0x00b0> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->sp_type, native.sp_type); + rv &= native_to_network(&network->value, native.value); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b0> *native, NetPacket_Fixed<0x00b0> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->sp_type, network.sp_type); + rv &= network_to_native(&native->value, network.value); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b1> *network, Packet_Fixed<0x00b1> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->sp_type, native.sp_type); + rv &= native_to_network(&network->value, native.value); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b1> *native, NetPacket_Fixed<0x00b1> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->sp_type, network.sp_type); + rv &= network_to_native(&native->value, network.value); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b2> *network, Packet_Fixed<0x00b2> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b2> *native, NetPacket_Fixed<0x00b2> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b3> *network, Packet_Fixed<0x00b3> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->one, native.one); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b3> *native, NetPacket_Fixed<0x00b3> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->one, network.one); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00b4> *network, Packet_Head<0x00b4> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00b4> *native, NetPacket_Head<0x00b4> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00b4> *network, Packet_Repeat<0x00b4> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00b4> *native, NetPacket_Repeat<0x00b4> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b5> *network, Packet_Fixed<0x00b5> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b5> *native, NetPacket_Fixed<0x00b5> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b6> *network, Packet_Fixed<0x00b6> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b6> *native, NetPacket_Fixed<0x00b6> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00b7> *network, Packet_Head<0x00b7> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00b7> *native, NetPacket_Head<0x00b7> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00b7> *network, Packet_Repeat<0x00b7> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00b7> *native, NetPacket_Repeat<0x00b7> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b8> *network, Packet_Fixed<0x00b8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->npc_id, native.npc_id); + rv &= native_to_network(&network->menu_entry, native.menu_entry); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b8> *native, NetPacket_Fixed<0x00b8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->npc_id, network.npc_id); + rv &= network_to_native(&native->menu_entry, network.menu_entry); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00b9> *network, Packet_Fixed<0x00b9> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->npc_id, native.npc_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00b9> *native, NetPacket_Fixed<0x00b9> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->npc_id, network.npc_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00bb> *network, Packet_Fixed<0x00bb> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->asp, native.asp); + rv &= native_to_network(&network->unused, native.unused); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00bb> *native, NetPacket_Fixed<0x00bb> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->asp, network.asp); + rv &= network_to_native(&native->unused, network.unused); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00bc> *network, Packet_Fixed<0x00bc> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->sp_type, native.sp_type); + rv &= native_to_network(&network->ok, native.ok); + rv &= native_to_network(&network->val, native.val); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00bc> *native, NetPacket_Fixed<0x00bc> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->sp_type, network.sp_type); + rv &= network_to_native(&native->ok, network.ok); + rv &= network_to_native(&native->val, network.val); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00bd> *network, Packet_Fixed<0x00bd> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->status_point, native.status_point); + rv &= native_to_network(&network->str_attr, native.str_attr); + rv &= native_to_network(&network->str_upd, native.str_upd); + rv &= native_to_network(&network->agi_attr, native.agi_attr); + rv &= native_to_network(&network->agi_upd, native.agi_upd); + rv &= native_to_network(&network->vit_attr, native.vit_attr); + rv &= native_to_network(&network->vit_upd, native.vit_upd); + rv &= native_to_network(&network->int_attr, native.int_attr); + rv &= native_to_network(&network->int_upd, native.int_upd); + rv &= native_to_network(&network->dex_attr, native.dex_attr); + rv &= native_to_network(&network->dex_upd, native.dex_upd); + rv &= native_to_network(&network->luk_attr, native.luk_attr); + rv &= native_to_network(&network->luk_upd, native.luk_upd); + rv &= native_to_network(&network->atk_sum, native.atk_sum); + rv &= native_to_network(&network->watk2, native.watk2); + rv &= native_to_network(&network->matk1, native.matk1); + rv &= native_to_network(&network->matk2, native.matk2); + rv &= native_to_network(&network->def, native.def); + rv &= native_to_network(&network->def2, native.def2); + rv &= native_to_network(&network->mdef, native.mdef); + rv &= native_to_network(&network->mdef2, native.mdef2); + rv &= native_to_network(&network->hit, native.hit); + rv &= native_to_network(&network->flee, native.flee); + rv &= native_to_network(&network->flee2, native.flee2); + rv &= native_to_network(&network->critical, native.critical); + rv &= native_to_network(&network->karma, native.karma); + rv &= native_to_network(&network->manner, native.manner); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00bd> *native, NetPacket_Fixed<0x00bd> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->status_point, network.status_point); + rv &= network_to_native(&native->str_attr, network.str_attr); + rv &= network_to_native(&native->str_upd, network.str_upd); + rv &= network_to_native(&native->agi_attr, network.agi_attr); + rv &= network_to_native(&native->agi_upd, network.agi_upd); + rv &= network_to_native(&native->vit_attr, network.vit_attr); + rv &= network_to_native(&native->vit_upd, network.vit_upd); + rv &= network_to_native(&native->int_attr, network.int_attr); + rv &= network_to_native(&native->int_upd, network.int_upd); + rv &= network_to_native(&native->dex_attr, network.dex_attr); + rv &= network_to_native(&native->dex_upd, network.dex_upd); + rv &= network_to_native(&native->luk_attr, network.luk_attr); + rv &= network_to_native(&native->luk_upd, network.luk_upd); + rv &= network_to_native(&native->atk_sum, network.atk_sum); + rv &= network_to_native(&native->watk2, network.watk2); + rv &= network_to_native(&native->matk1, network.matk1); + rv &= network_to_native(&native->matk2, network.matk2); + rv &= network_to_native(&native->def, network.def); + rv &= network_to_native(&native->def2, network.def2); + rv &= network_to_native(&native->mdef, network.mdef); + rv &= network_to_native(&native->mdef2, network.mdef2); + rv &= network_to_native(&native->hit, network.hit); + rv &= network_to_native(&native->flee, network.flee); + rv &= network_to_native(&native->flee2, network.flee2); + rv &= network_to_native(&native->critical, network.critical); + rv &= network_to_native(&native->karma, network.karma); + rv &= network_to_native(&native->manner, network.manner); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00be> *network, Packet_Fixed<0x00be> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->sp_type, native.sp_type); + rv &= native_to_network(&network->value, native.value); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00be> *native, NetPacket_Fixed<0x00be> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->sp_type, network.sp_type); + rv &= network_to_native(&native->value, network.value); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00bf> *network, Packet_Fixed<0x00bf> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->emote, native.emote); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00bf> *native, NetPacket_Fixed<0x00bf> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->emote, network.emote); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00c0> *network, Packet_Fixed<0x00c0> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00c0> *native, NetPacket_Fixed<0x00c0> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00c1> *network, Packet_Fixed<0x00c1> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00c1> *native, NetPacket_Fixed<0x00c1> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00c2> *network, Packet_Fixed<0x00c2> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->users, native.users); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00c2> *native, NetPacket_Fixed<0x00c2> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->users, network.users); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00c4> *network, Packet_Fixed<0x00c4> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00c4> *native, NetPacket_Fixed<0x00c4> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00c5> *network, Packet_Fixed<0x00c5> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00c5> *native, NetPacket_Fixed<0x00c5> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00c6> *network, Packet_Head<0x00c6> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00c6> *native, NetPacket_Head<0x00c6> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00c6> *network, Packet_Repeat<0x00c6> native) +{ + bool rv = true; + rv &= native_to_network(&network->base_price, native.base_price); + rv &= native_to_network(&network->actual_price, native.actual_price); + rv &= native_to_network(&network->type, native.type); + rv &= native_to_network(&network->name_id, native.name_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00c6> *native, NetPacket_Repeat<0x00c6> network) +{ + bool rv = true; + rv &= network_to_native(&native->base_price, network.base_price); + rv &= network_to_native(&native->actual_price, network.actual_price); + rv &= network_to_native(&native->type, network.type); + rv &= network_to_native(&native->name_id, network.name_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00c7> *network, Packet_Head<0x00c7> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00c7> *native, NetPacket_Head<0x00c7> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00c7> *network, Packet_Repeat<0x00c7> native) +{ + bool rv = true; + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->base_price, native.base_price); + rv &= native_to_network(&network->actual_price, native.actual_price); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00c7> *native, NetPacket_Repeat<0x00c7> network) +{ + bool rv = true; + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->base_price, network.base_price); + rv &= network_to_native(&native->actual_price, network.actual_price); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00c8> *network, Packet_Head<0x00c8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00c8> *native, NetPacket_Head<0x00c8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00c8> *network, Packet_Repeat<0x00c8> native) +{ + bool rv = true; + rv &= native_to_network(&network->count, native.count); + rv &= native_to_network(&network->name_id, native.name_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00c8> *native, NetPacket_Repeat<0x00c8> network) +{ + bool rv = true; + rv &= network_to_native(&native->count, network.count); + rv &= network_to_native(&native->name_id, network.name_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00c9> *network, Packet_Head<0x00c9> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00c9> *native, NetPacket_Head<0x00c9> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00c9> *network, Packet_Repeat<0x00c9> native) +{ + bool rv = true; + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->count, native.count); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00c9> *native, NetPacket_Repeat<0x00c9> network) +{ + bool rv = true; + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->count, network.count); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ca> *network, Packet_Fixed<0x00ca> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->fail, native.fail); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ca> *native, NetPacket_Fixed<0x00ca> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->fail, network.fail); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00cb> *network, Packet_Fixed<0x00cb> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->fail, native.fail); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00cb> *native, NetPacket_Fixed<0x00cb> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->fail, network.fail); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00cd> *network, Packet_Fixed<0x00cd> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00cd> *native, NetPacket_Fixed<0x00cd> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00e4> *network, Packet_Fixed<0x00e4> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00e4> *native, NetPacket_Fixed<0x00e4> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00e5> *network, Packet_Fixed<0x00e5> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->char_name, native.char_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00e5> *native, NetPacket_Fixed<0x00e5> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->char_name, network.char_name); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00e6> *network, Packet_Fixed<0x00e6> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00e6> *native, NetPacket_Fixed<0x00e6> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00e7> *network, Packet_Fixed<0x00e7> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00e7> *native, NetPacket_Fixed<0x00e7> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00e8> *network, Packet_Fixed<0x00e8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->zeny_or_ioff2, native.zeny_or_ioff2); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00e8> *native, NetPacket_Fixed<0x00e8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->zeny_or_ioff2, network.zeny_or_ioff2); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00e9> *network, Packet_Fixed<0x00e9> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->broken_or_attribute, native.broken_or_attribute); + rv &= native_to_network(&network->refine, native.refine); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00e9> *native, NetPacket_Fixed<0x00e9> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->broken_or_attribute, network.broken_or_attribute); + rv &= network_to_native(&native->refine, network.refine); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00eb> *network, Packet_Fixed<0x00eb> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00eb> *native, NetPacket_Fixed<0x00eb> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ec> *network, Packet_Fixed<0x00ec> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->fail, native.fail); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ec> *native, NetPacket_Fixed<0x00ec> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->fail, network.fail); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ed> *network, Packet_Fixed<0x00ed> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ed> *native, NetPacket_Fixed<0x00ed> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ee> *network, Packet_Fixed<0x00ee> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ee> *native, NetPacket_Fixed<0x00ee> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ef> *network, Packet_Fixed<0x00ef> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ef> *native, NetPacket_Fixed<0x00ef> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f0> *network, Packet_Fixed<0x00f0> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->fail, native.fail); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f0> *native, NetPacket_Fixed<0x00f0> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->fail, network.fail); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f2> *network, Packet_Fixed<0x00f2> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->current_slots, native.current_slots); + rv &= native_to_network(&network->max_slots, native.max_slots); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f2> *native, NetPacket_Fixed<0x00f2> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->current_slots, network.current_slots); + rv &= network_to_native(&native->max_slots, network.max_slots); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f3> *network, Packet_Fixed<0x00f3> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f3> *native, NetPacket_Fixed<0x00f3> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f4> *network, Packet_Fixed<0x00f4> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->soff1, native.soff1); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->broken_or_attribute, native.broken_or_attribute); + rv &= native_to_network(&network->refine, native.refine); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f4> *native, NetPacket_Fixed<0x00f4> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->soff1, network.soff1); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->broken_or_attribute, network.broken_or_attribute); + rv &= network_to_native(&native->refine, network.refine); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f5> *network, Packet_Fixed<0x00f5> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->soff1, native.soff1); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f5> *native, NetPacket_Fixed<0x00f5> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->soff1, network.soff1); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f6> *network, Packet_Fixed<0x00f6> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->soff1, native.soff1); + rv &= native_to_network(&network->amount, native.amount); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f6> *native, NetPacket_Fixed<0x00f6> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->soff1, network.soff1); + rv &= network_to_native(&native->amount, network.amount); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f7> *network, Packet_Fixed<0x00f7> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f7> *native, NetPacket_Fixed<0x00f7> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f8> *network, Packet_Fixed<0x00f8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f8> *native, NetPacket_Fixed<0x00f8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00f9> *network, Packet_Fixed<0x00f9> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->party_name, native.party_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00f9> *native, NetPacket_Fixed<0x00f9> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->party_name, network.party_name); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00fa> *network, Packet_Fixed<0x00fa> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00fa> *native, NetPacket_Fixed<0x00fa> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x00fb> *network, Packet_Head<0x00fb> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->party_name, native.party_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x00fb> *native, NetPacket_Head<0x00fb> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->party_name, network.party_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x00fb> *network, Packet_Repeat<0x00fb> native) +{ + bool rv = true; + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->char_name, native.char_name); + rv &= native_to_network(&network->map_name, native.map_name); + rv &= native_to_network(&network->leader, native.leader); + rv &= native_to_network(&network->online, native.online); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x00fb> *native, NetPacket_Repeat<0x00fb> network) +{ + bool rv = true; + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->char_name, network.char_name); + rv &= network_to_native(&native->map_name, network.map_name); + rv &= network_to_native(&native->leader, network.leader); + rv &= network_to_native(&native->online, network.online); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00fc> *network, Packet_Fixed<0x00fc> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00fc> *native, NetPacket_Fixed<0x00fc> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00fd> *network, Packet_Fixed<0x00fd> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->char_name, native.char_name); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00fd> *native, NetPacket_Fixed<0x00fd> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->char_name, network.char_name); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00fe> *network, Packet_Fixed<0x00fe> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->party_name, native.party_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00fe> *native, NetPacket_Fixed<0x00fe> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->party_name, network.party_name); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x00ff> *network, Packet_Fixed<0x00ff> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x00ff> *native, NetPacket_Fixed<0x00ff> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0100> *network, Packet_Fixed<0x0100> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0100> *native, NetPacket_Fixed<0x0100> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0101> *network, Packet_Fixed<0x0101> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->exp, native.exp); + rv &= native_to_network(&network->item, native.item); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0101> *native, NetPacket_Fixed<0x0101> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->exp, network.exp); + rv &= network_to_native(&native->item, network.item); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0102> *network, Packet_Fixed<0x0102> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->exp, native.exp); + rv &= native_to_network(&network->item, native.item); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0102> *native, NetPacket_Fixed<0x0102> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->exp, network.exp); + rv &= network_to_native(&native->item, network.item); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0103> *network, Packet_Fixed<0x0103> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->unused_char_name, native.unused_char_name); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0103> *native, NetPacket_Fixed<0x0103> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->unused_char_name, network.unused_char_name); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0105> *network, Packet_Fixed<0x0105> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->char_name, native.char_name); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0105> *native, NetPacket_Fixed<0x0105> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->char_name, network.char_name); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0106> *network, Packet_Fixed<0x0106> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->hp, native.hp); + rv &= native_to_network(&network->max_hp, native.max_hp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0106> *native, NetPacket_Fixed<0x0106> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->hp, network.hp); + rv &= network_to_native(&native->max_hp, network.max_hp); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0107> *network, Packet_Fixed<0x0107> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->account_id, native.account_id); + rv &= native_to_network(&network->x, native.x); + rv &= native_to_network(&network->y, native.y); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0107> *native, NetPacket_Fixed<0x0107> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->account_id, network.account_id); + rv &= network_to_native(&native->x, network.x); + rv &= network_to_native(&native->y, network.y); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x0108> *network, Packet_Head<0x0108> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x0108> *native, NetPacket_Head<0x0108> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x0108> *network, Packet_Repeat<0x0108> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x0108> *native, NetPacket_Repeat<0x0108> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x0109> *network, Packet_Head<0x0109> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->account_id, native.account_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x0109> *native, NetPacket_Head<0x0109> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->account_id, network.account_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x0109> *network, Packet_Repeat<0x0109> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x0109> *native, NetPacket_Repeat<0x0109> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x010c> *network, Packet_Fixed<0x010c> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x010c> *native, NetPacket_Fixed<0x010c> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x010e> *network, Packet_Fixed<0x010e> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->skill_id, native.skill_id); + rv &= native_to_network(&network->level, native.level); + rv &= native_to_network(&network->sp, native.sp); + rv &= native_to_network(&network->range, native.range); + rv &= native_to_network(&network->can_raise, native.can_raise); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x010e> *native, NetPacket_Fixed<0x010e> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->skill_id, network.skill_id); + rv &= network_to_native(&native->level, network.level); + rv &= network_to_native(&native->sp, network.sp); + rv &= network_to_native(&native->range, network.range); + rv &= network_to_native(&native->can_raise, network.can_raise); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x010f> *network, Packet_Head<0x010f> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x010f> *native, NetPacket_Head<0x010f> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x010f> *network, Packet_Repeat<0x010f> native) +{ + bool rv = true; + rv &= native_to_network(&network->info, native.info); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x010f> *native, NetPacket_Repeat<0x010f> network) +{ + bool rv = true; + rv &= network_to_native(&native->info, network.info); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0110> *network, Packet_Fixed<0x0110> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->skill_id, native.skill_id); + rv &= native_to_network(&network->btype, native.btype); + rv &= native_to_network(&network->zero1, native.zero1); + rv &= native_to_network(&network->zero2, native.zero2); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0110> *native, NetPacket_Fixed<0x0110> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->skill_id, network.skill_id); + rv &= network_to_native(&native->btype, network.btype); + rv &= network_to_native(&native->zero1, network.zero1); + rv &= network_to_native(&native->zero2, network.zero2); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0112> *network, Packet_Fixed<0x0112> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->skill_id, native.skill_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0112> *native, NetPacket_Fixed<0x0112> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->skill_id, network.skill_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0118> *network, Packet_Fixed<0x0118> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0118> *native, NetPacket_Fixed<0x0118> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0119> *network, Packet_Fixed<0x0119> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->zero, native.zero); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0119> *native, NetPacket_Fixed<0x0119> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->zero, network.zero); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0139> *network, Packet_Fixed<0x0139> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->bl_x, native.bl_x); + rv &= native_to_network(&network->bl_y, native.bl_y); + rv &= native_to_network(&network->sd_x, native.sd_x); + rv &= native_to_network(&network->sd_y, native.sd_y); + rv &= native_to_network(&network->range, native.range); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0139> *native, NetPacket_Fixed<0x0139> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->bl_x, network.bl_x); + rv &= network_to_native(&native->bl_y, network.bl_y); + rv &= network_to_native(&native->sd_x, network.sd_x); + rv &= network_to_native(&native->sd_y, network.sd_y); + rv &= network_to_native(&native->range, network.range); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x013a> *network, Packet_Fixed<0x013a> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->attack_range, native.attack_range); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x013a> *native, NetPacket_Fixed<0x013a> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->attack_range, network.attack_range); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x013b> *network, Packet_Fixed<0x013b> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x013b> *native, NetPacket_Fixed<0x013b> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x013c> *network, Packet_Fixed<0x013c> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x013c> *native, NetPacket_Fixed<0x013c> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0141> *network, Packet_Fixed<0x0141> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->sp_type, native.sp_type); + rv &= native_to_network(&network->zero, native.zero); + rv &= native_to_network(&network->value_status, native.value_status); + rv &= native_to_network(&network->value_b_e, native.value_b_e); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0141> *native, NetPacket_Fixed<0x0141> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->sp_type, network.sp_type); + rv &= network_to_native(&native->zero, network.zero); + rv &= network_to_native(&native->value_status, network.value_status); + rv &= network_to_native(&native->value_b_e, network.value_b_e); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0142> *network, Packet_Fixed<0x0142> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0142> *native, NetPacket_Fixed<0x0142> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0143> *network, Packet_Fixed<0x0143> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->input_int_value, native.input_int_value); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0143> *native, NetPacket_Fixed<0x0143> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->input_int_value, network.input_int_value); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0146> *network, Packet_Fixed<0x0146> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0146> *native, NetPacket_Fixed<0x0146> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0147> *network, Packet_Fixed<0x0147> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->info, native.info); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0147> *native, NetPacket_Fixed<0x0147> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->info, network.info); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0148> *network, Packet_Fixed<0x0148> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0148> *native, NetPacket_Fixed<0x0148> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x014d> *network, Packet_Fixed<0x014d> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x014d> *native, NetPacket_Fixed<0x014d> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x018a> *network, Packet_Fixed<0x018a> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->unused, native.unused); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x018a> *native, NetPacket_Fixed<0x018a> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->unused, network.unused); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x018b> *network, Packet_Fixed<0x018b> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->okay, native.okay); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x018b> *native, NetPacket_Fixed<0x018b> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->okay, network.okay); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0195> *network, Packet_Fixed<0x0195> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->party_name, native.party_name); + rv &= native_to_network(&network->guild_name, native.guild_name); + rv &= native_to_network(&network->guild_pos, native.guild_pos); + rv &= native_to_network(&network->guild_pos_again, native.guild_pos_again); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0195> *native, NetPacket_Fixed<0x0195> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->party_name, network.party_name); + rv &= network_to_native(&native->guild_name, network.guild_name); + rv &= network_to_native(&native->guild_pos, network.guild_pos); + rv &= network_to_native(&native->guild_pos_again, network.guild_pos_again); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x0196> *network, Packet_Fixed<0x0196> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->sc_type, native.sc_type); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->flag, native.flag); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x0196> *native, NetPacket_Fixed<0x0196> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->sc_type, network.sc_type); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->flag, network.flag); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x019b> *network, Packet_Fixed<0x019b> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->type, native.type); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x019b> *native, NetPacket_Fixed<0x019b> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->type, network.type); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01b1> *network, Packet_Fixed<0x01b1> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->fail, native.fail); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01b1> *native, NetPacket_Fixed<0x01b1> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->fail, network.fail); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01c8> *network, Packet_Fixed<0x01c8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->ok, native.ok); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01c8> *native, NetPacket_Fixed<0x01c8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->ok, network.ok); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01d4> *network, Packet_Fixed<0x01d4> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01d4> *native, NetPacket_Fixed<0x01d4> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x01d5> *network, Packet_Head<0x01d5> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + rv &= native_to_network(&network->block_id, native.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x01d5> *native, NetPacket_Head<0x01d5> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + rv &= network_to_native(&native->block_id, network.block_id); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x01d5> *network, Packet_Repeat<0x01d5> native) +{ + bool rv = true; + rv &= native_to_network(&network->c, native.c); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x01d5> *native, NetPacket_Repeat<0x01d5> network) +{ + bool rv = true; + rv &= network_to_native(&native->c, network.c); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01d7> *network, Packet_Fixed<0x01d7> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->look_type, native.look_type); + rv &= native_to_network(&network->weapon_or_name_id_or_value, native.weapon_or_name_id_or_value); + rv &= native_to_network(&network->shield, native.shield); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01d7> *native, NetPacket_Fixed<0x01d7> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->look_type, network.look_type); + rv &= network_to_native(&native->weapon_or_name_id_or_value, network.weapon_or_name_id_or_value); + rv &= network_to_native(&native->shield, network.shield); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01d8> *network, Packet_Fixed<0x01d8> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->speed, native.speed); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->species, native.species); + rv &= native_to_network(&network->hair_style, native.hair_style); + rv &= native_to_network(&network->weapon, native.weapon); + rv &= native_to_network(&network->shield, native.shield); + rv &= native_to_network(&network->head_bottom, native.head_bottom); + rv &= native_to_network(&network->head_top, native.head_top); + rv &= native_to_network(&network->head_mid, native.head_mid); + rv &= native_to_network(&network->hair_color, native.hair_color); + rv &= native_to_network(&network->clothes_color, native.clothes_color); + rv &= native_to_network(&network->head_dir, native.head_dir); + rv &= native_to_network(&network->unused2, native.unused2); + rv &= native_to_network(&network->guild_id, native.guild_id); + rv &= native_to_network(&network->guild_emblem_id, native.guild_emblem_id); + rv &= native_to_network(&network->manner, native.manner); + rv &= native_to_network(&network->opt3, native.opt3); + rv &= native_to_network(&network->karma, native.karma); + rv &= native_to_network(&network->sex, native.sex); + rv &= native_to_network(&network->pos, native.pos); + rv &= native_to_network(&network->gm_bits, native.gm_bits); + rv &= native_to_network(&network->dead_sit, native.dead_sit); + rv &= native_to_network(&network->unused, native.unused); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01d8> *native, NetPacket_Fixed<0x01d8> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->speed, network.speed); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->species, network.species); + rv &= network_to_native(&native->hair_style, network.hair_style); + rv &= network_to_native(&native->weapon, network.weapon); + rv &= network_to_native(&native->shield, network.shield); + rv &= network_to_native(&native->head_bottom, network.head_bottom); + rv &= network_to_native(&native->head_top, network.head_top); + rv &= network_to_native(&native->head_mid, network.head_mid); + rv &= network_to_native(&native->hair_color, network.hair_color); + rv &= network_to_native(&native->clothes_color, network.clothes_color); + rv &= network_to_native(&native->head_dir, network.head_dir); + rv &= network_to_native(&native->unused2, network.unused2); + rv &= network_to_native(&native->guild_id, network.guild_id); + rv &= network_to_native(&native->guild_emblem_id, network.guild_emblem_id); + rv &= network_to_native(&native->manner, network.manner); + rv &= network_to_native(&native->opt3, network.opt3); + rv &= network_to_native(&native->karma, network.karma); + rv &= network_to_native(&native->sex, network.sex); + rv &= network_to_native(&native->pos, network.pos); + rv &= network_to_native(&native->gm_bits, network.gm_bits); + rv &= network_to_native(&native->dead_sit, network.dead_sit); + rv &= network_to_native(&native->unused, network.unused); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01d9> *network, Packet_Fixed<0x01d9> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->speed, native.speed); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->species, native.species); + rv &= native_to_network(&network->hair_style, native.hair_style); + rv &= native_to_network(&network->weapon, native.weapon); + rv &= native_to_network(&network->shield, native.shield); + rv &= native_to_network(&network->head_bottom, native.head_bottom); + rv &= native_to_network(&network->head_top, native.head_top); + rv &= native_to_network(&network->head_mid, native.head_mid); + rv &= native_to_network(&network->hair_color, native.hair_color); + rv &= native_to_network(&network->clothes_color, native.clothes_color); + rv &= native_to_network(&network->head_dir, native.head_dir); + rv &= native_to_network(&network->unused2, native.unused2); + rv &= native_to_network(&network->guild_id, native.guild_id); + rv &= native_to_network(&network->guild_emblem_id, native.guild_emblem_id); + rv &= native_to_network(&network->manner, native.manner); + rv &= native_to_network(&network->opt3, native.opt3); + rv &= native_to_network(&network->karma, native.karma); + rv &= native_to_network(&network->sex, native.sex); + rv &= native_to_network(&network->pos, native.pos); + rv &= native_to_network(&network->gm_bits, native.gm_bits); + rv &= native_to_network(&network->unused, native.unused); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01d9> *native, NetPacket_Fixed<0x01d9> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->speed, network.speed); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->species, network.species); + rv &= network_to_native(&native->hair_style, network.hair_style); + rv &= network_to_native(&native->weapon, network.weapon); + rv &= network_to_native(&native->shield, network.shield); + rv &= network_to_native(&native->head_bottom, network.head_bottom); + rv &= network_to_native(&native->head_top, network.head_top); + rv &= network_to_native(&native->head_mid, network.head_mid); + rv &= network_to_native(&native->hair_color, network.hair_color); + rv &= network_to_native(&native->clothes_color, network.clothes_color); + rv &= network_to_native(&native->head_dir, network.head_dir); + rv &= network_to_native(&native->unused2, network.unused2); + rv &= network_to_native(&native->guild_id, network.guild_id); + rv &= network_to_native(&native->guild_emblem_id, network.guild_emblem_id); + rv &= network_to_native(&native->manner, network.manner); + rv &= network_to_native(&native->opt3, network.opt3); + rv &= network_to_native(&native->karma, network.karma); + rv &= network_to_native(&native->sex, network.sex); + rv &= network_to_native(&native->pos, network.pos); + rv &= network_to_native(&native->gm_bits, network.gm_bits); + rv &= network_to_native(&native->unused, network.unused); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01da> *network, Packet_Fixed<0x01da> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->speed, native.speed); + rv &= native_to_network(&network->opt1, native.opt1); + rv &= native_to_network(&network->opt2, native.opt2); + rv &= native_to_network(&network->option, native.option); + rv &= native_to_network(&network->species, native.species); + rv &= native_to_network(&network->hair_style, native.hair_style); + rv &= native_to_network(&network->weapon, native.weapon); + rv &= native_to_network(&network->shield, native.shield); + rv &= native_to_network(&network->head_bottom, native.head_bottom); + rv &= native_to_network(&network->tick, native.tick); + rv &= native_to_network(&network->head_top, native.head_top); + rv &= native_to_network(&network->head_mid, native.head_mid); + rv &= native_to_network(&network->hair_color, native.hair_color); + rv &= native_to_network(&network->clothes_color, native.clothes_color); + rv &= native_to_network(&network->head_dir, native.head_dir); + rv &= native_to_network(&network->unused2, native.unused2); + rv &= native_to_network(&network->guild_id, native.guild_id); + rv &= native_to_network(&network->guild_emblem_id, native.guild_emblem_id); + rv &= native_to_network(&network->manner, native.manner); + rv &= native_to_network(&network->opt3, native.opt3); + rv &= native_to_network(&network->karma, native.karma); + rv &= native_to_network(&network->sex, native.sex); + rv &= native_to_network(&network->pos2, native.pos2); + rv &= native_to_network(&network->gm_bits, native.gm_bits); + rv &= native_to_network(&network->five, native.five); + rv &= native_to_network(&network->unused, native.unused); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01da> *native, NetPacket_Fixed<0x01da> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->speed, network.speed); + rv &= network_to_native(&native->opt1, network.opt1); + rv &= network_to_native(&native->opt2, network.opt2); + rv &= network_to_native(&native->option, network.option); + rv &= network_to_native(&native->species, network.species); + rv &= network_to_native(&native->hair_style, network.hair_style); + rv &= network_to_native(&native->weapon, network.weapon); + rv &= network_to_native(&native->shield, network.shield); + rv &= network_to_native(&native->head_bottom, network.head_bottom); + rv &= network_to_native(&native->tick, network.tick); + rv &= network_to_native(&native->head_top, network.head_top); + rv &= network_to_native(&native->head_mid, network.head_mid); + rv &= network_to_native(&native->hair_color, network.hair_color); + rv &= network_to_native(&native->clothes_color, network.clothes_color); + rv &= network_to_native(&native->head_dir, network.head_dir); + rv &= network_to_native(&native->unused2, network.unused2); + rv &= network_to_native(&native->guild_id, network.guild_id); + rv &= network_to_native(&native->guild_emblem_id, network.guild_emblem_id); + rv &= network_to_native(&native->manner, network.manner); + rv &= network_to_native(&native->opt3, network.opt3); + rv &= network_to_native(&native->karma, network.karma); + rv &= network_to_native(&native->sex, network.sex); + rv &= network_to_native(&native->pos2, network.pos2); + rv &= network_to_native(&native->gm_bits, network.gm_bits); + rv &= network_to_native(&native->five, network.five); + rv &= network_to_native(&native->unused, network.unused); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x01de> *network, Packet_Fixed<0x01de> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->skill_id, native.skill_id); + rv &= native_to_network(&network->src_id, native.src_id); + rv &= native_to_network(&network->dst_id, native.dst_id); + rv &= native_to_network(&network->tick, native.tick); + rv &= native_to_network(&network->sdelay, native.sdelay); + rv &= native_to_network(&network->ddelay, native.ddelay); + rv &= native_to_network(&network->damage, native.damage); + rv &= native_to_network(&network->skill_level, native.skill_level); + rv &= native_to_network(&network->div, native.div); + rv &= native_to_network(&network->type_or_hit, native.type_or_hit); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x01de> *native, NetPacket_Fixed<0x01de> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->skill_id, network.skill_id); + rv &= network_to_native(&native->src_id, network.src_id); + rv &= network_to_native(&native->dst_id, network.dst_id); + rv &= network_to_native(&native->tick, network.tick); + rv &= network_to_native(&native->sdelay, network.sdelay); + rv &= network_to_native(&native->ddelay, network.ddelay); + rv &= network_to_native(&native->damage, network.damage); + rv &= network_to_native(&native->skill_level, network.skill_level); + rv &= network_to_native(&native->div, network.div); + rv &= network_to_native(&native->type_or_hit, network.type_or_hit); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x01ee> *network, Packet_Head<0x01ee> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x01ee> *native, NetPacket_Head<0x01ee> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x01ee> *network, Packet_Repeat<0x01ee> native) +{ + bool rv = true; + rv &= native_to_network(&network->ioff2, native.ioff2); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->item_type, native.item_type); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->epos, native.epos); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x01ee> *native, NetPacket_Repeat<0x01ee> network) +{ + bool rv = true; + rv &= network_to_native(&native->ioff2, network.ioff2); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->item_type, network.item_type); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->epos, network.epos); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Head<0x01f0> *network, Packet_Head<0x01f0> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->magic_packet_length, native.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Head<0x01f0> *native, NetPacket_Head<0x01f0> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->magic_packet_length, network.magic_packet_length); + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Repeat<0x01f0> *network, Packet_Repeat<0x01f0> native) +{ + bool rv = true; + rv &= native_to_network(&network->soff1, native.soff1); + rv &= native_to_network(&network->name_id, native.name_id); + rv &= native_to_network(&network->item_type, native.item_type); + rv &= native_to_network(&network->identify, native.identify); + rv &= native_to_network(&network->amount, native.amount); + rv &= native_to_network(&network->epos_zero, native.epos_zero); + rv &= native_to_network(&network->card0, native.card0); + rv &= native_to_network(&network->card1, native.card1); + rv &= native_to_network(&network->card2, native.card2); + rv &= native_to_network(&network->card3, native.card3); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Repeat<0x01f0> *native, NetPacket_Repeat<0x01f0> network) +{ + bool rv = true; + rv &= network_to_native(&native->soff1, network.soff1); + rv &= network_to_native(&native->name_id, network.name_id); + rv &= network_to_native(&native->item_type, network.item_type); + rv &= network_to_native(&native->identify, network.identify); + rv &= network_to_native(&native->amount, network.amount); + rv &= network_to_native(&native->epos_zero, network.epos_zero); + rv &= network_to_native(&native->card0, network.card0); + rv &= network_to_native(&native->card1, network.card1); + rv &= network_to_native(&native->card2, network.card2); + rv &= network_to_native(&native->card3, network.card3); + return rv; +} + +inline __attribute__((warn_unused_result)) +bool native_to_network(NetPacket_Fixed<0x020c> *network, Packet_Fixed<0x020c> native) +{ + bool rv = true; + rv &= native_to_network(&network->magic_packet_id, native.magic_packet_id); + rv &= native_to_network(&network->block_id, native.block_id); + rv &= native_to_network(&network->ip, native.ip); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Packet_Fixed<0x020c> *native, NetPacket_Fixed<0x020c> network) +{ + bool rv = true; + rv &= network_to_native(&native->magic_packet_id, network.magic_packet_id); + rv &= network_to_native(&native->block_id, network.block_id); + rv &= network_to_native(&native->ip, network.ip); + return rv; +} inline __attribute__((warn_unused_result)) bool native_to_network(NetPacket_Fixed<0x0212> *network, Packet_Fixed<0x0212> native) @@ -90,6 +7931,6 @@ bool network_to_native(Packet_Fixed<0x0212> *native, NetPacket_Fixed<0x0212> net } -#pragma pack(pop) +# pragma pack(pop) #endif // TMWA_PROTO2_MAP_USER_HPP diff --git a/src/proto2/types.hpp b/src/proto2/types.hpp index 594be22..0113138 100644 --- a/src/proto2/types.hpp +++ b/src/proto2/types.hpp @@ -26,6 +26,7 @@ # include "../ints/little.hpp" # include "../strings/vstring.hpp" # include "../net/ip.hpp" +# include "../net/timer.t.hpp" # include "../mmo/enums.hpp" # include "../mmo/human_time_diff.hpp" # include "../mmo/ids.hpp" @@ -33,7 +34,9 @@ # include "../mmo/strs.hpp" # include "../mmo/utils.hpp" # include "../mmo/version.hpp" -# include "../login/types.hpp" +# include "../login/login.t.hpp" +# include "../map/clif.t.hpp" +# include "../map/skill.t.hpp" template<class T> bool native_to_network(T *network, T native) { @@ -124,6 +127,240 @@ bool network_to_native(U *native, SkewedLength<T, N> network) } inline __attribute__((warn_unused_result)) +bool native_to_network(Byte *network, DIR native) +{ + bool rv = true; + uint8_t tmp = static_cast<uint8_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(DIR *native, Byte network) +{ + bool rv = true; + uint8_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<DIR>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Byte *network, BeingRemoveWhy native) +{ + bool rv = true; + uint8_t tmp = static_cast<uint8_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(BeingRemoveWhy *native, Byte network) +{ + bool rv = true; + uint8_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<BeingRemoveWhy>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, Opt1 native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Opt1 *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<Opt1>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, Opt2 native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Opt2 *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<Opt2>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, Opt3 native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(Opt3 *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<Opt3>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Byte *network, ItemType native) +{ + bool rv = true; + uint8_t tmp = static_cast<uint8_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(ItemType *native, Byte network) +{ + bool rv = true; + uint8_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<ItemType>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Byte *network, PickupFail native) +{ + bool rv = true; + uint8_t tmp = static_cast<uint8_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(PickupFail *native, Byte network) +{ + bool rv = true; + uint8_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<PickupFail>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Byte *network, DamageType native) +{ + bool rv = true; + uint8_t tmp = static_cast<uint8_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(DamageType *native, Byte network) +{ + bool rv = true; + uint8_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<DamageType>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, SP native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(SP *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<SP>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Byte *network, LOOK native) +{ + bool rv = true; + uint8_t tmp = static_cast<uint8_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(LOOK *native, Byte network) +{ + bool rv = true; + uint8_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<LOOK>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, SkillID native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(SkillID *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<SkillID>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, StatusChange native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(StatusChange *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<StatusChange>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, SkillFlags native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(SkillFlags *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<SkillFlags>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) bool native_to_network(Byte *network, SEX native) { bool rv = true; @@ -160,6 +397,24 @@ bool network_to_native(Option *native, Little16 network) return rv; } inline __attribute__((warn_unused_result)) +bool native_to_network(Little16 *network, EPOS native) +{ + bool rv = true; + uint16_t tmp = static_cast<uint16_t>(native); + rv &= native_to_network(network, tmp); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(EPOS *native, Little16 network) +{ + bool rv = true; + uint16_t tmp; + rv &= network_to_native(&tmp, network); + *native = static_cast<EPOS>(tmp); + // TODO this is what really should be doing a checked cast + return rv; +} +inline __attribute__((warn_unused_result)) bool native_to_network(Little16 *network, Species native) { bool rv = true; @@ -392,6 +647,7 @@ static_assert(offsetof(NetStats6, int_) == 3, "offsetof(NetStats6, int_) == 3"); static_assert(offsetof(NetStats6, dex) == 4, "offsetof(NetStats6, dex) == 4"); static_assert(offsetof(NetStats6, luk) == 5, "offsetof(NetStats6, luk) == 5"); static_assert(sizeof(NetStats6) == 6, "sizeof(NetStats6) == 6"); +static_assert(alignof(NetStats6) == 1, "alignof(NetStats6) == 1"); inline __attribute__((warn_unused_result)) bool native_to_network(NetStats6 *network, Stats6 native) { @@ -526,6 +782,7 @@ static_assert(offsetof(NetCharSelect, stats) == 98, "offsetof(NetCharSelect, sta static_assert(offsetof(NetCharSelect, char_num) == 104, "offsetof(NetCharSelect, char_num) == 104"); static_assert(offsetof(NetCharSelect, unused2) == 105, "offsetof(NetCharSelect, unused2) == 105"); static_assert(sizeof(NetCharSelect) == 106, "sizeof(NetCharSelect) == 106"); +static_assert(alignof(NetCharSelect) == 1, "alignof(NetCharSelect) == 1"); inline __attribute__((warn_unused_result)) bool native_to_network(NetCharSelect *network, CharSelect native) { @@ -607,4 +864,65 @@ bool network_to_native(CharSelect *native, NetCharSelect network) return rv; } +struct SkillInfo +{ + SkillID skill_id = {}; + uint16_t type_or_inf = {}; + SkillFlags flags = {}; + uint16_t level = {}; + uint16_t sp = {}; + uint16_t range = {}; + VString<23> unused = {}; + uint8_t can_raise = {}; +}; +struct NetSkillInfo +{ + Little16 skill_id; + Little16 type_or_inf; + Little16 flags; + Little16 level; + Little16 sp; + Little16 range; + NetString<sizeof(VString<23>)> unused; + Byte can_raise; +}; +static_assert(offsetof(NetSkillInfo, skill_id) == 0, "offsetof(NetSkillInfo, skill_id) == 0"); +static_assert(offsetof(NetSkillInfo, type_or_inf) == 2, "offsetof(NetSkillInfo, type_or_inf) == 2"); +static_assert(offsetof(NetSkillInfo, flags) == 4, "offsetof(NetSkillInfo, flags) == 4"); +static_assert(offsetof(NetSkillInfo, level) == 6, "offsetof(NetSkillInfo, level) == 6"); +static_assert(offsetof(NetSkillInfo, sp) == 8, "offsetof(NetSkillInfo, sp) == 8"); +static_assert(offsetof(NetSkillInfo, range) == 10, "offsetof(NetSkillInfo, range) == 10"); +static_assert(offsetof(NetSkillInfo, unused) == 12, "offsetof(NetSkillInfo, unused) == 12"); +static_assert(offsetof(NetSkillInfo, can_raise) == 36, "offsetof(NetSkillInfo, can_raise) == 36"); +static_assert(sizeof(NetSkillInfo) == 37, "sizeof(NetSkillInfo) == 37"); +static_assert(alignof(NetSkillInfo) == 1, "alignof(NetSkillInfo) == 1"); +inline __attribute__((warn_unused_result)) +bool native_to_network(NetSkillInfo *network, SkillInfo native) +{ + bool rv = true; + rv &= native_to_network(&network->skill_id, native.skill_id); + rv &= native_to_network(&network->type_or_inf, native.type_or_inf); + rv &= native_to_network(&network->flags, native.flags); + rv &= native_to_network(&network->level, native.level); + rv &= native_to_network(&network->sp, native.sp); + rv &= native_to_network(&network->range, native.range); + rv &= native_to_network(&network->unused, native.unused); + rv &= native_to_network(&network->can_raise, native.can_raise); + return rv; +} +inline __attribute__((warn_unused_result)) +bool network_to_native(SkillInfo *native, NetSkillInfo network) +{ + bool rv = true; + rv &= network_to_native(&native->skill_id, network.skill_id); + rv &= network_to_native(&native->type_or_inf, network.type_or_inf); + rv &= network_to_native(&native->flags, network.flags); + rv &= network_to_native(&native->level, network.level); + rv &= network_to_native(&native->sp, network.sp); + rv &= network_to_native(&native->range, network.range); + rv &= network_to_native(&native->unused, network.unused); + rv &= network_to_native(&native->can_raise, network.can_raise); + return rv; +} + #endif // TMWA_PROTO2_TYPES_HPP |