summaryrefslogtreecommitdiff
path: root/src/char/char.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2018-06-29 22:42:35 +0200
committerGitHub <noreply@github.com>2018-06-29 22:42:35 +0200
commitfe476d318579755b30bb0ed5f61d402e5fa5754b (patch)
tree5f0ca6388601552375fb2fbaf96410dc76b76703 /src/char/char.c
parent887d53cac4391b438f07dccf7e148ff0769f6a55 (diff)
parent2170bf7c3cd95faf17030c5b458ab0d639e597fd (diff)
downloadhercules-fe476d318579755b30bb0ed5f61d402e5fa5754b.tar.gz
hercules-fe476d318579755b30bb0ed5f61d402e5fa5754b.tar.bz2
hercules-fe476d318579755b30bb0ed5f61d402e5fa5754b.tar.xz
hercules-fe476d318579755b30bb0ed5f61d402e5fa5754b.zip
Merge pull request #2095 from 4144/updatepackets
Update packets up to 2018-06-27 and fix some existing packets
Diffstat (limited to 'src/char/char.c')
-rw-r--r--src/char/char.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 92b0209b2..6e0193780 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -4436,7 +4436,7 @@ void char_parse_char_connect(int fd, struct char_session_data* sd, uint32 ipl)
}
}
-void char_send_map_info(int fd, int i, uint32 subnet_map_ip, struct mmo_charstatus *cd)
+void char_send_map_info(int fd, int i, uint32 subnet_map_ip, struct mmo_charstatus *cd, char *dnsHost)
{
#if PACKETVER < 20170329
const int cmd = 0x71;
@@ -4452,6 +4452,15 @@ void char_send_map_info(int fd, int i, uint32 subnet_map_ip, struct mmo_charstat
mapindex->getmapname_ext(mapindex_id2name(cd->last_point.map), WFIFOP(fd, 6));
WFIFOL(fd, 22) = htonl((subnet_map_ip) ? subnet_map_ip : chr->server[i].ip);
WFIFOW(fd, 26) = sockt->ntows(htons(chr->server[i].port)); // [!] LE byte order here [!]
+#if PACKETVER < 20170329
+ memset(WFIFOP(fd, 28), 0, 128);
+#else
+ if (dnsHost != NULL) {
+ safestrncpy(WFIFOP(fd, 28), dnsHost, 128);
+ } else {
+ memset(WFIFOP(fd, 28), 0, 128);
+ }
+#endif
WFIFOSET(fd, len);
}
@@ -4612,7 +4621,7 @@ void char_parse_char_select(int fd, struct char_session_data* sd, uint32 ipl)
subnet_map_ip = chr->lan_subnet_check(ipl);
//Send player to map
- chr->send_map_info(fd, i, subnet_map_ip, cd);
+ chr->send_map_info(fd, i, subnet_map_ip, cd, NULL);
// create temporary auth entry
CREATE(node, struct char_auth_node, 1);