1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 17:13:34 +00:00
ooot/tools/specprocess.py
Nicholas Estelami b95643b397
Updated Texture Asset Handling (#478)
* Auto stash before rebase of "upstream/master"

* A large number of scenes have been decompiled.

* Fixed makefile

* Decompiled around 40 scenes.

* Removed old file

* Finished matching remaining scenes.

* Removed old commented out spec lines

* Decompiled a few object files.

* Reorganized xmls a bit. Updated pu_box overlay to use proper symbol.

* Updated texture and object file decomp

* Fixed newline issue with ZAPD

* Moved scenes/ into the assets/ folder

* Fixed a few compile errors

* Auto stash before rebase of "upstream/master"

* A large number of scenes have been decompiled.

* Fixed makefile

* Decompiled around 40 scenes.

* Removed old file

* Finished matching remaining scenes.

* Removed old commented out spec lines

* Decompiled a few object files.

* Reorganized xmls a bit. Updated pu_box overlay to use proper symbol.

* Updated texture and object file decomp

* Moved scenes/ into the assets/ folder

* Fixed a few compile errors

* Fixed merge issues.

* Fixed makefile merge error

* Fixed additional merge error

* Fixed several more merge issues

* Commented out gameplay_keep and sk2 extraction, since currently unused.

* Reenabled gameplay_keep extraction since it's used in the spec

* Fixed build error

* Removed test struct

* Fixed makefile error that would happen on fresh builds

* Fixed merge issue

* Removed relative paths

* Multithreading on extraction, spec uses numbers, few changes to XMLs

* Removed redundant code from the extract_assets script

* object_sk2 and object_spot09_obj OK

* object_spot11_obj OK

* object_spot17_obj OK

* Test: One of the gameplay_keep dlists given a proper symbol

* Updated asset symbol names based on new naming scheme

* XMLs use "Offset" instead of "Address" now

* Fixed merge issues, updated ovl_Magic_Dark xml and gfx file

* Updated to use latest build of ZAPD

* Updated ZAPD again

* Updated ZAP to remove assimp dependency

* Jenkins Test: Added .gitkeep file

* Updated ZAP once more

* Updated png file name to comply with new naming scheme.

* Fixed bad include

Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2020-12-26 06:39:52 -05:00

55 lines
1.8 KiB
Python

import os
import sys
specFile = open("spec", "r");
specText = specFile.read();
specFile.close()
specLines = specText.split("\n");
# TODO: CLEAN THIS UP!
for i in range(0, len(specLines)):
line = specLines[i]
if (line.startswith("INCLUDE_SEG_SCENE")):
params = line.split("(")[1].split(")")[0].split(",")
for j in range(0, len(params)):
while (params[j].startswith(" ")):
params[j] = params[j][1 : len(params[j])]
line = "beginseg\r\n";
line += "\tname " + params[0] + "\r\n";
line += "\tromalign 0x1000\r\n";
line += "\tinclude " + params[1] + "\r\n";
line += "\taddress SEGMENT_SCENE\r\n";
line += "endseg\r\n";
elif (line.startswith("INCLUDE_SEG_ROOM")):
params = line.split("(")[1].split(")")[0].split(",")
for j in range(0, len(params)):
while (params[j].startswith(" ")):
params[j] = params[j][1 : len(params[j])]
line = "beginseg\r\n";
line += "\tname " + params[0] + "\r\n";
line += "\tromalign 0x1000\r\n";
line += "\tinclude " + params[1] + "\r\n";
line += "\taddress SEGMENT_ROOM\r\n";
line += "endseg\r\n";
elif (line.startswith("INCLUDE_SEG_OBJECT")):
params = line.split("(")[1].split(")")[0].split(",")
for j in range(0, len(params)):
while (params[j].startswith(" ")):
params[j] = params[j][1 : len(params[j])]
line = "beginseg\r\n";
line += "\tname " + params[0] + "\r\n";
line += "\tromalign 0x1000\r\n";
line += "\tinclude " + params[1] + "\r\n";
line += "\taddress SEGMENT_OBJECT\r\n";
line += "endseg\r\n";
line += "\r\n";
specLines[i] = line;
specOut = open("build/spec_preproc", "w");
specOut.writelines(specLines);
specOut.close();