From 58b34f91d7013c3cc3652aa1dff3ce1c8d7260b0 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 24 Oct 2022 10:06:10 -0300 Subject: Initial version of clientdata merger --- merge-client.py | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100755 merge-client.py diff --git a/merge-client.py b/merge-client.py new file mode 100755 index 0000000..988fc40 --- /dev/null +++ b/merge-client.py @@ -0,0 +1,115 @@ +#!/usr/bin/python3 +# This consolidates client XMLs +import os, traceback + +MYSELF="clientdata/" +EVOLVED="../pre-renewal/client-data/" +MOUBOO="../client-data/" +REVOLT="../evol/client-data/" + +# items.xml and their sprites in graphics/ +# Remember to regenerate weapons.xml after merging + +os.chdir("..") +item_db=[] + +def fix_id(l, offset): + if "id=" in l: + tmp=l.split("\"") + try: + if (int(tmp[1]) > 0): + tmp[1]=str(int(tmp[1]) + offset) + except: + traceback.print_exc() + l="\"".join(tmp) + return l + +## Moubootaur Legends is a raw copy +with open("%s/items.xml" % MOUBOO, "r") as f: + for l in f: + ## FIXME: RACESPRITE + #l=l.replace(" ", "\t") + ## Add headers + if "Authors:" in l: + item_db.append("\n") + item_db.append("\n") + item_db.append("\n") + ## TODO: Follow includes instead of saving them + if "" in j: + save=True + continue + if "" in j: + break + item_db.append(j) + continue + + ## Save the line + item_db.append(l) + while not "" in item_db[-1]: + item_db=item_db[:-1] +item_db=item_db[:-1] +print("\033[32;1mMoubootaur Legends OK\033[0m") + + + + +## Legacy/Evolved has an offset of 10k +with open("%s/items.xml" % EVOLVED, "r") as f: + saving=False + for l in f: + ## FIXME: RACESPRITE + #l=l.replace(" ", "\t") + ## Fix ID offset + l=fix_id(l, 10000) + ## TODO: Follow includes instead of saving them + if "" in j: + save=True + continue + if "" in j: + break + j=fix_id(j, 10000) + item_db.append(j) + continue + + ## Save the line + if not saving: + if "" in l: + saving=True + continue + item_db.append(l) + while not "" in item_db[-1]: + item_db=item_db[:-1] +#item_db=item_db[:-1] +print("\033[32;1mLegacy/Evolved OK\033[0m") + + + + + +## Save the final item database +with open(MYSELF+"items.xml", "w") as f: + for l in item_db: + f.write(l) + +print("\033[33;1mSaved! Databases merged!\033[0m") + +## TODO: Sync files + -- cgit v1.2.3-60-g2f50