Skip to content
This repository has been archived by the owner on Nov 3, 2020. It is now read-only.

Commit

Permalink
fomap: refactor export code into exportMap
Browse files Browse the repository at this point in the history
  • Loading branch information
darkf committed Dec 6, 2015
1 parent 062573c commit 2352225
Showing 1 changed file with 25 additions and 18 deletions.
43 changes: 25 additions & 18 deletions fomap.py
Expand Up @@ -470,20 +470,10 @@ def getImageList(map):

return list(images)

def main():
def exportMap(dataDir, mapFile, outFile, verbose=False):
global DATA_DIR

if len(sys.argv) < 3:
print("USAGE: %s DATA_DIR MAP_FILE [OUT_FILE]" % sys.argv[0])
print("DATA_DIR should be the base directory where the .DATs are extracted")
return

DATA_DIR = sys.argv[1]
MAP_FILE = sys.argv[2]
MAP_NAME = os.path.basename(MAP_FILE).lower()
OUT_FILE = os.path.join("maps", stripExt(MAP_NAME) + ".json") # default path
if len(sys.argv) == 4:
OUT_FILE = sys.argv[3]
DATA_DIR = dataDir # TODO: make this not global

lstFiles = {"tiles": readLst(DATA_DIR, "art/tiles/tiles.lst"),
"scenery": readLst(DATA_DIR, "art/scenery/scenery.lst"),
Expand All @@ -496,18 +486,35 @@ def main():
"scripts": readLst(DATA_DIR, "scripts/scripts.lst")
}

with open(MAP_FILE, "rb") as fin:
with open(OUT_FILE, "wb") as fout:
print("writing %s..." % OUT_FILE)
with open(mapFile, "rb") as fin:
with open(outFile, "wb") as fout:
if verbose: print("writing %s..." % outFile)
map = parseMap(fin, lstFiles)
json.dump(map, fout)

# write image list
print("writing image list...")
with open(stripExt(OUT_FILE) + ".images.json", "wb") as fimg:
if verbose: print("writing image list...")
with open(stripExt(outFile) + ".images.json", "wb") as fimg:
json.dump(getImageList(map), fimg)

print("done")
if verbose: print("done")

def main():
global DATA_DIR

if len(sys.argv) < 3:
print("USAGE: %s DATA_DIR MAP_FILE [OUT_FILE]" % sys.argv[0])
print("DATA_DIR should be the base directory where the .DATs are extracted")
return

DATA_DIR = sys.argv[1]
MAP_FILE = sys.argv[2]
MAP_NAME = os.path.basename(MAP_FILE).lower()
OUT_FILE = os.path.join("maps", stripExt(MAP_NAME) + ".json") # default path
if len(sys.argv) == 4:
OUT_FILE = sys.argv[3]

exportMap(DATA_DIR, MAP_FILE, OUT_FILE, verbose=True)

if __name__ == '__main__':
main()

0 comments on commit 2352225

Please sign in to comment.