summaryrefslogtreecommitdiff
path: root/tools/protocol.py
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2016-04-10 14:14:51 -0400
committermekolat <mekolat@users.noreply.github.com>2016-04-10 15:51:50 -0400
commitfcf31a258f2925650cf51f15d0280c0efb67c6a2 (patch)
treed7959d448dcfa0f0ae34789845e2a6b9b778fdf1 /tools/protocol.py
parent3cda94665c73447b09338d6f219ef22b58f066bd (diff)
downloadtmwa-fcf31a258f2925650cf51f15d0280c0efb67c6a2.tar.gz
tmwa-fcf31a258f2925650cf51f15d0280c0efb67c6a2.tar.bz2
tmwa-fcf31a258f2925650cf51f15d0280c0efb67c6a2.tar.xz
tmwa-fcf31a258f2925650cf51f15d0280c0efb67c6a2.zip
consolidate client version handling
Diffstat (limited to 'tools/protocol.py')
-rwxr-xr-xtools/protocol.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/tools/protocol.py b/tools/protocol.py
index 8c3a677..5d27f0d 100755
--- a/tools/protocol.py
+++ b/tools/protocol.py
@@ -320,6 +320,12 @@ class NativeType(LowType):
def a_tag(self):
return self.name
+ def native_tag(self):
+ return self.name
+
+ def network_tag(self):
+ return self.name
+
class NetworkType(LowType):
__slots__ = ('name')
@@ -1419,6 +1425,7 @@ def build_context():
ItemNameId = ids_h.native('ItemNameId')
BlockId = ids_h.native('BlockId')
GmLevel = ids_h.native('GmLevel')
+ ClientVersion = ids_h.native('ClientVersion')
party_member = consts_h.native('PartyMember')
@@ -1524,6 +1531,7 @@ def build_context():
species = ctx.wrap(Species, u16)
account_id = ctx.wrap(AccountId, u32)
+ client_version = ctx.wrap(ClientVersion, u32)
char_id = ctx.wrap(CharId, u32)
party_id = ctx.wrap(PartyId, u32)
item_name_id = ctx.wrap(ItemNameId, u16)
@@ -1958,10 +1966,10 @@ def build_context():
define='CMSG_LOGIN_REGISTER',
fixed=[
at(0, u16, 'packet id'),
- at(2, u32, 'unknown'),
+ at(2, client_version, 'client protocol version'),
at(6, account_name, 'account name'),
at(30, account_pass, 'account pass'),
- at(54, u8, 'version'),
+ at(54, u8, 'flags'),
],
fixed_size=55,
pre=[HUMAN, 0x7531],
@@ -1979,7 +1987,7 @@ def build_context():
at(2, account_id, 'account id'),
at(6, u32, 'login id1'),
at(10, u32, 'login id2'),
- at(14, u16, 'packet client version'),
+ at(14, u16, 'unused client protocol version'),
at(16, sex, 'sex'),
],
fixed_size=17,
@@ -4811,8 +4819,9 @@ def build_context():
at(6, u8, 'invalid'),
at(7, account_email, 'email'),
at(47, time32, 'unused connect until'),
+ at(51, client_version, 'client protocol version'),
],
- fixed_size=51,
+ fixed_size=55,
pre=[0x2712],
post=[0x006b, 0x006c],
desc='''
@@ -5201,8 +5210,8 @@ def build_context():
at(4, account_id, 'account id'),
at(8, u32, 'login id2'),
at(12, time32, 'unused connect until'),
- at(16, u16, 'packet client version'),
- at(18, char_key, 'char key'),
+ at(16, client_version, 'client protocol version'),
+ at(20, char_key, 'char key'),
at(None, char_data, 'char data'),
],
payload_size=None,
@@ -5407,7 +5416,7 @@ def build_context():
at(6, sex, 'sex'),
],
fixed_size=7,
- pre=[NOTHING],
+ pre=[0x2723],
post=[0x00ac, 0x01d7, 0x2b01, 0x3011],
xpost=[SCRIPT, 0x0080, 0x0081, 0x0088, 0x0091, 0x00a0, 0x00b0, 0x00b1, 0x00be, 0x00c0, 0x00e9, 0x00ee, 0x00fd, 0x0106, 0x010f, 0x0119, 0x013a, 0x0141, 0x0196, 0x01b1, 0x01d8, 0x01da, 0x2b05, 0x3022],
desc='''