diff options
| author | Adam Bird <Archez@users.noreply.github.com> | 2023-04-14 09:54:56 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-14 09:54:56 -0400 |
| commit | f9074125431721bac705b608f47ae876d4476f85 (patch) | |
| tree | c47e28e1463a3fc072020267d25be18f834fe4b4 | |
| parent | b58aca0114c149d2f709a55f3fc49602eaff5b89 (diff) | |
chore: move asset header generation to new ExtractAssetsHeaders target (#2705)
* add dedicated build target for extracting asset headers conditionally
* dont gen otr when generating headers
* simplify python array
| -rwxr-xr-x | extract_assets.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/extract_assets.py b/extract_assets.py index 4983e6c..53553da 100755 --- a/extract_assets.py +++ b/extract_assets.py @@ -8,16 +8,22 @@ import struct import subprocess import argparse -def BuildOTR(xmlPath, rom, zapd_exe=None): +def BuildOTR(xmlPath, rom, zapd_exe=None, genHeaders=None): shutil.copytree("assets", "Extract/assets") if not zapd_exe: zapd_exe = "x64\\Release\\ZAPD.exe" if sys.platform == "win32" else "../ZAPDTR/ZAPD.out" exec_cmd = [zapd_exe, "ed", "-i", xmlPath, "-b", rom, "-fl", "CFG/filelists", - "-o", "placeholder", "-osf", "placeholder", "-gsf", "1", - "-rconf", "CFG/Config.xml", "-se", "OTR", "--otrfile", - "oot-mq.otr" if Z64Rom.isMqRom(rom) else "oot.otr"] + "-o", "placeholder", "-osf", "placeholder", "-rconf", "CFG/Config.xml"] + + # generate headers, but not otrs by excluding the otr exporter + if genHeaders: + exec_cmd.extend(["-gsf", "1"]) + else: + # generate otrs, but not headers + exec_cmd.extend(["-gsf", "0", "-se", "OTR", "--otrfile", + "oot-mq.otr" if Z64Rom.isMqRom(rom) else "oot.otr"]) print(exec_cmd) exitValue = subprocess.call(exec_cmd) @@ -33,6 +39,7 @@ def main(): parser.add_argument("rom", help="Path to the rom", type=str, nargs="?") parser.add_argument("--non-interactive", help="Runs the script non-interactively for use in build scripts.", dest="non_interactive", action="store_true") parser.add_argument("-v", "--verbose", help="Display rom's header checksums and their corresponding xml folder", dest="verbose", action="store_true") + parser.add_argument("--gen-headers", help="Generate source headers to be checked in", dest="gen_headers", action="store_true") args = parser.parse_args() @@ -41,7 +48,7 @@ def main(): if (os.path.exists("Extract")): shutil.rmtree("Extract") - BuildOTR("../soh/assets/xml/" + rom.version.xml_ver + "/", rom.file_path, zapd_exe=args.zapd_exe) + BuildOTR("../soh/assets/xml/" + rom.version.xml_ver + "/", rom.file_path, zapd_exe=args.zapd_exe, genHeaders=args.gen_headers) if __name__ == "__main__": main() |
