summaryrefslogtreecommitdiff
path: root/servergreps
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-03 18:42:27 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-03 18:42:27 +0300
commit06c188389431ae1157a169f480e9d699503b9de1 (patch)
tree0d5ab3e2b80e639880136576e4dda7043c56dd43 /servergreps
parentc45c79aa1e2e287c606c9f3f553b65b5b7b635e0 (diff)
downloadtools-06c188389431ae1157a169f480e9d699503b9de1.tar.gz
tools-06c188389431ae1157a169f480e9d699503b9de1.tar.bz2
tools-06c188389431ae1157a169f480e9d699503b9de1.tar.xz
tools-06c188389431ae1157a169f480e9d699503b9de1.zip
servergreps: fix parsing packets in server code. Disable parsing evol plugin.
Diffstat (limited to 'servergreps')
-rw-r--r--servergreps/hercules/20141016/serverpackets.txt36
-rw-r--r--servergreps/hercules/20141022/serverpackets.txt32
-rw-r--r--servergreps/hercules/20150226/serverpackets.txt32
-rw-r--r--servergreps/hercules/20150513/serverpackets.txt30
-rw-r--r--servergreps/hercules/20150805/serverpackets.txt28
-rwxr-xr-xservergreps/hercules/packets.py26
6 files changed, 32 insertions, 152 deletions
diff --git a/servergreps/hercules/20141016/serverpackets.txt b/servergreps/hercules/20141016/serverpackets.txt
index 66166ef..0fa3196 100644
--- a/servergreps/hercules/20141016/serverpackets.txt
+++ b/servergreps/hercules/20141016/serverpackets.txt
@@ -1,6 +1,4 @@
j
-62 client name: SMSG_CHAR_PASSWORD_RESPONSE
-63 client name: SMSG_UPDATE_HOST
69 client name: SMSG_LOGIN_DATA
6a client name: SMSG_LOGIN_ERROR
6b client name: SMSG_CHAR_LOGIN
@@ -263,6 +261,7 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
29b client name: SMSG_MERCENARY_INFO
29d client name: SMSG_MERCENARY_SKILLS
2a2 client name: SMSG_MERCENARY_UPDATE
+2b1 client name: SMSG_QUEST_LIST
2b2 client name: SMSG_QUEST_LIST_OBJECTIVES
2b3 client name: SMSG_QUEST_ADD
2b4 client name: SMSG_QUEST_REMOVE
@@ -284,7 +283,6 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
2dd client name: SMSG_BATTLE_EMBLEM
2de client name: SMSG_BATTLE_UPDATE_SCORE
2df client name: SMSG_BATTLE_UPDATE_COORDS
-2e1 client name: SMSG_BEING_ACTION2
2eb client name: SMSG_MAP_LOGIN_SUCCESS
2ef client name: SMSG_BEING_FONT
2f0 client name: SMSG_NPC_SHOW_PROGRESS_BAR
@@ -364,16 +362,12 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
909 client name: SMSG_BOOKING_CANCEL_VOLUNTEER
90b client name: SMSG_BOOKING_ADD_FILTERING_LIST
90c client name: SMSG_BOOKING_SUB_FILTERING_LIST
-90f client name: SMSG_BEING_SPAWN
-914 client name: SMSG_BEING_MOVE
-915 client name: SMSG_BEING_VISIBLE
96d client name: SMSG_MERGE_ITEM
96f client name: SMSG_ACK_MERGE_ITEMS
977 client name: SMSG_MONSTER_HP
-97a client name: SMSG_QUEST_LIST
97d client name: SMSG_RANKS_LIST
97e client name: SMSG_PLAYER_RANK_POINTS
-97f client name: SMSG_SELECT_CART
+97f
983 client name: SMSG_BEING_STATUS_CHANGE
985 client name: SMSG_PLAYER_SKILL_COOLDOWN_LIST
990 client name: SMSG_PLAYER_INVENTORY_ADD
@@ -398,30 +392,12 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
9dc client name: SMSG_BEING_SPAWN
9dd client name: SMSG_BEING_VISIBLE
9df client name: SMSG_WHISPER_RESPONSE
-a02 client name: SMSG_DRESS_ROOM_OPEN
+a02
a1a client name: SMSG_ROULETTE_OPEN_ACK
a1c client name: SMSG_ROULETTE_INFO_ACK_TYPE
a20 client name: SMSG_ROULETTE_GENERATE_ACK_TYPE
a22 client name: SMSG_ROULETTE_RECV_ITEM_ACK
-a28 client name: SMSG_VENDING_OPEN_STATUS
-b00 client name: SMSG_NPC_COMMAND
-b01 client name: SMSG_BEING_NAME_RESPONSE2
-b02 client name: SMSG_MAP_MASK
-b03 client name: SMSG_MOB_INFO
-b04 client name: SMSG_BEING_MOVE3
-b05 client name: SMSG_MAP_MUSIC
-b06 client name: SMSG_NPC_CHANGETITLE
-b08 client name: SMSG_CHAT_JOIN_CHANNEL
-b0a client name: SMSG_BEING_ATTRS
-b0b client name: SMSG_NPC_AREA
-b10 client name: SMSG_ONLINE_LIST
-b16 client name: SMSG_PLAYER_CLIENT_COMMAND
-b17 client name: SMSG_BEING_CHANGE_LOOKS_CARDS
-b18 client name: SMSG_ITEM_VISIBLE2
-b19 client name: SMSG_ITEM_DROPPED2
-b1a client name: SMSG_BATTLE_EMBLEM2
-b1b client name: SMSG_MAP_SET_TILES_TYPE
-b1c client name: SMSG_NPC_SKIN
+a28
cmd
2710
2711
@@ -628,9 +604,6 @@ cmd
3892
3893
3894
-5000
-5001
-7531 client name: SMSG_SERVER_VERSION_RESPONSE
additemtype
authoktype
banking_checktype
@@ -662,6 +635,7 @@ npcmarketopentype
npcmarketresultacktype
package_item_announcetype
partyleaderchangedtype
+questlisttype
rouletteinfoacktype
roulettercvitemacktype
roulettgenerateacktype
diff --git a/servergreps/hercules/20141022/serverpackets.txt b/servergreps/hercules/20141022/serverpackets.txt
index 6946795..e6a1818 100644
--- a/servergreps/hercules/20141022/serverpackets.txt
+++ b/servergreps/hercules/20141022/serverpackets.txt
@@ -1,6 +1,4 @@
j
-62 client name: SMSG_CHAR_PASSWORD_RESPONSE
-63 client name: SMSG_UPDATE_HOST
69 client name: SMSG_LOGIN_DATA
6a client name: SMSG_LOGIN_ERROR
6b client name: SMSG_CHAR_LOGIN
@@ -284,7 +282,6 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
2dd client name: SMSG_BATTLE_EMBLEM
2de client name: SMSG_BATTLE_UPDATE_SCORE
2df client name: SMSG_BATTLE_UPDATE_COORDS
-2e1 client name: SMSG_BEING_ACTION2
2ef client name: SMSG_BEING_FONT
2f0 client name: SMSG_NPC_SHOW_PROGRESS_BAR
2f2 client name: SMSG_NPC_PROGRESS_BAR_ABORT
@@ -362,16 +359,13 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
909 client name: SMSG_BOOKING_CANCEL_VOLUNTEER
90b client name: SMSG_BOOKING_ADD_FILTERING_LIST
90c client name: SMSG_BOOKING_SUB_FILTERING_LIST
-90f client name: SMSG_BEING_SPAWN
-914 client name: SMSG_BEING_MOVE
-915 client name: SMSG_BEING_VISIBLE
96d client name: SMSG_MERGE_ITEM
96f client name: SMSG_ACK_MERGE_ITEMS
977 client name: SMSG_MONSTER_HP
97a client name: SMSG_QUEST_LIST
97d client name: SMSG_RANKS_LIST
97e client name: SMSG_PLAYER_RANK_POINTS
-97f client name: SMSG_SELECT_CART
+97f
983 client name: SMSG_BEING_STATUS_CHANGE
985 client name: SMSG_PLAYER_SKILL_COOLDOWN_LIST
990 client name: SMSG_PLAYER_INVENTORY_ADD
@@ -397,31 +391,13 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
9dd client name: SMSG_BEING_VISIBLE
9df client name: SMSG_WHISPER_RESPONSE
a00 client name: SMSG_PLAYER_SHORTCUTS
-a02 client name: SMSG_DRESS_ROOM_OPEN
+a02
a18 client name: SMSG_MAP_LOGIN_SUCCESS
a1a client name: SMSG_ROULETTE_OPEN_ACK
a1c client name: SMSG_ROULETTE_INFO_ACK_TYPE
a20 client name: SMSG_ROULETTE_GENERATE_ACK_TYPE
a22 client name: SMSG_ROULETTE_RECV_ITEM_ACK
a28 client name: SMSG_VENDING_OPEN_STATUS
-b00 client name: SMSG_NPC_COMMAND
-b01 client name: SMSG_BEING_NAME_RESPONSE2
-b02 client name: SMSG_MAP_MASK
-b03 client name: SMSG_MOB_INFO
-b04 client name: SMSG_BEING_MOVE3
-b05 client name: SMSG_MAP_MUSIC
-b06 client name: SMSG_NPC_CHANGETITLE
-b08 client name: SMSG_CHAT_JOIN_CHANNEL
-b0a client name: SMSG_BEING_ATTRS
-b0b client name: SMSG_NPC_AREA
-b10 client name: SMSG_ONLINE_LIST
-b16 client name: SMSG_PLAYER_CLIENT_COMMAND
-b17 client name: SMSG_BEING_CHANGE_LOOKS_CARDS
-b18 client name: SMSG_ITEM_VISIBLE2
-b19 client name: SMSG_ITEM_DROPPED2
-b1a client name: SMSG_BATTLE_EMBLEM2
-b1b client name: SMSG_MAP_SET_TILES_TYPE
-b1c client name: SMSG_NPC_SKIN
cmd
2710
2711
@@ -628,9 +604,6 @@ cmd
3892
3893
3894
-5000
-5001
-7531 client name: SMSG_SERVER_VERSION_RESPONSE
additemtype
authoktype
banking_checktype
@@ -662,6 +635,7 @@ npcmarketopentype
npcmarketresultacktype
package_item_announcetype
partyleaderchangedtype
+questlisttype
rouletteinfoacktype
roulettercvitemacktype
roulettgenerateacktype
diff --git a/servergreps/hercules/20150226/serverpackets.txt b/servergreps/hercules/20150226/serverpackets.txt
index 1f39aa3..ce926e0 100644
--- a/servergreps/hercules/20150226/serverpackets.txt
+++ b/servergreps/hercules/20150226/serverpackets.txt
@@ -1,6 +1,4 @@
j
-62 client name: SMSG_CHAR_PASSWORD_RESPONSE
-63 client name: SMSG_UPDATE_HOST
69 client name: SMSG_LOGIN_DATA
6a client name: SMSG_LOGIN_ERROR
6b client name: SMSG_CHAR_LOGIN
@@ -282,7 +280,6 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
2dd client name: SMSG_BATTLE_EMBLEM
2de client name: SMSG_BATTLE_UPDATE_SCORE
2df client name: SMSG_BATTLE_UPDATE_COORDS
-2e1 client name: SMSG_BEING_ACTION2
2ef client name: SMSG_BEING_FONT
2f0 client name: SMSG_NPC_SHOW_PROGRESS_BAR
2f2 client name: SMSG_NPC_PROGRESS_BAR_ABORT
@@ -359,16 +356,13 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
909 client name: SMSG_BOOKING_CANCEL_VOLUNTEER
90b client name: SMSG_BOOKING_ADD_FILTERING_LIST
90c client name: SMSG_BOOKING_SUB_FILTERING_LIST
-90f client name: SMSG_BEING_SPAWN
-914 client name: SMSG_BEING_MOVE
-915 client name: SMSG_BEING_VISIBLE
96d client name: SMSG_MERGE_ITEM
96f client name: SMSG_ACK_MERGE_ITEMS
977 client name: SMSG_MONSTER_HP
97a client name: SMSG_QUEST_LIST
97d client name: SMSG_RANKS_LIST
97e client name: SMSG_PLAYER_RANK_POINTS
-97f client name: SMSG_SELECT_CART
+97f
983 client name: SMSG_BEING_STATUS_CHANGE
985 client name: SMSG_PLAYER_SKILL_COOLDOWN_LIST
991 client name: SMSG_PLAYER_INVENTORY
@@ -389,7 +383,7 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
9dd client name: SMSG_BEING_VISIBLE
9df client name: SMSG_WHISPER_RESPONSE
a00 client name: SMSG_PLAYER_SHORTCUTS
-a02 client name: SMSG_DRESS_ROOM_OPEN
+a02
a09 client name: SMSG_TRADE_ITEM_ADD
a0a client name: SMSG_PLAYER_STORAGE_ADD
a0b client name: SMSG_PLAYER_CART_ADD
@@ -404,24 +398,6 @@ a20 client name: SMSG_ROULETTE_GENERATE_ACK_TYPE
a22 client name: SMSG_ROULETTE_RECV_ITEM_ACK
a28 client name: SMSG_VENDING_OPEN_STATUS
a2d client name: SMSG_BEING_VIEW_EQUIPMENT
-b00 client name: SMSG_NPC_COMMAND
-b01 client name: SMSG_BEING_NAME_RESPONSE2
-b02 client name: SMSG_MAP_MASK
-b03 client name: SMSG_MOB_INFO
-b04 client name: SMSG_BEING_MOVE3
-b05 client name: SMSG_MAP_MUSIC
-b06 client name: SMSG_NPC_CHANGETITLE
-b08 client name: SMSG_CHAT_JOIN_CHANNEL
-b0a client name: SMSG_BEING_ATTRS
-b0b client name: SMSG_NPC_AREA
-b10 client name: SMSG_ONLINE_LIST
-b16 client name: SMSG_PLAYER_CLIENT_COMMAND
-b17 client name: SMSG_BEING_CHANGE_LOOKS_CARDS
-b18 client name: SMSG_ITEM_VISIBLE2
-b19 client name: SMSG_ITEM_DROPPED2
-b1a client name: SMSG_BATTLE_EMBLEM2
-b1b client name: SMSG_MAP_SET_TILES_TYPE
-b1c client name: SMSG_NPC_SKIN
cmd
2710
2711
@@ -628,9 +604,6 @@ cmd
3892
3893
3894
-5000
-5001
-7531 client name: SMSG_SERVER_VERSION_RESPONSE
additemtype
authoktype
banking_checktype
@@ -662,6 +635,7 @@ npcmarketopentype
npcmarketresultacktype
package_item_announcetype
partyleaderchangedtype
+questlisttype
rouletteinfoacktype
roulettercvitemacktype
roulettgenerateacktype
diff --git a/servergreps/hercules/20150513/serverpackets.txt b/servergreps/hercules/20150513/serverpackets.txt
index 3313c41..5fde88d 100644
--- a/servergreps/hercules/20150513/serverpackets.txt
+++ b/servergreps/hercules/20150513/serverpackets.txt
@@ -1,6 +1,4 @@
j
-62 client name: SMSG_CHAR_PASSWORD_RESPONSE
-63 client name: SMSG_UPDATE_HOST
69 client name: SMSG_LOGIN_DATA
6a client name: SMSG_LOGIN_ERROR
6b client name: SMSG_CHAR_LOGIN
@@ -282,7 +280,6 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
2dd client name: SMSG_BATTLE_EMBLEM
2de client name: SMSG_BATTLE_UPDATE_SCORE
2df client name: SMSG_BATTLE_UPDATE_COORDS
-2e1 client name: SMSG_BEING_ACTION2
2ef client name: SMSG_BEING_FONT
2f0 client name: SMSG_NPC_SHOW_PROGRESS_BAR
2f2 client name: SMSG_NPC_PROGRESS_BAR_ABORT
@@ -359,16 +356,13 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
909 client name: SMSG_BOOKING_CANCEL_VOLUNTEER
90b client name: SMSG_BOOKING_ADD_FILTERING_LIST
90c client name: SMSG_BOOKING_SUB_FILTERING_LIST
-90f client name: SMSG_BEING_SPAWN
-914 client name: SMSG_BEING_MOVE
-915 client name: SMSG_BEING_VISIBLE
96d client name: SMSG_MERGE_ITEM
96f client name: SMSG_ACK_MERGE_ITEMS
977 client name: SMSG_MONSTER_HP
97a client name: SMSG_QUEST_LIST
97d client name: SMSG_RANKS_LIST
97e client name: SMSG_PLAYER_RANK_POINTS
-97f client name: SMSG_SELECT_CART
+97f
983 client name: SMSG_BEING_STATUS_CHANGE
985 client name: SMSG_PLAYER_SKILL_COOLDOWN_LIST
991 client name: SMSG_PLAYER_INVENTORY
@@ -404,24 +398,6 @@ a20 client name: SMSG_ROULETTE_GENERATE_ACK_TYPE
a22 client name: SMSG_ROULETTE_RECV_ITEM_ACK
a28 client name: SMSG_VENDING_OPEN_STATUS
a2d client name: SMSG_BEING_VIEW_EQUIPMENT
-b00 client name: SMSG_NPC_COMMAND
-b01 client name: SMSG_BEING_NAME_RESPONSE2
-b02 client name: SMSG_MAP_MASK
-b03 client name: SMSG_MOB_INFO
-b04 client name: SMSG_BEING_MOVE3
-b05 client name: SMSG_MAP_MUSIC
-b06 client name: SMSG_NPC_CHANGETITLE
-b08 client name: SMSG_CHAT_JOIN_CHANNEL
-b0a client name: SMSG_BEING_ATTRS
-b0b client name: SMSG_NPC_AREA
-b10 client name: SMSG_ONLINE_LIST
-b16 client name: SMSG_PLAYER_CLIENT_COMMAND
-b17 client name: SMSG_BEING_CHANGE_LOOKS_CARDS
-b18 client name: SMSG_ITEM_VISIBLE2
-b19 client name: SMSG_ITEM_DROPPED2
-b1a client name: SMSG_BATTLE_EMBLEM2
-b1b client name: SMSG_MAP_SET_TILES_TYPE
-b1c client name: SMSG_NPC_SKIN
cmd
2710
2711
@@ -628,9 +604,6 @@ cmd
3892
3893
3894
-5000
-5001
-7531 client name: SMSG_SERVER_VERSION_RESPONSE
additemtype
authoktype
banking_checktype
@@ -662,6 +635,7 @@ npcmarketopentype
npcmarketresultacktype
package_item_announcetype
partyleaderchangedtype
+questlisttype
rouletteinfoacktype
roulettercvitemacktype
roulettgenerateacktype
diff --git a/servergreps/hercules/20150805/serverpackets.txt b/servergreps/hercules/20150805/serverpackets.txt
index 3313c41..d8c5dd4 100644
--- a/servergreps/hercules/20150805/serverpackets.txt
+++ b/servergreps/hercules/20150805/serverpackets.txt
@@ -1,6 +1,4 @@
j
-62 client name: SMSG_CHAR_PASSWORD_RESPONSE
-63 client name: SMSG_UPDATE_HOST
69 client name: SMSG_LOGIN_DATA
6a client name: SMSG_LOGIN_ERROR
6b client name: SMSG_CHAR_LOGIN
@@ -282,7 +280,6 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
2dd client name: SMSG_BATTLE_EMBLEM
2de client name: SMSG_BATTLE_UPDATE_SCORE
2df client name: SMSG_BATTLE_UPDATE_COORDS
-2e1 client name: SMSG_BEING_ACTION2
2ef client name: SMSG_BEING_FONT
2f0 client name: SMSG_NPC_SHOW_PROGRESS_BAR
2f2 client name: SMSG_NPC_PROGRESS_BAR_ABORT
@@ -359,9 +356,6 @@ fd client name: SMSG_PARTY_INVITE_RESPONSE_OUTDATED
909 client name: SMSG_BOOKING_CANCEL_VOLUNTEER
90b client name: SMSG_BOOKING_ADD_FILTERING_LIST
90c client name: SMSG_BOOKING_SUB_FILTERING_LIST
-90f client name: SMSG_BEING_SPAWN
-914 client name: SMSG_BEING_MOVE
-915 client name: SMSG_BEING_VISIBLE
96d client name: SMSG_MERGE_ITEM
96f client name: SMSG_ACK_MERGE_ITEMS
977 client name: SMSG_MONSTER_HP
@@ -404,24 +398,6 @@ a20 client name: SMSG_ROULETTE_GENERATE_ACK_TYPE
a22 client name: SMSG_ROULETTE_RECV_ITEM_ACK
a28 client name: SMSG_VENDING_OPEN_STATUS
a2d client name: SMSG_BEING_VIEW_EQUIPMENT
-b00 client name: SMSG_NPC_COMMAND
-b01 client name: SMSG_BEING_NAME_RESPONSE2
-b02 client name: SMSG_MAP_MASK
-b03 client name: SMSG_MOB_INFO
-b04 client name: SMSG_BEING_MOVE3
-b05 client name: SMSG_MAP_MUSIC
-b06 client name: SMSG_NPC_CHANGETITLE
-b08 client name: SMSG_CHAT_JOIN_CHANNEL
-b0a client name: SMSG_BEING_ATTRS
-b0b client name: SMSG_NPC_AREA
-b10 client name: SMSG_ONLINE_LIST
-b16 client name: SMSG_PLAYER_CLIENT_COMMAND
-b17 client name: SMSG_BEING_CHANGE_LOOKS_CARDS
-b18 client name: SMSG_ITEM_VISIBLE2
-b19 client name: SMSG_ITEM_DROPPED2
-b1a client name: SMSG_BATTLE_EMBLEM2
-b1b client name: SMSG_MAP_SET_TILES_TYPE
-b1c client name: SMSG_NPC_SKIN
cmd
2710
2711
@@ -628,9 +604,6 @@ cmd
3892
3893
3894
-5000
-5001
-7531 client name: SMSG_SERVER_VERSION_RESPONSE
additemtype
authoktype
banking_checktype
@@ -662,6 +635,7 @@ npcmarketopentype
npcmarketresultacktype
package_item_announcetype
partyleaderchangedtype
+questlisttype
rouletteinfoacktype
roulettercvitemacktype
roulettgenerateacktype
diff --git a/servergreps/hercules/packets.py b/servergreps/hercules/packets.py
index 4d1747e..5eaac9a 100755
--- a/servergreps/hercules/packets.py
+++ b/servergreps/hercules/packets.py
@@ -11,12 +11,12 @@ import sys
filt = re.compile(".+[.]c", re.IGNORECASE)
serverpacketre = re.compile("(WFIFOW|WBUFW)([ ]*)[(]([ ]*)([\w>_-]+),([ ]*)"
+ "(?P<offset>0)([ ]*)[)]([ ]*)=([ ]*)0x(?P<packet>[0-9a-fA-F]+)([ ]*)[;]")
-serverpacketre2 = re.compile("[.]PacketType([ ]*)=([ ]*)(?P<name>[\w]+);")
+#serverpacketre2 = re.compile("([.]|[-][>])PacketType([ ]*)=([ ]*)(?P<name>[\w]+);")
+serverpacketre2 = re.compile("PacketType([ ]*)=([ ]*)(?P<name>[\w_]+);")
serverpacketre3 = re.compile("(WFIFOW|WBUFW)([ ]*)[(]([ ]*)([\w>_-]+),([ ]*)"
+ "(?P<offset>0)([ ]*)[)]([ ]*)=([ ]*)(?P<packet>[0-9\w]+)([ ]*)[;]")
-# need remove SMSG_
-#protocolinre = re.compile("packet[(](?P<name>[A-Z0-9_]+),([ ]*)0x(?P<packet>[0-9a-fA-F]+)[)];")
protocolinre = re.compile("packet[(](?P<name>[A-Z0-9_]+),([ ]*)0x(?P<packet>[0-9a-fA-F]+),([ ]*)(?P<len>[\w-]+),([ ]*)")
+protocolinverre = re.compile("^// (?P<ver>[0-9]+)$")
protocoloutre = re.compile("packet[(](?P<name>CMSG_[A-Z0-9_]+),([ ]*)0x(?P<packet>[0-9a-fA-F]+)[)];")
clientpacketre = re.compile("(\t*)packet[(]0x(?P<packet>[0-9a-fA-F]+),(?P<len>[\w-]+),(?P<function>[0-9a-zA-Z_>-]+)(,|[)])")
packetNameClientre = re.compile("(?P<name>(S|C)MSG_[A-Z0-9_]+)")
@@ -47,7 +47,8 @@ def collectServerPackets(parentDir):
continue
file2 = os.path.abspath(parentDir + os.path.sep + file1)
if not os.path.isfile(file2):
- collectServerPackets(file2)
+ if file2.find("/src/evol") <= 0:
+ collectServerPackets(file2)
elif filt.search(file1):
with open(file2, "r") as f:
for line in f:
@@ -85,9 +86,17 @@ def sortClientPackets():
clientpacketsSorted.append(packet)
clientpacketsSorted.sort()
-def collectManaPlusInPackets(fileName):
+def collectManaPlusInPackets(fileName, packetVersion):
+ version = 0
with open(fileName, "r") as f:
for line in f:
+ m = protocolinverre.search(line)
+ if m is not None:
+ version = int(m.group("ver"))
+ continue
+ # skip bigger versions than requested
+ if version > packetVersion:
+ continue
m = protocolinre.search(line)
if m is not None:
clientPacketsManaPlus[m.group("packet").lower()] = m.group("name")
@@ -235,18 +244,19 @@ def showHelp():
if len(sys.argv) != 2:
showHelp()
+packetVersion = sys.argv[1]
srcPath = "../../../server-code/src/"
-namedPacketsPath = sys.argv[1] + "/packets_struct.h"
+namedPacketsPath = packetVersion + "/packets_struct.h"
manaplusPath = "../../../manaplus/src/"
protocolPath = manaplusPath + "net/eathena/packets"
-clientPacketsPath = sys.argv[1] + "/packets.h"
+clientPacketsPath = packetVersion + "/packets.h"
packetsPath = manaplusPath + "net/eathena/packetsin.inc"
eathenaPath = manaplusPath + "net/eathena/"
collectNamedPackets(namedPacketsPath);
collectServerPackets(srcPath)
collectClientPackets(clientPacketsPath)
-collectManaPlusInPackets(protocolPath + "in.inc")
+collectManaPlusInPackets(protocolPath + "in.inc", int(packetVersion))
collectManaPlusOutPackets(protocolPath + "out.inc")
#collectManaPlusSizes(packetsPath);
processManaPlusCppFiles(eathenaPath);