jak-project/scripts/make_empty_obj_files.py
Tyler Wilding 73a4f2c83e
decomp: lights.gc (#420)
* scripts: Hack script to quickly identify the next goal_src file that hasn't been decomp'd yet

* config: Delete old type_hints file

* decomp: Decompile lights.gc

* decomp-tests: Add offline tests and temporary forward defs

* vs: Rename / add new offline test run config

* decomp: Add formatted lights.gc source

* decomp: Temporary define stub in geometry,gc

* decomp: Cleanup `lights-group` handling
2021-05-07 20:54:20 -04:00

54 lines
1 KiB
Python
Executable file

#!/usr/bin/env python3
import argparse
import glob
import os
from jak1_file_list import file_list
def dgo_names_string(names):
result = ""
for x in names:
result += x + ", "
result = result[:-2]
return result
def make_file(root, path, name, name_in_dgo, dgos, version):
os.makedirs(os.path.join(root, path), exist_ok=True)
if version == 3:
filename = name + ".gc"
text = """;;-*-Lisp-*-
(in-package goal)
;; name: {}
;; name in dgo: {}
;; dgos: {}
""".format(filename, name_in_dgo, dgo_names_string(dgos))
elif version == 4:
filename = name + ".gd"
text = """;;-*-Lisp-*-
;; GOAL Data Description File
;; name: {}
;; name in dgo: {}
;; dgos: {}
""".format(filename, name_in_dgo, dgo_names_string(dgos))
with open(os.path.join(root, path, filename), "w") as f:
f.write(text)
def main():
parser = argparse.ArgumentParser()
parser.add_argument(dest='root', help='root directory to create output in')
args = parser.parse_args()
for x in file_list:
make_file(args.root, x[4], x[0], x[1], x[3], x[2])
if __name__ == "__main__":
main()