From 8621f3e93bad320dc61ea9bea7cfc4767b1c5a8b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 29 Dec 2014 15:16:29 +0300 Subject: hercules: add support for convert consts.txt from tmw. --- hercules/code/server/consts.py | 52 -------------------------------- hercules/code/server/evol/consts.py | 52 ++++++++++++++++++++++++++++++++ hercules/code/server/evol/main.py | 2 +- hercules/code/server/tmw/consts.py | 59 +++++++++++++++++++++++++++++++++++++ hercules/code/server/tmw/main.py | 6 ++-- 5 files changed, 115 insertions(+), 56 deletions(-) delete mode 100644 hercules/code/server/consts.py create mode 100644 hercules/code/server/evol/consts.py create mode 100644 hercules/code/server/tmw/consts.py (limited to 'hercules/code') diff --git a/hercules/code/server/consts.py b/hercules/code/server/consts.py deleted file mode 100644 index d2c5c9b..0000000 --- a/hercules/code/server/consts.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf8 -*- -# -# Copyright (C) 2014 Evol Online -# Author: Andrei Karas (4144) - -import re - -from code.fileutils import * -from code.stringutils import * - -def convertConsts(quests): - dstFile = "newserverdata/db/const.txt" - fieldsSplit = re.compile("\t+") - fields = dict() - with open(dstFile, "w") as w: - srcFile = "serverdata/db/const.txt" - with open(srcFile, "r") as r: - for line in r: - if len(line) < 2 or line[0:2] == "//": - continue - line = line.replace(" ", "\t") - rows = fieldsSplit.split(line) - sz = len(rows) - if sz < 2 or sz > 3: - continue - - fields[rows[0]] = rows[1][:-1] - if sz == 2: - w.write("{0}\t{1}".format(rows[0], rows[1])) - else: - w.write("{0}\t{1}\t{2}".format(rows[0], rows[1], rows[2])) - # build in parameters - w.write("ClientVersion\t10000\t1\n"); - - srcFile = "oldserverdata/db/const.txt" - w.write("// evol constants\n") - with open(srcFile, "r") as r: - for line in r: - if len(line) < 2 or line[0:2] == "//": - continue - line = line.replace(" ", "\t") - rows = fieldsSplit.split(line) - if len(rows) != 2: - continue - - if rows[0] in quests: - rows[1] = str(quests[rows[0]]) + "\n" - if rows[0] in fields: - if fields[rows[0]] != rows[1][:-1]: - print "warning: different const values for {0} ({1}, {2})".format(rows[0], rows[1][:-1], fields[rows[0]]) - else: - w.write("{0}\t{1}".format(rows[0], rows[1])) diff --git a/hercules/code/server/evol/consts.py b/hercules/code/server/evol/consts.py new file mode 100644 index 0000000..d2c5c9b --- /dev/null +++ b/hercules/code/server/evol/consts.py @@ -0,0 +1,52 @@ +# -*- coding: utf8 -*- +# +# Copyright (C) 2014 Evol Online +# Author: Andrei Karas (4144) + +import re + +from code.fileutils import * +from code.stringutils import * + +def convertConsts(quests): + dstFile = "newserverdata/db/const.txt" + fieldsSplit = re.compile("\t+") + fields = dict() + with open(dstFile, "w") as w: + srcFile = "serverdata/db/const.txt" + with open(srcFile, "r") as r: + for line in r: + if len(line) < 2 or line[0:2] == "//": + continue + line = line.replace(" ", "\t") + rows = fieldsSplit.split(line) + sz = len(rows) + if sz < 2 or sz > 3: + continue + + fields[rows[0]] = rows[1][:-1] + if sz == 2: + w.write("{0}\t{1}".format(rows[0], rows[1])) + else: + w.write("{0}\t{1}\t{2}".format(rows[0], rows[1], rows[2])) + # build in parameters + w.write("ClientVersion\t10000\t1\n"); + + srcFile = "oldserverdata/db/const.txt" + w.write("// evol constants\n") + with open(srcFile, "r") as r: + for line in r: + if len(line) < 2 or line[0:2] == "//": + continue + line = line.replace(" ", "\t") + rows = fieldsSplit.split(line) + if len(rows) != 2: + continue + + if rows[0] in quests: + rows[1] = str(quests[rows[0]]) + "\n" + if rows[0] in fields: + if fields[rows[0]] != rows[1][:-1]: + print "warning: different const values for {0} ({1}, {2})".format(rows[0], rows[1][:-1], fields[rows[0]]) + else: + w.write("{0}\t{1}".format(rows[0], rows[1])) diff --git a/hercules/code/server/evol/main.py b/hercules/code/server/evol/main.py index 23a98e5..bdc891a 100644 --- a/hercules/code/server/evol/main.py +++ b/hercules/code/server/evol/main.py @@ -4,7 +4,7 @@ # Copyright (C) 2014 Evol Online # Author: Andrei Karas (4144) -from code.server.consts import * +from code.server.evol.consts import * from code.server.evol.itemdb import * from code.server.evol.mobdb import * from code.server.mobskilldb import * diff --git a/hercules/code/server/tmw/consts.py b/hercules/code/server/tmw/consts.py new file mode 100644 index 0000000..dfbf8e5 --- /dev/null +++ b/hercules/code/server/tmw/consts.py @@ -0,0 +1,59 @@ +# -*- coding: utf8 -*- +# +# Copyright (C) 2014 Evol Online +# Author: Andrei Karas (4144) + +import re + +from code.fileutils import * +from code.stringutils import * + +def getConstsFile(srcDir): + files = os.listdir(srcDir) + for srcFile in files: + if srcFile.find("const") == 0 and srcFile[-4:] == ".txt": + yield srcDir + srcFile + +def convertConsts(quests): + dstFile = "newserverdata/db/const.txt" + fieldsSplit = re.compile("\t+") + fields = dict() + with open(dstFile, "w") as w: + srcFile = "serverdata/db/const.txt" + with open(srcFile, "r") as r: + for line in r: + if len(line) < 2 or line[0:2] == "//": + continue + line = line.replace(" ", "\t") + rows = fieldsSplit.split(line) + sz = len(rows) + if sz < 2 or sz > 3: + continue + + fields[rows[0]] = rows[1][:-1] + if sz == 2: + w.write("{0}\t{1}".format(rows[0], rows[1])) + else: + w.write("{0}\t{1}\t{2}".format(rows[0], rows[1], rows[2])) + # build in parameters + w.write("ClientVersion\t10000\t1\n"); + + srcDir = "oldserverdata/db/" + w.write("// evol constants\n") + for srcFile in getConstsFile(srcDir): + with open(srcFile, "r") as r: + for line in r: + if len(line) < 2 or line[0:2] == "//": + continue + line = line.replace(" ", "\t") + rows = fieldsSplit.split(line) + if len(rows) != 2: + continue + + if rows[0] in quests: + rows[1] = str(quests[rows[0]]) + "\n" + if rows[0] in fields: + if fields[rows[0]] != rows[1][:-1]: + print "warning: different const values for {0} ({1}, {2})".format(rows[0], rows[1][:-1], fields[rows[0]]) + else: + w.write("{0}\t{1}".format(rows[0], rows[1])) diff --git a/hercules/code/server/tmw/main.py b/hercules/code/server/tmw/main.py index ed15533..096dae0 100644 --- a/hercules/code/server/tmw/main.py +++ b/hercules/code/server/tmw/main.py @@ -4,7 +4,7 @@ # Copyright (C) 2014 Evol Online # Author: Andrei Karas (4144) -from code.server.consts import * +from code.server.tmw.consts import * from code.server.tmw.itemdb import * from code.server.tmw.mobdb import * from code.server.mobskilldb import * @@ -19,6 +19,6 @@ def serverTmwMain(): items = convertItemDb() convertNpcs(items) convertMobDb() - #quests = convertQuestsDb() - #convertConsts(quests) + quests = dict() + convertConsts(quests) #convertMobSkillDb() -- cgit v1.2.3-70-g09d2