blob: 988fc402598b40c9ca3945c077804e8835baa643 (
plain) (
tree)
|
|
#!/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("<!-- This file is generated automatically. -->\n")
item_db.append("<!-- Please do not edit it directly. -->\n")
item_db.append("<!-- ************************************************************************ -->\n")
## TODO: Follow includes instead of saving them
if "<include" in l:
tmp=l.split("\"")
if not "name" in tmp[0]:
print("\033[31mIllegal include: %s" % l)
continue
with open("%s/%s" % (MOUBOO, tmp[1]), "r") as k:
save=False
for j in k:
if not save:
if "<items>" in j:
save=True
continue
if "</items>" in j:
break
item_db.append(j)
continue
## Save the line
item_db.append(l)
while not "</items>" 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 "<include" in l:
tmp=l.split("\"")
if not "name" in tmp[0]:
print("\033[31mIllegal include: %s" % l)
continue
with open("%s/%s" % (EVOLVED, tmp[1]), "r") as k:
save=False
for j in k:
if not save:
if "<items>" in j:
save=True
continue
if "</items>" in j:
break
j=fix_id(j, 10000)
item_db.append(j)
continue
## Save the line
if not saving:
if "<items>" in l:
saving=True
continue
item_db.append(l)
while not "</items>" 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
|