summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2019-04-11 01:29:34 +0300
committerAndrei Karas <akaras@inbox.ru>2019-05-05 22:22:04 +0300
commitefd93a0d67a1dc90c68aa7185c2cdea7f55aa66b (patch)
tree8b29dfe7511fc0b7f84b9101d56e227d53e5eabb
parente550b6e991fea6dfeca280200245bbc8401188f9 (diff)
downloadhercules-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.c12
-rw-r--r--src/map/clif.h1
-rw-r--r--src/map/packets_struct.h7
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