From 943c01d67d89adf4c30da29b95cf5ac639fae0a7 Mon Sep 17 00:00:00 2001
From: mekolat <mekolat@users.noreply.github.com>
Date: Wed, 20 Apr 2016 14:02:03 -0400
Subject: add client version to packet 0x2b02

---
 src/char/char.cpp | 5 ++++-
 src/map/chrif.cpp | 3 ++-
 tools/protocol.py | 3 ++-
 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='''
-- 
cgit v1.2.3-70-g09d2