summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/char/char.cpp5
-rw-r--r--src/map/chrif.cpp3
-rwxr-xr-xtools/protocol.py3
3 files changed, 8 insertions, 3 deletions
diff --git a/src/char/char.cpp b/src/char/char.cpp
index 3767c54..47fbba2 100644
--- a/src/char/char.cpp
+++ b/src/char/char.cpp
@@ -1781,7 +1781,7 @@ void parse_frommap(Session *ms)
case 0x2b02:
{
Packet_Fixed<0x2b02> fixed;
- rv = recv_fpacket<0x2b02, 18>(ms, fixed);
+ rv = recv_fpacket<0x2b02, 22>(ms, fixed);
if (rv != RecvResult::Complete)
break;
@@ -1794,6 +1794,7 @@ void parse_frommap(Session *ms)
auth_fifo_iter->login_id2 = fixed.login_id2;
auth_fifo_iter->delflag = 2;
auth_fifo_iter->ip = fixed.ip;
+ auth_fifo_iter->client_version = fixed.client_protocol_version;
auth_fifo_iter++;
Packet_Fixed<0x2b03> fixed_03;
@@ -2277,6 +2278,8 @@ void parse_char(Session *s)
send_fpacket<0x2716, 6>(login_session, fixed_16);
}
+ sd->client_version = afi.client_version;
+
// send characters to player
mmo_char_send006b(s, sd);
}
diff --git a/src/map/chrif.cpp b/src/map/chrif.cpp
index 708cbe1..42a13cf 100644
--- a/src/map/chrif.cpp
+++ b/src/map/chrif.cpp
@@ -334,7 +334,8 @@ int chrif_charselectreq(dumb_ptr<map_session_data> sd)
fixed_02.login_id1 = sd->login_id1;
fixed_02.login_id2 = sd->login_id2;
fixed_02.ip = s_ip;
- send_fpacket<0x2b02, 18>(char_session, fixed_02);
+ fixed_02.client_protocol_version = sd->client_version;
+ send_fpacket<0x2b02, 22>(char_session, fixed_02);
return 0;
}
diff --git a/tools/protocol.py b/tools/protocol.py
index 0adc95a..5a9e05c 100755
--- a/tools/protocol.py
+++ b/tools/protocol.py
@@ -5321,8 +5321,9 @@ def build_context():
at(6, u32, 'login id1'),
at(10, u32, 'login id2'),
at(14, ip4, 'ip'),
+ at(18, client_version, 'client protocol version'),
],
- fixed_size=18,
+ fixed_size=22,
pre=[0x00b2],
post=[0x2b03],
desc='''