diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-04-03 18:42:27 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-04-03 18:42:27 +0300 |
commit | 06c188389431ae1157a169f480e9d699503b9de1 (patch) | |
tree | 0d5ab3e2b80e639880136576e4dda7043c56dd43 /servergreps/hercules | |
parent | c45c79aa1e2e287c606c9f3f553b65b5b7b635e0 (diff) | |
download | evol-tools-06c188389431ae1157a169f480e9d699503b9de1.tar.gz evol-tools-06c188389431ae1157a169f480e9d699503b9de1.tar.bz2 evol-tools-06c188389431ae1157a169f480e9d699503b9de1.tar.xz evol-tools-06c188389431ae1157a169f480e9d699503b9de1.zip |
servergreps: fix parsing packets in server code. Disable parsing evol plugin.
Diffstat (limited to 'servergreps/hercules')
-rw-r--r-- | servergreps/hercules/20141016/serverpackets.txt | 36 | ||||
-rw-r--r-- | servergreps/hercules/20141022/serverpackets.txt | 32 | ||||
-rw-r--r-- | servergreps/hercules/20150226/serverpackets.txt | 32 | ||||
-rw-r--r-- | servergreps/hercules/20150513/serverpackets.txt | 30 | ||||
-rw-r--r-- | servergreps/hercules/20150805/serverpackets.txt | 28 | ||||
-rwxr-xr-x | servergreps/hercules/packets.py | 26 |
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); |