1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-04 18:13:37 +00:00
ooot/tools/specprocess.py

55 lines
1.8 KiB
Python
Raw Normal View History

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 11:39:52 +00:00
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();