mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-10 19:20:13 +00:00
Split msgdis from extract_assets (#1723)
* split msgdis from extract_assets * move import
This commit is contained in:
parent
c240184229
commit
9da4e17c8f
3 changed files with 23 additions and 16 deletions
1
Makefile
1
Makefile
|
@ -370,6 +370,7 @@ setup: venv
|
||||||
# TODO: for now, we only extract assets from the Debug ROM
|
# TODO: for now, we only extract assets from the Debug ROM
|
||||||
ifeq ($(VERSION),gc-eu-mq-dbg)
|
ifeq ($(VERSION),gc-eu-mq-dbg)
|
||||||
$(PYTHON) extract_assets.py -j$(N_THREADS)
|
$(PYTHON) extract_assets.py -j$(N_THREADS)
|
||||||
|
$(PYTHON) tools/msgdis.py --text-out assets/text/message_data.h --staff-text-out assets/text/message_data_staff.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
disasm: $(DISASM_O_FILES)
|
disasm: $(DISASM_O_FILES)
|
||||||
|
|
|
@ -96,7 +96,7 @@ def processZAPDArgs(argsZ):
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description="baserom asset extractor")
|
parser = argparse.ArgumentParser(description="baserom asset extractor")
|
||||||
parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep")
|
parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep")
|
||||||
parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones, and text (overwriting current files).", action="store_true")
|
parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones (overwriting current files).", action="store_true")
|
||||||
parser.add_argument("-j", "--jobs", help="Number of cpu cores to extract with.")
|
parser.add_argument("-j", "--jobs", help="Number of cpu cores to extract with.")
|
||||||
parser.add_argument("-u", "--unaccounted", help="Enables ZAPD unaccounted detector warning system.", action="store_true")
|
parser.add_argument("-u", "--unaccounted", help="Enables ZAPD unaccounted detector warning system.", action="store_true")
|
||||||
parser.add_argument("-Z", help="Pass the argument on to ZAPD, e.g. `-ZWunaccounted` to warn about unaccounted blocks in XMLs. Each argument should be passed separately, *without* the leading dash.", metavar="ZAPD_ARG", action="append")
|
parser.add_argument("-Z", help="Pass the argument on to ZAPD, e.g. `-ZWunaccounted` to warn about unaccounted blocks in XMLs. Each argument should be passed separately, *without* the leading dash.", metavar="ZAPD_ARG", action="append")
|
||||||
|
@ -128,21 +128,6 @@ def main():
|
||||||
del extractedAssetsTracker[fullPath]
|
del extractedAssetsTracker[fullPath]
|
||||||
ExtractFunc(fullPath)
|
ExtractFunc(fullPath)
|
||||||
else:
|
else:
|
||||||
extract_text_path = "assets/text/message_data.h"
|
|
||||||
extract_staff_text_path = "assets/text/message_data_staff.h"
|
|
||||||
|
|
||||||
# Only extract text if the header does not already exist, or if --force was passed
|
|
||||||
if not args.force:
|
|
||||||
if os.path.isfile(extract_text_path):
|
|
||||||
extract_text_path = None
|
|
||||||
if os.path.isfile(extract_staff_text_path):
|
|
||||||
extract_staff_text_path = None
|
|
||||||
|
|
||||||
if extract_text_path is not None or extract_staff_text_path is not None:
|
|
||||||
print("Extracting text")
|
|
||||||
from tools import msgdis
|
|
||||||
msgdis.extract_all_text(extract_text_path, extract_staff_text_path)
|
|
||||||
|
|
||||||
xmlFiles = []
|
xmlFiles = []
|
||||||
for currentPath, _, files in os.walk(os.path.join("assets", "xml")):
|
for currentPath, _, files in os.walk(os.path.join("assets", "xml")):
|
||||||
for file in files:
|
for file in files:
|
||||||
|
|
21
tools/msgdis.py
Normal file → Executable file
21
tools/msgdis.py
Normal file → Executable file
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
import re, struct
|
import re, struct
|
||||||
from os import path
|
from os import path
|
||||||
|
import argparse
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
# Util
|
# Util
|
||||||
|
@ -404,3 +405,23 @@ def extract_all_text(text_out, staff_text_out):
|
||||||
|
|
||||||
with open(staff_text_out, "w", encoding="utf8") as outfile:
|
with open(staff_text_out, "w", encoding="utf8") as outfile:
|
||||||
outfile.write(out.strip() + "\n")
|
outfile.write(out.strip() + "\n")
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Extract text from the baserom into .h files"
|
||||||
|
)
|
||||||
|
parser.add_argument("--text-out", help="Path to output .h file for text")
|
||||||
|
parser.add_argument(
|
||||||
|
"--staff-text-out", help="Path to output .h file for staff text"
|
||||||
|
)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
if not (args.text_out or args.staff_text_out):
|
||||||
|
parser.error("No output file requested")
|
||||||
|
|
||||||
|
extract_all_text(args.text_out, args.staff_text_out)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
Loading…
Reference in a new issue