Atlas-Install/scripts/generate_track_minimap.py

34 lines
941 B
Python

"""
Note : use this script from the ../scripts/ directory
"""
import glob
import subprocess
import os
import shutil
from source.wszst import szs
from scripts import obj_to_png
def get_track_minimap(directory: str, sha1: str):
os.makedirs(tmp_dir := f"./scripts/tmp/{sha1}/", exist_ok=True)
szs.extract(f"{directory}{sha1}.szs", tmp_dir + "track.szs")
subprocess.run(["abmatt", "convert", tmp_dir + "track.szs.d/map_model.brres", "to", tmp_dir + "map_model.obj"])
try: img = obj_to_png.render_top_view(obj_file=tmp_dir + "map_model.obj")
except Exception as e:
print(e)
return None
finally:
shutil.rmtree(tmp_dir, ignore_errors=True)
return img
directory = "./file/Track/"
for track in glob.glob("*.szs", root_dir=directory):
sha1 = track.replace(".szs", "")
if (image := get_track_minimap(directory, sha1)) is not None:
image.save(f"./scripts/minimap/{sha1}.png")