diff options
author | Andrei Karas <akaras@inbox.ru> | 2019-04-11 01:29:34 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2019-05-05 22:22:04 +0300 |
commit | efd93a0d67a1dc90c68aa7185c2cdea7f55aa66b (patch) | |
tree | 8b29dfe7511fc0b7f84b9101d56e227d53e5eabb | |
parent | e550b6e991fea6dfeca280200245bbc8401188f9 (diff) | |
download | hercules-efd93a0d67a1dc90c68aa7185c2cdea7f55aa66b.tar.gz hercules-efd93a0d67a1dc90c68aa7185c2cdea7f55aa66b.tar.bz2 hercules-efd93a0d67a1dc90c68aa7185c2cdea7f55aa66b.tar.xz hercules-efd93a0d67a1dc90c68aa7185c2cdea7f55aa66b.zip |
Add packet ZC_LOAD_CONFIRM
-rw-r--r-- | src/map/clif.c | 12 | ||||
-rw-r--r-- | src/map/clif.h | 1 | ||||
-rw-r--r-- | src/map/packets_struct.h | 7 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 89daf48b7..11bd2218a 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -21835,6 +21835,17 @@ static void clif_parse_attendance_reward_request(int fd, struct map_session_data static void clif_parse_cz_blocking_play_cancel(int fd, struct map_session_data *sd) __attribute__((nonnull(2))); static void clif_parse_cz_blocking_play_cancel(int fd, struct map_session_data *sd) { + clif->loadConfirm(sd); +} + +static void clif_loadConfirm(struct map_session_data *sd) +{ +#if PACKETVER_MAIN_NUM >= 20190403 || PACKETVER_RE_NUM >= 20190320 || PACKETVER_ZERO_NUM >= 20190410 + nullpo_retv(sd); + struct PACKET_ZC_LOAD_CONFIRM p; + p.packetType = HEADER_ZC_LOAD_CONFIRM; + clif->send(&p, sizeof(p), &sd->bl, SELF); +#endif } static void clif_ui_action(struct map_session_data *sd, int32 UIType, int32 data) @@ -23409,4 +23420,5 @@ void clif_defaults(void) clif->pingTimer = clif_pingTimer; clif->pingTimerSub = clif_pingTimerSub; clif->pResetCooldown = clif_parse_ResetCooldown; + clif->loadConfirm = clif_loadConfirm; } diff --git a/src/map/clif.h b/src/map/clif.h index b3441f908..8c809c1f7 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -1592,6 +1592,7 @@ struct clif_interface { int (*pingTimer) (int tid, int64 tick, int id, intptr_t data); int (*pingTimerSub) (struct map_session_data *sd, va_list ap); void (*pResetCooldown) (int fd, struct map_session_data *sd); + void (*loadConfirm) (struct map_session_data *sd); }; #ifdef HERCULES_CORE diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h index 96337d32b..07cc46770 100644 --- a/src/map/packets_struct.h +++ b/src/map/packets_struct.h @@ -3188,6 +3188,13 @@ struct PACKET_CZ_STYLE_CLOSE { DEFINE_PACKET_HEADER(CZ_STYLE_CLOSE, 0x0a48); #endif +#if PACKETVER_MAIN_NUM >= 20190403 || PACKETVER_RE_NUM >= 20190320 || PACKETVER_ZERO_NUM >= 20190410 +struct PACKET_ZC_LOAD_CONFIRM { + int16 packetType; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(ZC_LOAD_CONFIRM, 0x0b1b); +#endif + #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) #endif // not NetBSD < 6 / Solaris |