summaryrefslogtreecommitdiff
path: root/servergreps/hercules/packets.py
blob: 62ce9540adbaea591caf2b674fa5452cdaaaf9ff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#! /usr/bin/env python2
# -*- coding: utf8 -*-
#
# Copyright (C) 2015-2016  Evol Online
# Author: Andrei Karas (4144)

import sys

from src.hercules import Hercules
from src.manaplus import ManaPlus
from src.reporter import Reporter


def showHelp():
    print("Usage: packets.py version")
    exit(1)


if len(sys.argv) != 2:
    showHelp()

packetVersion = sys.argv[1]
packetDir = packetVersion
while len(packetDir) < 8:
    packetDir = "0" + packetDir

hercules = Hercules()
manaplus = ManaPlus()
reporter = Reporter()
reporter.packetDir = packetDir;

srcPath = packetDir + "/src"
namedPacketsPath = packetDir + "/src/packets_struct.h"
manaplusPath = "../../../manaplus/src/"
protocolPath = manaplusPath + "net/eathena/packets"
serverInPacketsHPath = packetDir + "/src/packets.h"
serverLoginInPackets = packetDir + "/src/lclif.c"
packetsPath = manaplusPath + "net/eathena/packetsin.inc"
eathenaPath = manaplusPath + "net/eathena/"

hercules.collectNamedPackets(namedPacketsPath)
hercules.collectOutPackets(srcPath)
hercules.collectInPackets(serverInPacketsHPath, serverLoginInPackets)
manaplus.collectInPackets(protocolPath + "in.inc", int(packetVersion))
manaplus.collectOutPackets(protocolPath + "out.inc", int(packetVersion))
manaplus.processCppFiles(eathenaPath)
hercules.sortInPackets()
hercules.sortOutPackets()
reporter.reportManaplus(hercules, manaplus)
reporter.reportHercules(hercules)