|
@@ -1389,7 +1389,26 @@ struct packet_npc_market_purchase {
|
|
struct packet_npc_market_purchase_sub list[];
|
|
struct packet_npc_market_purchase_sub list[];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
-#if PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20131106 || defined(PACKETVER_ZERO)
|
|
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210203 || PACKETVER_RE_NUM >= 20211103
|
|
|
|
+struct PACKET_ZC_NPC_MARKET_OPEN_sub {
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
|
|
+ uint32 nameid;
|
|
|
|
+#else
|
|
|
|
+ uint16 nameid;
|
|
|
|
+#endif
|
|
|
|
+ uint8 type;
|
|
|
|
+ uint32 price;
|
|
|
|
+ uint32 qty;
|
|
|
|
+ uint16 weight;
|
|
|
|
+ uint32 location;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+struct PACKET_ZC_NPC_MARKET_OPEN {
|
|
|
|
+ int16 packetType;
|
|
|
|
+ int16 packetLength;
|
|
|
|
+ struct PACKET_ZC_NPC_MARKET_OPEN_sub list[];
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_NPC_MARKET_OPEN, 0x0b7a);
|
|
|
|
+#elif PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20131106 || defined(PACKETVER_ZERO)
|
|
/* inner struct figured by Ind after some annoying hour of debugging (data Thanks to Yommy) */
|
|
/* inner struct figured by Ind after some annoying hour of debugging (data Thanks to Yommy) */
|
|
struct PACKET_ZC_NPC_MARKET_OPEN_sub {
|
|
struct PACKET_ZC_NPC_MARKET_OPEN_sub {
|
|
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
@@ -1402,13 +1421,11 @@ struct PACKET_ZC_NPC_MARKET_OPEN_sub {
|
|
uint32 qty;
|
|
uint32 qty;
|
|
uint16 weight;
|
|
uint16 weight;
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
-
|
|
|
|
struct PACKET_ZC_NPC_MARKET_OPEN {
|
|
struct PACKET_ZC_NPC_MARKET_OPEN {
|
|
int16 packetType;
|
|
int16 packetType;
|
|
int16 packetLength;
|
|
int16 packetLength;
|
|
struct PACKET_ZC_NPC_MARKET_OPEN_sub list[];
|
|
struct PACKET_ZC_NPC_MARKET_OPEN_sub list[];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
-
|
|
|
|
DEFINE_PACKET_HEADER(ZC_NPC_MARKET_OPEN, 0x09d5);
|
|
DEFINE_PACKET_HEADER(ZC_NPC_MARKET_OPEN, 0x09d5);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -1681,10 +1698,22 @@ struct PACKET_ZC_WRITE_MAIL_RESULT {
|
|
int8 result;
|
|
int8 result;
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
-struct PACKET_CZ_CHECKNAME {
|
|
|
|
|
|
+#if PACKETVER >= 20140423
|
|
|
|
+struct PACKET_CZ_CHECKNAME1 {
|
|
int16 PacketType;
|
|
int16 PacketType;
|
|
char Name[24];
|
|
char Name[24];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(CZ_CHECKNAME1, 0x0a13)
|
|
|
|
+#endif // PACKETVER >= 20140423
|
|
|
|
+
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20201104 || PACKETVER_RE_NUM >= 20211103 || PACKETVER_ZERO_NUM >= 20201118
|
|
|
|
+struct PACKET_CZ_CHECKNAME2 {
|
|
|
|
+ int16 PacketType;
|
|
|
|
+ char Name[24];
|
|
|
|
+ char own_char;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(CZ_CHECKNAME2, 0x0b97)
|
|
|
|
+#endif // PACKETVER_MAIN_NUM >= 20201104 || PACKETVER_ZERO_NUM >= 20201118
|
|
|
|
|
|
struct PACKET_ZC_CHECKNAME {
|
|
struct PACKET_ZC_CHECKNAME {
|
|
int16 PacketType;
|
|
int16 PacketType;
|
|
@@ -2375,7 +2404,63 @@ struct PACKET_ZC_ACK_WEAPONREFINE {
|
|
#endif
|
|
#endif
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
-#if PACKETVER_MAIN_NUM >= 20190619 || PACKETVER_RE_NUM >= 20190605 || PACKETVER_ZERO_NUM >= 20190626
|
|
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210303 || PACKETVER_RE_NUM >= 20211103
|
|
|
|
+// PACKET_ZC_PROPERTY_HOMUN4
|
|
|
|
+struct PACKET_ZC_PROPERTY_HOMUN {
|
|
|
|
+ int16 packetType;
|
|
|
|
+ char name[NAME_LENGTH];
|
|
|
|
+ // Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
|
|
|
|
+ uint8 flags;
|
|
|
|
+ uint16 level;
|
|
|
|
+ uint16 hunger;
|
|
|
|
+ uint16 intimacy;
|
|
|
|
+ uint16 atk2;
|
|
|
|
+ uint16 matk;
|
|
|
|
+ uint16 hit;
|
|
|
|
+ uint16 crit;
|
|
|
|
+ uint16 def;
|
|
|
|
+ uint16 mdef;
|
|
|
|
+ uint16 flee;
|
|
|
|
+ uint16 amotion;
|
|
|
|
+ uint32 hp;
|
|
|
|
+ uint32 maxHp;
|
|
|
|
+ uint32 sp;
|
|
|
|
+ uint32 maxSp;
|
|
|
|
+ int64 exp;
|
|
|
|
+ int64 expNext;
|
|
|
|
+ uint16 skillPoints;
|
|
|
|
+ uint16 range;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x0ba4);
|
|
|
|
+#elif PACKETVER_MAIN_NUM >= 20200819 || PACKETVER_RE_NUM >= 20200723
|
|
|
|
+// PACKET_ZC_PROPERTY_HOMUN3
|
|
|
|
+struct PACKET_ZC_PROPERTY_HOMUN {
|
|
|
|
+ int16 packetType;
|
|
|
|
+ char name[NAME_LENGTH];
|
|
|
|
+ // Bit field, bit 0 : rename_flag (1 = already renamed), bit 1 : homunc vaporized (1 = true), bit 2 : homunc dead (1 = true)
|
|
|
|
+ uint8 flags;
|
|
|
|
+ uint16 level;
|
|
|
|
+ uint16 hunger;
|
|
|
|
+ uint16 intimacy;
|
|
|
|
+ uint16 atk2;
|
|
|
|
+ uint16 matk;
|
|
|
|
+ uint16 hit;
|
|
|
|
+ uint16 crit;
|
|
|
|
+ uint16 def;
|
|
|
|
+ uint16 mdef;
|
|
|
|
+ uint16 flee;
|
|
|
|
+ uint16 amotion;
|
|
|
|
+ uint32 hp;
|
|
|
|
+ uint32 maxHp;
|
|
|
|
+ uint32 sp;
|
|
|
|
+ uint32 maxSp;
|
|
|
|
+ uint32 exp;
|
|
|
|
+ uint32 expNext;
|
|
|
|
+ uint16 skillPoints;
|
|
|
|
+ uint16 range;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x0b76);
|
|
|
|
+#elif PACKETVER_MAIN_NUM >= 20190619 || PACKETVER_RE_NUM >= 20190605 || PACKETVER_ZERO_NUM >= 20190626
|
|
// PACKET_ZC_PROPERTY_HOMUN3
|
|
// PACKET_ZC_PROPERTY_HOMUN3
|
|
struct PACKET_ZC_PROPERTY_HOMUN {
|
|
struct PACKET_ZC_PROPERTY_HOMUN {
|
|
int16 packetType;
|
|
int16 packetType;
|
|
@@ -2573,6 +2658,26 @@ struct PACKET_ZC_PC_PURCHASE_MYITEMLIST {
|
|
struct PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub items[];
|
|
struct PACKET_ZC_PC_PURCHASE_MYITEMLIST_sub items[];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210203 || PACKETVER_RE_NUM >= 20211103
|
|
|
|
+struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub {
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
|
|
+ uint32 itemId;
|
|
|
|
+#else
|
|
|
|
+ uint16 itemId;
|
|
|
|
+#endif
|
|
|
|
+ uint32 price;
|
|
|
|
+ uint32 discountPrice;
|
|
|
|
+ uint8 itemType;
|
|
|
|
+ uint16 viewSprite;
|
|
|
|
+ uint32 location;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+struct PACKET_ZC_PC_PURCHASE_ITEMLIST {
|
|
|
|
+ int16 packetType;
|
|
|
|
+ int16 packetLength;
|
|
|
|
+ struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub items[];
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_PC_PURCHASE_ITEMLIST, 0x0b77)
|
|
|
|
+#else // PACKETVER_MAIN_NUM >= 20210203
|
|
struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub {
|
|
struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub {
|
|
uint32 price;
|
|
uint32 price;
|
|
uint32 discountPrice;
|
|
uint32 discountPrice;
|
|
@@ -2583,12 +2688,13 @@ struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub {
|
|
uint16 itemId;
|
|
uint16 itemId;
|
|
#endif
|
|
#endif
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
-
|
|
|
|
struct PACKET_ZC_PC_PURCHASE_ITEMLIST {
|
|
struct PACKET_ZC_PC_PURCHASE_ITEMLIST {
|
|
int16 packetType;
|
|
int16 packetType;
|
|
int16 packetLength;
|
|
int16 packetLength;
|
|
struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub items[];
|
|
struct PACKET_ZC_PC_PURCHASE_ITEMLIST_sub items[];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_PC_PURCHASE_ITEMLIST, 0x00c6)
|
|
|
|
+#endif
|
|
|
|
|
|
struct PACKET_CZ_PC_PURCHASE_ITEMLIST_sub {
|
|
struct PACKET_CZ_PC_PURCHASE_ITEMLIST_sub {
|
|
uint16 amount;
|
|
uint16 amount;
|
|
@@ -3245,7 +3351,33 @@ struct PACKET_CZ_PARTY_CONFIG {
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
DEFINE_PACKET_HEADER(CZ_PARTY_CONFIG, 0x02c8);
|
|
DEFINE_PACKET_HEADER(CZ_PARTY_CONFIG, 0x02c8);
|
|
|
|
|
|
-#if PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
|
|
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210203 || PACKETVER_RE_NUM >= 20211103
|
|
|
|
+struct PACKET_ZC_NPC_BARTER_OPEN_sub {
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
|
|
+ uint32 nameid;
|
|
|
|
+#else
|
|
|
|
+ uint16 nameid;
|
|
|
|
+#endif
|
|
|
|
+ uint8 type;
|
|
|
|
+ uint32 amount;
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
|
|
+ uint32 currencyNameid;
|
|
|
|
+#else
|
|
|
|
+ uint16 currencyNameid;
|
|
|
|
+#endif
|
|
|
|
+ uint32 currencyAmount;
|
|
|
|
+ uint32 weight;
|
|
|
|
+ uint32 index;
|
|
|
|
+ uint16 viewSprite;
|
|
|
|
+ uint32 location;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+struct PACKET_ZC_NPC_BARTER_OPEN {
|
|
|
|
+ int16 packetType;
|
|
|
|
+ int16 packetLength;
|
|
|
|
+ struct PACKET_ZC_NPC_BARTER_OPEN_sub list[];
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_NPC_BARTER_OPEN, 0x0b78);
|
|
|
|
+#elif PACKETVER_MAIN_NUM >= 20190116 || PACKETVER_RE_NUM >= 20190116 || PACKETVER_ZERO_NUM >= 20181226
|
|
struct PACKET_ZC_NPC_BARTER_OPEN_sub {
|
|
struct PACKET_ZC_NPC_BARTER_OPEN_sub {
|
|
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
uint32 nameid;
|
|
uint32 nameid;
|
|
@@ -3263,13 +3395,11 @@ struct PACKET_ZC_NPC_BARTER_OPEN_sub {
|
|
uint32 weight;
|
|
uint32 weight;
|
|
uint32 index;
|
|
uint32 index;
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
-
|
|
|
|
struct PACKET_ZC_NPC_BARTER_OPEN {
|
|
struct PACKET_ZC_NPC_BARTER_OPEN {
|
|
int16 packetType;
|
|
int16 packetType;
|
|
int16 packetLength;
|
|
int16 packetLength;
|
|
struct PACKET_ZC_NPC_BARTER_OPEN_sub list[];
|
|
struct PACKET_ZC_NPC_BARTER_OPEN_sub list[];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
-
|
|
|
|
DEFINE_PACKET_HEADER(ZC_NPC_BARTER_OPEN, 0x0b0e);
|
|
DEFINE_PACKET_HEADER(ZC_NPC_BARTER_OPEN, 0x0b0e);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -3883,7 +4013,7 @@ struct PACKET_CZ_NPC_EXPANDED_BARTER_CLOSE {
|
|
DEFINE_PACKET_HEADER(CZ_NPC_EXPANDED_BARTER_CLOSE, 0x0b58);
|
|
DEFINE_PACKET_HEADER(CZ_NPC_EXPANDED_BARTER_CLOSE, 0x0b58);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#if PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
|
|
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210203 || PACKETVER_RE_NUM >= 20211103
|
|
struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 {
|
|
struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 {
|
|
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
uint32 nameid;
|
|
uint32 nameid;
|
|
@@ -3906,13 +4036,47 @@ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub {
|
|
uint32 weight;
|
|
uint32 weight;
|
|
uint32 index;
|
|
uint32 index;
|
|
uint32 zeny;
|
|
uint32 zeny;
|
|
|
|
+ uint16 viewSprite;
|
|
|
|
+ uint32 location;
|
|
uint32 currency_count;
|
|
uint32 currency_count;
|
|
-#if defined(_MSC_VER)
|
|
|
|
- // Workaround for fix Visual Studio bug (error C2233). Here should be currencies[]
|
|
|
|
|
|
+ // Workaround: this should be currencies[], but compilers do not support multiple layers of incomplete types. See error C2233
|
|
struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 currencies[1];
|
|
struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 currencies[1];
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+
|
|
|
|
+struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN {
|
|
|
|
+ int16 packetType;
|
|
|
|
+ int16 packetLength;
|
|
|
|
+ int32 items_count;
|
|
|
|
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub items[];
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_NPC_EXPANDED_BARTER_OPEN, 0x0b79);
|
|
|
|
+#elif PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
|
|
|
|
+struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 {
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
|
|
+ uint32 nameid;
|
|
|
|
+#else
|
|
|
|
+ uint16 nameid;
|
|
|
|
+#endif
|
|
|
|
+ uint16 refine_level;
|
|
|
|
+ uint32 amount;
|
|
|
|
+ uint16 type;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+
|
|
|
|
+struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub {
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
|
|
|
|
+ uint32 nameid;
|
|
#else
|
|
#else
|
|
- struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 currencies[];
|
|
|
|
|
|
+ uint16 nameid;
|
|
#endif
|
|
#endif
|
|
|
|
+ uint16 type;
|
|
|
|
+ uint32 amount;
|
|
|
|
+ uint32 weight;
|
|
|
|
+ uint32 index;
|
|
|
|
+ uint32 zeny;
|
|
|
|
+ uint32 currency_count;
|
|
|
|
+ // Workaround: this should be currencies[], but compilers do not support multiple layers of incomplete types. See error C2233
|
|
|
|
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 currencies[1];
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN {
|
|
struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN {
|
|
@@ -3923,7 +4087,7 @@ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN {
|
|
} __attribute__((packed));
|
|
} __attribute__((packed));
|
|
|
|
|
|
DEFINE_PACKET_HEADER(ZC_NPC_EXPANDED_BARTER_OPEN, 0x0b56);
|
|
DEFINE_PACKET_HEADER(ZC_NPC_EXPANDED_BARTER_OPEN, 0x0b56);
|
|
-#endif
|
|
|
|
|
|
+#endif // PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
|
|
|
|
|
|
#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
|
|
#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
|
|
struct PACKET_CZ_NPC_EXPANDED_BARTER_PURCHASE_sub {
|
|
struct PACKET_CZ_NPC_EXPANDED_BARTER_PURCHASE_sub {
|
|
@@ -4130,6 +4294,21 @@ struct PACKET_ZC_NOTIFY_SKILL_POSITION {
|
|
};
|
|
};
|
|
DEFINE_PACKET_HEADER(ZC_NOTIFY_SKILL_POSITION, 0x0115);
|
|
DEFINE_PACKET_HEADER(ZC_NOTIFY_SKILL_POSITION, 0x0115);
|
|
|
|
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210818 || PACKETVER_RE_NUM >= 20211103 || PACKETVER_ZERO_NUM >= 20210818
|
|
|
|
+struct PACKET_CZ_REQ_TAKEOFF_EQUIP_ALL {
|
|
|
|
+ int16 PacketType;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(CZ_REQ_TAKEOFF_EQUIP_ALL, 0x0bad);
|
|
|
|
+#endif // PACKETVER_MAIN_NUM >= 20210818 || PACKETVER_RE_NUM >= 20211103 || PACKETVER_ZERO_NUM >= 20210818
|
|
|
|
+
|
|
|
|
+#if PACKETVER_MAIN_NUM >= 20210818 || PACKETVER_RE_NUM >= 20211103
|
|
|
|
+struct PACKET_ZC_TAKEOFF_EQUIP_ALL_ACK {
|
|
|
|
+ int16 PacketType;
|
|
|
|
+ uint8 result;
|
|
|
|
+} __attribute__((packed));
|
|
|
|
+DEFINE_PACKET_HEADER(ZC_TAKEOFF_EQUIP_ALL_ACK, 0x0bae);
|
|
|
|
+#endif // PACKETVER_MAIN_NUM >= 20210818 || PACKETVER_RE_NUM >= 20211103
|
|
|
|
+
|
|
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
|
|
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
|
|
#pragma pack(pop)
|
|
#pragma pack(pop)
|
|
#endif // not NetBSD < 6 / Solaris
|
|
#endif // not NetBSD < 6 / Solaris
|