Merge branch 'main' into doc_pause_menu

This commit is contained in:
Dragorn421 2025-05-24 00:36:23 +02:00
commit 5152a3a1dd
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
1886 changed files with 44809 additions and 69092 deletions

129
Makefile
View File

@ -40,8 +40,6 @@ COMPILER ?= ido
VERSION ?= gc-eu-mq-dbg
# Number of threads to extract and compress with.
N_THREADS ?= $(shell nproc)
# Check code syntax with host compiler.
RUN_CC_CHECK ?= 1
# If DEBUG_OBJECTS is 1, produce additional debugging files such as objdump output or raw binaries for assets
DEBUG_OBJECTS ?= 0
# Set prefix to mips binutils binaries (mips-linux-gnu-ld => 'mips-linux-gnu-') - Change at your own risk!
@ -320,7 +318,8 @@ CPP := gcc -E
MKLDSCRIPT := tools/mkldscript
MKDMADATA := tools/mkdmadata
ELF2ROM := tools/elf2rom
ZAPD := tools/ZAPD/ZAPD.out
BIN2C := tools/bin2c
N64TEXCONV := tools/assets/n64texconv/n64texconv
FADO := tools/fado/fado.elf
PYTHON ?= $(VENV)/bin/python3
@ -367,8 +366,8 @@ CPPFLAGS += -P -xc -fno-dollars-in-identifiers $(CPP_DEFINES)
ASFLAGS += -march=vr4300 -32 -no-pad-sections -Iinclude -I$(EXTRACTED_DIR)
ifeq ($(COMPILER),gcc)
CFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -mdivide-breaks -fno-PIC -fno-common -ffreestanding -funsigned-char -fbuiltin -fno-builtin-sinf -fno-builtin-cosf $(CHECK_WARNINGS)
CCASFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -fno-PIC -fno-common -Wa,-no-pad-sections
CFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc -MD $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -mdivide-breaks -fno-PIC -fno-common -ffreestanding -funsigned-char -fbuiltin -fno-builtin-sinf -fno-builtin-cosf $(CHECK_WARNINGS)
CCASFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc -MD $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -fno-PIC -fno-common -Wa,-no-pad-sections
MIPS_VERSION := -mips3
else
# Suppress warnings for wrong number of macro arguments (to fake variadic
@ -386,7 +385,7 @@ endif
ifeq ($(COMPILER),ido)
# Have CC_CHECK pretend to be a MIPS compiler
MIPS_BUILTIN_DEFS := -D_MIPS_ISA_MIPS2=2 -D_MIPS_ISA=_MIPS_ISA_MIPS2 -D_ABIO32=1 -D_MIPS_SIM=_ABIO32 -D_MIPS_SZINT=32 -D_MIPS_SZLONG=32 -D_MIPS_SZPTR=32
CC_CHECK = gcc -fno-builtin -fsyntax-only -funsigned-char -std=gnu90 -D_LANGUAGE_C $(CPP_DEFINES) $(MIPS_BUILTIN_DEFS) $(GBI_DEFINES) $(INC) $(CHECK_WARNINGS)
CC_CHECK = gcc -nostdinc -MD -fno-builtin -fsyntax-only -funsigned-char -std=gnu90 -D_LANGUAGE_C $(CPP_DEFINES) $(MIPS_BUILTIN_DEFS) $(GBI_DEFINES) $(INC) $(CHECK_WARNINGS)
ifeq ($(shell getconf LONG_BIT), 32)
# Work around memory allocation bug in QEMU
export QEMU_GUEST_BASE := 1
@ -395,7 +394,7 @@ ifeq ($(COMPILER),ido)
CC_CHECK += -m32
endif
else
RUN_CC_CHECK := 0
CC_CHECK = @:
endif
OBJDUMP_FLAGS := -d -r -z -Mreg-names=32
@ -467,7 +466,7 @@ SOUNDFONT_EXTRACT_XMLS := $(foreach dir,$(SOUNDFONT_EXTRACT_DIRS),$(wildcard $(d
SOUNDFONT_BUILD_XMLS := $(foreach f,$(SOUNDFONT_XMLS),$(BUILD_DIR)/$f) $(foreach f,$(SOUNDFONT_EXTRACT_XMLS),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%))
SOUNDFONT_O_FILES := $(foreach f,$(SOUNDFONT_BUILD_XMLS),$(f:.xml=.o))
SOUNDFONT_HEADERS := $(foreach f,$(SOUNDFONT_BUILD_XMLS),$(f:.xml=.h))
SOUNDFONT_DEP_FILES := $(foreach f,$(SOUNDFONT_O_FILES),$(f:.o=.d))
SOUNDFONT_DEP_FILES := $(foreach f,$(SOUNDFONT_O_FILES),$(f:.o=.c.d))
SEQUENCE_FILES := $(foreach dir,$(SEQUENCE_DIRS),$(wildcard $(dir)/*.seq))
SEQUENCE_EXTRACT_FILES := $(foreach dir,$(SEQUENCE_EXTRACT_DIRS),$(wildcard $(dir)/*.seq))
@ -501,7 +500,7 @@ OVL_RELOC_FILES := $(filter %_reloc.o,$(SPEC_O_FILES))
# Automatic dependency files
# (Only asm_processor dependencies and reloc dependencies are handled for now)
DEP_FILES := $(O_FILES:.o=.asmproc.d) $(OVL_RELOC_FILES:.o=.d)
DEP_FILES := $(O_FILES:.o=.d) $(O_FILES:.o=.asmproc.d) $(OVL_RELOC_FILES:.o=.d) $(BUILD_DIR)/spec.d
TEXTURE_FILES_PNG_EXTRACTED := $(foreach dir,$(ASSET_BIN_DIRS_EXTRACTED),$(wildcard $(dir)/*.png))
TEXTURE_FILES_PNG_COMMITTED := $(foreach dir,$(ASSET_BIN_DIRS_COMMITTED),$(wildcard $(dir)/*.png))
@ -537,6 +536,8 @@ endif
$(BUILD_DIR)/src/boot/build.o: CPP_DEFINES += -DBUILD_CREATOR="\"$(BUILD_CREATOR)\"" -DBUILD_DATE="\"$(BUILD_DATE)\"" -DBUILD_TIME="\"$(BUILD_TIME)\""
$(BUILD_DIR)/src/audio/internal/seqplayer.o: CPP_DEFINES += -DMML_VERSION=MML_VERSION_OOT
ifeq ($(COMPILER),ido)
$(BUILD_DIR)/src/boot/driverominit.o: OPTFLAGS := -O2
@ -619,15 +620,15 @@ $(BUILD_DIR)/src/libu64/%.o: OPTFLAGS := -O2
$(BUILD_DIR)/src/audio/%.o: OPTFLAGS := -O2
# Use signed chars instead of unsigned for this audio file (needed to match AudioDebug_ScrPrt)
$(BUILD_DIR)/src/audio/general.o: CFLAGS += -signed
$(BUILD_DIR)/src/audio/game/general.o: CFLAGS += -signed
ifeq ($(PLATFORM),N64)
$(BUILD_DIR)/src/audio/general.o: CFLAGS += -DNO_SQRTF_INTRINSIC
$(BUILD_DIR)/src/audio/game/general.o: CFLAGS += -DNO_SQRTF_INTRINSIC
endif
# Put string literals in .data for some audio files (needed to match these files with literals)
$(BUILD_DIR)/src/audio/sfx.o: CFLAGS += -use_readwrite_const
$(BUILD_DIR)/src/audio/sequence.o: CFLAGS += -use_readwrite_const
$(BUILD_DIR)/src/audio/game/sfx.o: CFLAGS += -use_readwrite_const
$(BUILD_DIR)/src/audio/game/sequence.o: CFLAGS += -use_readwrite_const
ifeq ($(PLATFORM),IQUE)
$(BUILD_DIR)/src/libultra/%.o: CC := $(EGCS_CC)
@ -790,10 +791,10 @@ setup: venv
$(MAKE) -C tools
$(PYTHON) tools/decompress_baserom.py $(VERSION)
$(PYTHON) tools/extract_baserom.py $(BASEROM_DIR)/baserom-decompressed.z64 $(EXTRACTED_DIR)/baserom -v $(VERSION)
$(PYTHON) -m tools.assets.extract $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR) -v $(VERSION) -j$(N_THREADS)
$(PYTHON) tools/extract_incbins.py $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR)/incbin -v $(VERSION)
$(PYTHON) tools/extract_text.py $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR)/text -v $(VERSION)
$(PYTHON) tools/extract_assets.py $(EXTRACTED_DIR)/baserom $(EXTRACTED_DIR)/assets -v $(VERSION) -j$(N_THREADS)
$(PYTHON) tools/extract_audio.py -o $(EXTRACTED_DIR) -v $(VERSION) --read-xml
$(PYTHON) tools/extract_audio.py -b $(EXTRACTED_DIR)/baserom -o $(EXTRACTED_DIR) -v $(VERSION) --read-xml
disasm:
$(RM) -r $(EXPECTED_DIR)
@ -811,9 +812,6 @@ endif
#### Various Recipes ####
$(ROM): $(ELF)
$(ELF2ROM) -cic 6105 $< $@
ifeq ($(PLATFORM),IQUE)
COMPRESS_ARGS := --format gzip --pad-to 0x4000
CIC = 6102
@ -822,6 +820,9 @@ else
CIC = 6105
endif
$(ROM): $(ELF)
$(ELF2ROM) -cic $(CIC) $< $@
$(ROMC): $(ROM) $(ELF) $(BUILD_DIR)/compress_ranges.txt
$(PYTHON) tools/compress.py --in $(ROM) --out $@ --dmadata-start `./tools/dmadata_start.sh $(NM) $(ELF)` --compress `cat $(BUILD_DIR)/compress_ranges.txt` --threads $(N_THREADS) $(COMPRESS_ARGS)
$(PYTHON) -m ipl3checksum sum --cic $(CIC) --update $@
@ -830,8 +831,10 @@ COM_PLUGIN := tools/com-plugin/common-plugin.so
LDFLAGS := -T $(LDSCRIPT) -T $(BUILD_DIR)/linker_scripts/makerom.ld -T $(BUILD_DIR)/undefined_syms.txt --no-check-sections --accept-unknown-input-arch --emit-relocs -Map $(MAP)
ifeq ($(PLATFORM),IQUE)
LDFLAGS += -plugin $(COM_PLUGIN) -plugin-opt order=$(BASEROM_DIR)/bss-order.txt
$(ELF): $(BASEROM_DIR)/bss-order.txt
ifeq ($(NON_MATCHING),0)
LDFLAGS += -plugin $(COM_PLUGIN) -plugin-opt order=$(BASEROM_DIR)/bss-order.txt
$(ELF): $(BASEROM_DIR)/bss-order.txt
endif
endif
$(ELF): $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(O_FILES) $(OVL_RELOC_FILES) $(LDSCRIPT) $(BUILD_DIR)/linker_scripts/makerom.ld $(BUILD_DIR)/undefined_syms.txt \
@ -855,7 +858,7 @@ $(O_FILES): | asset_files
.PHONY: o_files asset_files
$(BUILD_DIR)/spec: $(SPEC) $(SPEC_INCLUDES)
$(CPP) $(CPPFLAGS) -I. $< | $(BUILD_DIR_REPLACE) > $@
$(CPP) $(CPPFLAGS) -MD -MF $@.d -MT $@ -I. $< | $(BUILD_DIR_REPLACE) > $@
$(LDSCRIPT): $(BUILD_DIR)/spec
$(MKLDSCRIPT) $< $@
@ -867,7 +870,7 @@ $(BUILD_DIR)/baserom/%.o: $(EXTRACTED_DIR)/baserom/%
$(OBJCOPY) -I binary -O elf32-big $< $@
$(BUILD_DIR)/data/%.o: data/%.s
$(CPP) $(CPPFLAGS) -Iinclude $< | $(AS) $(ASFLAGS) -o $@
$(CPP) $(CPPFLAGS) -MD -MF $(@:.o=.d) -MT $@ -Iinclude $< | $(AS) $(ASFLAGS) -o $@
ifeq ($(PLATFORM),IQUE)
NES_CHARMAP := assets/text/charmap.chn.txt
@ -876,24 +879,23 @@ else
endif
$(BUILD_DIR)/assets/text/%.enc.nes.h: assets/text/%.h $(EXTRACTED_DIR)/text/%.h $(NES_CHARMAP)
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) $< | $(PYTHON) tools/msgenc.py --encoding utf-8 --charmap $(NES_CHARMAP) - $@
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) -MD -MF $(@:.o=.d) -MT $@ $< | $(PYTHON) tools/msgenc.py --encoding utf-8 --charmap $(NES_CHARMAP) - $@
$(BUILD_DIR)/assets/text/%.enc.jpn.h: assets/text/%.h $(EXTRACTED_DIR)/text/%.h assets/text/charmap.jpn.txt
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) $< | $(PYTHON) tools/msgenc.py --encoding SHIFT-JIS --wchar --charmap assets/text/charmap.jpn.txt - $@
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) -MD -MF $(@:.o=.d) -MT $@ $< | $(PYTHON) tools/msgenc.py --encoding SHIFT-JIS --wchar --charmap assets/text/charmap.jpn.txt - $@
# Dependencies for files including message data headers
# TODO remove when full header dependencies are used.
# Dependencies for encoded message headers. These dependencies are not automatic as these headers are generated
# as part of the build. A clean build must know to generate them before the relevant .d files are created.
$(BUILD_DIR)/assets/text/jpn_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.jpn.h
$(BUILD_DIR)/assets/text/nes_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.nes.h
$(BUILD_DIR)/assets/text/ger_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.nes.h
$(BUILD_DIR)/assets/text/fra_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.nes.h
$(BUILD_DIR)/assets/text/staff_message_data_static.o: $(BUILD_DIR)/assets/text/message_data_staff.enc.nes.h
$(BUILD_DIR)/src/code/z_message.o: assets/text/message_data.h assets/text/message_data_staff.h
$(BUILD_DIR)/assets/text/%.o: assets/text/%.c
ifneq ($(COMPILER),gcc)
# Preprocess text with modern cpp for varargs macros
$(CPP) -undef -D_LANGUAGE_C -D__sgi $(CPPFLAGS) $(INC) $< -o $(@:.o=.c)
$(CPP) -undef -D_LANGUAGE_C -D__sgi $(CPPFLAGS) -MD -MT $@ $(INC) $< -o $(@:.o=.c)
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $(@:.o=.c)
else
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
@ -901,17 +903,19 @@ endif
$(OBJCOPY) -O binary --only-section .rodata $@ $@.bin
$(BUILD_DIR)/assets/%.o: assets/%.c
$(CC_CHECK) $< -o $@
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
$(OBJCOPY_CMD)
$(BUILD_DIR)/assets/%.o: $(EXTRACTED_DIR)/assets/%.c
$(CC_CHECK) $< -o $@
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
$(OBJCOPY_CMD)
# Assemble the ROM header with GNU AS always
$(BUILD_DIR)/src/makerom/rom_header.o: src/makerom/rom_header.s
ifeq ($(COMPILER),ido)
$(CPP) $(CPPFLAGS) $(MIPS_BUILTIN_DEFS) $(INC) $< | $(AS) $(ASFLAGS) -o $@
$(CPP) $(CPPFLAGS) $(MIPS_BUILTIN_DEFS) $(INC) -MD -MF $(@:.o=.d) -MT $@ $< | $(AS) $(ASFLAGS) -o $@
else
$(CCAS) -c $(CCASFLAGS) $(MIPS_VERSION) $(ASOPTFLAGS) -o $@ $<
endif
@ -922,12 +926,15 @@ $(BUILD_DIR)/src/makerom/ipl3.o: $(EXTRACTED_DIR)/incbin/ipl3
$(BUILD_DIR)/src/%.o: src/%.s
ifeq ($(COMPILER),ido)
# For header dependencies
$(CPP) $(MIPS_BUILTIN_DEFS) $(CPPFLAGS) -x assembler-with-cpp $(INC) -MD -MF $(@:.o=.d) -MT $@ $< -o /dev/null
$(CCAS) -c $(CCASFLAGS) $(MIPS_VERSION) $(ASOPTFLAGS) -o $(@:.o=.tmp.o) $<
# IDO generates bad symbol tables, fix the symbol table with strip..
$(STRIP) $(@:.o=.tmp.o) -N dummy-symbol-name
# but strip doesn't know about file-relative offsets in .mdebug and doesn't relocate them, ld will
# segfault unless .mdebug is removed
$(OBJCOPY) --remove-section .mdebug $(@:.o=.tmp.o) $@
@$(RM) $(@:.o=.tmp.o)
else
$(CCAS) -c $(CCASFLAGS) $(MIPS_VERSION) $(ASOPTFLAGS) -o $@ $<
endif
@ -937,6 +944,9 @@ endif
# Incremental link to move z_message and z_game_over data into rodata
$(BUILD_DIR)/src/code/z_message_z_game_over.o: $(BUILD_DIR)/src/code/z_message.o $(BUILD_DIR)/src/code/z_game_over.o
$(LD) -r -G 0 -T linker_scripts/data_with_rodata.ld -o $@ $^
$(PYTHON) tools/patch_data_with_rodata_mdebug.py $@
DEP_FILES += $(BUILD_DIR)/src/code/z_message.d $(BUILD_DIR)/src/code/z_game_over.d
$(BUILD_DIR)/dmadata_table_spec.h $(BUILD_DIR)/compress_ranges.txt: $(BUILD_DIR)/spec
$(MKDMADATA) $< $(BUILD_DIR)/dmadata_table_spec.h $(BUILD_DIR)/compress_ranges.txt
@ -945,33 +955,18 @@ $(BUILD_DIR)/dmadata_table_spec.h $(BUILD_DIR)/compress_ranges.txt: $(BUILD_DIR)
$(BUILD_DIR)/src/boot/z_std_dma.o: $(BUILD_DIR)/dmadata_table_spec.h
$(BUILD_DIR)/src/dmadata/dmadata.o: $(BUILD_DIR)/dmadata_table_spec.h
# Dependencies for files including from include/tables/
# TODO remove when full header dependencies are used.
$(BUILD_DIR)/src/code/graph.o: include/tables/gamestate_table.h
$(BUILD_DIR)/src/code/object_table.o: include/tables/object_table.h
$(BUILD_DIR)/src/code/z_actor.o: include/tables/actor_table.h # so uses of ACTOR_ID_MAX update when the table length changes
$(BUILD_DIR)/src/code/z_actor_dlftbls.o: include/tables/actor_table.h
$(BUILD_DIR)/src/code/z_effect_soft_sprite_dlftbls.o: include/tables/effect_ss_table.h
$(BUILD_DIR)/src/code/z_game_dlftbls.o: include/tables/gamestate_table.h
$(BUILD_DIR)/src/code/z_scene_table.o: include/tables/scene_table.h include/tables/entrance_table.h
$(BUILD_DIR)/src/audio/general.o: $(SEQUENCE_TABLE) include/tables/sfx/*.h
$(BUILD_DIR)/src/audio/sfx_params.o: include/tables/sfx/*.h
$(BUILD_DIR)/src/%.o: src/%.c
ifneq ($(RUN_CC_CHECK),0)
$(CC_CHECK) $<
endif
$(CC_CHECK) $< -o $@
$(PREPROCESS) $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
$(POSTPROCESS_OBJ) $@
$(OBJDUMP_CMD)
$(BUILD_DIR)/src/audio/session_init.o: src/audio/session_init.c $(BUILD_DIR)/assets/audio/soundfont_sizes.h $(BUILD_DIR)/assets/audio/sequence_sizes.h
ifneq ($(RUN_CC_CHECK),0)
$(CC_CHECK) $<
endif
$(BUILD_DIR)/src/audio/game/session_init.o: src/audio/game/session_init.c $(BUILD_DIR)/assets/audio/soundfont_sizes.h $(BUILD_DIR)/assets/audio/sequence_sizes.h
$(CC_CHECK) $< -o $@
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $(@:.o=.tmp) $<
$(LD) -r -T linker_scripts/data_with_rodata.ld -o $@ $(@:.o=.tmp)
@$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
$(PYTHON) tools/patch_data_with_rodata_mdebug.py $@
$(OBJDUMP_CMD)
ifeq ($(PLATFORM),IQUE)
ifneq ($(NON_MATCHING),1)
@ -984,23 +979,27 @@ $(BUILD_DIR)/src/overlays/%_reloc.o: $(BUILD_DIR)/spec
$(POSTPROCESS_OBJ) $(@:.o=.s)
$(AS) $(ASFLAGS) $(@:.o=.s) -o $@
$(BUILD_DIR)/assets/%.inc.c: assets/%.png
$(ZAPD) btex -eh -tt $(subst .,,$(suffix $*)) -i $< -o $@
# Assets from assets/
$(BUILD_DIR)/assets/%.inc.c: $(EXTRACTED_DIR)/assets/%.png
$(ZAPD) btex -eh -tt $(subst .,,$(suffix $*)) -i $< -o $@
$(BUILD_DIR)/assets/%.inc.c: assets/%.png
tools/assets/build_from_png/build_from_png $< $(dir $@) assets/$(dir $*) $(wildcard $(EXTRACTED_DIR)/assets/$(dir $*))
$(BUILD_DIR)/assets/%.bin.inc.c: assets/%.bin
$(ZAPD) bblb -eh -i $< -o $@
$(BUILD_DIR)/assets/%.bin.inc.c: $(EXTRACTED_DIR)/assets/%.bin
$(ZAPD) bblb -eh -i $< -o $@
$(BIN2C) -t 1 $< $@
$(BUILD_DIR)/assets/%.jpg.inc.c: assets/%.jpg
$(ZAPD) bren -eh -i $< -o $@
$(N64TEXCONV) JFIF "" $< $@
# Assets from extracted/
$(BUILD_DIR)/assets/%.inc.c: $(EXTRACTED_DIR)/assets/%.png
tools/assets/build_from_png/build_from_png $< $(dir $@) $(wildcard assets/$(dir $*)) $(EXTRACTED_DIR)/assets/$(dir $*)
$(BUILD_DIR)/assets/%.bin.inc.c: $(EXTRACTED_DIR)/assets/%.bin
$(BIN2C) -t 1 $< $@
$(BUILD_DIR)/assets/%.jpg.inc.c: $(EXTRACTED_DIR)/assets/%.jpg
$(ZAPD) bren -eh -i $< -o $@
$(N64TEXCONV) JFIF "" $< $@
# Audio
@ -1068,11 +1067,12 @@ $(BUILD_DIR)/assets/audio/soundfonts/%.xml: $(EXTRACTED_DIR)/assets/audio/soundf
$(BUILD_DIR)/assets/audio/soundfonts/%.c $(BUILD_DIR)/assets/audio/soundfonts/%.h $(BUILD_DIR)/assets/audio/soundfonts/%.name: $(BUILD_DIR)/assets/audio/soundfonts/%.xml | $(SAMPLEBANK_BUILD_XMLS) $(AIFC_FILES)
# This rule can be triggered for either the .c or .h file, so $@ may refer to either the .c or .h file. A simple
# substitution $(@:.c=.h) will fail ~50% of the time with -j. Instead, don't assume anything about the suffix of $@.
$(SFC) $(SFCFLAGS) --makedepend $(basename $@).d $< $(basename $@).c $(basename $@).h $(basename $@).name
$(SFC) $(SFCFLAGS) --makedepend $(basename $@).c.d $< $(basename $@).c $(basename $@).h $(basename $@).name
-include $(SOUNDFONT_DEP_FILES)
$(BUILD_DIR)/assets/audio/soundfonts/%.o: $(BUILD_DIR)/assets/audio/soundfonts/%.c $(BUILD_DIR)/assets/audio/soundfonts/%.name
$(CPP) $(MIPS_BUILTIN_DEFS) $(CPPFLAGS) -x assembler-with-cpp $(INC) -I include/audio -MD -MF $(@:.o=.d) -MT $@ $< -o /dev/null
# compile c to unlinked object
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -I include/audio -o $(@:.o=.tmp) $<
# partial link
@ -1093,11 +1093,11 @@ endif
# then assemble the sequences...
$(BUILD_DIR)/assets/audio/sequences/%.o: assets/audio/sequences/%.seq include/audio/aseq.h $(SEQUENCE_TABLE) | $(SOUNDFONT_HEADERS)
$(SEQ_CPP) $(SEQ_CPPFLAGS) $< -o $(@:.o=.s) -MMD -MT $@
$(SEQ_CPP) $(SEQ_CPPFLAGS) -MD -MT $@ $< -o $(@:.o=.s)
$(AS) $(ASFLAGS) -I $(BUILD_DIR)/assets/audio/soundfonts -I include/audio -I $(dir $<) $(@:.o=.s) -o $@
$(BUILD_DIR)/assets/audio/sequences/%.o: $(EXTRACTED_DIR)/assets/audio/sequences/%.seq include/audio/aseq.h $(SEQUENCE_TABLE) | $(SOUNDFONT_HEADERS)
$(SEQ_CPP) $(SEQ_CPPFLAGS) $< -o $(@:.o=.s) -MMD -MT $@
$(SEQ_CPP) $(SEQ_CPPFLAGS) -MD -MT $@ $< -o $(@:.o=.s)
$(AS) $(ASFLAGS) -I $(BUILD_DIR)/assets/audio/soundfonts -I include/audio -I $(dir $<) $(@:.o=.s) -o $@
ifeq ($(AUDIO_BUILD_DEBUG),1)
$(OBJCOPY) -O binary -j.data $@ $(@:.o=.aseq)
@ -1131,11 +1131,10 @@ $(BUILD_DIR)/src/audio/tables/sequence_table.o: src/audio/tables/sequence_table.
$(BUILD_DIR)/src/audio/tables/sequence_table.o: CFLAGS += -I include/tables
$(BUILD_DIR)/src/audio/tables/%.o: src/audio/tables/%.c
ifneq ($(RUN_CC_CHECK),0)
$(CC_CHECK) $<
endif
$(CC_CHECK) $< -o $@
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $(@:.o=.tmp) $<
$(LD) -r -T linker_scripts/data_with_rodata.ld $(@:.o=.tmp) -o $@
$(PYTHON) tools/patch_data_with_rodata_mdebug.py $@
@$(RM) $(@:.o=.tmp)
$(BUILD_DIR)/assets/audio/sequence_font_table.o: $(BUILD_DIR)/assets/audio/sequence_font_table.s

File diff suppressed because it is too large Load Diff

View File

@ -454,7 +454,7 @@ CHAN_0308:
/* 0x0319 [0xC7 0x60 0x10 0x00 ] */ stseq 96, ENVELOPE_0FFA + STSEQ_ENVELOPE_POINT(3)
CHAN_031D:
/* 0x031D [0xB8 0x18 ] */ rand 24
/* 0x031F [0xC7 0x62 0x03 0x6F ] */ stseq (NOTEDV_OPCODE | PITCH_G3), LAYER_036F + STSEQ_NOTEDV_OPCODE_PITCH
/* 0x031F [0xC7 0x62 0x03 0x6F ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_G3), LAYER_036F + STSEQ_NOTEDV_OPCODE_PITCH
/* 0x0323 [0xCC 0x40 ] */ ldi 64
/* 0x0325 [0x53 ] */ subio IO_PORT_3
/* 0x0326 [0xC7 0x00 0x03 0x2B ] */ stseq 0, STSEQ_HERE + STSEQ_RAND
@ -482,7 +482,7 @@ CHAN_0335:
/* 0x034B [0xC8 0xFF ] */ sub 255
/* 0x034D [0xC7 0x64 0x03 0x87 ] */ stseq 100, LAYER_0385 + STSEQ_NOTEDV_VELOCITY_2
/* 0x0351 [0xC7 0x64 0x03 0x8A ] */ stseq 100, LAYER_0388 + STSEQ_NOTEDV_VELOCITY_2
/* 0x0355 [0xC7 0x67 0x03 0x85 ] */ stseq (NOTEDV_OPCODE | PITCH_C4), LAYER_0385 + STSEQ_NOTEDV_OPCODE_PITCH
/* 0x0355 [0xC7 0x67 0x03 0x85 ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_C4), LAYER_0385 + STSEQ_NOTEDV_OPCODE_PITCH
/* 0x0359 [0xFF ] */ end
UNK_035A:
@ -1664,7 +1664,7 @@ CHAN_0E72:
/* 0x0E84 [0xB8 0x02 ] */ rand 2
/* 0x0E86 [0x73 ] */ stio IO_PORT_3
CHAN_0E87:
/* 0x0E87 [0xC7 0x67 0x0E 0xCF ] */ stseq (NOTEDV_OPCODE | PITCH_C4), LAYER_0ECF + STSEQ_NOTEDV_OPCODE_PITCH
/* 0x0E87 [0xC7 0x67 0x0E 0xCF ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_C4), LAYER_0ECF + STSEQ_NOTEDV_OPCODE_PITCH
/* 0x0E8B [0xB8 0x1E ] */ rand 30
/* 0x0E8D [0xC7 0x31 0x0E 0xCC ] */ stseq 49, LAYER_0ECB + STSEQ_NOTEPAN
/* 0x0E91 [0x76 ] */ stio IO_PORT_6

View File

@ -7,7 +7,6 @@
<Array Name="sTransCircleVtx" Count="34" Offset="0x1000">
<Vtx/>
</Array>
<!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`-->
<!--<DList Name="sTransCircleDL" Offset="0x1220"/>-->
<DList Name="sTransCircleDL" Offset="0x1220"/>
</File>
</Root>

View File

@ -4,7 +4,6 @@
<Vtx/>
</Array>
<Texture Name="sTransWipeTex" OutName="trans_wipe" Format="i4" Width="64" Height="64" Offset="0x190"/>
<!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`-->
<!-- <DList Name="sTransWipeDL" Offset="0x990"/> -->
<DList Name="sTransWipeDL" Offset="0x990"/>
</File>
</Root>

View File

@ -29,7 +29,7 @@
<DList Name="gFieldDoorDL_004720" Offset="0x4720"/>
<DList Name="gFieldDoorLeftDL" Offset="0x47A0"/>
<DList Name="gFieldDoorRightDL" Offset="0x4978"/>
<Texture Name="gFieldDoor1Tex" OutName="field_door1" Format="i8" Width="32" Height="128" Offset="0x04F50"/>
<Texture Name="gFieldDoor1Tex" OutName="field_door1" Format="i4" Width="64" Height="128" Offset="0x04F50"/>
<Texture Name="gFieldDoorKnobTopHalfTex" OutName="field_door_knob_upper" Format="rgba16" Width="16" Height="16" Offset="0x4B50"/>
<Texture Name="gFieldDoorKnobTex" OutName="field_door_knob" Format="rgba16" Width="16" Height="16" Offset="0x4D50"/>
<Skeleton Name="gFieldUnusedFishSkel" Type="Normal" LimbType="Standard" Offset="0x088F8"/>

View File

@ -1,5 +1,5 @@
<Root>
<ExternalFile XmlPath="misc/link_animetion.xml" OutPath="assets/misc/link_animetion/"/>
<ExternalFile OutPath="assets/misc/link_animetion/"/>
<File Name="gameplay_keep" Segment="4">
<Texture Name="gHilite1Tex" OutName="hilite_1" Format="rgba16" Width="16" Height="16" Offset="0x0"/>
<Texture Name="gHilite2Tex" OutName="hilite_2" Format="rgba16" Width="16" Height="16" Offset="0x200"/>
@ -759,7 +759,7 @@
<Texture Name="gEffHitMark24Tex" OutName="eff_hit_mark_24" Format="i4" Width="32" Height="24" Offset="0x21A90"/>
<DList Name="gEffHitMarkDL" Offset="0x21C10"/>
<Texture Name="gEffUnknown6Tex" OutName="eff_unknown_6" Format="i8" Width="32" Height="64" Offset="0x21CB0"/>
<Texture Name="gEffFleckTex" OutName="eff_fleck" Format="i8" Width="32" Height="64" Offset="0x224B0"/>
<Texture Name="gEffFleckTex" OutName="eff_fleck" Format="i4" Width="64" Height="64" Offset="0x224B0"/>
<Texture Name="gEffUnknown8Tex" OutName="eff_unknown_8" Format="i8" Width="64" Height="64" Offset="0x22CB0"/>
<Texture Name="gEffMagmaBubble1Tex" OutName="eff_magma_bubbles_1" Format="ia8" Width="16" Height="24" Offset="0x23CB0"/>
<Texture Name="gEffMagmaBubble2Tex" OutName="eff_magma_bubbles_2" Format="ia8" Width="16" Height="24" Offset="0x23E30"/>
@ -848,7 +848,7 @@
<DList Name="gBugLimb9WrapperDL" Offset="0x34EE0"/>
<DList Name="gBugLimb9WrapperWrapperDL" Offset="0x34EF0"/>
<Texture Name="gBugBodyTex" OutName="bug_body" Format="rgba16" Width="16" Height="64" Offset="0x34FC0"/>
<Texture Name="gBugLegTex" OutName="bug_leg" Format="rgba16" Width="32" Height="4" Offset="0x357C0"/>
<Texture Name="gBugLegTex" OutName="bug_leg" Format="rgba16" Width="8" Height="16" Offset="0x357C0"/>
<Skeleton Name="gBugSkel" Type="Normal" LimbType="Standard" Offset="0x35A30"/>
<DList Name="gCuttableShrubStalkDL" Offset="0x35A80"/>
<DList Name="gCuttableShrubTipDL" Offset="0x35B40"/>

View File

@ -1,5 +1,5 @@
<Root>
<ExternalFile XmlPath="misc/link_animetion.xml" OutPath="assets/misc/link_animetion/"/>
<ExternalFile OutPath="assets/misc/link_animetion/"/>
<File Name="gameplay_keep" Segment="4">
<Texture Name="gHilite1Tex" OutName="hilite_1" Format="rgba16" Width="16" Height="16" Offset="0x0"/>
<Texture Name="gHilite2Tex" OutName="hilite_2" Format="rgba16" Width="16" Height="16" Offset="0x200"/>
@ -753,7 +753,7 @@
<Texture Name="gEffHitMark24Tex" OutName="eff_hit_mark_24" Format="i4" Width="32" Height="24" Offset="0x215F0"/>
<DList Name="gEffHitMarkDL" Offset="0x21770"/>
<Texture Name="gEffUnknown6Tex" OutName="eff_unknown_6" Format="i8" Width="32" Height="64" Offset="0x21810"/>
<Texture Name="gEffFleckTex" OutName="eff_fleck" Format="i8" Width="32" Height="64" Offset="0x22010"/>
<Texture Name="gEffFleckTex" OutName="eff_fleck" Format="i4" Width="64" Height="64" Offset="0x22010"/>
<Texture Name="gEffUnknown8Tex" OutName="eff_unknown_8" Format="i8" Width="64" Height="64" Offset="0x22810"/>
<Texture Name="gEffMagmaBubble1Tex" OutName="eff_magma_bubbles_1" Format="ia8" Width="16" Height="24" Offset="0x23810"/>
<Texture Name="gEffMagmaBubble2Tex" OutName="eff_magma_bubbles_2" Format="ia8" Width="16" Height="24" Offset="0x23990"/>
@ -843,7 +843,7 @@
<DList Name="gBugLimb9WrapperWrapperDL" Offset="0x34A50"/>
<Skeleton Name="gBugSkel" Type="Normal" LimbType="Standard" Offset="0x35590"/>
<Texture Name="gBugBodyTex" OutName="bug_body" Format="rgba16" Width="16" Height="64" Offset="0x34B20"/>
<Texture Name="gBugLegTex" OutName="bug_leg" Format="rgba16" Width="32" Height="4" Offset="0x35320"/>
<Texture Name="gBugLegTex" OutName="bug_leg" Format="rgba16" Width="8" Height="16" Offset="0x35320"/>
<DList Name="gCuttableShrubStalkDL" Offset="0x355E0"/>
<DList Name="gCuttableShrubTipDL" Offset="0x356A0"/>
<Texture Name="gCuttableShrubLeafTFragmentTex" OutName="cuttable_shrub_leaf_fragment" Format="rgba16" Width="32" Height="32" Offset="0x35730"/>

View File

@ -5,5 +5,6 @@
<Animation Name="gArmosHopAnim" Offset="0x238"/>
<Animation Name="gArmosDamagedAnim" Offset="0x5B3C"/>
<Collision Name="gArmosCol" Offset="0x118"/>
<DList Name="gArmosUnusedDL" Offset="0x7A8"/>
</File>
</Root>

View File

@ -51,6 +51,8 @@
<Texture Name="gRoofManEarTex" OutName="roof_man_ear" Format="ci8" Width="16" Height="16" Offset="0x01318" TlutOffset="0x1088"/>
<Texture Name="gRoofManHairTex" OutName="roof_man_hair" Format="ci8" Width="16" Height="16" Offset="0x01418" TlutOffset="0x1088"/>
<!-- Kakariko Roof Man Unused Textures -->
<Texture Name="gRoofManUnusedTex" OutName="roof_man_unused" Format="ci8" Width="16" Height="16" Offset="0x308" TlutOffset="0x00108"/>
<!-- Kakariko Roof Man Eye Textures -->
<Texture Name="gRoofManEyeOpenTex" OutName="roof_man_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x408"/>

View File

@ -1,5 +1,5 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_dangeon_keep.xml" OutPath="assets/objects/gameplay_dangeon_keep/"/>
<ExternalFile OutPath="assets/objects/gameplay_dangeon_keep/"/>
<File Name="object_bdoor" Segment="6">
<!-- One of the Boss Door Textures -->
<Texture Name="gBossDoorGanonsCastleTex" OutName="boss_door_ganons_castle" Format="rgba16" Width="32" Height="64" Offset="0x0"/>

View File

@ -5,7 +5,9 @@
<CurveAnimation Name="gTreasureChestCurveAnim_4F70" SkelOffset="0x5EB8" Offset="0x4F70"/>
<Animation Name="gTreasureChestAnim_000128" Offset="0x128"/>
<Animation Name="gTreasureChestAnim_00024C" Offset="0x24C"/>
<Blob Name="object_box_zeroes_Blob_00025C" Size="0xF4" Offset="0x025C"/>
<Animation Name="gTreasureChestAnim_00043C" Offset="0x43C"/>
<Blob Name="object_box_zeroes_Blob_00044C" Size="0x64" Offset="0x044C"/>
<DList Name="gTreasureChestChestFrontDL" Offset="0x6F0"/>
<Texture Name="gTreasureChestFrontTex" OutName="chest_front" Format="rgba16" Width="32" Height="64" Offset="0x1798"/>
@ -19,11 +21,7 @@
<DList Name="gTreasureChestBossKeyChestSideAndTopDL" Offset="0x1678"/>
<Texture Name="gTreasureChestBossKeySideAndTopTex" OutName="boss_key_side_and_top" Format="rgba16" Width="32" Height="32" Offset="0x2F98"/>
<Skeleton Name="gTreasureChestSkel" Type="Normal" LimbType="Standard" Offset="0x47D8"/>
<Skeleton Name="gTreasureChestSkel" Type="Flex" LimbType="Standard" Offset="0x47D8"/>
<Collision Name="gTreasureChestCol" Offset="0x5FC8"/>
<!--Large Unaccounted-->
<Blob Name="gBoxBlob_00025C" Size="0xF4" Offset="0x025C"/>
<Blob Name="gBoxBlob_00044C" Size="0x64" Offset="0x044C"/>
</File>
</Root>

View File

@ -7,7 +7,7 @@
<Skeleton Name="gBarinadeSupportSkel" Type="Flex" LimbType="Standard" Offset="0x16098"/>
<Skeleton Name="gBarinadeZapperSkel" Type="Flex" LimbType="Standard" Offset="0x185A0"/>
<Skeleton Name="gBarinadeStumpSkel" Type="Flex" LimbType="Standard" Offset="0x17470"/>
<Skeleton Name="gBarinadeBariSkel" Type="Normal" LimbType="Standard" Offset="0x3A70"/>
<Skeleton Name="gBarinadeBariSkel" Type="Flex" LimbType="Standard" Offset="0x3A70"/>
<Skeleton Name="gBarinadeCutSupportSkel" Type="Flex" LimbType="Standard" Offset="0x16BC8"/>
<Animation Name="gBarinadeBodyAnim" Offset="0x3D84"/> <!-- Body anim 1-->

View File

@ -7,7 +7,7 @@
<Skeleton Name="gBarinadeSupportSkel" Type="Flex" LimbType="Standard" Offset="0x17498"/>
<Skeleton Name="gBarinadeZapperSkel" Type="Flex" LimbType="Standard" Offset="0x199A0"/>
<Skeleton Name="gBarinadeStumpSkel" Type="Flex" LimbType="Standard" Offset="0x18870"/>
<Skeleton Name="gBarinadeBariSkel" Type="Normal" LimbType="Standard" Offset="0x4E70"/>
<Skeleton Name="gBarinadeBariSkel" Type="Flex" LimbType="Standard" Offset="0x4E70"/>
<Skeleton Name="gBarinadeCutSupportSkel" Type="Flex" LimbType="Standard" Offset="0x17FC8"/>
<Animation Name="gBarinadeBodyAnim" Offset="0x5184"/> <!-- Body anim 1-->

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_demo_6k" Segment="6">
<Texture Name="object_demo_6k_Tex_000000" OutName="tex_00000000" Format="i8" Width="64" Height="64" Offset="0x0"/>
<DList Name="object_demo_6k_DL_001040" Offset="0x1040"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_demo_kekkai" Segment="6">
<!-- Demo_Kekkai -->
<DList Name="gTowerBarrierDL" Offset="0x4930"/>

View File

@ -12,6 +12,6 @@
<DList Name="object_door_killer_DL_001550" Offset="0x1550"/>
<DList Name="object_door_killer_DL_0017B8" Offset="0x17B8"/>
<DList Name="object_door_killer_DL_001A58" Offset="0x1A58"/>
<Skeleton Name="object_door_killer_Skel_001BC8" Type="Flex" LimbType="Standard" Offset="0x1BC8"/>
<Skeleton Name="object_door_killer_Skel_001BC8" Type="Flex" LimbType="LOD" Offset="0x1BC8"/>
</File>
</Root>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_efc_erupc" Segment="6">
<Texture Name="object_efc_erupc_Tex_000000" OutName="tex_00000000" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Texture Name="object_efc_erupc_Tex_000800" OutName="tex_00000800" Format="i4" Width="64" Height="64" Offset="0x800"/>

View File

@ -19,9 +19,10 @@
<DList Name="gVolvagiaManeModelDL" Offset="0x91E8"/>
<!-- Eye textures -->
<Texture Name="gVolvagiaEyeOpenTex" OutName="volvagia_eye_open" Format="i8" Width="32" Height="32" Offset="0x38A8"/>
<Texture Name="gVolvagiaEyeHalfTex" OutName="volvagia_eye_half" Format="i8" Width="32" Height="32" Offset="0x34A8"/>
<Texture Name="gVolvagiaEyeClosedTex" OutName="volvagia_eye_closed" Format="i8" Width="32" Height="32" Offset="0x3CA8"/>
<Texture Name="gVolvagiaEyeTLUT" Format="rgba16" Width="16" Height="16" Offset="0x32A8"/>
<Texture Name="gVolvagiaEyeOpenTex" OutName="volvagia_eye_open" Format="ci8" Width="32" Height="32" Offset="0x38A8" TlutOffset="0x32A8"/>
<Texture Name="gVolvagiaEyeHalfTex" OutName="volvagia_eye_half" Format="ci8" Width="32" Height="32" Offset="0x34A8" TlutOffset="0x32A8"/>
<Texture Name="gVolvagiaEyeClosedTex" OutName="volvagia_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x3CA8" TlutOffset="0x32A8"/>
<!-- Death display lists -->
<DList Name="gVolvagiaRibsDL" Offset="0xB2F8"/>

View File

@ -21,9 +21,10 @@
<Animation Name="gHoleVolvagiaIdleAnim" Offset="0xC8EC"/>
<!-- Eye textures -->
<Texture Name="gHoleVolvagiaEyeHalfTex" OutName="hole_volvagia_eye_half" Format="i8" Width="32" Height="32" Offset="0x2708"/>
<Texture Name="gHoleVolvagiaEyeOpenTex" OutName="hole_volvagia_eye_open" Format="i8" Width="32" Height="32" Offset="0x2B08"/>
<Texture Name="gHoleVolvagiaEyeClosedTex" OutName="hole_volvagia_eye_closed" Format="i8" Width="32" Height="32" Offset="0x2F08"/>
<Texture Name="gHoleVolvagiaEyeTLUT" Format="rgba16" Width="16" Height="16" Offset="0x2508"/>
<Texture Name="gHoleVolvagiaEyeHalfTex" OutName="hole_volvagia_eye_half" Format="ci8" Width="32" Height="32" Offset="0x2708" TlutOffset="0x2508"/>
<Texture Name="gHoleVolvagiaEyeOpenTex" OutName="hole_volvagia_eye_open" Format="ci8" Width="32" Height="32" Offset="0x2B08" TlutOffset="0x2508"/>
<Texture Name="gHoleVolvagiaEyeClosedTex" OutName="hole_volvagia_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x2F08" TlutOffset="0x2508"/>
<!-- Unused animation -->
<Animation Name="gHoleVolvagiaAnim_00CDAC" Offset="0xCDAC"/> <!-- Looks tired. Low health animation? -->

View File

@ -19,9 +19,10 @@
<DList Name="gVolvagiaManeModelDL" Offset="0x91E8"/>
<!-- Eye textures -->
<Texture Name="gVolvagiaEyeOpenTex" OutName="volvagia_eye_open" Format="i8" Width="32" Height="32" Offset="0x38A8"/>
<Texture Name="gVolvagiaEyeHalfTex" OutName="volvagia_eye_half" Format="i8" Width="32" Height="32" Offset="0x34A8"/>
<Texture Name="gVolvagiaEyeClosedTex" OutName="volvagia_eye_closed" Format="i8" Width="32" Height="32" Offset="0x3CA8"/>
<Texture Name="gVolvagiaEyeTLUT" Format="rgba16" Width="16" Height="16" Offset="0x32A8"/>
<Texture Name="gVolvagiaEyeOpenTex" OutName="volvagia_eye_open" Format="ci8" Width="32" Height="32" Offset="0x38A8" TlutOffset="0x32A8"/>
<Texture Name="gVolvagiaEyeHalfTex" OutName="volvagia_eye_half" Format="ci8" Width="32" Height="32" Offset="0x34A8" TlutOffset="0x32A8"/>
<Texture Name="gVolvagiaEyeClosedTex" OutName="volvagia_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x3CA8" TlutOffset="0x32A8"/>
<!-- Death display lists -->
<DList Name="gVolvagiaRibsDL" Offset="0xB2F8"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_fish" Segment="6">
<Animation Name="gFishingFishAnim" Offset="0x7C"/>
<DList Name="gFishingFishDL_000940" Offset="0x940"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_fz" Segment="6">
<DList Name="gFreezardIntactDL" Offset="0x1130"/>
<DList Name="gFreezardTopRightHornChippedDL" Offset="0x21A0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_arrow" Segment="6">
<DList Name="gGiArrowSmallDL" Offset="0x0340"/>
<DList Name="gGiArrowMediumDL" Offset="0x0B90"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_arrowcase" Segment="6">
<DList Name="gGiQuiver30InnerColorDL" Offset="0x08D0"/>
<DList Name="gGiQuiver40InnerColorDL" Offset="0x08F0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bean" Segment="6">
<DList Name="gGiBeanDL" Offset="0x0580"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bomb_1" Segment="6">
<DList Name="gGiBombDL" Offset="0x09A0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bomb_2" Segment="6">
<DList Name="gGiBombchuDL" Offset="0x04B0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bombpouch" Segment="6">
<DList Name="gGiBombBag20BagColorDL" Offset="0x0AD0"/>
<DList Name="gGiBombBag30BagColorDL" Offset="0x0AF0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_boomerang" Segment="6">
<DList Name="gGiBoomerangDL" Offset="0x0A30"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_boots_2" Segment="6">
<DList Name="gGiIronBootsDL" Offset="0x1630"/>
<DList Name="gGiIronBootsRivetsDL" Offset="0x1A98"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bosskey" Segment="6">
<DList Name="gGiBossKeyDL" Offset="0x0CA0"/>
<DList Name="gGiBossKeyGemDL" Offset="0x0F08"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bottle" Segment="6">
<DList Name="gGiBottleStopperDL" Offset="0x0670"/>
<DList Name="gGiBottleDL" Offset="0x0750"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bottle_letter" Segment="6">
<DList Name="gGiLetterBottleContentsDL" Offset="0x08E0"/>
<DList Name="gGiLetterBottleDL" Offset="0x0AE0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bow" Segment="6">
<DList Name="gGiBowDL" Offset="0x0990"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_bracelet" Segment="6">
<DList Name="gGiGoronBraceletDL" Offset="0x0960"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_brokensword" Segment="6">
<DList Name="gGiBrokenGoronSwordDL" Offset="0x06E0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_butterfly" Segment="6">
<DList Name="gGiButterflyContainerDL" Offset="0x0830"/>
<DList Name="gGiButterflyGlassDL" Offset="0x0A70"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_coin" Segment="6">
<DList Name="gGiYellowCoinColorDL" Offset="0x0560"/>
<DList Name="gGiRedCoinColorDL" Offset="0x0580"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_compass" Segment="6">
<DList Name="gGiCompassDL" Offset="0x0960"/>
<DList Name="gGiCompassGlassDL" Offset="0x0C50"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_dekupouch" Segment="6">
<DList Name="gGiBulletBagColorDL" Offset="0x0AF0"/>
<DList Name="gGiBulletBag50ColorDL" Offset="0x0B10"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_egg" Segment="6">
<DList Name="gGiEggMaterialDL" Offset="0x0FD0"/>
<DList Name="gGiEggDL" Offset="0x1008"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_eye_lotion" Segment="6">
<DList Name="gGiEyeDropsCapDL" Offset="0x0680"/>
<DList Name="gGiEyeDropsBottleDL" Offset="0x0768"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_fire" Segment="6">
<DList Name="gGiBlueFireChamberstickDL" Offset="0x0C60"/>
<DList Name="gGiBlueFireFlameDL" Offset="0x0F08"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_fish" Segment="6">
<DList Name="gGiFishDL" Offset="0x0600"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_frog" Segment="6">
<DList Name="gGiFrogDL" Offset="0x0D60"/>
<DList Name="gGiFrogEyesDL" Offset="0x1060"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_gerudo" Segment="6">
<DList Name="gGiGerudoCardDL" Offset="0x0F60"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_ghost" Segment="6">
<DList Name="gGiPoeColorDL" Offset="0x0950"/>
<DList Name="gGiBigPoeColorDL" Offset="0x0970"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_glasses" Segment="6">
<DList Name="gGiLensDL" Offset="0x0D80"/>
<DList Name="gGiLensGlassDL" Offset="0x1010"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_gloves" Segment="6">
<DList Name="gGiSilverGauntletsColorDL" Offset="0x14C0"/>
<DList Name="gGiGoldenGauntletsColorDL" Offset="0x14E0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_goddess" Segment="6">
<DList Name="gGiMagicSpellDiamondDL" Offset="0x0920"/>
<DList Name="gGiDinsFireColorDL" Offset="0x09E0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_grass" Segment="6">
<DList Name="gGiGrassDL" Offset="0x08E0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_hammer" Segment="6">
<DList Name="gGiHammerDL" Offset="0x09D0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_heart" Segment="6">
<DList Name="gGiRecoveryHeartDL" Offset="0x00E0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_hearts" Segment="6">
<DList Name="gGiHeartBorderDL" Offset="0x1290"/>
<DList Name="gGiHeartContainerDL" Offset="0x1470"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_hookshot" Segment="6">
<DList Name="gGiHookshotDL" Offset="0x0750"/>
<DList Name="gGiLongshotDL" Offset="0x1240"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_hoverboots" Segment="6">
<DList Name="gGiHoverBootsDL" Offset="0x1850"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_insect" Segment="6">
<DList Name="gGiBugsContainerDL" Offset="0x0830"/>
<DList Name="gGiBugsGlassDL" Offset="0x0B20"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_jewel" Segment="6">
<Texture Name="gGiKokiriEmeraldScintillationTex" OutName="kokiri_emerald_scintillation" Format="i4" Width="64" Height="64" Offset="0x0000"/>
<DList Name="gGiKokiriEmeraldSettingDL" Offset="0x10E0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_key" Segment="6">
<DList Name="gGiSmallKeyDL" Offset="0x0800"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_ki_tan_mask" Segment="6">
<DList Name="gGiKeatonMaskDL" Offset="0x0AC0"/>
<DList Name="gGiKeatonMaskEyesDL" Offset="0x0D50"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_liquid" Segment="6">
<DList Name="gGiGreenPotColorDL" Offset="0x1270"/>
<DList Name="gGiRedPotColorDL" Offset="0x1290"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_longsword" Segment="6">
<DList Name="gGiBiggoronSwordDL" Offset="0x0600"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_m_arrow" Segment="6">
<DList Name="gGiMagicArrowDL" Offset="0x0AE0"/>
<DList Name="gGiFireArrowColorDL" Offset="0x0CA0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_magicpot" Segment="6">
<DList Name="gGiMagicJarSmallDL" Offset="0x0580"/>
<DList Name="gGiMagicJarLargeDL" Offset="0x0EE0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_map" Segment="6">
<DList Name="gGiDungeonMapDL" Offset="0x03C0"/>
<DList Name="gGiStoneOfAgonyDL" Offset="0x0B70"/>

View File

@ -1,11 +1,27 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_medal" Segment="6">
<DList Name="gGiForestMedallionFaceDL" Offset="0x0CB0"/>
<DList Name="gGiMedallionDL" Offset="0x0E18"/>
<Array Name="gGiFireMedallionUnusedVtx" Count="148" Offset="0x11B0">
<Vtx/>
</Array>
<DList Name="gGiFireMedallionFaceDL" Offset="0x1AF0"/>
<Array Name="gGiWaterMedallionUnusedVtx" Count="143" Offset="0x1F40">
<Vtx/>
</Array>
<DList Name="gGiWaterMedallionFaceDL" Offset="0x2830"/>
<Array Name="gGiSpiritMedallionUnusedVtx" Count="143" Offset="0x2D20">
<Vtx/>
</Array>
<DList Name="gGiSpiritMedallionFaceDL" Offset="0x3610"/>
<Array Name="gGiShadowMedallionUnusedVtx" Count="143" Offset="0x3A40">
<Vtx/>
</Array>
<DList Name="gGiShadowMedallionFaceDL" Offset="0x4330"/>
<Array Name="gGiLightMedallionUnusedVtx" Count="143" Offset="0x4930">
<Vtx/>
</Array>
<DList Name="gGiLightMedallionFaceDL" Offset="0x5220"/>
</File>
</Root>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_melody" Segment="6">
<DList Name="gGiMinuetColorDL" Offset="0x0A80"/>
<DList Name="gGiBoleroColorDL" Offset="0x0A90"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_milk" Segment="6">
<DList Name="gGiMilkBottleContentsDL" Offset="0x1060"/>
<DList Name="gGiMilkBottleDL" Offset="0x1288"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_mushroom" Segment="6">
<DList Name="gGiOddMushroomDL" Offset="0x09D0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_niwatori" Segment="6">
<DList Name="gGiChickenColorDL" Offset="0x15F0"/>
<DList Name="gGiCojiroColorDL" Offset="0x1610"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_nuts" Segment="6">
<DList Name="gGiNutDL" Offset="0x0E90"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_ocarina" Segment="6">
<DList Name="gGiOcarinaTimeDL" Offset="0x08C0"/>
<DList Name="gGiOcarinaTimeHolesDL" Offset="0x0AF8"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_ocarina_0" Segment="6">
<DList Name="gGiOcarinaFairyDL" Offset="0x08E0"/>
<DList Name="gGiOcarinaFairyHolesDL" Offset="0x0B58"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_pachinko" Segment="6">
<DList Name="gGiSlingshotDL" Offset="0x0940"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_powder" Segment="6">
<DList Name="gGiOddPotionDL" Offset="0x08B0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_prescription" Segment="6">
<DList Name="gGiPrescriptionDL" Offset="0x09C0"/>
<DList Name="gGiPrescriptionWritingDL" Offset="0x0AF0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_rabit_mask" Segment="6">
<DList Name="gGiBunnyHoodDL" Offset="0x0BC0"/>
<DList Name="gGiBunnyHoodEyesDL" Offset="0x0E58"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_redead_mask" Segment="6">
<DList Name="gGiSpookyMaskDL" Offset="0x07E0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_rupy" Segment="6">
<DList Name="gGiGreenRupeeInnerColorDL" Offset="0x04A0"/>
<DList Name="gGiBlueRupeeInnerColorDL" Offset="0x04C0"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_saw" Segment="6">
<DList Name="gGiSawDL" Offset="0x07E0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_scale" Segment="6">
<DList Name="gGiSilverScaleWaterColorDL" Offset="0x0A20"/>
<DList Name="gGiGoldenScaleWaterColorDL" Offset="0x0A40"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_seed" Segment="6">
<DList Name="gGiSeedDL" Offset="0x0810"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_shield_1" Segment="6">
<DList Name="gGiDekuShieldDL" Offset="0x0A50"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_shield_2" Segment="6">
<DList Name="gGiHylianShieldDL" Offset="0x0C70"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_shield_3" Segment="6">
<DList Name="gGiMirrorShieldDL" Offset="0x0FB0"/>
<DList Name="gGiMirrorShieldSymbolDL" Offset="0x11C8"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_skj_mask" Segment="6">
<DList Name="gGiSkullMaskDL" Offset="0x09D0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_soul" Segment="6">
<DList Name="gGiFairyContainerBaseCapDL" Offset="0x0BD0"/>
<DList Name="gGiFairyContainerGlassDL" Offset="0x0DB8"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_stick" Segment="6">
<DList Name="gGiStickDL" Offset="0x04D0"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_sutaru" Segment="6">
<DList Name="gGiSkulltulaTokenDL" Offset="0x0330"/>
<DList Name="gGiSkulltulaTokenFlameDL" Offset="0x0438"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_sword_1" Segment="6">
<DList Name="gGiKokiriSwordDL" Offset="0x0960"/>
</File>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_ticketstone" Segment="6">
<DList Name="gGiClaimCheckDL" Offset="0x0F00"/>
<DList Name="gGiClaimCheckWritingDL" Offset="0x1188"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_gi_truth_mask" Segment="6">
<DList Name="gGiMaskOfTruthDL" Offset="0x13D0"/>
<DList Name="gGiMaskOfTruthAccentsDL" Offset="0x16B0"/>

View File

@ -58,7 +58,7 @@
<Texture Name="gGerudoPurpleEarTex" OutName="gerudo_purple_ear" Format="ci8" Width="8" Height="16" Offset="0x4EF8" TlutOffset="0x4D08"/>
<Texture Name="gGerudoPurpleDarkFabricTex" OutName="gerudo_purple_dark_fabric" Format="ci8" Width="8" Height="8" Offset="0x49C8" TlutOffset="0x4788"/>
<Texture Name="gGerudoPurpleFabricFoldTex" OutName="gerudo_purple_fabric_fold" Format="i8" Width="16" Height="16" Offset="0x4C08"/>
<Texture Name="gGerudoPurpleGlaiveGuard" OutName="gerudo_purple_glaive_guard" Format="i8" Width="8" Height="8" Offset="0x5378"/>
<Texture Name="gGerudoPurpleGlaiveGuard" OutName="gerudo_purple_glaive_guard" Format="ci8" Width="8" Height="8" Offset="0x5378" TlutOffset="0x4D08"/>
<Texture Name="gGerudoPurpleGlaiveBladeFabricPatternTex" OutName="gerudo_purple_fabric_pattern" Format="i8" Width="16" Height="16" Offset="0x53B8"/>
<Texture Name="gGerudoPurpleShoeUpperTex" OutName="gerudo_purple_shoe_upper" Format="ci8" Width="8" Height="16" Offset="0x54B8" TlutOffset="0x4D08"/>
<Texture Name="gGerudoPurpleGlaiveHaftShoeSoleTex" OutName="gerudo_purple_glaive_haft_shoe_upper" Format="ci8" Width="8" Height="8" Offset="0x5538" TlutOffset="0x4D08"/>

View File

@ -44,11 +44,11 @@
<Texture Name="gPhantomGanonLimbTex_00AE80" OutName="phantom_ganon_limb_tex_00AE80" Format="rgba16" Width="8" Height="8" Offset="0xAE80"/>
<Texture Name="gPhantomGanonLimbTex_00AF00" OutName="phantom_ganon_limb_tex_00AF00" Format="rgba16" Width="8" Height="8" Offset="0xAF00"/>
<Texture Name="gPhantomGanonLimbTex_00C180" OutName="phantom_ganon_limb_tex_00C180" Format="rgba16" Width="8" Height="8" Offset="0xC180"/>
<Texture Name="gPhantomGanonLimbTex_00C400" OutName="phantom_ganon_limb_tex_00C400" Format="rgba16" Width="8" Height="8" Offset="0xC400"/>
<Texture Name="gPhantomGanonLimbTex_00B980" OutName="phantom_ganon_limb_tex_00B980" Format="rgba16" Width="16" Height="8" Offset="0xB980"/>
<Texture Name="gPhantomGanonLimbTex_00C480" OutName="phantom_ganon_limb_tex_00C480" Format="rgba16" Width="16" Height="8" Offset="0xC480"/>
<Texture Name="gPhantomGanonLimbTex_00BC80" OutName="phantom_ganon_limb_tex_00BC80" Format="rgba16" Width="16" Height="8" Offset="0xBC80"/>
<Texture Name="gPhantomGanonLimbTex_00BD80" OutName="phantom_ganon_limb_tex_00BD80" Format="rgba16" Width="16" Height="8" Offset="0xBD80"/>
<Texture Name="gPhantomGanonLimbTex_00C400" OutName="phantom_ganon_limb_tex_00C400" Format="rgba16" Width="4" Height="16" Offset="0xC400"/>
<Texture Name="gPhantomGanonLimbTex_00B980" OutName="phantom_ganon_limb_tex_00B980" Format="rgba16" Width="8" Height="16" Offset="0xB980"/>
<Texture Name="gPhantomGanonLimbTex_00C480" OutName="phantom_ganon_limb_tex_00C480" Format="rgba16" Width="8" Height="16" Offset="0xC480"/>
<Texture Name="gPhantomGanonLimbTex_00BC80" OutName="phantom_ganon_limb_tex_00BC80" Format="rgba16" Width="8" Height="16" Offset="0xBC80"/>
<Texture Name="gPhantomGanonLimbTex_00BD80" OutName="phantom_ganon_limb_tex_00BD80" Format="rgba16" Width="8" Height="16" Offset="0xBD80"/>
<Texture Name="gPhantomGanonLimbTex_00C080" OutName="phantom_ganon_limb_tex_00C080" Format="rgba16" Width="16" Height="8" Offset="0xC080"/>
<Texture Name="gPhantomGanonLimbTex_00C200" OutName="phantom_ganon_limb_tex_00C200" Format="rgba16" Width="16" Height="16" Offset="0xC200"/>
<Texture Name="gPhantomGanonLimbTex_00A000" OutName="phantom_ganon_limb_tex_00A000" Format="rgba16" Width="16" Height="16" Offset="0xA000"/>

View File

@ -1,4 +1,5 @@
<Root>
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="object_god_lgt" Segment="6">
<DList Name="gGoldenGoddessAuraDL" Offset="0x0330"/>
<Texture Name="gGoldenGoddessAuraHTailTex" OutName="golden_goddess_aura_tail" Format="i8" Width="32" Height="32" Offset="0x0530"/>

View File

@ -1,7 +1,7 @@
<Root>
<File Name="object_hintnuts" Segment="6">
<!-- Deku scrub skeleton -->
<Skeleton Name="gHintNutsSkel" Type="Normal" LimbType="Standard" Offset="0x23B8"/>
<Skeleton Name="gHintNutsSkel" Type="Flex" LimbType="Standard" Offset="0x23B8"/>
<!-- Deku Scrub animations -->
<Animation Name="gHintNutsSpitAnim" Offset="0x168"/>

View File

@ -16,7 +16,7 @@
<Texture Name="gHorseIngoManeTex" OutName="horse_ingo_mane" Format="i8" Width="16" Height="16" Offset="0x740"/>
<Texture Name="gHorseIngoNostrilsTex" OutName="horse_ingo_nostrils" Format="rgba16" Width="16" Height="16" Offset="0x440"/>
<Texture Name="gHorseIngoNoseTex" OutName="horse_ingo_nose" Format="i8" Width="8" Height="8" Offset="0x400"/>
<Texture Name="gHorseIngoForeheadTex" OutName="horse_ingo_forehead" Format="i8" Width="8" Height="8" Offset="0x840"/>
<Texture Name="gHorseIngoForeheadTex" OutName="horse_ingo_forehead" Format="i8" Width="16" Height="8" Offset="0x840"/>
<Limb Name="gHorseIngoHeadLimb" LimbType="Skin" Offset="0x4748"/>
<!-- Body -->

View File

@ -1,8 +1,8 @@
<Root>
<File Name="object_ik" Segment="6">
<Skeleton Name="object_ik_Skel_000380" Type="Normal" LimbType="Standard" Offset="0x380"/>
<Skeleton Name="object_ik_Skel_000660" Type="Normal" LimbType="Standard" Offset="0x660"/>
<Skeleton Name="object_ik_Skel_000C90" Type="Normal" LimbType="Standard" Offset="0xC90"/>
<Skeleton Name="object_ik_Skel_000380" Type="Flex" LimbType="Standard" Offset="0x380"/>
<Skeleton Name="object_ik_Skel_000660" Type="Flex" LimbType="Standard" Offset="0x660"/>
<Skeleton Name="object_ik_Skel_000C90" Type="Flex" LimbType="Standard" Offset="0xC90"/>
<Skeleton Name="object_ik_Skel_000900" Type="Flex" LimbType="Standard" Offset="0x900"/>
<Skeleton Name="object_ik_Skel_000F30" Type="Flex" LimbType="Standard" Offset="0xF30"/>
@ -29,7 +29,10 @@
<Animation Name="gIronKnuckleNabooruSummonAxeAnim" Offset="0xC114"/>
<Animation Name="gIronKnuckleStandUpAnim" Offset="0xCD70"/>
<Animation Name="object_ik_Anim_00DD50" Offset="0xDD50"/>
<Animation Name="gIronKnuckleUnused1Anim" Offset="0xE28C"/>
<Animation Name="gIronKnuckleWalkAnim" Offset="0xED24"/>
<Animation Name="gIronKnuckleUnused2Anim" Offset="0xF620"/>
<Animation Name="gIronKnuckleUnused3Anim" Offset="0x1E820"/>
<Animation Name="object_ik_Anim_01EB14" Offset="0x1EB14"/>
<Animation Name="object_ik_Anim_01EE34" Offset="0x1EE34"/>
<Animation Name="gIronKnuckleNabooruDeathAnim" Offset="0x203D8"/>

View File

@ -29,7 +29,7 @@
<Texture Name="gCobraMirrorEyeTex" OutName="cobra_eye" Format="rgba16" Width="32" Height="32" Offset="0x15540"/>
<Texture Name="gCobraMirrorHandleTex" OutName="cobra_handle" Format="rgba16" Width="32" Height="8" Offset="0x15F40"/>
<Texture Name="gCobraMirrorMirrorTex" OutName="cobra_mirror" Format="ia16" Width="32" Height="32" Offset="0x14540"/>
<Texture Name="gCobraMirrorToothTex" OutName="cobra_tooth" Format="ia16" Width="32" Height="32" Offset="0x14D40"/>
<Texture Name="gCobraMirrorToothTex" OutName="cobra_tooth" Format="ia8" Width="64" Height="32" Offset="0x14D40"/>
<DList Name="gKanaamiDL" Offset="0xF000"/>
<Collision Name="gKanaamiCol" Offset="0xF208"/>
<Texture Name="gKanaamiTopTex" OutName="kanaami_top" Format="rgba16" Width="32" Height="64" Offset="0x12540"/>
@ -59,10 +59,10 @@
<Texture Name="gMegami1Tex" OutName="megami_tex_1" Format="ci4" Width="64" Height="64" Offset="0x5CE8" TlutOffset="0x5C80"/>
<Texture Name="gMegami2TLUT" OutName="megami_tlut_2" Format="rgba16" Width="4" Height="4" Offset="0xAC50"/>
<Texture Name="gMegami2Tex" OutName="megami_tex_2" Format="ci4" Width="64" Height="64" Offset="0xACB8" TlutOffset="0xAC50"/>
<Texture Name="gMegami3TLUT" OutName="megami_tlut_3" Format="rgba16" Width="4" Height="64" Offset="0x6CE8"/>
<Texture Name="gMegamiTex_006CE8" Format="ci8" Width="32" Height="32" Offset="0x6CE8" TlutOffset="0x5CA0"/>
<Texture Name="gMegami3Tex" OutName="megami_tex_3" Format="ci4" Width="64" Height="64" Offset="0x64E8" TlutOffset="0x5C80"/>
<Texture Name="gMegami4TLUT" OutName="megami_tlut_4" Format="rgba16" Width="4" Height="4" Offset="0x5CA0"/>
<Texture Name="gMegami5TLUT" OutName="megami_tlut_5" Format="rgba16" Width="4" Height="4" Offset="0xAC70"/>
<Texture Name="gMegami4TLUT" OutName="megami_tlut_4" Format="rgba16" Width="36" Height="1" Offset="0x5CA0"/>
<Texture Name="gMegami5TLUT" OutName="megami_tlut_5" Format="rgba16" Width="36" Height="1" Offset="0xAC70"/>
<Texture Name="gMegamiCrumbleTLUT" OutName="megami_crumble_tlut" Format="rgba16" Width="4" Height="4" Offset="0x4E0"/>
<Texture Name="gMegamiRightCrumble1Tex" OutName="megami_right_crumble_1" Format="ci4" Width="64" Height="64" Offset="0xD00" TlutOffset="0x4E0"/>
<Texture Name="gMegamiRightCrumble2Tex" OutName="megami_right_crumble_2" Format="ci4" Width="64" Height="64" Offset="0x1D00" TlutOffset="0x4E0"/>

Some files were not shown because too many files have changed in this diff Show More