mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Merge branch 'master' of github.com:zeldaret/mm into ovl_En_Death
This commit is contained in:
+10
@@ -10,9 +10,11 @@ __pycache__/
|
||||
CMakeLists.txt
|
||||
cmake-build-debug
|
||||
venv/
|
||||
tags
|
||||
|
||||
# Project-specific ignores
|
||||
*.z64
|
||||
*.sra
|
||||
*.bin
|
||||
*.elf
|
||||
archive/
|
||||
@@ -31,6 +33,10 @@ tools/qemu-mips
|
||||
tools/ido_recomp/* binary
|
||||
ctx.c
|
||||
graphs/
|
||||
*.c.m2c
|
||||
tools/**/*dSYM/
|
||||
tools/decomp-permuter/
|
||||
tools/mips_to_c/
|
||||
|
||||
# Assets
|
||||
*.png
|
||||
@@ -38,5 +44,9 @@ graphs/
|
||||
!*_custom*
|
||||
.extracted-assets.json
|
||||
|
||||
# Docs
|
||||
!docs/**/*.png
|
||||
!.vscode/extensions.json
|
||||
|
||||
# Per-user configuration
|
||||
.python-version
|
||||
|
||||
+9
-6
@@ -14,7 +14,7 @@ Useful Links
|
||||
------------
|
||||
|
||||
- [Discord](https://discord.zelda64.dev/) - Primary discussion platform.
|
||||
- [Trello board](https://trello.com/b/ruxw9n6m/majoras-mask-decompilation) - We use this to track decompilation progress, not GitHub Issues.
|
||||
- [Google Sheets reservation board](https://docs.google.com/spreadsheets/d/1X83YCPRa532v-Zo0WgUsJ2kB1X9RxBta5_p9aWA8uro) - We use this to track decompilation progress, not GitHub Issues.
|
||||
|
||||
- [Installation guide](https://github.com/zeldaret/mm/blob/master/README.md#installation) - Instructions for getting this repository set up and built on your machine.
|
||||
- [Code Review Guidelines](REVIEWING.md) - These are the guidelines that reviewers will be using when reviewing your code. Good to be familiar with these before submitting your code.
|
||||
@@ -50,8 +50,12 @@ An *actor* is any thing in the game that moves or performs actions or interactio
|
||||
|
||||
You should [join the Discord](https://discord.zelda64.dev/) to say hello and get suggestions on where to start on the `#mm-decomp` channel.
|
||||
|
||||
We track who is working on what on the [Trello board](https://trello.com/b/ruxw9n6m/majoras-mask-decompilation).
|
||||
After joining the Discord, ask to be added to the Trello board so you can claim your code file and avoid duplicate work. You may need to add a card if a card for your file does not currently exist.
|
||||
We track who is working on what on the [Google Sheets reservation board](https://docs.google.com/spreadsheets/d/1X83YCPRa532v-Zo0WgUsJ2kB1X9RxBta5_p9aWA8uro).
|
||||
After joining the Discord, open the Google Sheets reservation board so you can claim your code file and avoid duplicate work.
|
||||
|
||||
The work flow is: Reserve a file, decompile it, submit a PR, and then repeat while addressing review comments. The expectation is that one reservation goes to one file which ends up in a one file PR.
|
||||
|
||||
Please note that unless it is communicated beforehand you will be expected to fully complete the file if you reserve it on Google Sheets reservation board. Exceptions are always easy to approve if it's communicated to the team. Real life circumstances can prevent someone from finishing. In these cases they should link their repo/branch in the Google Sheets reservation board and unreserve immediately. Communicate any issues with your reservations as early as possible.
|
||||
|
||||
Style Guide & Conventions
|
||||
-------------------------
|
||||
@@ -119,8 +123,7 @@ Documenting is more than just adding comments. Documenting also includes:
|
||||
- Using (or adding) constants, enums, and macros when possible
|
||||
- Explaining sections of code that are not straightforward
|
||||
|
||||
Overlays are not required to be documented at this time, but `code/` and `boot/` should be documented as much as possible.
|
||||
When an overlay documentation has been started, it will be required to be completed.
|
||||
Overlays are not required to be documented at this time, but `code/` and `boot/` should be documented. When documentation on a file has been started it should be as complete as possible.
|
||||
|
||||
For right now, object segment symbols should not be documented/renamed.
|
||||
These will be given names when object reconstruction is ready.
|
||||
@@ -156,4 +159,4 @@ Once all comments are addressed, it is courteous to ping the reviewer on either
|
||||
After all the comments are addressed and at least one contributor has approved the review, the project lead can then review and merge the code.
|
||||
The project lead is also responsible for ensuring that all of these procedures are followed.
|
||||
|
||||
Throughout the PR process, you (the author) should update the card on [Trello board](https://trello.com/b/ruxw9n6m/majoras-mask-decompilation) with the appropriate column and labels.
|
||||
Throughout the PR process, you (the author) should update the row on [Google Sheets reservation board](https://docs.google.com/spreadsheets/d/1X83YCPRa532v-Zo0WgUsJ2kB1X9RxBta5_p9aWA8uro) with the appropriate information as the decompilation process progresses.
|
||||
|
||||
Vendored
+28
-9
@@ -3,7 +3,23 @@ pipeline {
|
||||
label 'mm'
|
||||
}
|
||||
|
||||
options {
|
||||
ansiColor('xterm')
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Check formatting') {
|
||||
steps {
|
||||
echo 'Checking formatting...'
|
||||
sh 'bash -c "tools/check_format.sh 2>&1 >(tee tools/check_format.txt)"'
|
||||
}
|
||||
}
|
||||
stage('Check relocs') {
|
||||
steps {
|
||||
echo 'Checking relocs on spec...'
|
||||
sh 'bash -c "tools/reloc_spec_check.sh"'
|
||||
}
|
||||
}
|
||||
stage('Copy ROM') {
|
||||
steps {
|
||||
echo 'Setting up ROM...'
|
||||
@@ -17,7 +33,7 @@ pipeline {
|
||||
}
|
||||
stage('Check setup warnings') {
|
||||
steps {
|
||||
sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_setup_current.txt tools/warnings_count/warnings_setup_new.txt'
|
||||
sh 'bash -c "./tools/warnings_count/compare_warnings.sh setup"'
|
||||
}
|
||||
}
|
||||
stage('Disasm') {
|
||||
@@ -27,7 +43,7 @@ pipeline {
|
||||
}
|
||||
stage('Check disasm warnings') {
|
||||
steps {
|
||||
sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_disasm_current.txt tools/warnings_count/warnings_disasm_new.txt'
|
||||
sh 'bash -c "./tools/warnings_count/compare_warnings.sh disasm"'
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
@@ -37,7 +53,7 @@ pipeline {
|
||||
}
|
||||
stage('Check build warnings') {
|
||||
steps {
|
||||
sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_build_current.txt tools/warnings_count/warnings_build_new.txt'
|
||||
sh 'bash -c "./tools/warnings_count/compare_warnings.sh build"'
|
||||
}
|
||||
}
|
||||
stage('Report Progress') {
|
||||
@@ -46,9 +62,9 @@ pipeline {
|
||||
}
|
||||
steps {
|
||||
sh 'mkdir reports'
|
||||
sh 'python3 ./tools/progress.py csv >> reports/progress_mm.us.rev1.csv'
|
||||
sh 'python3 ./tools/progress.py csv -m >> reports/progress_matching_mm.us.rev1.csv'
|
||||
sh 'python3 ./tools/progress.py shield-json > reports/progress_shield_mm.us.rev1.json'
|
||||
sh 'python3 ./tools/progress.py csv >> reports/progress-mm-nonmatching.csv'
|
||||
sh 'python3 ./tools/progress.py csv -m >> reports/progress-mm-matching.csv'
|
||||
sh 'python3 ./tools/progress.py shield-json > reports/progress-mm-shield.json'
|
||||
stash includes: 'reports/*', name: 'reports'
|
||||
}
|
||||
}
|
||||
@@ -61,13 +77,16 @@ pipeline {
|
||||
}
|
||||
steps {
|
||||
unstash 'reports'
|
||||
sh 'cat reports/progress_mm.us.rev1.csv >> /var/www/html/reports/progress_mm.us.rev1.csv'
|
||||
sh 'cat reports/progress_matching_mm.us.rev1.csv >> /var/www/html/reports/progress_matching_mm.us.rev1.csv'
|
||||
sh 'cat reports/progress_shield_mm.us.rev1.json > /var/www/html/reports/progress_shield_mm.us.rev1.json'
|
||||
sh 'cat reports/progress-mm-nonmatching.csv >> /var/www/zelda64.dev/assets/csv/progress-mm-nonmatching.csv'
|
||||
sh 'cat reports/progress-mm-matching.csv >> /var/www/zelda64.dev/assets/csv/progress-mm-matching.csv'
|
||||
sh 'cat reports/progress-mm-shield.json > /var/www/zelda64.dev/assets/csv/progress-mm-shield.json'
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
failure {
|
||||
sh 'cat tools/check_format.txt tools/warnings_count/warnings_setup_new.txt tools/warnings_count/warnings_disasm_new.txt tools/warnings_count/warnings_build_new.txt'
|
||||
}
|
||||
always {
|
||||
cleanWs()
|
||||
}
|
||||
|
||||
@@ -8,6 +8,12 @@ COMPARE ?= 1
|
||||
NON_MATCHING ?= 0
|
||||
# If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler
|
||||
ORIG_COMPILER ?= 0
|
||||
# if WERROR is 1, pass -Werror to CC_CHECK, so warnings would be treated as errors
|
||||
WERROR ?= 0
|
||||
# Keep .mdebug section in build
|
||||
KEEP_MDEBUG ?= 0
|
||||
# Disassembles all asm from the ROM instead of skipping files which are entirely in C
|
||||
FULL_DISASM ?= 0
|
||||
|
||||
ifeq ($(NON_MATCHING),1)
|
||||
CFLAGS := -DNON_MATCHING
|
||||
@@ -15,6 +21,11 @@ ifeq ($(NON_MATCHING),1)
|
||||
COMPARE := 0
|
||||
endif
|
||||
|
||||
DISASM_FLAGS := --reg-names=o32
|
||||
ifneq ($(FULL_DISASM), 0)
|
||||
DISASM_FLAGS += --all
|
||||
endif
|
||||
|
||||
PROJECT_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||
|
||||
MAKE = make
|
||||
@@ -34,12 +45,7 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
# Threads to compress and extract assets with, TODO improve later
|
||||
ifeq ($(DETECTED_OS),linux)
|
||||
N_THREADS ?= $(shell nproc)
|
||||
else
|
||||
N_THREADS ?= 1
|
||||
endif
|
||||
N_THREADS ?= $(shell nproc)
|
||||
|
||||
#### Tools ####
|
||||
ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0)
|
||||
@@ -67,10 +73,21 @@ AS := $(MIPS_BINUTILS_PREFIX)as
|
||||
LD := $(MIPS_BINUTILS_PREFIX)ld
|
||||
OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy
|
||||
OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump
|
||||
ASM_PROC := python3 tools/asm-processor/build.py
|
||||
|
||||
ASM_PROC_FLAGS := --input-enc=utf-8 --output-enc=euc-jp
|
||||
|
||||
IINC := -Iinclude -Isrc -Iassets -Ibuild -I.
|
||||
|
||||
ifeq ($(KEEP_MDEBUG),0)
|
||||
RM_MDEBUG = $(OBJCOPY) --remove-section .mdebug $@
|
||||
else
|
||||
RM_MDEBUG = @:
|
||||
endif
|
||||
|
||||
# Check code syntax with host compiler
|
||||
CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-label
|
||||
CC_CHECK := gcc -fno-builtin -fsyntax-only -fsigned-char -std=gnu90 -D _LANGUAGE_C -D NON_MATCHING -Iinclude -Isrc -Iassets -Ibuild -include stdarg.h $(CHECK_WARNINGS)
|
||||
CC_CHECK := gcc -fno-builtin -fsyntax-only -funsigned-char -fdiagnostics-color -std=gnu89 -D _LANGUAGE_C -D NON_MATCHING $(IINC) -nostdinc $(CHECK_WARNINGS)
|
||||
|
||||
CPP := cpp
|
||||
ELF2ROM := tools/buildtools/elf2rom
|
||||
@@ -83,7 +100,10 @@ ASFLAGS := -march=vr4300 -32 -Iinclude
|
||||
MIPS_VERSION := -mips2
|
||||
|
||||
# we support Microsoft extensions such as anonymous structs, which the compiler does support but warns for their usage. Surpress the warnings with -woff.
|
||||
CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -Isrc -Iassets -Ibuild -I. -Wab,-r4300_mul -woff 624,649,838,712
|
||||
CFLAGS += -G 0 -non_shared -fullwarn -verbose -Xcpluscomm $(IINC) -nostdinc -Wab,-r4300_mul -woff 624,649,838,712,516
|
||||
|
||||
# Use relocations and abi fpr names in the dump
|
||||
OBJDUMP_FLAGS := -d -r -z -Mreg-names=32
|
||||
|
||||
ifeq ($(shell getconf LONG_BIT), 32)
|
||||
# Work around memory allocation bug in QEMU
|
||||
@@ -93,6 +113,16 @@ else
|
||||
CC_CHECK += -m32
|
||||
endif
|
||||
|
||||
# rom compression flags
|
||||
COMPFLAGS := --threads $(N_THREADS)
|
||||
ifneq ($(NON_MATCHING),1)
|
||||
COMPFLAGS += --matching
|
||||
endif
|
||||
|
||||
ifneq ($(WERROR), 0)
|
||||
CC_CHECK += -Werror
|
||||
endif
|
||||
|
||||
#### Files ####
|
||||
|
||||
# ROM image
|
||||
@@ -107,24 +137,29 @@ $(shell mkdir -p asm data)
|
||||
|
||||
SRC_DIRS := $(shell find src -type d)
|
||||
ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell find data -type d)
|
||||
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*")
|
||||
BASEROM_DIRS := $(shell find baserom -type d 2>/dev/null)
|
||||
ASSET_C_FILES := $(shell find assets/ -type f -name "*.c")
|
||||
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
|
||||
ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f)
|
||||
|
||||
## Assets binaries (PNGs, JPGs, etc)
|
||||
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*")
|
||||
# Prevents building C files that will be #include'd
|
||||
ASSET_BIN_DIRS_C_FILES := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/code*" -not -path "assets/overlays*")
|
||||
|
||||
ASSET_FILES_XML := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.xml))
|
||||
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
|
||||
ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_XML:.xml=.c),$f) \
|
||||
$(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f)
|
||||
|
||||
TEXTURE_FILES_PNG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.png))
|
||||
TEXTURE_FILES_JPG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.jpg))
|
||||
TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),build/$f) \
|
||||
$(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),build/$f) \
|
||||
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s))
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS_C_FILES),$(wildcard $(dir)/*.c))
|
||||
S_FILES := $(shell grep -F "build/asm" spec | sed 's/.*build\/// ; s/\.o\".*/.s/') \
|
||||
$(shell grep -F "build/data" spec | sed 's/.*build\/// ; s/\.o\".*/.s/')
|
||||
BASEROM_FILES := $(shell grep -F "build/baserom" spec | sed 's/.*build\/// ; s/\.o\".*//')
|
||||
O_FILES := $(foreach f,$(S_FILES:.s=.o),build/$f) \
|
||||
$(foreach f,$(wildcard baserom/*),build/$f.o) \
|
||||
$(foreach f,$(C_FILES:.c=.o),build/$f) \
|
||||
$(foreach f,$(ASSET_C_FILES:.c=.o),build/$f)
|
||||
$(foreach f,$(BASEROM_FILES),build/$f.o)
|
||||
|
||||
# Automatic dependency files
|
||||
# (Only asm_processor dependencies are handled for now)
|
||||
@@ -133,26 +168,52 @@ DEP_FILES := $(O_FILES:.o=.asmproc.d)
|
||||
# create build directories
|
||||
$(shell mkdir -p build/baserom $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(ASSET_BIN_DIRS),build/$(dir)))
|
||||
|
||||
build/src/libultra/os/%: OPTFLAGS := -O1
|
||||
build/src/libultra/voice/%: OPTFLAGS := -O2
|
||||
build/src/libultra/io/%: OPTFLAGS := -O2
|
||||
build/src/libultra/libc/%: OPTFLAGS := -O2
|
||||
build/src/libultra/libc/ll%: OPTFLAGS := -O1
|
||||
build/src/libultra/libc/ll%: MIPS_VERSION := -mips3 -32
|
||||
build/src/libultra/gu/%: OPTFLAGS := -O2
|
||||
build/src/libultra/rmon/%: OPTFLAGS := -O2
|
||||
build/src/boot_O2/%: OPTFLAGS := -O2
|
||||
build/src/boot_O2_g3/%: OPTFLAGS := -O2 -g3
|
||||
# directory flags
|
||||
build/src/boot_O2/%.o: OPTFLAGS := -O2
|
||||
build/src/boot_O2_g3/%.o: OPTFLAGS := -O2 -g3
|
||||
|
||||
build/src/libultra/os/%.o: OPTFLAGS := -O1
|
||||
build/src/libultra/voice/%.o: OPTFLAGS := -O2
|
||||
build/src/libultra/io/%.o: OPTFLAGS := -O2
|
||||
build/src/libultra/libc/%.o: OPTFLAGS := -O2
|
||||
build/src/libultra/gu/%.o: OPTFLAGS := -O2
|
||||
build/src/libultra/rmon/%.o: OPTFLAGS := -O2
|
||||
build/src/libultra/flash/%.o: OPTFLAGS := -g
|
||||
build/src/libultra/flash/%.o: MIPS_VERSION := -mips1
|
||||
|
||||
build/src/code/audio/%.o: OPTFLAGS := -O2
|
||||
|
||||
build/assets/%.o: OPTFLAGS := -O1
|
||||
build/assets/%.o: ASM_PROC_FLAGS :=
|
||||
|
||||
# file flags
|
||||
build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv
|
||||
build/src/boot_O2_g3/fault_drawer.o: CFLAGS += -trapuv
|
||||
|
||||
build/src/libultra/%: CC := $(CC_OLD)
|
||||
build/src/libultra/io/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/os/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/voice/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
build/src/code/jpegutils.o: OPTFLAGS := -O2
|
||||
build/src/code/jpegdecoder.o: OPTFLAGS := -O2
|
||||
build/src/code/jpegutils.o: CC := $(CC_OLD)
|
||||
build/src/code/jpegdecoder.o: CC := $(CC_OLD)
|
||||
|
||||
CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/libultra/libc/ll.o: OPTFLAGS := -O1
|
||||
build/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32
|
||||
build/src/libultra/libc/llcvt.o: OPTFLAGS := -O1
|
||||
build/src/libultra/libc/llcvt.o: MIPS_VERSION := -mips3 -32
|
||||
|
||||
# cc & asm-processor
|
||||
build/src/boot_O2/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/boot_O2_g3/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
build/src/libultra/%.o: CC := $(CC_OLD)
|
||||
# Needed at least until voice is decompiled
|
||||
build/src/libultra/voice/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC_OLD) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
build/src/code/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/code/audio/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
build/src/overlays/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
build/assets/%.o: CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
#### Main Targets ###
|
||||
|
||||
@@ -170,15 +231,15 @@ endif
|
||||
|
||||
.PHONY: all uncompressed compressed clean assetclean distclean disasm init setup
|
||||
.DEFAULT_GOAL := uncompressed
|
||||
all: uncompressed compressed
|
||||
all: compressed
|
||||
|
||||
$(ROM): $(ELF)
|
||||
$(ELF2ROM) -cic 6105 $< $@
|
||||
|
||||
$(ROMC): $(ROM)
|
||||
python3 tools/z64compress_wrapper.py --mb 32 --matching --threads $(N_THREADS) $< $@ $(ELF) build/$(SPEC)
|
||||
$(ROMC): uncompressed
|
||||
python3 tools/z64compress_wrapper.py $(COMPFLAGS) $(ROM) $@ $(ELF) build/$(SPEC)
|
||||
|
||||
$(ELF): $(TEXTURE_FILES_OUT) $(OVERLAY_RELOC_FILES) $(O_FILES) build/ldscript.txt build/undefined_syms.txt
|
||||
$(ELF): $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(O_FILES) build/ldscript.txt build/undefined_syms.txt
|
||||
$(LD) -T build/undefined_syms.txt -T build/ldscript.txt --no-check-sections --accept-unknown-input-arch --emit-relocs -Map build/mm.map -o $@
|
||||
|
||||
|
||||
@@ -202,14 +263,14 @@ setup:
|
||||
$(MAKE) -C tools
|
||||
python3 tools/fixbaserom.py
|
||||
python3 tools/extract_baserom.py
|
||||
python3 extract_assets.py -t $(N_THREADS)
|
||||
python3 extract_assets.py -j $(N_THREADS)
|
||||
|
||||
## Assembly generation
|
||||
disasm:
|
||||
$(RM) -rf asm data
|
||||
python3 tools/disasm/disasm.py
|
||||
python3 tools/disasm/disasm.py -j $(N_THREADS) $(DISASM_FLAGS)
|
||||
|
||||
diff-init: all
|
||||
diff-init: uncompressed
|
||||
$(RM) -rf expected/
|
||||
mkdir -p expected/
|
||||
cp -r build expected/build
|
||||
@@ -221,9 +282,6 @@ init:
|
||||
$(MAKE) all
|
||||
$(MAKE) diff-init
|
||||
|
||||
build/assets/%.o: assets/%.c
|
||||
$(CC) -I build/ -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
|
||||
#### Various Recipes ####
|
||||
|
||||
build/undefined_syms.txt: undefined_syms.txt
|
||||
@@ -233,44 +291,54 @@ build/ldscript.txt: $(SPEC)
|
||||
$(CPP) $(CPPFLAGS) $< > build/spec
|
||||
$(MKLDSCRIPT) build/spec $@
|
||||
|
||||
build/baserom/%.o: baserom/%
|
||||
$(OBJCOPY) -I binary -O elf32-big $< $@
|
||||
|
||||
build/asm/%.o: asm/%.s
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
build/assets/%.o: assets/%.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
$(OBJCOPY) -O binary $@ $@.bin
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/baserom/%.o: baserom/%
|
||||
$(OBJCOPY) -I binary -O elf32-big $< $@
|
||||
|
||||
build/data/%.o: data/%.s
|
||||
iconv --from UTF-8 --to EUC-JP $< | $(AS) $(ASFLAGS) -o $@
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
build/src/overlays/%.o: src/overlays/%.c
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
# $(CC_CHECK) $<
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
@$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
|
||||
# TODO: `() || true` is currently necessary to suppress `Error 1 (ignored)` make warnings caused by `test`, but this will go away if
|
||||
# the following is moved to a separate rule that is only run once when all the required objects have been compiled.
|
||||
$(ZAPD) bovl -eh -i $@ -cfg $< --outputpath $(@D)/$(notdir $(@D))_reloc.s
|
||||
(test -f $(@D)/$(notdir $(@D))_reloc.s && $(AS) $(ASFLAGS) $(@D)/$(notdir $(@D))_reloc.s -o $(@D)/$(notdir $(@D))_reloc.o) || true
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/src/%.o: src/%.c
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
# $(CC_CHECK) $<
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
@$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/src/libultra/libc/ll.o: src/libultra/libc/ll.c
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
# $(CC_CHECK) $<
|
||||
python3 tools/set_o32abi_bit.py $@
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
@$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/src/libultra/libc/llcvt.o: src/libultra/libc/llcvt.c
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
# $(CC_CHECK) $<
|
||||
python3 tools/set_o32abi_bit.py $@
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
@$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
|
||||
$(RM_MDEBUG)
|
||||
|
||||
# Build C files from assets
|
||||
|
||||
build/%.inc.c: %.png
|
||||
$(ZAPD) btex -eh -tt $(lastword ,$(subst ., ,$(basename $<))) -i $< -o $@
|
||||
$(ZAPD) btex -eh -tt $(subst .,,$(suffix $*)) -i $< -o $@
|
||||
|
||||
build/assets/%.bin.inc.c: assets/%.bin
|
||||
$(ZAPD) bblb -eh -i $< -o $@
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
[jenkins]: https://jenkins.deco.mp/job/MM/job/master
|
||||
[jenkins-badge]: https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins.deco.mp%2Fjob%2FMM%2Fjob%2Fmaster
|
||||
|
||||
[progress]: https://zelda64.dev/progress.html
|
||||
[progress-badge]: https://img.shields.io/endpoint?url=https://zelda64.dev/reports/progress_shield_mm.us.rev1.json
|
||||
[progress]: https://zelda64.dev/games/mm
|
||||
[progress-badge]: https://img.shields.io/endpoint?url=https://zelda64.dev/assets/csv/progress-mm-shield.json
|
||||
|
||||
[contributors]: https://github.com/zeldaret/mm/graphs/contributors
|
||||
[contributors-badge]: https://img.shields.io/github/contributors/zeldaret/mm
|
||||
@@ -23,26 +23,35 @@ in an experimental and research phase and cannot currently be used traditionally
|
||||
source code base for general changes.
|
||||
```
|
||||
|
||||
**This repo does not include any assets or code necessary for compiling the ROM. A prior copy of the game is required to extract the required assets.**
|
||||
This is a WIP **decompilation** of ***The Legend of Zelda: Majora's Mask***. The purpose of the project is to recreate a source code base for the game from scratch, using information found inside the game along with static and/or dynamic analysis. **It is not producing a PC port.** For more information you can get in touch with the team on our [Discord server](https://discord.zelda64.dev).
|
||||
|
||||
This is a decompilation of Legend of Zelda: Majora's Mask (US) 1.0
|
||||
The only build currently supported is N64 US, but other versions are planned to be supported.
|
||||
|
||||
It builds the following ROM:
|
||||
It currently builds the following ROM:
|
||||
* mm.us.rev1.rom.z64 `md5: 2a0a8acb61538235bc1094d297fb6556`
|
||||
|
||||
**This repo does not include any assets or assembly code necessary for compiling the ROM. A prior copy of the game is required to extract the required assets.**
|
||||
|
||||
Please refer to the following for more information:
|
||||
|
||||
- [Website](https://zelda64.dev/)
|
||||
- [Discord](https://discord.zelda64.dev/)
|
||||
- [How to Contribute](CONTRIBUTING.md)
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### Windows
|
||||
|
||||
For Windows 10, install WSL and a distribution by following this
|
||||
[Windows Subsystem for Linux Installation Guide](https://docs.microsoft.com/en-us/windows/wsl/install-win10).
|
||||
We recommend using Debian or Ubuntu 18.04 Linux distributions.
|
||||
We recommend using Debian or Ubuntu 20.04 Linux distributions.
|
||||
|
||||
|
||||
### MacOS
|
||||
|
||||
Preparation is covered in a [separate document](docs/BUILDING_MACOS.md).
|
||||
|
||||
|
||||
### Linux (Native or under WSL / VM)
|
||||
|
||||
@@ -65,13 +74,7 @@ sudo apt update
|
||||
sudo apt install make git build-essential binutils-mips-linux-gnu python3 python3-pip libpng-dev
|
||||
```
|
||||
|
||||
To install the Python dependencies simply run in a terminal:
|
||||
|
||||
```bash
|
||||
python3 -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
#### 2. Fork the repository
|
||||
#### 2. Clone the repository
|
||||
|
||||
Create your own fork of the repository at `https://github.com/zeldaret/mm`. Then clone your fork where you wish to have the project, with the command:
|
||||
|
||||
@@ -79,11 +82,27 @@ Create your own fork of the repository at `https://github.com/zeldaret/mm`. Then
|
||||
git clone https://github.com/<YOUR_USERNAME>/mm.git
|
||||
```
|
||||
|
||||
#### 3. Prepare a base ROM
|
||||
This will copy the GitHub repository contents into a new folder in the current directory called `mm`. Change into this directory before doing anything else:
|
||||
|
||||
```bash
|
||||
cd mm
|
||||
```
|
||||
|
||||
#### 3. Install python dependencies
|
||||
|
||||
The build process has a few python packages required that are located in `requirements.txt`.
|
||||
|
||||
To install them simply run in a terminal:
|
||||
|
||||
```bash
|
||||
python3 -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
#### 4. Prepare a base ROM
|
||||
|
||||
Copy your ROM to inside the root of this new project directory, and rename the file of the baserom to reflect the version of ROM you are using. ex: `baserom.mm.us.rev1.z64`
|
||||
|
||||
#### 4. Make and Build the ROM
|
||||
#### 5. Make and Build the ROM
|
||||
|
||||
To start the extraction/build process, run the following command:
|
||||
|
||||
@@ -110,26 +129,24 @@ This means that something is wrong with the ROM's contents. Either the baserom f
|
||||
|
||||
Running `make init` will also make the `./expected` directory and copy all of the files there, which will be useful when running the diff script. The diff script is useful in decompiling functions and can be ran with this command: `./tools/asm-differ/diff.py -wmo3 <insert_function_here>`
|
||||
|
||||
**Note**: to speed up the build, you can either:
|
||||
* Pass `-jN` to `make setup` and `make`, where N is the number of threads to use in the build, e.g. `make -j4`. The generally-accepted wisdom is to use the number of virtual cores your computer has.
|
||||
* Pass `-j` to `make setup` and `make`, to use as many threads as possible, but beware that this can use too much memory on lower-end systems.
|
||||
Both of these have the disadvantage that the ordering of the terminal output is scrambled, so for debugging it is best to stick to one thread (i.e. not pass `-j` or `-jN`).
|
||||
**Note**: to speed up the build, you can pass `-jN` to `make setup` and `make`, where N is the number of threads to use in the build, e.g. `make -j4`. The generally-accepted wisdom is to use the number of virtual cores your computer has, which is the output of `nproc` (which should be installed as part of `coreutils`).
|
||||
The disadvantage that the ordering of the terminal output is scrambled, so for debugging it is best to stick to one thread (i.e. not pass `-jN`).
|
||||
(`-j` also exists, which uses unlimited jobs, but is generally slower.)
|
||||
|
||||
**Note**: if you rename symbols, it is recommended that you use the `tools/rename_sym.sh` to ensure that you cover all instances, including the tables which are used to generate the `asm/` directory.
|
||||
|
||||
Usage: `tools/rename_sym.sh old_name new_name`. Example:
|
||||
|
||||
```bash
|
||||
tools/rename_sym.sh func_808A3428 EnTorch2_UpdateIdle
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
All contributions are welcome. This is a group effort, and even small contributions can make a difference.
|
||||
Some tasks also don't require much knowledge to get started.
|
||||
|
||||
Anyone who wishes to contribute to the OOT or MM projects **must not have accessed leaked source code at any point in time** for Nintendo 64 SDK, iQue player SDK, libultra, Ocarina of Time, Majora's Mask, Animal Crossing/Animal Forest, or any other game that shares the same game engine or significant portions of code to a Zelda 64 game or any other console similar to the Nintendo 64.
|
||||
Please note that is is our strict policy that *Anyone who wishes to contribute to the OOT or MM projects **must not have accessed leaked source code at any point in time** for Nintendo 64 SDK, iQue player SDK, libultra, Ocarina of Time, Majora's Mask, Animal Crossing/Animal Forest, or any other game that shares the same game engine or significant portions of code to a Zelda 64 game or any other console similar to the Nintendo 64.*
|
||||
|
||||
Most discussions happen on our [Discord Server](https://discord.zelda64.dev), where you are welcome to ask if you need help getting started, or if you have any questions regarding this project and other decompilation projects.
|
||||
|
||||
For more information on getting started, see our [Contributing Guide](CONTRIBUTING.md) and our [Code Review Guidelines](REVIEWING.md) to see what code quality guidelines we follow.
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
### Q: Why does MM use transient assembly?
|
||||
A: It is the view of the MM project leads that transient asm is safer than storing the disassembly in the repo. We feel like the C code is more transformative than a straight disassembly.
|
||||
+1
-1
@@ -13,7 +13,7 @@ Useful Links
|
||||
------------
|
||||
|
||||
- [Discord](https://discord.zelda64.dev/) - Primary discussion platform.
|
||||
- [Trello board](https://trello.com/b/ruxw9n6m/majoras-mask-decompilation) - We use this to track decompilation progress, not GitHub Issues.
|
||||
- [Google Sheets reservation board](https://docs.google.com/spreadsheets/d/1X83YCPRa532v-Zo0WgUsJ2kB1X9RxBta5_p9aWA8uro) - We use this to track decompilation progress, not GitHub Issues.
|
||||
|
||||
- [Contributing guide](https://github.com/zeldaret/mm/blob/master/CONTRIBUTING.md) - Instructions for contributors.
|
||||
- [Installation guide](https://github.com/zeldaret/mm/blob/master/README.md#installation) - Instructions for getting this repository set up and built on your machine.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<Root>
|
||||
<File Name="code" BaseAddress="0x800A5AC0" RangeStart="0x114A90" RangeEnd="0x115550" OutName="debug_display">
|
||||
<Array Name="sDebugDisplay1Vtx" Count="36" Offset="0x114A90">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplay1DL" Offset="0x114CD0"/>
|
||||
|
||||
<Array Name="sDebugDisplay2Vtx" Count="8" Offset="0x114D30">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplay2DL" Offset="0x114DB0"/>
|
||||
|
||||
<Array Name="sDebugDisplay3Vtx" Count="40" Offset="0x114E00">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplay3DL" Offset="0x115080"/>
|
||||
|
||||
<Texture Name="sDebugDisplayCircleTex" OutName="debug_circle" Format="i8" Width="16" Height="16" Offset="0x1150F8"/>
|
||||
<Texture Name="sDebugDisplayBallTex" OutName="debug_ball" Format="i8" Width="16" Height="16" Offset="0x1151F8"/>
|
||||
<Texture Name="sDebugDisplayCursorTex" OutName="debug_cursor" Format="i8" Width="16" Height="16" Offset="0x1152F8"/>
|
||||
<Texture Name="sDebugDisplayCrossTex" OutName="debug_cross" Format="i8" Width="16" Height="16" Offset="0x1153F8"/>
|
||||
|
||||
<Array Name="sDebugDisplaySpriteVtx" Count="4" Offset="0x1154F8">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplaySpriteDL" Offset="0x115538"/>
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Root>
|
||||
<File Name="code" BaseAddress="0x800A5AC0" RangeStart="0x108830" RangeEnd="0x108870" OutName="eff_shield_particle">
|
||||
<Array Name="sEffShieldParticleVtx" Count="4" Offset="0x108830">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Root>
|
||||
<File Name="code" OutName="sub_s" BaseAddress="0x800A5AC0" RangeStart="0x120260" RangeEnd="0x1202F0" >
|
||||
<DList Name="gShadowDL" Offset="0x1202A0"/>
|
||||
<DList Name="gShadowVtxDL" Offset="0x1202C0"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,57 @@
|
||||
<Root>
|
||||
<File Name="do_action_static" Segment="9">
|
||||
<Texture Name="gDoActionAttackENGTex" OutName="attack_eng" Format="ia4" Width="48" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gDoActionCheckENGTex" OutName="check_eng" Format="ia4" Width="48" Height="16" Offset="0x180"/>
|
||||
<Texture Name="gDoActionEnterENGTex" OutName="enter_eng" Format="ia4" Width="48" Height="16" Offset="0x300"/>
|
||||
<Texture Name="gDoActionReturnENGTex" OutName="return_eng" Format="ia4" Width="48" Height="16" Offset="0x480"/>
|
||||
<Texture Name="gDoActionOpenENGTex" OutName="open_eng" Format="ia4" Width="48" Height="16" Offset="0x600"/>
|
||||
<Texture Name="gDoActionJumpENGTex" OutName="jump_eng" Format="ia4" Width="48" Height="16" Offset="0x780"/>
|
||||
<Texture Name="gDoActionDecideENGTex" OutName="decide_eng" Format="ia4" Width="48" Height="16" Offset="0x900"/>
|
||||
<Texture Name="gDoActionDiveENGTex" OutName="dive_eng" Format="ia4" Width="48" Height="16" Offset="0xA80"/>
|
||||
<Texture Name="gDoActionFasterENGTex" OutName="faster_eng" Format="ia4" Width="48" Height="16" Offset="0xC00"/>
|
||||
<Texture Name="gDoActionThrowENGTex" OutName="throw_eng" Format="ia4" Width="48" Height="16" Offset="0xD80"/>
|
||||
|
||||
<!-- Unused and left untranslated from Japanese -->
|
||||
<Texture Name="gDoActionNaviENGTex" OutName="navi_eng" Format="ia4" Width="48" Height="16" Offset="0xF00"/>
|
||||
|
||||
<Texture Name="gDoActionClimbENGTex" OutName="climb_eng" Format="ia4" Width="48" Height="16" Offset="0x1080"/>
|
||||
<Texture Name="gDoActionDropENGTex" OutName="drop_eng" Format="ia4" Width="48" Height="16" Offset="0x1200"/>
|
||||
<Texture Name="gDoActionDownENGTex" OutName="down_eng" Format="ia4" Width="48" Height="16" Offset="0x1380"/>
|
||||
<Texture Name="gDoActionQuitENGTex" OutName="quit_eng" Format="ia4" Width="48" Height="16" Offset="0x1500"/>
|
||||
<Texture Name="gDoActionSpeakENGTex" OutName="speak_eng" Format="ia4" Width="48" Height="16" Offset="0x1680"/>
|
||||
<Texture Name="gDoActionNextENGTex" OutName="next_eng" Format="ia4" Width="48" Height="16" Offset="0x1800"/>
|
||||
<Texture Name="gDoActionGrabENGTex" OutName="grab_eng" Format="ia4" Width="48" Height="16" Offset="0x1980"/>
|
||||
<Texture Name="gDoActionStopENGTex" OutName="stop_eng" Format="ia4" Width="48" Height="16" Offset="0x1B00"/>
|
||||
<Texture Name="gDoActionPutAwayENGTex" OutName="put_away_eng" Format="ia4" Width="48" Height="16" Offset="0x1C80"/>
|
||||
|
||||
<!-- Unused and left untranslated from Japanese -->
|
||||
<Texture Name="gDoActionReelENGTex" OutName="reel_eng" Format="ia4" Width="48" Height="16" Offset="0x1E00"/>
|
||||
|
||||
<Texture Name="gDoActionInfoENGTex" OutName="info_eng" Format="ia4" Width="48" Height="16" Offset="0x1F80"/>
|
||||
<Texture Name="gDoActionWarpENGTex" OutName="warp_eng" Format="ia4" Width="48" Height="16" Offset="0x2100"/>
|
||||
<Texture Name="gDoActionSnapENGTex" OutName="snap_eng" Format="ia4" Width="48" Height="16" Offset="0x2280"/>
|
||||
<Texture Name="gDoActionExplodeENGTex" OutName="explode_eng" Format="ia4" Width="48" Height="16" Offset="0x2400"/>
|
||||
<Texture Name="gDoActionDanceENGTex" OutName="dance_eng" Format="ia4" Width="48" Height="16" Offset="0x2580"/>
|
||||
<Texture Name="gDoActionMarchENGTex" OutName="march_eng" Format="ia4" Width="48" Height="16" Offset="0x2700"/>
|
||||
|
||||
<Texture Name="gDoActionNum1ENGTex" OutName="num_1_eng" Format="ia4" Width="48" Height="16" Offset="0x2880"/>
|
||||
<Texture Name="gDoActionNum2ENGTex" OutName="num_2_eng" Format="ia4" Width="48" Height="16" Offset="0x2A00"/>
|
||||
<Texture Name="gDoActionNum3ENGTex" OutName="num_3_eng" Format="ia4" Width="48" Height="16" Offset="0x2B80"/>
|
||||
<Texture Name="gDoActionNum4ENGTex" OutName="num_4_eng" Format="ia4" Width="48" Height="16" Offset="0x2D00"/>
|
||||
<Texture Name="gDoActionNum5ENGTex" OutName="num_5_eng" Format="ia4" Width="48" Height="16" Offset="0x2E80"/>
|
||||
<Texture Name="gDoActionNum6ENGTex" OutName="num_6_eng" Format="ia4" Width="48" Height="16" Offset="0x3000"/>
|
||||
<Texture Name="gDoActionNum7ENGTex" OutName="num_7_eng" Format="ia4" Width="48" Height="16" Offset="0x3180"/>
|
||||
<Texture Name="gDoActionNum8ENGTex" OutName="num_8_eng" Format="ia4" Width="48" Height="16" Offset="0x3300"/>
|
||||
|
||||
<Texture Name="gDoActionCurlENGTex" OutName="curl_eng" Format="ia4" Width="48" Height="16" Offset="0x3480"/>
|
||||
<Texture Name="gDoActionSurfaceENGTex" OutName="surface_eng" Format="ia4" Width="48" Height="16" Offset="0x3600"/>
|
||||
<Texture Name="gDoActionSwimENGTex" OutName="swim_eng" Format="ia4" Width="48" Height="16" Offset="0x3780"/>
|
||||
<Texture Name="gDoActionPunchENGTex" OutName="punch_eng" Format="ia4" Width="48" Height="16" Offset="0x3900"/>
|
||||
<Texture Name="gDoActionPoundENGTex" OutName="pound_eng" Format="ia4" Width="48" Height="16" Offset="0x3A80"/>
|
||||
|
||||
<!-- Unused and left untranslated from Japanese -->
|
||||
<Texture Name="gDoActionHookENGTex" OutName="hook_eng" Format="ia4" Width="48" Height="16" Offset="0x3C00"/>
|
||||
|
||||
<Texture Name="gDoActionShootENGTex" OutName="shoot_eng" Format="ia4" Width="48" Height="16" Offset="0x3D80"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,10 @@
|
||||
<Root>
|
||||
<File Name="icon_item_gameover_static" Segment="12">
|
||||
<Texture Name="gGameOverP1Tex" OutName="game_over_p1" Format="ia8" Width="64" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGameOverP2Tex" OutName="game_over_p2" Format="ia8" Width="64" Height="32" Offset="0x800"/>
|
||||
<Texture Name="gGameOverP3Tex" OutName="game_over_p3" Format="ia8" Width="64" Height="32" Offset="0x1000"/>
|
||||
<Texture Name="gGameOverMaskTex" OutName="game_over_mask" Format="ia8" Width="64" Height="32" Offset="0x1800"/>
|
||||
<Texture Name="gContinuePlayingJAPTex" OutName="continue_playing_jap" Format="ia8" Width="152" Height="16" Offset="0x2000"/>
|
||||
<Texture Name="gContinuePlayingNESTex" OutName="continue_playing_nes" Format="ia8" Width="152" Height="16" Offset="0x2980"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,168 @@
|
||||
<Root>
|
||||
<File Name="nes_font_static">
|
||||
<!-- The two-digit number after the prefix is the character's codepoint: the hexadecimal byte it corresponds to in the text data -->
|
||||
<!-- "ASCII" block -->
|
||||
<!-- Not actually either ASCII or JIS X 0201: 0x5C is the yen symbol, 0x7E the tilde, 0x7F the masculine ordinal indicator -->
|
||||
<Texture Name="gMsgChar20SpaceTex" OutName="msg_char_20_space" Format="i4" Width="16" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gMsgChar21ExclamationMarkTex" OutName="msg_char_21_exclamation_mark" Format="i4" Width="16" Height="16" Offset="0x80"/>
|
||||
<Texture Name="gMsgChar22QuotationMarkTex" OutName="msg_char_22_quotation_mark" Format="i4" Width="16" Height="16" Offset="0x100"/>
|
||||
<Texture Name="gMsgChar23NumberSignTex" OutName="msg_char_23_number_sign" Format="i4" Width="16" Height="16" Offset="0x180"/>
|
||||
<Texture Name="gMsgChar24DollarSignTex" OutName="msg_char_24_dollar_sign" Format="i4" Width="16" Height="16" Offset="0x200"/>
|
||||
<Texture Name="gMsgChar25PercentSignTex" OutName="msg_char_25_percent_sign" Format="i4" Width="16" Height="16" Offset="0x280"/>
|
||||
<Texture Name="gMsgChar26AmpersandTex" OutName="msg_char_26_ampersand" Format="i4" Width="16" Height="16" Offset="0x300"/>
|
||||
<Texture Name="gMsgChar27ApostropheTex" OutName="msg_char_27_apostrophe" Format="i4" Width="16" Height="16" Offset="0x380"/>
|
||||
<Texture Name="gMsgChar28LeftParenthesesTex" OutName="msg_char_28_left_parentheses" Format="i4" Width="16" Height="16" Offset="0x400"/>
|
||||
<Texture Name="gMsgChar29RightParenthesesTex" OutName="msg_char_29_right_parentheses" Format="i4" Width="16" Height="16" Offset="0x480"/>
|
||||
<Texture Name="gMsgChar2AAsteriskTex" OutName="msg_char_2a_asterisk" Format="i4" Width="16" Height="16" Offset="0x500"/>
|
||||
<Texture Name="gMsgChar2BPlusSignTex" OutName="msg_char_2b_plus_sign" Format="i4" Width="16" Height="16" Offset="0x580"/>
|
||||
<Texture Name="gMsgChar2CCommaTex" OutName="msg_char_2c_comma" Format="i4" Width="16" Height="16" Offset="0x600"/>
|
||||
<Texture Name="gMsgChar2DHyphenMinusTex" OutName="msg_char_2d_hyphen_minus" Format="i4" Width="16" Height="16" Offset="0x680"/>
|
||||
<Texture Name="gMsgChar2EFullStopTex" OutName="msg_char_2e_full_stop" Format="i4" Width="16" Height="16" Offset="0x700"/>
|
||||
<Texture Name="gMsgChar2FSolidusTex" OutName="msg_char_2f_solidus" Format="i4" Width="16" Height="16" Offset="0x780"/>
|
||||
<Texture Name="gMsgChar30Digit0Tex" OutName="msg_char_30_digit_0" Format="i4" Width="16" Height="16" Offset="0x800"/>
|
||||
<Texture Name="gMsgChar31Digit1Tex" OutName="msg_char_31_digit_1" Format="i4" Width="16" Height="16" Offset="0x880"/>
|
||||
<Texture Name="gMsgChar32Digit2Tex" OutName="msg_char_32_digit_2" Format="i4" Width="16" Height="16" Offset="0x900"/>
|
||||
<Texture Name="gMsgChar33Digit3Tex" OutName="msg_char_33_digit_3" Format="i4" Width="16" Height="16" Offset="0x980"/>
|
||||
<Texture Name="gMsgChar34Digit4Tex" OutName="msg_char_34_digit_4" Format="i4" Width="16" Height="16" Offset="0xA00"/>
|
||||
<Texture Name="gMsgChar35Digit5Tex" OutName="msg_char_35_digit_5" Format="i4" Width="16" Height="16" Offset="0xA80"/>
|
||||
<Texture Name="gMsgChar36Digit6Tex" OutName="msg_char_36_digit_6" Format="i4" Width="16" Height="16" Offset="0xB00"/>
|
||||
<Texture Name="gMsgChar37Digit7Tex" OutName="msg_char_37_digit_7" Format="i4" Width="16" Height="16" Offset="0xB80"/>
|
||||
<Texture Name="gMsgChar38Digit8Tex" OutName="msg_char_38_digit_8" Format="i4" Width="16" Height="16" Offset="0xC00"/>
|
||||
<Texture Name="gMsgChar39Digit9Tex" OutName="msg_char_39_digit_9" Format="i4" Width="16" Height="16" Offset="0xC80"/>
|
||||
<Texture Name="gMsgChar3AColonTex" OutName="msg_char_3a_colon" Format="i4" Width="16" Height="16" Offset="0xD00"/>
|
||||
<Texture Name="gMsgChar3BSemicolonTex" OutName="msg_char_3b_semicolon" Format="i4" Width="16" Height="16" Offset="0xD80"/>
|
||||
<Texture Name="gMsgChar3CLessThanSignTex" OutName="msg_char_3c_less_than_sign" Format="i4" Width="16" Height="16" Offset="0xE00"/>
|
||||
<Texture Name="gMsgChar3DEqualsSignTex" OutName="msg_char_3d_equals_sign" Format="i4" Width="16" Height="16" Offset="0xE80"/>
|
||||
<Texture Name="gMsgChar3EGreaterThanSignTex" OutName="msg_char_3e_greater_than_sign" Format="i4" Width="16" Height="16" Offset="0xF00"/>
|
||||
<Texture Name="gMsgChar3FQuestionMarkTex" OutName="msg_char_3f_question_mark" Format="i4" Width="16" Height="16" Offset="0xF80"/>
|
||||
<Texture Name="gMsgChar40CommercialAtTex" OutName="msg_char_40_commercial_at" Format="i4" Width="16" Height="16" Offset="0x1000"/>
|
||||
<Texture Name="gMsgChar41LatinCapitalLetterATex" OutName="msg_char_41_latin_capital_letter_a" Format="i4" Width="16" Height="16" Offset="0x1080"/>
|
||||
<Texture Name="gMsgChar42LatinCapitalLetterBTex" OutName="msg_char_42_latin_capital_letter_b" Format="i4" Width="16" Height="16" Offset="0x1100"/>
|
||||
<Texture Name="gMsgChar43LatinCapitalLetterCTex" OutName="msg_char_43_latin_capital_letter_c" Format="i4" Width="16" Height="16" Offset="0x1180"/>
|
||||
<Texture Name="gMsgChar44LatinCapitalLetterDTex" OutName="msg_char_44_latin_capital_letter_d" Format="i4" Width="16" Height="16" Offset="0x1200"/>
|
||||
<Texture Name="gMsgChar45LatinCapitalLetterETex" OutName="msg_char_45_latin_capital_letter_e" Format="i4" Width="16" Height="16" Offset="0x1280"/>
|
||||
<Texture Name="gMsgChar46LatinCapitalLetterFTex" OutName="msg_char_46_latin_capital_letter_f" Format="i4" Width="16" Height="16" Offset="0x1300"/>
|
||||
<Texture Name="gMsgChar47LatinCapitalLetterGTex" OutName="msg_char_47_latin_capital_letter_g" Format="i4" Width="16" Height="16" Offset="0x1380"/>
|
||||
<Texture Name="gMsgChar48LatinCapitalLetterHTex" OutName="msg_char_48_latin_capital_letter_h" Format="i4" Width="16" Height="16" Offset="0x1400"/>
|
||||
<Texture Name="gMsgChar49LatinCapitalLetterITex" OutName="msg_char_49_latin_capital_letter_i" Format="i4" Width="16" Height="16" Offset="0x1480"/>
|
||||
<Texture Name="gMsgChar4ALatinCapitalLetterJTex" OutName="msg_char_4a_latin_capital_letter_j" Format="i4" Width="16" Height="16" Offset="0x1500"/>
|
||||
<Texture Name="gMsgChar4BLatinCapitalLetterKTex" OutName="msg_char_4b_latin_capital_letter_k" Format="i4" Width="16" Height="16" Offset="0x1580"/>
|
||||
<Texture Name="gMsgChar4CLatinCapitalLetterLTex" OutName="msg_char_4c_latin_capital_letter_l" Format="i4" Width="16" Height="16" Offset="0x1600"/>
|
||||
<Texture Name="gMsgChar4DLatinCapitalLetterMTex" OutName="msg_char_4d_latin_capital_letter_m" Format="i4" Width="16" Height="16" Offset="0x1680"/>
|
||||
<Texture Name="gMsgChar4ELatinCapitalLetterNTex" OutName="msg_char_4e_latin_capital_letter_n" Format="i4" Width="16" Height="16" Offset="0x1700"/>
|
||||
<Texture Name="gMsgChar4FLatinCapitalLetterOTex" OutName="msg_char_4f_latin_capital_letter_o" Format="i4" Width="16" Height="16" Offset="0x1780"/>
|
||||
<Texture Name="gMsgChar50LatinCapitalLetterPTex" OutName="msg_char_50_latin_capital_letter_p" Format="i4" Width="16" Height="16" Offset="0x1800"/>
|
||||
<Texture Name="gMsgChar51LatinCapitalLetterQTex" OutName="msg_char_51_latin_capital_letter_q" Format="i4" Width="16" Height="16" Offset="0x1880"/>
|
||||
<Texture Name="gMsgChar52LatinCapitalLetterRTex" OutName="msg_char_52_latin_capital_letter_r" Format="i4" Width="16" Height="16" Offset="0x1900"/>
|
||||
<Texture Name="gMsgChar53LatinCapitalLetterSTex" OutName="msg_char_53_latin_capital_letter_s" Format="i4" Width="16" Height="16" Offset="0x1980"/>
|
||||
<Texture Name="gMsgChar54LatinCapitalLetterTTex" OutName="msg_char_54_latin_capital_letter_t" Format="i4" Width="16" Height="16" Offset="0x1A00"/>
|
||||
<Texture Name="gMsgChar55LatinCapitalLetterUTex" OutName="msg_char_55_latin_capital_letter_u" Format="i4" Width="16" Height="16" Offset="0x1A80"/>
|
||||
<Texture Name="gMsgChar56LatinCapitalLetterVTex" OutName="msg_char_56_latin_capital_letter_v" Format="i4" Width="16" Height="16" Offset="0x1B00"/>
|
||||
<Texture Name="gMsgChar57LatinCapitalLetterWTex" OutName="msg_char_57_latin_capital_letter_w" Format="i4" Width="16" Height="16" Offset="0x1B80"/>
|
||||
<Texture Name="gMsgChar58LatinCapitalLetterXTex" OutName="msg_char_58_latin_capital_letter_x" Format="i4" Width="16" Height="16" Offset="0x1C00"/>
|
||||
<Texture Name="gMsgChar59LatinCapitalLetterYTex" OutName="msg_char_59_latin_capital_letter_y" Format="i4" Width="16" Height="16" Offset="0x1C80"/>
|
||||
<Texture Name="gMsgChar5ALatinCapitalLetterZTex" OutName="msg_char_5a_latin_capital_letter_z" Format="i4" Width="16" Height="16" Offset="0x1D00"/>
|
||||
<Texture Name="gMsgChar5BLeftSquareBracketTex" OutName="msg_char_5b_left_square_bracket" Format="i4" Width="16" Height="16" Offset="0x1D80"/>
|
||||
<Texture Name="gMsgChar5CYenSignTex" OutName="msg_char_5c_yen_sign" Format="i4" Width="16" Height="16" Offset="0x1E00"/>
|
||||
<Texture Name="gMsgChar5DRightSquareBracketTex" OutName="msg_char_5d_right_square_bracket" Format="i4" Width="16" Height="16" Offset="0x1E80"/>
|
||||
<Texture Name="gMsgChar5ECircumflexAccentTex" OutName="msg_char_5e_circumflex_accent" Format="i4" Width="16" Height="16" Offset="0x1F00"/>
|
||||
<Texture Name="gMsgChar5FLowLineTex" OutName="msg_char_5f_low_line" Format="i4" Width="16" Height="16" Offset="0x1F80"/>
|
||||
<Texture Name="gMsgChar60GraveAccentTex" OutName="msg_char_60_grave_accent" Format="i4" Width="16" Height="16" Offset="0x2000"/>
|
||||
<Texture Name="gMsgChar61LatinSmallLetterATex" OutName="msg_char_61_latin_small_letter_a" Format="i4" Width="16" Height="16" Offset="0x2080"/>
|
||||
<Texture Name="gMsgChar62LatinSmallLetterBTex" OutName="msg_char_62_latin_small_letter_b" Format="i4" Width="16" Height="16" Offset="0x2100"/>
|
||||
<Texture Name="gMsgChar63LatinSmallLetterCTex" OutName="msg_char_63_latin_small_letter_c" Format="i4" Width="16" Height="16" Offset="0x2180"/>
|
||||
<Texture Name="gMsgChar64LatinSmallLetterDTex" OutName="msg_char_64_latin_small_letter_d" Format="i4" Width="16" Height="16" Offset="0x2200"/>
|
||||
<Texture Name="gMsgChar65LatinSmallLetterETex" OutName="msg_char_65_latin_small_letter_e" Format="i4" Width="16" Height="16" Offset="0x2280"/>
|
||||
<Texture Name="gMsgChar66LatinSmallLetterFTex" OutName="msg_char_66_latin_small_letter_f" Format="i4" Width="16" Height="16" Offset="0x2300"/>
|
||||
<Texture Name="gMsgChar67LatinSmallLetterGTex" OutName="msg_char_67_latin_small_letter_g" Format="i4" Width="16" Height="16" Offset="0x2380"/>
|
||||
<Texture Name="gMsgChar68LatinSmallLetterHTex" OutName="msg_char_68_latin_small_letter_h" Format="i4" Width="16" Height="16" Offset="0x2400"/>
|
||||
<Texture Name="gMsgChar69LatinSmallLetterITex" OutName="msg_char_69_latin_small_letter_i" Format="i4" Width="16" Height="16" Offset="0x2480"/>
|
||||
<Texture Name="gMsgChar6ALatinSmallLetterJTex" OutName="msg_char_6a_latin_small_letter_j" Format="i4" Width="16" Height="16" Offset="0x2500"/>
|
||||
<Texture Name="gMsgChar6BLatinSmallLetterKTex" OutName="msg_char_6b_latin_small_letter_k" Format="i4" Width="16" Height="16" Offset="0x2580"/>
|
||||
<Texture Name="gMsgChar6CLatinSmallLetterLTex" OutName="msg_char_6c_latin_small_letter_l" Format="i4" Width="16" Height="16" Offset="0x2600"/>
|
||||
<Texture Name="gMsgChar6DLatinSmallLetterMTex" OutName="msg_char_6d_latin_small_letter_m" Format="i4" Width="16" Height="16" Offset="0x2680"/>
|
||||
<Texture Name="gMsgChar6ELatinSmallLetterNTex" OutName="msg_char_6e_latin_small_letter_n" Format="i4" Width="16" Height="16" Offset="0x2700"/>
|
||||
<Texture Name="gMsgChar6FLatinSmallLetterOTex" OutName="msg_char_6f_latin_small_letter_o" Format="i4" Width="16" Height="16" Offset="0x2780"/>
|
||||
<Texture Name="gMsgChar70LatinSmallLetterPTex" OutName="msg_char_70_latin_small_letter_p" Format="i4" Width="16" Height="16" Offset="0x2800"/>
|
||||
<Texture Name="gMsgChar71LatinSmallLetterQTex" OutName="msg_char_71_latin_small_letter_q" Format="i4" Width="16" Height="16" Offset="0x2880"/>
|
||||
<Texture Name="gMsgChar72LatinSmallLetterRTex" OutName="msg_char_72_latin_small_letter_r" Format="i4" Width="16" Height="16" Offset="0x2900"/>
|
||||
<Texture Name="gMsgChar73LatinSmallLetterSTex" OutName="msg_char_73_latin_small_letter_s" Format="i4" Width="16" Height="16" Offset="0x2980"/>
|
||||
<Texture Name="gMsgChar74LatinSmallLetterTTex" OutName="msg_char_74_latin_small_letter_t" Format="i4" Width="16" Height="16" Offset="0x2A00"/>
|
||||
<Texture Name="gMsgChar75LatinSmallLetterUTex" OutName="msg_char_75_latin_small_letter_u" Format="i4" Width="16" Height="16" Offset="0x2A80"/>
|
||||
<Texture Name="gMsgChar76LatinSmallLetterVTex" OutName="msg_char_76_latin_small_letter_v" Format="i4" Width="16" Height="16" Offset="0x2B00"/>
|
||||
<Texture Name="gMsgChar77LatinSmallLetterWTex" OutName="msg_char_77_latin_small_letter_w" Format="i4" Width="16" Height="16" Offset="0x2B80"/>
|
||||
<Texture Name="gMsgChar78LatinSmallLetterXTex" OutName="msg_char_78_latin_small_letter_x" Format="i4" Width="16" Height="16" Offset="0x2C00"/>
|
||||
<Texture Name="gMsgChar79LatinSmallLetterYTex" OutName="msg_char_79_latin_small_letter_y" Format="i4" Width="16" Height="16" Offset="0x2C80"/>
|
||||
<Texture Name="gMsgChar7ALatinSmallLetterZTex" OutName="msg_char_7a_latin_small_letter_z" Format="i4" Width="16" Height="16" Offset="0x2D00"/>
|
||||
<Texture Name="gMsgChar7BLeftCurlyBracketTex" OutName="msg_char_7b_left_curly_bracket" Format="i4" Width="16" Height="16" Offset="0x2D80"/>
|
||||
<Texture Name="gMsgChar7CVerticalLineTex" OutName="msg_char_7c_vertical_line" Format="i4" Width="16" Height="16" Offset="0x2E00"/>
|
||||
<Texture Name="gMsgChar7DRightCurlyBracketTex" OutName="msg_char_7d_right_curly_bracket" Format="i4" Width="16" Height="16" Offset="0x2E80"/>
|
||||
<Texture Name="gMsgChar7ETildeTex" OutName="msg_char_7e_tilde" Format="i4" Width="16" Height="16" Offset="0x2F00"/>
|
||||
<Texture Name="gMsgChar7FMasculineOrdinalIndicatorTex" OutName="msg_char_7f_masculine_ordinal_indicator" Format="i4" Width="16" Height="16" Offset="0x2F80"/>
|
||||
|
||||
<!-- Accented character section -->
|
||||
<!-- These do not conform to any standard encoding, but this section is much more regular and expansive than the corresponding one in Ocarina of Time -->
|
||||
<Texture Name="gMsgChar80LatinCapitalLetterAWithGraveTex" OutName="msg_char_80_latin_capital_letter_a_with_grave" Format="i4" Width="16" Height="16" Offset="0x3000"/>
|
||||
<Texture Name="gMsgChar81LatinCapitalLetterAWithAcuteTex" OutName="msg_char_81_latin_capital_letter_a_with_acute" Format="i4" Width="16" Height="16" Offset="0x3080"/>
|
||||
<Texture Name="gMsgChar82LatinCapitalLetterAWithCircumflexTex" OutName="msg_char_82_latin_capital_letter_a_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3100"/>
|
||||
<Texture Name="gMsgChar83LatinCapitalLetterAWithDiaeresisTex" OutName="msg_char_83_latin_capital_letter_a_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3180"/>
|
||||
<Texture Name="gMsgChar84LatinCapitalLetterCWithCedillaTex" OutName="msg_char_84_latin_capital_letter_c_with_cedilla" Format="i4" Width="16" Height="16" Offset="0x3200"/>
|
||||
<Texture Name="gMsgChar85LatinCapitalLetterEWithGraveTex" OutName="msg_char_85_latin_capital_letter_e_with_grave" Format="i4" Width="16" Height="16" Offset="0x3280"/>
|
||||
<Texture Name="gMsgChar86LatinCapitalLetterEWithAcuteTex" OutName="msg_char_86_latin_capital_letter_e_with_acute" Format="i4" Width="16" Height="16" Offset="0x3300"/>
|
||||
<Texture Name="gMsgChar87LatinCapitalLetterEWithCircumflexTex" OutName="msg_char_87_latin_capital_letter_e_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3380"/>
|
||||
<Texture Name="gMsgChar88LatinCapitalLetterEWithDiaeresisTex" OutName="msg_char_88_latin_capital_letter_e_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3400"/>
|
||||
<Texture Name="gMsgChar89LatinCapitalLetterIWithGraveTex" OutName="msg_char_89_latin_capital_letter_i_with_grave" Format="i4" Width="16" Height="16" Offset="0x3480"/>
|
||||
<Texture Name="gMsgChar8ALatinCapitalLetterIWithAcuteTex" OutName="msg_char_8a_latin_capital_letter_i_with_acute" Format="i4" Width="16" Height="16" Offset="0x3500"/>
|
||||
<Texture Name="gMsgChar8BLatinCapitalLetterIWithCircumflexTex" OutName="msg_char_8b_latin_capital_letter_i_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3580"/>
|
||||
<Texture Name="gMsgChar8CLatinCapitalLetterIWithDiaeresisTex" OutName="msg_char_8c_latin_capital_letter_i_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3600"/>
|
||||
<Texture Name="gMsgChar8DLatinCapitalLetterNWithTildeTex" OutName="msg_char_8d_latin_capital_letter_n_with_tilde" Format="i4" Width="16" Height="16" Offset="0x3680"/>
|
||||
<Texture Name="gMsgChar8ELatinCapitalLetterOWithGraveTex" OutName="msg_char_8e_latin_capital_letter_o_with_grave" Format="i4" Width="16" Height="16" Offset="0x3700"/>
|
||||
<Texture Name="gMsgChar8FLatinCapitalLetterOWithAcuteTex" OutName="msg_char_8f_latin_capital_letter_o_with_acute" Format="i4" Width="16" Height="16" Offset="0x3780"/>
|
||||
<Texture Name="gMsgChar90LatinCapitalLetterOWithCircumflexTex" OutName="msg_char_90_latin_capital_letter_o_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3800"/>
|
||||
<Texture Name="gMsgChar91LatinCapitalLetterOWithDiaeresisTex" OutName="msg_char_91_latin_capital_letter_o_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3880"/>
|
||||
<Texture Name="gMsgChar92LatinCapitalLetterUWithGraveTex" OutName="msg_char_92_latin_capital_letter_u_with_grave" Format="i4" Width="16" Height="16" Offset="0x3900"/>
|
||||
<Texture Name="gMsgChar93LatinCapitalLetterUWithAcuteTex" OutName="msg_char_93_latin_capital_letter_u_with_acute" Format="i4" Width="16" Height="16" Offset="0x3980"/>
|
||||
<Texture Name="gMsgChar94LatinCapitalLetterUWithCircumflexTex" OutName="msg_char_94_latin_capital_letter_u_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3A00"/>
|
||||
<Texture Name="gMsgChar95LatinCapitalLetterUWithDiaeresisTex" OutName="msg_char_95_latin_capital_letter_u_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3A80"/>
|
||||
<Texture Name="gMsgChar96GreekSmallLetterBetaTex" OutName="msg_char_96_greek_small_letter_beta" Format="i4" Width="16" Height="16" Offset="0x3B00"/><!-- Likely meant to be eszett -->
|
||||
<Texture Name="gMsgChar97LatinSmallLetterAWithGraveTex" OutName="msg_char_97_latin_small_letter_a_with_grave" Format="i4" Width="16" Height="16" Offset="0x3B80"/>
|
||||
<Texture Name="gMsgChar98LatinSmallLetterAWithAcuteTex" OutName="msg_char_98_latin_small_letter_a_with_acute" Format="i4" Width="16" Height="16" Offset="0x3C00"/>
|
||||
<Texture Name="gMsgChar99LatinSmallLetterAWithCircumflexTex" OutName="msg_char_99_latin_small_letter_a_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3C80"/>
|
||||
<Texture Name="gMsgChar9ALatinSmallLetterAWithDiaeresisTex" OutName="msg_char_9a_latin_small_letter_a_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3D00"/>
|
||||
<Texture Name="gMsgChar9BLatinSmallLetterCWithCedillaTex" OutName="msg_char_9b_latin_small_letter_c_with_cedilla" Format="i4" Width="16" Height="16" Offset="0x3D80"/>
|
||||
<Texture Name="gMsgChar9CLatinSmallLetterEWithGraveTex" OutName="msg_char_9c_latin_small_letter_e_with_grave" Format="i4" Width="16" Height="16" Offset="0x3E00"/>
|
||||
<Texture Name="gMsgChar9DLatinSmallLetterEWithAcuteTex" OutName="msg_char_9d_latin_small_letter_e_with_acute" Format="i4" Width="16" Height="16" Offset="0x3E80"/>
|
||||
<Texture Name="gMsgChar9ELatinSmallLetterEWithCircumflexTex" OutName="msg_char_9e_latin_small_letter_e_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x3F00"/>
|
||||
<Texture Name="gMsgChar9FLatinSmallLetterEWithDiaeresisTex" OutName="msg_char_9f_latin_small_letter_e_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x3F80"/>
|
||||
<Texture Name="gMsgCharA0LatinSmallLetterIWithGraveTex" OutName="msg_char_a0_latin_small_letter_i_with_grave" Format="i4" Width="16" Height="16" Offset="0x4000"/>
|
||||
<Texture Name="gMsgCharA1LatinSmallLetterIWithAcuteTex" OutName="msg_char_a1_latin_small_letter_i_with_acute" Format="i4" Width="16" Height="16" Offset="0x4080"/>
|
||||
<Texture Name="gMsgCharA2LatinSmallLetterIWithCircumflexTex" OutName="msg_char_a2_latin_small_letter_i_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x4100"/>
|
||||
<Texture Name="gMsgCharA3LatinSmallLetterIWithDiaeresisTex" OutName="msg_char_a3_latin_small_letter_i_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x4180"/>
|
||||
<Texture Name="gMsgCharA4LatinSmallLetterNWithTildeTex" OutName="msg_char_a4_latin_small_letter_n_with_tilde" Format="i4" Width="16" Height="16" Offset="0x4200"/>
|
||||
<Texture Name="gMsgCharA5LatinSmallLetterOWithGraveTex" OutName="msg_char_a5_latin_small_letter_o_with_grave" Format="i4" Width="16" Height="16" Offset="0x4280"/>
|
||||
<Texture Name="gMsgCharA6LatinSmallLetterOWithAcuteTex" OutName="msg_char_a6_latin_small_letter_o_with_acute" Format="i4" Width="16" Height="16" Offset="0x4300"/>
|
||||
<Texture Name="gMsgCharA7LatinSmallLetterOWithCircumflexTex" OutName="msg_char_a7_latin_small_letter_o_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x4380"/>
|
||||
<Texture Name="gMsgCharA8LatinSmallLetterOWithDiaeresisTex" OutName="msg_char_a8_latin_small_letter_o_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x4400"/>
|
||||
<Texture Name="gMsgCharA9LatinSmallLetterUWithGraveTex" OutName="msg_char_a9_latin_small_letter_u_with_grave" Format="i4" Width="16" Height="16" Offset="0x4480"/>
|
||||
<Texture Name="gMsgCharAALatinSmallLetterUWithAcuteTex" OutName="msg_char_aa_latin_small_letter_u_with_acute" Format="i4" Width="16" Height="16" Offset="0x4500"/>
|
||||
<Texture Name="gMsgCharABLatinSmallLetterUWithCircumflexTex" OutName="msg_char_ab_latin_small_letter_u_with_circumflex" Format="i4" Width="16" Height="16" Offset="0x4580"/>
|
||||
<Texture Name="gMsgCharACLatinSmallLetterUWithDiaeresisTex" OutName="msg_char_ac_latin_small_letter_u_with_diaeresis" Format="i4" Width="16" Height="16" Offset="0x4600"/>
|
||||
<Texture Name="gMsgCharADInvertedExclamationMarkTex" OutName="msg_char_ad_inverted_exclamation_mark" Format="i4" Width="16" Height="16" Offset="0x4680"/>
|
||||
<Texture Name="gMsgCharAEInvertedQuestionMarkTex" OutName="msg_char_ae_inverted_question_mark" Format="i4" Width="16" Height="16" Offset="0x4700"/>
|
||||
<Texture Name="gMsgCharAFFeminineOrdinalIndicatorTex" OutName="msg_char_af_feminine_ordinal_indicator" Format="i4" Width="16" Height="16" Offset="0x4780"/>
|
||||
|
||||
<!-- Controller buttons and target inverted triangle -->
|
||||
<Texture Name="gMsgCharB0ButtonATex" OutName="msg_char_b0_button_a" Format="i4" Width="16" Height="16" Offset="0x4800"/>
|
||||
<Texture Name="gMsgCharB1ButtonBTex" OutName="msg_char_b1_button_b" Format="i4" Width="16" Height="16" Offset="0x4880"/>
|
||||
<Texture Name="gMsgCharB2ButtonCTex" OutName="msg_char_b2_button_c" Format="i4" Width="16" Height="16" Offset="0x4900"/>
|
||||
<Texture Name="gMsgCharB3ButtonLTex" OutName="msg_char_b3_button_l" Format="i4" Width="16" Height="16" Offset="0x4980"/>
|
||||
<Texture Name="gMsgCharB4ButtonRTex" OutName="msg_char_b4_button_r" Format="i4" Width="16" Height="16" Offset="0x4A00"/>
|
||||
<Texture Name="gMsgCharB5ButtonZTex" OutName="msg_char_b5_button_z" Format="i4" Width="16" Height="16" Offset="0x4A80"/>
|
||||
<Texture Name="gMsgCharB6ButtonCUpTex" OutName="msg_char_b6_button_c_up" Format="i4" Width="16" Height="16" Offset="0x4B00"/>
|
||||
<Texture Name="gMsgCharB7ButtonCDownTex" OutName="msg_char_b7_button_c_down" Format="i4" Width="16" Height="16" Offset="0x4B80"/>
|
||||
<Texture Name="gMsgCharB8ButtonCLeftTex" OutName="msg_char_b8_button_c_left" Format="i4" Width="16" Height="16" Offset="0x4C00"/>
|
||||
<Texture Name="gMsgCharB9ButtonCRightTex" OutName="msg_char_b9_button_c_right" Format="i4" Width="16" Height="16" Offset="0x4C80"/>
|
||||
<Texture Name="gMsgCharBAZTargetSignTex" OutName="msg_char_ba_z_target_sign" Format="i4" Width="16" Height="16" Offset="0x4D00"/>
|
||||
<Texture Name="gMsgCharBBControlStickTex" OutName="msg_char_bb_control_stick" Format="i4" Width="16" Height="16" Offset="0x4D80"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,136 @@
|
||||
<Root>
|
||||
<File Name="parameter_static" Segment="2">
|
||||
<Texture Name="gHeartEmptyTex" OutName="heart_empty" Format="ia8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gHeartQuarterTex" OutName="heart_quarter" Format="ia8" Width="16" Height="16" Offset="0x100"/>
|
||||
<Texture Name="gHeartHalfTex" OutName="heart_half" Format="ia8" Width="16" Height="16" Offset="0x200"/>
|
||||
<Texture Name="gHeartThreeQuarterTex" OutName="heart_three_quarter" Format="ia8" Width="16" Height="16" Offset="0x300"/>
|
||||
<Texture Name="gHeartFullTex" OutName="heart_full" Format="ia8" Width="16" Height="16" Offset="0x400"/>
|
||||
<Texture Name="gDefenseHeartEmptyTex" OutName="defense_heart_empty" Format="ia8" Width="16" Height="16" Offset="0x500"/>
|
||||
<Texture Name="gDefenseHeartQuarterTex" OutName="defense_heart_quarter" Format="ia8" Width="16" Height="16" Offset="0x600"/>
|
||||
<Texture Name="gDefenseHeartHalfTex" OutName="defense_heart_half" Format="ia8" Width="16" Height="16" Offset="0x700"/>
|
||||
<Texture Name="gDefenseHeartThreeQuarterTex" OutName="defense_heart_three_quarter" Format="ia8" Width="16" Height="16" Offset="0x800"/>
|
||||
<Texture Name="gDefenseHeartFullTex" OutName="defense_heart_full" Format="ia8" Width="16" Height="16" Offset="0x900"/>
|
||||
|
||||
<Texture Name="gFishermanMinigameTorchIconTex" OutName="fisherman_minigame_torch_icon" Format="ia8" Width="16" Height="30" Offset="0xA00"/>
|
||||
<Texture Name="gSwordTrainingLogIconTex" OutName="sword_training_log_icon" Format="ia8" Width="24" Height="16" Offset="0xBE0"/>
|
||||
<Texture Name="gSmallKeyCounterIconTex" OutName="small_key_counter_icon" Format="ia8" Width="16" Height="16" Offset="0xD60"/>
|
||||
<Texture Name="gRupeeCounterIconTex" OutName="rupee_counter_icon" Format="ia8" Width="16" Height="16" Offset="0xE60"/>
|
||||
<Texture Name="gButtonBackgroundTex" OutName="button_background" Format="ia8" Width="32" Height="32" Offset="0xF60"/>
|
||||
<Texture Name="gEquippedItemOutlineTex" OutName="equipped_item_outline" Format="ia8" Width="32" Height="32" Offset="0x1360"/>
|
||||
<Texture Name="gEmptyCLeftArrowTex" OutName="empty_c_left_arrow" Format="ia8" Width="32" Height="32" Offset="0x1760"/>
|
||||
<Texture Name="gEmptyCDownArrowTex" OutName="empty_c_down_arrow" Format="ia8" Width="32" Height="32" Offset="0x1B60"/>
|
||||
<Texture Name="gEmptyCRightArrowTex" OutName="empty_c_right_arrow" Format="ia8" Width="32" Height="32" Offset="0x1F60"/>
|
||||
<Texture Name="gTimerClockIconTex" OutName="timer_clock_icon" Format="ia8" Width="16" Height="16" Offset="0x2360"/>
|
||||
<Texture Name="gMapBossIconTex" OutName="map_boss_icon" Format="ia8" Width="8" Height="8" Offset="0x2460"/>
|
||||
|
||||
<Texture Name="gOcarinaATex" OutName="ocarina_a" Format="ia8" Width="16" Height="16" Offset="0x24A0"/>
|
||||
<Texture Name="gOcarinaCDownTex" OutName="ocarina_c_down" Format="ia8" Width="16" Height="16" Offset="0x25A0"/>
|
||||
<Texture Name="gOcarinaCRightTex" OutName="ocarina_c_right" Format="ia8" Width="16" Height="16" Offset="0x26A0"/>
|
||||
<Texture Name="gOcarinaCLeftTex" OutName="ocarina_c_left" Format="ia8" Width="16" Height="16" Offset="0x27A0"/>
|
||||
<Texture Name="gOcarinaCUpTex" OutName="ocarina_c_up" Format="ia8" Width="16" Height="16" Offset="0x28A0"/>
|
||||
<Texture Name="gOcarinaTrebleClefTex" OutName="ocarina_treble_clef" Format="i4" Width="16" Height="32" Offset="0x29A0"/>
|
||||
|
||||
<Texture Name="gSceneTitleCardGradientTex" OutName="scene_title_card_gradient" Format="i8" Width="64" Height="1" Offset="0x2AA0"/>
|
||||
|
||||
<!-- All four versions of Tatl textures are identical -->
|
||||
<Texture Name="gTatlCUpENGTex" OutName="tatl_c_up_eng" Format="ia4" Width="32" Height="12" Offset="0x2AE0"/>
|
||||
<Texture Name="gTatlCUpGERTex" OutName="tatl_c_up_ger" Format="ia4" Width="32" Height="12" Offset="0x2BA0"/>
|
||||
<Texture Name="gTatlCUpFRATex" OutName="tatl_c_up_fra" Format="ia4" Width="32" Height="12" Offset="0x2C60"/>
|
||||
<Texture Name="gTatlCUpESPTex" OutName="tatl_c_up_esp" Format="ia4" Width="32" Height="12" Offset="0x2D20"/>
|
||||
|
||||
<Texture Name="gCarrotIconTex" OutName="carrot_icon" Format="rgba32" Width="16" Height="16" Offset="0x2DE0"/>
|
||||
<Texture Name="gGoldSkulltulaCounterIconTex" OutName="gold_skulltula_counter_icon" Format="rgba32" Width="24" Height="18" Offset="0x31E0"/>
|
||||
<Texture Name="gBeaverRingIconTex" OutName="beaver_ring_icon" Format="rgba32" Width="24" Height="16" Offset="0x38A0"/>
|
||||
<Texture Name="gMapDungeonEntranceIconTex" OutName="map_dungeon_entrance_icon" Format="rgba16" Width="8" Height="8" Offset="0x3EA0"/>
|
||||
<Texture Name="gMapChestIconTex" OutName="map_chest_icon" Format="rgba16" Width="8" Height="8" Offset="0x3F20"/>
|
||||
<Texture Name="gArcheryScoreIconTex" OutName="archery_score_icon" Format="rgba16" Width="24" Height="16" Offset="0x3FA0"/>
|
||||
|
||||
<!-- Looking through the lens of the pictograph box -->
|
||||
<Texture Name="gPictoBoxFocusIconTex" OutName="picto_box_focus_icon" Format="i4" Width="32" Height="16" Offset="0x42A0"/>
|
||||
<Texture Name="gPictoBoxFocusBorderTex" OutName="picto_box_focus_border" Format="ia4" Width="16" Height="16" Offset="0x43A0"/>
|
||||
<Texture Name="gPictoBoxFocusTextTex" OutName="picto_box_focus_text" Format="i4" Width="32" Height="8" Offset="0x4420"/>
|
||||
|
||||
<Texture Name="gCounterDigit0Tex" OutName="counter_digit_0" Format="i8" Width="8" Height="16" Offset="0x44A0"/>
|
||||
<Texture Name="gCounterDigit1Tex" OutName="counter_digit_1" Format="i8" Width="8" Height="16" Offset="0x4520"/>
|
||||
<Texture Name="gCounterDigit2Tex" OutName="counter_digit_2" Format="i8" Width="8" Height="16" Offset="0x45A0"/>
|
||||
<Texture Name="gCounterDigit3Tex" OutName="counter_digit_3" Format="i8" Width="8" Height="16" Offset="0x4620"/>
|
||||
<Texture Name="gCounterDigit4Tex" OutName="counter_digit_4" Format="i8" Width="8" Height="16" Offset="0x46A0"/>
|
||||
<Texture Name="gCounterDigit5Tex" OutName="counter_digit_5" Format="i8" Width="8" Height="16" Offset="0x4720"/>
|
||||
<Texture Name="gCounterDigit6Tex" OutName="counter_digit_6" Format="i8" Width="8" Height="16" Offset="0x47A0"/>
|
||||
<Texture Name="gCounterDigit7Tex" OutName="counter_digit_7" Format="i8" Width="8" Height="16" Offset="0x4820"/>
|
||||
<Texture Name="gCounterDigit8Tex" OutName="counter_digit_8" Format="i8" Width="8" Height="16" Offset="0x48A0"/>
|
||||
<Texture Name="gCounterDigit9Tex" OutName="counter_digit_9" Format="i8" Width="8" Height="16" Offset="0x4920"/>
|
||||
<Texture Name="gCounterColonTex" OutName="counter_colon" Format="i8" Width="8" Height="16" Offset="0x49A0"/>
|
||||
<Texture Name="gStrayFairyMapCounterSlashTex" OutName="stray_fairy_map_counter_slash" Format="i8" Width="8" Height="16" Offset="0x4A20"/>
|
||||
|
||||
<Texture Name="gAmmoDigit0Tex" OutName="ammo_digit_0" Format="ia8" Width="8" Height="8" Offset="0x4AA0"/>
|
||||
<Texture Name="gAmmoDigit1Tex" OutName="ammo_digit_1" Format="ia8" Width="8" Height="8" Offset="0x4AE0"/>
|
||||
<Texture Name="gAmmoDigit2Tex" OutName="ammo_digit_2" Format="ia8" Width="8" Height="8" Offset="0x4B20"/>
|
||||
<Texture Name="gAmmoDigit3Tex" OutName="ammo_digit_3" Format="ia8" Width="8" Height="8" Offset="0x4B60"/>
|
||||
<Texture Name="gAmmoDigit4Tex" OutName="ammo_digit_4" Format="ia8" Width="8" Height="8" Offset="0x4BA0"/>
|
||||
<Texture Name="gAmmoDigit5Tex" OutName="ammo_digit_5" Format="ia8" Width="8" Height="8" Offset="0x4BE0"/>
|
||||
<Texture Name="gAmmoDigit6Tex" OutName="ammo_digit_6" Format="ia8" Width="8" Height="8" Offset="0x4C20"/>
|
||||
<Texture Name="gAmmoDigit7Tex" OutName="ammo_digit_7" Format="ia8" Width="8" Height="8" Offset="0x4C60"/>
|
||||
<Texture Name="gAmmoDigit8Tex" OutName="ammo_digit_8" Format="ia8" Width="8" Height="8" Offset="0x4CA0"/>
|
||||
<Texture Name="gAmmoDigit9Tex" OutName="ammo_digit_9" Format="ia8" Width="8" Height="8" Offset="0x4CE0"/>
|
||||
<Texture Name="gAmmoDigitHalfTex" OutName="ammo_digit_half" Format="ia8" Width="16" Height="8" Offset="0x4D20"/>
|
||||
|
||||
<Texture Name="gMagicBarEndTex" OutName="magic_bar_end" Format="ia8" Width="8" Height="16" Offset="0x4DA0"/>
|
||||
<Texture Name="gMagicBarMidTex" OutName="magic_bar_mid" Format="ia8" Width="24" Height="16" Offset="0x4E20"/>
|
||||
<Texture Name="gMagicBarFillTex" OutName="magic_bar_fill" Format="ia8" Width="8" Height="8" Offset="0x4FA0"/>
|
||||
|
||||
<!-- The analog clock from day one until midnight of the final day -->
|
||||
<Texture Name="gThreeDayClockDiamondTex" OutName="three_day_clock_diamond" Format="ia8" Width="40" Height="32" Offset="0x4FE0"/>
|
||||
<Texture Name="gThreeDayClockMoonHourTex" OutName="three_day_clock_moon_hour" Format="ia8" Width="24" Height="24" Offset="0x54E0"/>
|
||||
<Texture Name="gThreeDayClockSunHourTex" OutName="three_day_clock_sun_hour" Format="ia8" Width="24" Height="24" Offset="0x5720"/>
|
||||
<Texture Name="gThreeDayClockBorderTex" OutName="three_day_clock_border" Format="i4" Width="64" Height="48" Offset="0x5960"/>
|
||||
<Texture Name="gThreeDayClockHourLinesTex" OutName="three_day_clock_hour_lines" Format="i4" Width="64" Height="35" Offset="0x5F60"/>
|
||||
<Texture Name="gThreeDayClockStarMinuteTex" OutName="three_day_clock_star_minute" Format="i4" Width="16" Height="16" Offset="0x63C0"/>
|
||||
<Texture Name="gThreeDayClockHour12Tex" OutName="three_day_clock_hour_12" Format="i4" Width="16" Height="11" Offset="0x6440"/>
|
||||
<Texture Name="gThreeDayClockHour1Tex" OutName="three_day_clock_hour_1" Format="i4" Width="16" Height="11" Offset="0x6498"/>
|
||||
<Texture Name="gThreeDayClockHour2Tex" OutName="three_day_clock_hour_2" Format="i4" Width="16" Height="11" Offset="0x64F0"/>
|
||||
<Texture Name="gThreeDayClockHour3Tex" OutName="three_day_clock_hour_3" Format="i4" Width="16" Height="11" Offset="0x6548"/>
|
||||
<Texture Name="gThreeDayClockHour4Tex" OutName="three_day_clock_hour_4" Format="i4" Width="16" Height="11" Offset="0x65A0"/>
|
||||
<Texture Name="gThreeDayClockHour5Tex" OutName="three_day_clock_hour_5" Format="i4" Width="16" Height="11" Offset="0x65F8"/>
|
||||
<Texture Name="gThreeDayClockHour6Tex" OutName="three_day_clock_hour_6" Format="i4" Width="16" Height="11" Offset="0x6650"/>
|
||||
<Texture Name="gThreeDayClockHour7Tex" OutName="three_day_clock_hour_7" Format="i4" Width="16" Height="11" Offset="0x66A8"/>
|
||||
<Texture Name="gThreeDayClockHour8Tex" OutName="three_day_clock_hour_8" Format="i4" Width="16" Height="11" Offset="0x6700"/>
|
||||
<Texture Name="gThreeDayClockHour9Tex" OutName="three_day_clock_hour_9" Format="i4" Width="16" Height="11" Offset="0x6758"/>
|
||||
<Texture Name="gThreeDayClockHour10Tex" OutName="three_day_clock_hour_10" Format="i4" Width="16" Height="11" Offset="0x67B0"/>
|
||||
<Texture Name="gThreeDayClockHour11Tex" OutName="three_day_clock_hour_11" Format="i4" Width="16" Height="11" Offset="0x6808"/>
|
||||
|
||||
<!-- The digital clock until moon crash after midnight of the final day -->
|
||||
<Texture Name="gFinalHoursClockDigit0Tex" OutName="final_hours_clock_digit_0" Format="i8" Width="8" Height="8" Offset="0x6860"/>
|
||||
<Texture Name="gFinalHoursClockDigit1Tex" OutName="final_hours_clock_digit_1" Format="i8" Width="8" Height="8" Offset="0x68A0"/>
|
||||
<Texture Name="gFinalHoursClockDigit2Tex" OutName="final_hours_clock_digit_2" Format="i8" Width="8" Height="8" Offset="0x68E0"/>
|
||||
<Texture Name="gFinalHoursClockDigit3Tex" OutName="final_hours_clock_digit_3" Format="i8" Width="8" Height="8" Offset="0x6920"/>
|
||||
<Texture Name="gFinalHoursClockDigit4Tex" OutName="final_hours_clock_digit_4" Format="i8" Width="8" Height="8" Offset="0x6960"/>
|
||||
<Texture Name="gFinalHoursClockDigit5Tex" OutName="final_hours_clock_digit_5" Format="i8" Width="8" Height="8" Offset="0x69A0"/>
|
||||
<Texture Name="gFinalHoursClockDigit6Tex" OutName="final_hours_clock_digit_6" Format="i8" Width="8" Height="8" Offset="0x69E0"/>
|
||||
<Texture Name="gFinalHoursClockDigit7Tex" OutName="final_hours_clock_digit_7" Format="i8" Width="8" Height="8" Offset="0x6A20"/>
|
||||
<Texture Name="gFinalHoursClockDigit8Tex" OutName="final_hours_clock_digit_8" Format="i8" Width="8" Height="8" Offset="0x6A60"/>
|
||||
<Texture Name="gFinalHoursClockDigit9Tex" OutName="final_hours_clock_digit_9" Format="i8" Width="8" Height="8" Offset="0x6AA0"/>
|
||||
<Texture Name="gFinalHoursClockColonTex" OutName="final_hours_clock_colon" Format="i8" Width="8" Height="8" Offset="0x6AE0"/>
|
||||
<Texture Name="gFinalHoursClockFrameTex" OutName="final_hours_clock_frame" Format="ia4" Width="80" Height="13" Offset="0x6B20"/>
|
||||
|
||||
<Texture Name="gMinigameCountdownGoTex" OutName="minigame_countdown_go" Format="ia8" Width="40" Height="32" Offset="0x6D28"/>
|
||||
<Texture Name="gMinigameCountdown1Tex" OutName="minigame_countdown_1" Format="ia8" Width="24" Height="32" Offset="0x7228"/>
|
||||
<Texture Name="gMinigameCountdown2Tex" OutName="minigame_countdown_2" Format="ia8" Width="24" Height="32" Offset="0x7528"/>
|
||||
<Texture Name="gMinigameCountdown3Tex" OutName="minigame_countdown_3" Format="ia8" Width="24" Height="32" Offset="0x7828"/>
|
||||
|
||||
<!-- The letters of "PERFECT!" -->
|
||||
<Texture Name="gMinigameLetterPTex" OutName="minigame_letter_p" Format="i4" Width="32" Height="33" Offset="0x7B28"/>
|
||||
<Texture Name="gMinigameLetterETex" OutName="minigame_letter_e" Format="i4" Width="32" Height="33" Offset="0x7D38"/>
|
||||
<Texture Name="gMinigameLetterRTex" OutName="minigame_letter_r" Format="i4" Width="32" Height="33" Offset="0x7F48"/>
|
||||
<Texture Name="gMinigameLetterFTex" OutName="minigame_letter_f" Format="i4" Width="32" Height="33" Offset="0x8158"/>
|
||||
<Texture Name="gMinigameLetterCTex" OutName="minigame_letter_c" Format="i4" Width="32" Height="33" Offset="0x8368"/>
|
||||
<Texture Name="gMinigameLetterTTex" OutName="minigame_letter_t" Format="i4" Width="32" Height="33" Offset="0x8578"/>
|
||||
<Texture Name="gMinigameExclamationTex" OutName="minigame_exclamation" Format="i4" Width="32" Height="33" Offset="0x8788"/>
|
||||
|
||||
<Texture Name="gStrayFairyWoodfallIconTex" OutName="stray_fairy_woodfall_icon" Format="rgba32" Width="32" Height="24" Offset="0x8998"/>
|
||||
<Texture Name="gStrayFairySnowheadIconTex" OutName="stray_fairy_snowhead_icon" Format="rgba32" Width="32" Height="24" Offset="0x9598"/>
|
||||
<Texture Name="gStrayFairyGreatBayIconTex" OutName="stray_fairy_great_bay_icon" Format="rgba32" Width="32" Height="24" Offset="0xA198"/>
|
||||
<Texture Name="gStrayFairyStoneTowerIconTex" OutName="stray_fairy_stone_tower_icon" Format="rgba32" Width="32" Height="24" Offset="0xAD98"/>
|
||||
<Texture Name="gStrayFairyGlowingCircleIconTex" OutName="stray_fairy_glowing_circle_icon" Format="i4" Width="32" Height="24" Offset="0xB998"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Root>
|
||||
<File Name="week_static" Segment="9">
|
||||
<Texture Name="gClockDay1stTex" OutName="clock_day_1st_tex" Format="i8" Width="48" Height="27" Offset="0x0"/>
|
||||
<Texture Name="gClockDay2ndTex" OutName="clock_day_2nd_tex" Format="i8" Width="48" Height="27" Offset="0x510"/>
|
||||
<Texture Name="gClockDayFinalTex" OutName="clock_day_final_tex" Format="i8" Width="48" Height="27" Offset="0xA20"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,19 @@
|
||||
<Root>
|
||||
<File Name="daytelop_static" Segment="9">
|
||||
<Texture Name="gDaytelopFirstDayLeftNESTex" OutName="first_day_left_nes" Format="i4" Width="128" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gDaytelopFirstDayRightNESTex" OutName="first_day_right_nes" Format="i4" Width="128" Height="64" Offset="0x1000"/>
|
||||
|
||||
<Texture Name="gDaytelopSecondDayLeftNESTex" OutName="second_day_left_nes" Format="i4" Width="128" Height="64" Offset="0x2000"/>
|
||||
<Texture Name="gDaytelopSecondDayRightNESTex" OutName="second_day_right_nes" Format="i4" Width="128" Height="64" Offset="0x3000"/>
|
||||
|
||||
<Texture Name="gDaytelopFinalDayLeftNESTex" OutName="final_day_left_nes" Format="i4" Width="128" Height="64" Offset="0x4000"/>
|
||||
<Texture Name="gDaytelopFinalDayRightNESTex" OutName="final_day_right_nes" Format="i4" Width="128" Height="64" Offset="0x5000"/>
|
||||
|
||||
<Texture Name="gDaytelopNewDayLeftNESTex" OutName="new_day_left_nes" Format="i4" Width="128" Height="64" Offset="0x6000"/>
|
||||
<Texture Name="gDaytelopNewDayRightNESTex" OutName="new_day_right_nes" Format="i4" Width="128" Height="64" Offset="0x7000"/>
|
||||
|
||||
<Texture Name="gDaytelop72HoursNESTex" OutName="72_hours_nes" Format="i4" Width="144" Height="32" Offset="0x8000"/>
|
||||
<Texture Name="gDaytelop48HoursNESTex" OutName="48_hours_nes" Format="i4" Width="144" Height="32" Offset="0x8900"/>
|
||||
<Texture Name="gDaytelop24HoursNESTex" OutName="24_hours_nes" Format="i4" Width="144" Height="32" Offset="0x9200"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,19 @@
|
||||
<Root>
|
||||
<File Name="esp_daytelop_static" Segment="9">
|
||||
<Texture Name="gDaytelopFirstDayLeftESPTex" OutName="first_day_left_esp" Format="i4" Width="128" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gDaytelopFirstDayRightESPTex" OutName="first_day_right_esp" Format="i4" Width="128" Height="64" Offset="0x1000"/>
|
||||
|
||||
<Texture Name="gDaytelopSecondDayLeftESPTex" OutName="second_day_left_esp" Format="i4" Width="128" Height="64" Offset="0x2000"/>
|
||||
<Texture Name="gDaytelopSecondDayRightESPTex" OutName="second_day_right_esp" Format="i4" Width="128" Height="64" Offset="0x3000"/>
|
||||
|
||||
<Texture Name="gDaytelopFinalDayLeftESPTex" OutName="final_day_left_esp" Format="i4" Width="128" Height="64" Offset="0x4000"/>
|
||||
<Texture Name="gDaytelopFinalDayRightESPTex" OutName="final_day_right_esp" Format="i4" Width="128" Height="64" Offset="0x5000"/>
|
||||
|
||||
<Texture Name="gDaytelopNewDayLeftESPTex" OutName="new_day_left_esp" Format="i4" Width="128" Height="64" Offset="0x6000"/>
|
||||
<Texture Name="gDaytelopNewDayRightESPTex" OutName="new_day_right_esp" Format="i4" Width="128" Height="64" Offset="0x7000"/>
|
||||
|
||||
<Texture Name="gDaytelop72HoursESPTex" OutName="72_hours_esp" Format="i4" Width="144" Height="32" Offset="0x8000"/>
|
||||
<Texture Name="gDaytelop48HoursESPTex" OutName="48_hours_esp" Format="i4" Width="144" Height="32" Offset="0x8900"/>
|
||||
<Texture Name="gDaytelop24HoursESPTex" OutName="24_hours_esp" Format="i4" Width="144" Height="32" Offset="0x9200"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,19 @@
|
||||
<Root>
|
||||
<File Name="fra_daytelop_static" Segment="9">
|
||||
<Texture Name="gDaytelopFirstDayLeftFRATex" OutName="first_day_left_fra" Format="i4" Width="128" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gDaytelopFirstDayRightFRATex" OutName="first_day_right_fra" Format="i4" Width="128" Height="64" Offset="0x1000"/>
|
||||
|
||||
<Texture Name="gDaytelopSecondDayLeftFRATex" OutName="second_day_left_fra" Format="i4" Width="128" Height="64" Offset="0x2000"/>
|
||||
<Texture Name="gDaytelopSecondDayRightFRATex" OutName="second_day_right_fra" Format="i4" Width="128" Height="64" Offset="0x3000"/>
|
||||
|
||||
<Texture Name="gDaytelopFinalDayLeftFRATex" OutName="final_day_left_fra" Format="i4" Width="128" Height="64" Offset="0x4000"/>
|
||||
<Texture Name="gDaytelopFinalDayRightFRATex" OutName="final_day_right_fra" Format="i4" Width="128" Height="64" Offset="0x5000"/>
|
||||
|
||||
<Texture Name="gDaytelopNewDayLeftFRATex" OutName="new_day_left_fra" Format="i4" Width="128" Height="64" Offset="0x6000"/>
|
||||
<Texture Name="gDaytelopNewDayRightFRATex" OutName="new_day_right_fra" Format="i4" Width="128" Height="64" Offset="0x7000"/>
|
||||
|
||||
<Texture Name="gDaytelop72HoursFRATex" OutName="72_hours_fra" Format="i4" Width="144" Height="32" Offset="0x8000"/>
|
||||
<Texture Name="gDaytelop48HoursFRATex" OutName="48_hours_fra" Format="i4" Width="144" Height="32" Offset="0x8900"/>
|
||||
<Texture Name="gDaytelop24HoursFRATex" OutName="24_hours_fra" Format="i4" Width="144" Height="32" Offset="0x9200"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,19 @@
|
||||
<Root>
|
||||
<File Name="ger_daytelop_static" Segment="9">
|
||||
<Texture Name="gDaytelopFirstDayLeftGERTex" OutName="first_day_left_ger" Format="i4" Width="128" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gDaytelopFirstDayRightGERTex" OutName="first_day_right_ger" Format="i4" Width="128" Height="64" Offset="0x1000"/>
|
||||
|
||||
<Texture Name="gDaytelopSecondDayLeftGERTex" OutName="second_day_left_ger" Format="i4" Width="128" Height="64" Offset="0x2000"/>
|
||||
<Texture Name="gDaytelopSecondDayRightGERTex" OutName="second_day_right_ger" Format="i4" Width="128" Height="64" Offset="0x3000"/>
|
||||
|
||||
<Texture Name="gDaytelopFinalDayLeftGERTex" OutName="final_day_left_ger" Format="i4" Width="128" Height="64" Offset="0x4000"/>
|
||||
<Texture Name="gDaytelopFinalDayRightGERTex" OutName="final_day_right_ger" Format="i4" Width="128" Height="64" Offset="0x5000"/>
|
||||
|
||||
<Texture Name="gDaytelopNewDayLeftGERTex" OutName="new_day_left_ger" Format="i4" Width="128" Height="64" Offset="0x6000"/>
|
||||
<Texture Name="gDaytelopNewDayRightGERTex" OutName="new_day_right_ger" Format="i4" Width="128" Height="64" Offset="0x7000"/>
|
||||
|
||||
<Texture Name="gDaytelop72HoursGERTex" OutName="72_hours_ger" Format="i4" Width="144" Height="32" Offset="0x8000"/>
|
||||
<Texture Name="gDaytelop48HoursGERTex" OutName="48_hours_ger" Format="i4" Width="144" Height="32" Offset="0x8900"/>
|
||||
<Texture Name="gDaytelop24HoursGERTex" OutName="24_hours_ger" Format="i4" Width="144" Height="32" Offset="0x9200"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Root>
|
||||
<File Name="locerrmsg" Segment="1">
|
||||
<Texture Name="gNotDesignedForSystemErrorTex" OutName="not_designed_for_system_error" Format="i4" Width="208" Height="16" Offset="0x0"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Root>
|
||||
<File Name="memerrmsg" Segment="1">
|
||||
<Texture Name="gExpansionPakNotInstalledErrorTex" OutName="expansion_pak_not_installed_error" Format="i4" Width="128" Height="37" Offset="0x0"/>
|
||||
<Texture Name="gSeeInstructionBookletErrorTex" OutName="see_instruction_booklet_error" Format="i4" Width="128" Height="37" Offset="0x940"/>
|
||||
</File>
|
||||
</Root>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user