ethteck / splat

A binary splitting tool to assist with decompilation and modding projects
MIT License
159 stars 42 forks source link

Error creating config to baserom #370

Closed svinsmoke212 closed 4 months ago

svinsmoke212 commented 4 months ago

I am attempting to create a yaml file for 'wcw/nworevenge.yaml'. Is this normal or should I move on?

dan@DESKTOP-MG6MEGQ:~/revenge$ python3 -m splat create_config baserom.z64 Traceback (most recent call last): File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/home/dan/.local/lib/python3.10/site-packages/splat/main.py", line 31, in splat_main() File "/home/dan/.local/lib/python3.10/site-packages/splat/main.py", line 27, in splat_main args.func(args) File "/home/dan/.local/lib/python3.10/site-packages/splat/scripts/create_config.py", line 254, in process_arguments main(Path(args.file)) File "/home/dan/.local/lib/python3.10/site-packages/splat/scripts/create_config.py", line 20, in main create_n64_config(file_path) File "/home/dan/.local/lib/python3.10/site-packages/splat/scripts/create_config.py", line 149, in create_n64_config with open(out_file, "w", newline="\n") as f: FileNotFoundError: [Errno 2] No such file or directory: 'wcw/nworevenge.yaml'

ethteck commented 4 months ago

This is an edge case we aren't handling in the code, where the header contains a forward slash in the game name. This translates to a directory when trying to output the file, and we don't create said directory in the code.

I think what we should probably do is replace forward slashes with underscores, unless the directory behavior is expected. Either way, should be a quick fix

ethteck commented 4 months ago

This should be fixed in 0.24.2. thanks for the report!