Merge branch 'main' into doc_cam_keepon4_1

This commit is contained in:
Dragorn421 2025-06-09 14:12:55 +02:00
commit 63ce2a5610
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
105 changed files with 5467 additions and 448 deletions

View File

@ -366,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 -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
CFLAGS += $(CPP_DEFINES) $(GBI_DEFINES) -G 0 -nostdinc -MD -MP $(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 -MP $(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
@ -385,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 -nostdinc -MD -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 -MP -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
@ -858,7 +858,7 @@ $(O_FILES): | asset_files
.PHONY: o_files asset_files
$(BUILD_DIR)/spec: $(SPEC) $(SPEC_INCLUDES)
$(CPP) $(CPPFLAGS) -MD -MF $@.d -MT $@ -I. $< | $(BUILD_DIR_REPLACE) > $@
$(CPP) $(CPPFLAGS) -MD -MP -MF $@.d -MT $@ -I. $< | $(BUILD_DIR_REPLACE) > $@
$(LDSCRIPT): $(BUILD_DIR)/spec
$(MKLDSCRIPT) $< $@
@ -870,7 +870,7 @@ $(BUILD_DIR)/baserom/%.o: $(EXTRACTED_DIR)/baserom/%
$(OBJCOPY) -I binary -O elf32-big $< $@
$(BUILD_DIR)/data/%.o: data/%.s
$(CPP) $(CPPFLAGS) -MD -MF $(@:.o=.d) -MT $@ -Iinclude $< | $(AS) $(ASFLAGS) -o $@
$(CPP) $(CPPFLAGS) -MD -MP -MF $(@:.o=.d) -MT $@ -Iinclude $< | $(AS) $(ASFLAGS) -o $@
ifeq ($(PLATFORM),IQUE)
NES_CHARMAP := assets/text/charmap.chn.txt
@ -879,10 +879,10 @@ else
endif
$(BUILD_DIR)/assets/text/%.enc.nes.h: assets/text/%.h $(EXTRACTED_DIR)/text/%.h $(NES_CHARMAP)
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) -MD -MF $(@:.o=.d) -MT $@ $< | $(PYTHON) tools/msgenc.py --encoding utf-8 --charmap $(NES_CHARMAP) - $@
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) -MD -MP -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) -MD -MF $(@:.o=.d) -MT $@ $< | $(PYTHON) tools/msgenc.py --encoding SHIFT-JIS --wchar --charmap assets/text/charmap.jpn.txt - $@
$(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) -MD -MP -MF $(@:.o=.d) -MT $@ $< | $(PYTHON) tools/msgenc.py --encoding SHIFT-JIS --wchar --charmap assets/text/charmap.jpn.txt - $@
# 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.
@ -895,7 +895,7 @@ $(BUILD_DIR)/assets/text/staff_message_data_static.o: $(BUILD_DIR)/assets/text/m
$(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) -MD -MT $@ $(INC) $< -o $(@:.o=.c)
$(CPP) -undef -D_LANGUAGE_C -D__sgi $(CPPFLAGS) -MD -MP -MT $@ $(INC) $< -o $(@:.o=.c)
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $(@:.o=.c)
else
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
@ -915,7 +915,7 @@ $(BUILD_DIR)/assets/%.o: $(EXTRACTED_DIR)/assets/%.c
# 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) -MD -MF $(@:.o=.d) -MT $@ $< | $(AS) $(ASFLAGS) -o $@
$(CPP) $(CPPFLAGS) $(MIPS_BUILTIN_DEFS) $(INC) -MD -MP -MF $(@:.o=.d) -MT $@ $< | $(AS) $(ASFLAGS) -o $@
else
$(CCAS) -c $(CCASFLAGS) $(MIPS_VERSION) $(ASOPTFLAGS) -o $@ $<
endif
@ -927,7 +927,7 @@ $(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
$(CPP) $(MIPS_BUILTIN_DEFS) $(CPPFLAGS) -x assembler-with-cpp $(INC) -MD -MP -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
@ -1072,7 +1072,7 @@ $(BUILD_DIR)/assets/audio/soundfonts/%.c $(BUILD_DIR)/assets/audio/soundfonts/%.
-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
$(CPP) $(MIPS_BUILTIN_DEFS) $(CPPFLAGS) -x assembler-with-cpp $(INC) -I include/audio -MD -MP -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) -MD -MT $@ $< -o $(@:.o=.s)
$(SEQ_CPP) $(SEQ_CPPFLAGS) -MD -MP -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) -MD -MT $@ $< -o $(@:.o=.s)
$(SEQ_CPP) $(SEQ_CPPFLAGS) -MD -MP -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)

View File

@ -0,0 +1,481 @@
#include "do_action_static.h"
#if OOT_NTSC
// Japanese
u64 gAttackDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gAttackDoActionJPNTex.ia4.inc.c"
};
u64 gCheckDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gCheckDoActionJPNTex.ia4.inc.c"
};
u64 gEnterDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gEnterDoActionJPNTex.ia4.inc.c"
};
u64 gReturnDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReturnDoActionJPNTex.ia4.inc.c"
};
u64 gOpenDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gOpenDoActionJPNTex.ia4.inc.c"
};
u64 gJumpDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gJumpDoActionJPNTex.ia4.inc.c"
};
u64 gDecideDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDecideDoActionJPNTex.ia4.inc.c"
};
u64 gDiveDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDiveDoActionJPNTex.ia4.inc.c"
};
u64 gFasterDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gFasterDoActionJPNTex.ia4.inc.c"
};
u64 gThrowDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gThrowDoActionJPNTex.ia4.inc.c"
};
u64 gUnusedNaviDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gUnusedNaviDoActionJPNTex.ia4.inc.c"
};
u64 gClimbDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gClimbDoActionJPNTex.ia4.inc.c"
};
u64 gDropDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDropDoActionJPNTex.ia4.inc.c"
};
u64 gDownDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDownDoActionJPNTex.ia4.inc.c"
};
u64 gSaveDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSaveDoActionJPNTex.ia4.inc.c"
};
u64 gSpeakDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSpeakDoActionJPNTex.ia4.inc.c"
};
u64 gNextDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNextDoActionJPNTex.ia4.inc.c"
};
u64 gGrabDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gGrabDoActionJPNTex.ia4.inc.c"
};
u64 gStopDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gStopDoActionJPNTex.ia4.inc.c"
};
u64 gPutAwayDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gPutAwayDoActionJPNTex.ia4.inc.c"
};
u64 gReelDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReelDoActionJPNTex.ia4.inc.c"
};
u64 gNum1DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum1DoActionJPNTex.ia4.inc.c"
};
u64 gNum2DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum2DoActionJPNTex.ia4.inc.c"
};
u64 gNum3DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum3DoActionJPNTex.ia4.inc.c"
};
u64 gNum4DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum4DoActionJPNTex.ia4.inc.c"
};
u64 gNum5DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum5DoActionJPNTex.ia4.inc.c"
};
u64 gNum6DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum6DoActionJPNTex.ia4.inc.c"
};
u64 gNum7DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum7DoActionJPNTex.ia4.inc.c"
};
u64 gNum8DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum8DoActionJPNTex.ia4.inc.c"
};
#endif
// English
u64 gAttackDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gAttackDoActionENGTex.ia4.inc.c"
};
u64 gCheckDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gCheckDoActionENGTex.ia4.inc.c"
};
u64 gEnterDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gEnterDoActionENGTex.ia4.inc.c"
};
u64 gReturnDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReturnDoActionENGTex.ia4.inc.c"
};
u64 gOpenDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gOpenDoActionENGTex.ia4.inc.c"
};
u64 gJumpDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gJumpDoActionENGTex.ia4.inc.c"
};
u64 gDecideDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDecideDoActionENGTex.ia4.inc.c"
};
u64 gDiveDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDiveDoActionENGTex.ia4.inc.c"
};
u64 gFasterDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gFasterDoActionENGTex.ia4.inc.c"
};
u64 gThrowDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gThrowDoActionENGTex.ia4.inc.c"
};
u64 gUnusedNaviDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gUnusedNaviDoActionENGTex.ia4.inc.c"
};
u64 gClimbDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gClimbDoActionENGTex.ia4.inc.c"
};
u64 gDropDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDropDoActionENGTex.ia4.inc.c"
};
u64 gDownDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDownDoActionENGTex.ia4.inc.c"
};
u64 gSaveDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSaveDoActionENGTex.ia4.inc.c"
};
u64 gSpeakDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSpeakDoActionENGTex.ia4.inc.c"
};
u64 gNextDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNextDoActionENGTex.ia4.inc.c"
};
u64 gGrabDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gGrabDoActionENGTex.ia4.inc.c"
};
u64 gStopDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gStopDoActionENGTex.ia4.inc.c"
};
u64 gPutAwayDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gPutAwayDoActionENGTex.ia4.inc.c"
};
u64 gReelDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReelDoActionENGTex.ia4.inc.c"
};
u64 gNum1DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum1DoActionENGTex.ia4.inc.c"
};
u64 gNum2DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum2DoActionENGTex.ia4.inc.c"
};
u64 gNum3DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum3DoActionENGTex.ia4.inc.c"
};
u64 gNum4DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum4DoActionENGTex.ia4.inc.c"
};
u64 gNum5DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum5DoActionENGTex.ia4.inc.c"
};
u64 gNum6DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum6DoActionENGTex.ia4.inc.c"
};
u64 gNum7DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum7DoActionENGTex.ia4.inc.c"
};
u64 gNum8DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum8DoActionENGTex.ia4.inc.c"
};
#if OOT_PAL
// German
u64 gAttackDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gAttackDoActionGERTex.ia4.inc.c"
};
u64 gCheckDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gCheckDoActionGERTex.ia4.inc.c"
};
u64 gEnterDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gEnterDoActionGERTex.ia4.inc.c"
};
u64 gReturnDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReturnDoActionGERTex.ia4.inc.c"
};
u64 gOpenDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gOpenDoActionGERTex.ia4.inc.c"
};
u64 gJumpDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gJumpDoActionGERTex.ia4.inc.c"
};
u64 gDecideDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDecideDoActionGERTex.ia4.inc.c"
};
u64 gDiveDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDiveDoActionGERTex.ia4.inc.c"
};
u64 gFasterDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gFasterDoActionGERTex.ia4.inc.c"
};
u64 gThrowDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gThrowDoActionGERTex.ia4.inc.c"
};
u64 gUnusedNaviDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gUnusedNaviDoActionGERTex.ia4.inc.c"
};
u64 gClimbDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gClimbDoActionGERTex.ia4.inc.c"
};
u64 gDropDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDropDoActionGERTex.ia4.inc.c"
};
u64 gDownDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDownDoActionGERTex.ia4.inc.c"
};
u64 gSaveDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSaveDoActionGERTex.ia4.inc.c"
};
u64 gSpeakDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSpeakDoActionGERTex.ia4.inc.c"
};
u64 gNextDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNextDoActionGERTex.ia4.inc.c"
};
u64 gGrabDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gGrabDoActionGERTex.ia4.inc.c"
};
u64 gStopDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gStopDoActionGERTex.ia4.inc.c"
};
u64 gPutAwayDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gPutAwayDoActionGERTex.ia4.inc.c"
};
u64 gReelDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReelDoActionGERTex.ia4.inc.c"
};
u64 gNum1DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum1DoActionGERTex.ia4.inc.c"
};
u64 gNum2DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum2DoActionGERTex.ia4.inc.c"
};
u64 gNum3DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum3DoActionGERTex.ia4.inc.c"
};
u64 gNum4DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum4DoActionGERTex.ia4.inc.c"
};
u64 gNum5DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum5DoActionGERTex.ia4.inc.c"
};
u64 gNum6DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum6DoActionGERTex.ia4.inc.c"
};
u64 gNum7DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum7DoActionGERTex.ia4.inc.c"
};
u64 gNum8DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum8DoActionGERTex.ia4.inc.c"
};
// French
u64 gAttackDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gAttackDoActionFRATex.ia4.inc.c"
};
u64 gCheckDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gCheckDoActionFRATex.ia4.inc.c"
};
u64 gEnterDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gEnterDoActionFRATex.ia4.inc.c"
};
u64 gReturnDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReturnDoActionFRATex.ia4.inc.c"
};
u64 gOpenDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gOpenDoActionFRATex.ia4.inc.c"
};
u64 gJumpDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gJumpDoActionFRATex.ia4.inc.c"
};
u64 gDecideDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDecideDoActionFRATex.ia4.inc.c"
};
u64 gDiveDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDiveDoActionFRATex.ia4.inc.c"
};
u64 gFasterDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gFasterDoActionFRATex.ia4.inc.c"
};
u64 gThrowDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gThrowDoActionFRATex.ia4.inc.c"
};
u64 gUnusedNaviDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gUnusedNaviDoActionFRATex.ia4.inc.c"
};
u64 gClimbDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gClimbDoActionFRATex.ia4.inc.c"
};
u64 gDropDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDropDoActionFRATex.ia4.inc.c"
};
u64 gDownDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gDownDoActionFRATex.ia4.inc.c"
};
u64 gSaveDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSaveDoActionFRATex.ia4.inc.c"
};
u64 gSpeakDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gSpeakDoActionFRATex.ia4.inc.c"
};
u64 gNextDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNextDoActionFRATex.ia4.inc.c"
};
u64 gGrabDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gGrabDoActionFRATex.ia4.inc.c"
};
u64 gStopDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gStopDoActionFRATex.ia4.inc.c"
};
u64 gPutAwayDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gPutAwayDoActionFRATex.ia4.inc.c"
};
u64 gReelDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gReelDoActionFRATex.ia4.inc.c"
};
u64 gNum1DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum1DoActionFRATex.ia4.inc.c"
};
u64 gNum2DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum2DoActionFRATex.ia4.inc.c"
};
u64 gNum3DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum3DoActionFRATex.ia4.inc.c"
};
u64 gNum4DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum4DoActionFRATex.ia4.inc.c"
};
u64 gNum5DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum5DoActionFRATex.ia4.inc.c"
};
u64 gNum6DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum6DoActionFRATex.ia4.inc.c"
};
u64 gNum7DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum7DoActionFRATex.ia4.inc.c"
};
u64 gNum8DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)] = {
#include "assets/textures/do_action_static/gNum8DoActionFRATex.ia4.inc.c"
};
#endif

View File

@ -0,0 +1,140 @@
#ifndef DO_ACTION_STATIC_H
#define DO_ACTION_STATIC_H
#include "ultra64.h"
#include "tex_len.h"
#include "versions.h"
#define DO_ACTION_TEX_WIDTH 48
#define DO_ACTION_TEX_HEIGHT 16
#define DO_ACTION_TEX_SIZE (DO_ACTION_TEX_WIDTH * DO_ACTION_TEX_HEIGHT / 2)
#if OOT_NTSC
extern u64 gAttackDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gCheckDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gEnterDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReturnDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gOpenDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gJumpDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDecideDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDiveDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gFasterDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gThrowDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gUnusedNaviDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gClimbDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDropDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDownDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSaveDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSpeakDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNextDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gGrabDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gStopDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gPutAwayDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReelDoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum1DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum2DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum3DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum4DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum5DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum6DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum7DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum8DoActionJPNTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
#endif
extern u64 gAttackDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gCheckDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gEnterDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReturnDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gOpenDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gJumpDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDecideDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDiveDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gFasterDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gThrowDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gUnusedNaviDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gClimbDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDropDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDownDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSaveDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSpeakDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNextDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gGrabDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gStopDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gPutAwayDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReelDoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum1DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum2DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum3DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum4DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum5DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum6DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum7DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum8DoActionENGTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
#if OOT_PAL
extern u64 gAttackDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gCheckDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gEnterDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReturnDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gOpenDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gJumpDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDecideDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDiveDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gFasterDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gThrowDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gUnusedNaviDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gClimbDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDropDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDownDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSaveDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSpeakDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNextDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gGrabDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gStopDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gPutAwayDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReelDoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum1DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum2DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum3DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum4DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum5DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum6DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum7DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum8DoActionGERTex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gAttackDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gCheckDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gEnterDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReturnDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gOpenDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gJumpDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDecideDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDiveDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gFasterDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gThrowDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gUnusedNaviDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gClimbDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDropDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gDownDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSaveDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gSpeakDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNextDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gGrabDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gStopDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gPutAwayDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gReelDoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum1DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum2DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum3DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum4DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum5DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum6DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum7DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
extern u64 gNum8DoActionFRATex[TEX_LEN(u64, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 4)];
#endif
#endif

View File

@ -8,24 +8,72 @@
<DList Name="gHanaLeaf3DL" Offset="0x0320"/>
<DList Name="gHanaLeaf4DL" Offset="0x03C0"/>
<DList Name="gHanaLeaf5DL" Offset="0x0460"/>
<Array Name="gHanaFlower1Vtx" Count="4" Offset="0x548">
<Vtx/>
</Array>
<Array Name="gHanaFlower2Vtx" Count="4" Offset="0x588">
<Vtx/>
</Array>
<Array Name="gHanaFlower3Vtx" Count="4" Offset="0x5C8">
<Vtx/>
</Array>
<Array Name="gHanaLeaf1Vtx" Count="4" Offset="0x608">
<Vtx/>
</Array>
<Array Name="gHanaLeaf2Vtx" Count="4" Offset="0x648">
<Vtx/>
</Array>
<Array Name="gHanaLeaf3Vtx" Count="4" Offset="0x688">
<Vtx/>
</Array>
<Array Name="gHanaLeaf4Vtx" Count="4" Offset="0x6C8">
<Vtx/>
</Array>
<Array Name="gHanaLeaf5Vtx" Count="4" Offset="0x708">
<Vtx/>
</Array>
<Texture Name="gHanaFlowerTex" Format="rgba16" Width="16" Height="32" Offset="0x750"/>
<Texture Name="gHanaLeafTex" Format="rgba16" Width="32" Height="32" Offset="0xB50"/>
<DList Name="gHanaDL" Offset="0x500"/>
<Collision Name="gBgBombwallCol" Offset="0x41B0"/>
<Array Name="gBgBombwallNormalVtx" Count="5" Offset="0x3F20">
<Vtx/>
</Array>
<Array Name="gBgBombwallBrokenVtx" Count="5" Offset="0x3F70">
<Vtx/>
</Array>
<DList Name="gBgBombwallNormalDL" Offset="0x3FC0"/>
<DList Name="gBgBombwallBrokenDL" Offset="0x4088"/>
<Array Name="gGrottoVtx" Count="4" Offset="0x1350">
<Vtx/>
</Array>
<DList Name="gGrottoDL" Offset="0x1390"/>
<Texture Name="gGrottoTex" Format="ia16" Width="32" Height="64" Offset="0x1420"/>
<DList Name="gButterflyDL_002480" Offset="0x2480"/>
<DList Name="gButterflyDL_002520" Offset="0x2520"/>
<Array Name="gameplay_field_keep_Vtx_002540" Count="4" Offset="0x2540">
<Vtx/>
</Array>
<DList Name="gButterflyDL_002580" Offset="0x2580"/>
<DList Name="gButterflyDL_002620" Offset="0x2620"/>
<Array Name="gameplay_field_keep_Vtx_002640" Count="4" Offset="0x2640">
<Vtx/>
</Array>
<Texture Name="gButterflyWingTex" Format="rgba16" Width="32" Height="64" Offset="0x2680"/>
<Skeleton Name="gButterflySkel" Type="Normal" LimbType="Standard" Offset="0x36F0"/>
<Animation Name="gButterflyAnim" Offset="0x2470"/>
<Texture Name="gBgBombwallTLUT" Format="rgba16" Width="4" Height="4" Offset="0x3700"/>
<Texture Name="gBgBombwallNormalTex" Format="ci4" Width="32" Height="64" Offset="0x3720" TlutOffset="0x3700"/>
<Texture Name="gBgBombWallBrokenTex" Format="ci4" Width="32" Height="64" Offset="0x3B20" TlutOffset="0x3700"/>
<Array Name="gFieldDoorLeftVtx" Count="34" Offset="0x41E0">
<Vtx/>
</Array>
<Array Name="gFieldDoorRightVtx" Count="34" Offset="0x4400">
<Vtx/>
</Array>
<Array Name="gameplay_field_keep_Vtx_004620" Count="16" Offset="0x4620">
<Vtx/>
</Array>
<DList Name="gFieldDoorDL_004720" Offset="0x4720"/>
<DList Name="gFieldDoorLeftDL" Offset="0x47A0"/>
<DList Name="gFieldDoorRightDL" Offset="0x4978"/>
@ -36,18 +84,42 @@
<Animation Name="gFieldUnusedFishAnim" Offset="0x5FF0"/>
<DList Name="gFieldUnusedFishDL" Offset="0x6000"/>
<DList Name="gFieldSkelUnusedFishDL_0061E8" Offset="0x61E8"/>
<Array Name="gFieldUnusedFishVtx" Count="26" Offset="0x6208">
<Vtx/>
</Array>
<DList Name="gFieldSkelUnusedFishDL_0063A8" Offset="0x63A8"/>
<DList Name="gFieldSkelUnusedFishDL_006448" Offset="0x6448"/>
<Array Name="gameplay_field_keep_Vtx_006468" Count="4" Offset="0x6468">
<Vtx/>
</Array>
<Texture Name="gFieldUnusedFishTex" Format="rgba16" Width="64" Height="32" Offset="0x64A8"/>
<Texture Name="gFieldUnusedFishBottomTex" Format="rgba16" Width="64" Height="32" Offset="0x074A8"/>
<Texture Name="gFieldUnusedFishFinTex" Format="rgba16" Width="32" Height="16" Offset="0x84A8"/>
<Array Name="gSilverRockVtx" Count="28" Offset="0xA1F8">
<Vtx/>
</Array>
<DList Name="gSilverRockDL" Offset="0xA3B8"/>
<Array Name="gFieldKakeraVtx" Count="27" Offset="0xA6D0">
<Vtx/>
</Array>
<DList Name="gFieldKakeraDL" Offset="0xA880"/>
<Texture Name="gFieldKakeraTex" Format="rgba16" Width="32" Height="32" Offset="0xA940"/>
<Array Name="gSilverRockFragmentsVtx" Count="18" Offset="0xA4C8">
<Vtx/>
</Array>
<DList Name="gSilverRockFragmentsDL" Offset="0xA5E8"/>
<Array Name="gFieldBushVtx" Count="9" Offset="0xB940">
<Vtx/>
</Array>
<DList Name="gFieldBushDL" Offset="0xB9D0"/>
<Texture Name="gFieldBushTex" Format="rgba16" Width="32" Height="32" Offset="0xB140"/>
<Array Name="gFieldBeehiveVtx" Count="75" Offset="0x9100">
<Vtx/>
</Array>
<DList Name="gFieldBeehiveDL" Offset="0x95B0"/>
<Array Name="gFieldBeehiveFragmentVtx" Count="3" Offset="0x9910">
<Vtx/>
</Array>
<DList Name="gFieldBeehiveFragmentDL" Offset="0x9940"/>
<Texture Name="gFieldBeehiveTex" Format="rgba16" Width="32" Height="32" Offset="0x8900"/>
<Texture Name="gFieldBeehiveFragmentTex" Format="rgba16" Width="16" Height="16" Offset="0x9710"/>

View File

@ -10,5 +10,19 @@
<DList Name="gBombFlowerLeavesDL" Offset="0x340"/>
<DList Name="gBombFlowerBombAndSparkDL" Offset="0x408"/>
<DList Name="gBombFlowerBaseLeavesDL" Offset="0x530"/>
<!-- Bomb Flower Vertices -->
<Array Name="gBombFlowerLeavesVtx" Count="17" Offset="0x0">
<Vtx/>
</Array>
<Array Name="gBombFlowerSparkVtx" Count="18" Offset="0x110">
<Vtx/>
</Array>
<Array Name="gBombFlowerBaseLeavesVtx" Count="13" Offset="0x230">
<Vtx/>
</Array>
<Array Name="gBombFlowerBombVtx" Count="4" Offset="0x300">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -2,5 +2,8 @@
<File Name="object_bubble" Segment="6">
<Texture Name="gBubbleTex" Format="ia8" Width="64" Height="64" Offset="0x0"/>
<DList Name="gBubbleDL" Offset="0x1000"/>
<Array Name="gBubbleVtx" Count="4" Offset="0x1080">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -75,5 +75,187 @@
<DList Name="gBarinadeDL_0093A0" Offset="0x7FA0"/>
<DList Name="gBarinadeDL_0094F8" Offset="0x80F8"/>
<DList Name="gBarinadeDL_0095B0" Offset="0x81B0"/>
<Texture Name="object_bv_000040_Tex" Format="ia16" Width="16" Height="64" Offset="0x40"/>
<Texture Name="object_bv_000840_Tex" Format="ia16" Width="16" Height="16" Offset="0x840"/>
<Texture Name="object_bv_000A40_Tex" Format="i8" Width="16" Height="32" Offset="0xA40"/>
<DList Name="object_bv_001070_DL" Offset="0x1070"/>
<DList Name="object_bv_001158_DL" Offset="0x1158"/>
<Limb Name="object_bv_003A30_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_003A30" Offset="0x3A30"/>
<Limb Name="object_bv_003A3C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_003A3C" Offset="0x3A3C"/>
<Limb Name="object_bv_003A48_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_003A48" Offset="0x3A48"/>
<Limb Name="object_bv_003A54_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_003A54" Offset="0x3A54"/>
<Texture Name="object_bv_003DA0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x3DA0"/>
<Texture Name="object_bv_003EA0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x3EA0"/>
<Texture Name="object_bv_003FA0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x3FA0"/>
<Texture Name="object_bv_0041A0_Tex" Format="ia16" Width="16" Height="32" Offset="0x41A0"/>
<Texture Name="object_bv_0045A0_Tex" Format="ia16" Width="16" Height="32" Offset="0x45A0"/>
<Texture Name="object_bv_0049A0_Tex" Format="ia16" Width="16" Height="64" Offset="0x49A0"/>
<Texture Name="object_bv_0051A0_Tex" Format="i8" Width="16" Height="32" Offset="0x51A0"/>
<DList Name="object_bv_006B40_DL" Offset="0x6B40"/>
<DList Name="object_bv_006BD8_DL" Offset="0x6BD8"/>
<DList Name="object_bv_006CB0_DL" Offset="0x6CB0"/>
<DList Name="object_bv_006EA8_DL" Offset="0x6EA8"/>
<DList Name="object_bv_006F88_DL" Offset="0x6F88"/>
<DList Name="object_bv_007058_DL" Offset="0x7058"/>
<DList Name="object_bv_0070E8_DL" Offset="0x70E8"/>
<DList Name="object_bv_007178_DL" Offset="0x7178"/>
<DList Name="object_bv_007208_DL" Offset="0x7208"/>
<DList Name="object_bv_007298_DL" Offset="0x7298"/>
<DList Name="object_bv_007328_DL" Offset="0x7328"/>
<DList Name="object_bv_0073B8_DL" Offset="0x73B8"/>
<DList Name="object_bv_007448_DL" Offset="0x7448"/>
<DList Name="object_bv_0074D8_DL" Offset="0x74D8"/>
<DList Name="object_bv_007568_DL" Offset="0x7568"/>
<Texture Name="object_bv_007B88_Tex" Format="i8" Width="32" Height="32" Offset="0x7B88"/>
<Texture Name="object_bv_0103B8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x103B8"/>
<Texture Name="object_bv_0105B8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x105B8"/>
<Texture Name="object_bv_0107B8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x107B8"/>
<Texture Name="object_bv_0118E0_Tex" Format="i8" Width="64" Height="32" Offset="0x118E0"/>
<Texture Name="object_bv_012260_Tex" Format="ia16" Width="64" Height="64" Offset="0x12260"/>
<Limb Name="object_bv_014328_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014328" Offset="0x14328"/>
<Limb Name="object_bv_014334_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014334" Offset="0x14334"/>
<Limb Name="object_bv_014340_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014340" Offset="0x14340"/>
<Limb Name="object_bv_01434C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01434C" Offset="0x1434C"/>
<Limb Name="object_bv_014358_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014358" Offset="0x14358"/>
<Limb Name="object_bv_014364_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014364" Offset="0x14364"/>
<Limb Name="object_bv_014370_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014370" Offset="0x14370"/>
<Limb Name="object_bv_01437C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01437C" Offset="0x1437C"/>
<Limb Name="object_bv_014388_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014388" Offset="0x14388"/>
<Limb Name="object_bv_014394_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014394" Offset="0x14394"/>
<Limb Name="object_bv_0143A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143A0" Offset="0x143A0"/>
<Limb Name="object_bv_0143AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143AC" Offset="0x143AC"/>
<Limb Name="object_bv_0143B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143B8" Offset="0x143B8"/>
<Limb Name="object_bv_0143C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143C4" Offset="0x143C4"/>
<Limb Name="object_bv_0143D0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143D0" Offset="0x143D0"/>
<Limb Name="object_bv_0143DC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143DC" Offset="0x143DC"/>
<Limb Name="object_bv_0143E8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143E8" Offset="0x143E8"/>
<Limb Name="object_bv_0143F4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0143F4" Offset="0x143F4"/>
<Limb Name="object_bv_014400_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014400" Offset="0x14400"/>
<Limb Name="object_bv_01440C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01440C" Offset="0x1440C"/>
<Limb Name="object_bv_014418_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014418" Offset="0x14418"/>
<Limb Name="object_bv_014424_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014424" Offset="0x14424"/>
<Limb Name="object_bv_014430_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014430" Offset="0x14430"/>
<Limb Name="object_bv_01443C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01443C" Offset="0x1443C"/>
<Limb Name="object_bv_014448_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014448" Offset="0x14448"/>
<Limb Name="object_bv_014454_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014454" Offset="0x14454"/>
<Limb Name="object_bv_014460_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014460" Offset="0x14460"/>
<Limb Name="object_bv_01446C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01446C" Offset="0x1446C"/>
<Limb Name="object_bv_014478_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014478" Offset="0x14478"/>
<Limb Name="object_bv_014484_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014484" Offset="0x14484"/>
<Limb Name="object_bv_014490_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014490" Offset="0x14490"/>
<Limb Name="object_bv_01449C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01449C" Offset="0x1449C"/>
<Limb Name="object_bv_0144A8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144A8" Offset="0x144A8"/>
<Limb Name="object_bv_0144B4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144B4" Offset="0x144B4"/>
<Limb Name="object_bv_0144C0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144C0" Offset="0x144C0"/>
<Limb Name="object_bv_0144CC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144CC" Offset="0x144CC"/>
<Limb Name="object_bv_0144D8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144D8" Offset="0x144D8"/>
<Limb Name="object_bv_0144E4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144E4" Offset="0x144E4"/>
<Limb Name="object_bv_0144F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144F0" Offset="0x144F0"/>
<Limb Name="object_bv_0144FC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0144FC" Offset="0x144FC"/>
<Limb Name="object_bv_014508_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014508" Offset="0x14508"/>
<Limb Name="object_bv_014514_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014514" Offset="0x14514"/>
<Limb Name="object_bv_014520_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014520" Offset="0x14520"/>
<Limb Name="object_bv_01452C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01452C" Offset="0x1452C"/>
<Limb Name="object_bv_014538_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014538" Offset="0x14538"/>
<Limb Name="object_bv_014544_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014544" Offset="0x14544"/>
<Limb Name="object_bv_014550_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014550" Offset="0x14550"/>
<Limb Name="object_bv_01455C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01455C" Offset="0x1455C"/>
<Limb Name="object_bv_014568_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014568" Offset="0x14568"/>
<Limb Name="object_bv_014574_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014574" Offset="0x14574"/>
<Limb Name="object_bv_014580_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014580" Offset="0x14580"/>
<Limb Name="object_bv_01458C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01458C" Offset="0x1458C"/>
<Limb Name="object_bv_014598_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014598" Offset="0x14598"/>
<Limb Name="object_bv_0145A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145A4" Offset="0x145A4"/>
<Limb Name="object_bv_0145B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145B0" Offset="0x145B0"/>
<Limb Name="object_bv_0145BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145BC" Offset="0x145BC"/>
<Limb Name="object_bv_0145C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145C8" Offset="0x145C8"/>
<Limb Name="object_bv_0145D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145D4" Offset="0x145D4"/>
<Limb Name="object_bv_0145E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145E0" Offset="0x145E0"/>
<Limb Name="object_bv_0145EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145EC" Offset="0x145EC"/>
<Limb Name="object_bv_0145F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0145F8" Offset="0x145F8"/>
<Limb Name="object_bv_014604_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014604" Offset="0x14604"/>
<Limb Name="object_bv_014610_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_014610" Offset="0x14610"/>
<DList Name="object_bv_0157A0_DL" Offset="0x157A0"/>
<DList Name="object_bv_0158C8_DL" Offset="0x158C8"/>
<DList Name="object_bv_0159C8_DL" Offset="0x159C8"/>
<DList Name="object_bv_015AC8_DL" Offset="0x15AC8"/>
<DList Name="object_bv_015BC8_DL" Offset="0x15BC8"/>
<Texture Name="object_bv_015CD8_Tex" Format="rgba16" Width="16" Height="8" Offset="0x15CD8"/>
<Texture Name="object_bv_015DD8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x15DD8"/>
<Limb Name="object_bv_015FD8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015FD8" Offset="0x15FD8"/>
<Limb Name="object_bv_015FE4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015FE4" Offset="0x15FE4"/>
<Limb Name="object_bv_015FF0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015FF0" Offset="0x15FF0"/>
<Limb Name="object_bv_015FFC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015FFC" Offset="0x15FFC"/>
<Limb Name="object_bv_016008_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016008" Offset="0x16008"/>
<Limb Name="object_bv_016014_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016014" Offset="0x16014"/>
<Limb Name="object_bv_016020_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016020" Offset="0x16020"/>
<Limb Name="object_bv_01602C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01602C" Offset="0x1602C"/>
<Limb Name="object_bv_016038_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016038" Offset="0x16038"/>
<Limb Name="object_bv_016044_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016044" Offset="0x16044"/>
<Limb Name="object_bv_016050_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016050" Offset="0x16050"/>
<Limb Name="object_bv_01605C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01605C" Offset="0x1605C"/>
<DList Name="object_bv_016790_DL" Offset="0x16790"/>
<DList Name="object_bv_0168B8_DL" Offset="0x168B8"/>
<DList Name="object_bv_0169B8_DL" Offset="0x169B8"/>
<Limb Name="object_bv_016B28_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B28" Offset="0x16B28"/>
<Limb Name="object_bv_016B34_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B34" Offset="0x16B34"/>
<Limb Name="object_bv_016B40_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B40" Offset="0x16B40"/>
<Limb Name="object_bv_016B4C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B4C" Offset="0x16B4C"/>
<Limb Name="object_bv_016B58_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B58" Offset="0x16B58"/>
<Limb Name="object_bv_016B64_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B64" Offset="0x16B64"/>
<Limb Name="object_bv_016B70_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B70" Offset="0x16B70"/>
<Limb Name="object_bv_016B7C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B7C" Offset="0x16B7C"/>
<Limb Name="object_bv_016B88_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B88" Offset="0x16B88"/>
<Limb Name="object_bv_016B94_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_016B94" Offset="0x16B94"/>
<DList Name="object_bv_017010_DL" Offset="0x17010"/>
<DList Name="object_bv_0170D0_DL" Offset="0x170D0"/>
<DList Name="object_bv_0171E8_DL" Offset="0x171E8"/>
<Texture Name="object_bv_017370_Tex" Format="rgba16" Width="8" Height="8" Offset="0x17370"/>
<Limb Name="object_bv_0173F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0173F0" Offset="0x173F0"/>
<Limb Name="object_bv_0173FC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0173FC" Offset="0x173FC"/>
<Limb Name="object_bv_017408_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017408" Offset="0x17408"/>
<Limb Name="object_bv_017414_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017414" Offset="0x17414"/>
<Limb Name="object_bv_017420_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017420" Offset="0x17420"/>
<Limb Name="object_bv_01742C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01742C" Offset="0x1742C"/>
<Limb Name="object_bv_017438_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017438" Offset="0x17438"/>
<Limb Name="object_bv_017444_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017444" Offset="0x17444"/>
<Texture Name="object_bv_017930_Tex" Format="rgba16" Width="16" Height="8" Offset="0x17930"/>
<Texture Name="object_bv_017A30_Tex" Format="rgba16" Width="16" Height="16" Offset="0x17A30"/>
<DList Name="object_bv_0180A0_DL" Offset="0x180A0"/>
<DList Name="object_bv_0181C8_DL" Offset="0x181C8"/>
<DList Name="object_bv_0182C8_DL" Offset="0x182C8"/>
<DList Name="object_bv_0183C8_DL" Offset="0x183C8"/>
<Limb Name="object_bv_018530_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018530" Offset="0x18530"/>
<Limb Name="object_bv_01853C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01853C" Offset="0x1853C"/>
<Limb Name="object_bv_018548_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018548" Offset="0x18548"/>
<Limb Name="object_bv_018554_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018554" Offset="0x18554"/>
<Limb Name="object_bv_018560_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018560" Offset="0x18560"/>
<Limb Name="object_bv_01856C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01856C" Offset="0x1856C"/>
<Limb Name="object_bv_018578_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018578" Offset="0x18578"/>
<Texture Name="object_bv_0185B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x185B0"/>
<Blob Name="object_bv_0187B0_Blob" Size="0x8" Offset="0x187B0"/>
<Texture Name="object_bv_0187B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x187B8" TlutOffset="0x185B0"/>
<Texture Name="object_bv_0190B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x190B0"/>
<Blob Name="object_bv_0192B0_Blob" Size="0x8" Offset="0x192B0"/>
<Texture Name="object_bv_0192B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x192B8" TlutOffset="0x190B0"/>
<Texture Name="object_bv_019BB0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x19BB0"/>
<Blob Name="object_bv_019DB0_Blob" Size="0x8" Offset="0x19DB0"/>
<Texture Name="object_bv_019DB8_Tex" Format="ci8" Width="32" Height="64" Offset="0x19DB8" TlutOffset="0x19BB0"/>
<Texture Name="object_bv_01A6B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1A6B0"/>
<Blob Name="object_bv_01A8B0_Blob" Size="0x8" Offset="0x1A8B0"/>
<Texture Name="object_bv_01A8B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1A8B8" TlutOffset="0x1A6B0"/>
<Texture Name="object_bv_01B1B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1B1B0"/>
<Blob Name="object_bv_01B3B0_Blob" Size="0x8" Offset="0x1B3B0"/>
<Texture Name="object_bv_01B3B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1B3B8" TlutOffset="0x1B1B0"/>
<Texture Name="object_bv_01BCB0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1BCB0"/>
<Blob Name="object_bv_01BEB0_Blob" Size="0x8" Offset="0x1BEB0"/>
<Texture Name="object_bv_01BEB8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1BEB8" TlutOffset="0x1BCB0"/>
<Texture Name="object_bv_01C7B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1C7B0"/>
<Blob Name="object_bv_01C9B0_Blob" Size="0x8" Offset="0x1C9B0"/>
<Texture Name="object_bv_01C9B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1C9B8" TlutOffset="0x1C7B0"/>
<Texture Name="object_bv_01D2B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1D2B0"/>
<Blob Name="object_bv_01D4B0_Blob" Size="0x8" Offset="0x1D4B0"/>
<Texture Name="object_bv_01D4B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1D4B8" TlutOffset="0x1D2B0"/>
</File>
</Root>

View File

@ -75,5 +75,187 @@
<DList Name="gBarinadeDL_0093A0" Offset="0x93A0"/>
<DList Name="gBarinadeDL_0094F8" Offset="0x94F8"/>
<DList Name="gBarinadeDL_0095B0" Offset="0x95B0"/>
<Texture Name="object_bv_000040_Tex" Format="ia16" Width="16" Height="64" Offset="0x40"/>
<Texture Name="object_bv_000840_Tex" Format="ia16" Width="16" Height="16" Offset="0x840"/>
<Texture Name="object_bv_000A40_Tex" Format="i8" Width="16" Height="32" Offset="0xA40"/>
<DList Name="object_bv_001070_DL" Offset="0x1070"/>
<DList Name="object_bv_001158_DL" Offset="0x1158"/>
<Limb Name="object_bv_004E30_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_004E30" Offset="0x4E30"/>
<Limb Name="object_bv_004E3C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_004E3C" Offset="0x4E3C"/>
<Limb Name="object_bv_004E48_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_004E48" Offset="0x4E48"/>
<Limb Name="object_bv_004E54_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_004E54" Offset="0x4E54"/>
<Texture Name="object_bv_0051A0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x51A0"/>
<Texture Name="object_bv_0052A0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x52A0"/>
<Texture Name="object_bv_0053A0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x53A0"/>
<Texture Name="object_bv_0055A0_Tex" Format="ia16" Width="16" Height="32" Offset="0x55A0"/>
<Texture Name="object_bv_0059A0_Tex" Format="ia16" Width="16" Height="32" Offset="0x59A0"/>
<Texture Name="object_bv_005DA0_Tex" Format="ia16" Width="16" Height="64" Offset="0x5DA0"/>
<Texture Name="object_bv_0065A0_Tex" Format="i8" Width="16" Height="32" Offset="0x65A0"/>
<DList Name="object_bv_007F40_DL" Offset="0x7F40"/>
<DList Name="object_bv_007FD8_DL" Offset="0x7FD8"/>
<DList Name="object_bv_0080B0_DL" Offset="0x80B0"/>
<DList Name="object_bv_0082A8_DL" Offset="0x82A8"/>
<DList Name="object_bv_008388_DL" Offset="0x8388"/>
<DList Name="object_bv_008458_DL" Offset="0x8458"/>
<DList Name="object_bv_0084E8_DL" Offset="0x84E8"/>
<DList Name="object_bv_008578_DL" Offset="0x8578"/>
<DList Name="object_bv_008608_DL" Offset="0x8608"/>
<DList Name="object_bv_008698_DL" Offset="0x8698"/>
<DList Name="object_bv_008728_DL" Offset="0x8728"/>
<DList Name="object_bv_0087B8_DL" Offset="0x87B8"/>
<DList Name="object_bv_008848_DL" Offset="0x8848"/>
<DList Name="object_bv_0088D8_DL" Offset="0x88D8"/>
<DList Name="object_bv_008968_DL" Offset="0x8968"/>
<Texture Name="object_bv_008F88_Tex" Format="i8" Width="32" Height="32" Offset="0x8F88"/>
<Texture Name="object_bv_0117B8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x117B8"/>
<Texture Name="object_bv_0119B8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x119B8"/>
<Texture Name="object_bv_011BB8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x11BB8"/>
<Texture Name="object_bv_012CE0_Tex" Format="i8" Width="64" Height="32" Offset="0x12CE0"/>
<Texture Name="object_bv_013660_Tex" Format="ia16" Width="64" Height="64" Offset="0x13660"/>
<Limb Name="object_bv_015728_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015728" Offset="0x15728"/>
<Limb Name="object_bv_015734_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015734" Offset="0x15734"/>
<Limb Name="object_bv_015740_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015740" Offset="0x15740"/>
<Limb Name="object_bv_01574C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01574C" Offset="0x1574C"/>
<Limb Name="object_bv_015758_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015758" Offset="0x15758"/>
<Limb Name="object_bv_015764_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015764" Offset="0x15764"/>
<Limb Name="object_bv_015770_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015770" Offset="0x15770"/>
<Limb Name="object_bv_01577C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01577C" Offset="0x1577C"/>
<Limb Name="object_bv_015788_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015788" Offset="0x15788"/>
<Limb Name="object_bv_015794_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015794" Offset="0x15794"/>
<Limb Name="object_bv_0157A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157A0" Offset="0x157A0"/>
<Limb Name="object_bv_0157AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157AC" Offset="0x157AC"/>
<Limb Name="object_bv_0157B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157B8" Offset="0x157B8"/>
<Limb Name="object_bv_0157C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157C4" Offset="0x157C4"/>
<Limb Name="object_bv_0157D0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157D0" Offset="0x157D0"/>
<Limb Name="object_bv_0157DC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157DC" Offset="0x157DC"/>
<Limb Name="object_bv_0157E8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157E8" Offset="0x157E8"/>
<Limb Name="object_bv_0157F4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0157F4" Offset="0x157F4"/>
<Limb Name="object_bv_015800_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015800" Offset="0x15800"/>
<Limb Name="object_bv_01580C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01580C" Offset="0x1580C"/>
<Limb Name="object_bv_015818_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015818" Offset="0x15818"/>
<Limb Name="object_bv_015824_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015824" Offset="0x15824"/>
<Limb Name="object_bv_015830_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015830" Offset="0x15830"/>
<Limb Name="object_bv_01583C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01583C" Offset="0x1583C"/>
<Limb Name="object_bv_015848_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015848" Offset="0x15848"/>
<Limb Name="object_bv_015854_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015854" Offset="0x15854"/>
<Limb Name="object_bv_015860_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015860" Offset="0x15860"/>
<Limb Name="object_bv_01586C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01586C" Offset="0x1586C"/>
<Limb Name="object_bv_015878_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015878" Offset="0x15878"/>
<Limb Name="object_bv_015884_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015884" Offset="0x15884"/>
<Limb Name="object_bv_015890_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015890" Offset="0x15890"/>
<Limb Name="object_bv_01589C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01589C" Offset="0x1589C"/>
<Limb Name="object_bv_0158A8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158A8" Offset="0x158A8"/>
<Limb Name="object_bv_0158B4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158B4" Offset="0x158B4"/>
<Limb Name="object_bv_0158C0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158C0" Offset="0x158C0"/>
<Limb Name="object_bv_0158CC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158CC" Offset="0x158CC"/>
<Limb Name="object_bv_0158D8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158D8" Offset="0x158D8"/>
<Limb Name="object_bv_0158E4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158E4" Offset="0x158E4"/>
<Limb Name="object_bv_0158F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158F0" Offset="0x158F0"/>
<Limb Name="object_bv_0158FC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0158FC" Offset="0x158FC"/>
<Limb Name="object_bv_015908_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015908" Offset="0x15908"/>
<Limb Name="object_bv_015914_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015914" Offset="0x15914"/>
<Limb Name="object_bv_015920_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015920" Offset="0x15920"/>
<Limb Name="object_bv_01592C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01592C" Offset="0x1592C"/>
<Limb Name="object_bv_015938_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015938" Offset="0x15938"/>
<Limb Name="object_bv_015944_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015944" Offset="0x15944"/>
<Limb Name="object_bv_015950_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015950" Offset="0x15950"/>
<Limb Name="object_bv_01595C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01595C" Offset="0x1595C"/>
<Limb Name="object_bv_015968_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015968" Offset="0x15968"/>
<Limb Name="object_bv_015974_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015974" Offset="0x15974"/>
<Limb Name="object_bv_015980_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015980" Offset="0x15980"/>
<Limb Name="object_bv_01598C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01598C" Offset="0x1598C"/>
<Limb Name="object_bv_015998_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015998" Offset="0x15998"/>
<Limb Name="object_bv_0159A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159A4" Offset="0x159A4"/>
<Limb Name="object_bv_0159B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159B0" Offset="0x159B0"/>
<Limb Name="object_bv_0159BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159BC" Offset="0x159BC"/>
<Limb Name="object_bv_0159C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159C8" Offset="0x159C8"/>
<Limb Name="object_bv_0159D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159D4" Offset="0x159D4"/>
<Limb Name="object_bv_0159E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159E0" Offset="0x159E0"/>
<Limb Name="object_bv_0159EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159EC" Offset="0x159EC"/>
<Limb Name="object_bv_0159F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0159F8" Offset="0x159F8"/>
<Limb Name="object_bv_015A04_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015A04" Offset="0x15A04"/>
<Limb Name="object_bv_015A10_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_015A10" Offset="0x15A10"/>
<DList Name="object_bv_016BA0_DL" Offset="0x16BA0"/>
<DList Name="object_bv_016CC8_DL" Offset="0x16CC8"/>
<DList Name="object_bv_016DC8_DL" Offset="0x16DC8"/>
<DList Name="object_bv_016EC8_DL" Offset="0x16EC8"/>
<DList Name="object_bv_016FC8_DL" Offset="0x16FC8"/>
<Texture Name="object_bv_0170D8_Tex" Format="rgba16" Width="16" Height="8" Offset="0x170D8"/>
<Texture Name="object_bv_0171D8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x171D8"/>
<Limb Name="object_bv_0173D8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0173D8" Offset="0x173D8"/>
<Limb Name="object_bv_0173E4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0173E4" Offset="0x173E4"/>
<Limb Name="object_bv_0173F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0173F0" Offset="0x173F0"/>
<Limb Name="object_bv_0173FC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0173FC" Offset="0x173FC"/>
<Limb Name="object_bv_017408_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017408" Offset="0x17408"/>
<Limb Name="object_bv_017414_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017414" Offset="0x17414"/>
<Limb Name="object_bv_017420_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017420" Offset="0x17420"/>
<Limb Name="object_bv_01742C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01742C" Offset="0x1742C"/>
<Limb Name="object_bv_017438_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017438" Offset="0x17438"/>
<Limb Name="object_bv_017444_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017444" Offset="0x17444"/>
<Limb Name="object_bv_017450_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017450" Offset="0x17450"/>
<Limb Name="object_bv_01745C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01745C" Offset="0x1745C"/>
<DList Name="object_bv_017B90_DL" Offset="0x17B90"/>
<DList Name="object_bv_017CB8_DL" Offset="0x17CB8"/>
<DList Name="object_bv_017DB8_DL" Offset="0x17DB8"/>
<Limb Name="object_bv_017F28_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F28" Offset="0x17F28"/>
<Limb Name="object_bv_017F34_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F34" Offset="0x17F34"/>
<Limb Name="object_bv_017F40_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F40" Offset="0x17F40"/>
<Limb Name="object_bv_017F4C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F4C" Offset="0x17F4C"/>
<Limb Name="object_bv_017F58_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F58" Offset="0x17F58"/>
<Limb Name="object_bv_017F64_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F64" Offset="0x17F64"/>
<Limb Name="object_bv_017F70_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F70" Offset="0x17F70"/>
<Limb Name="object_bv_017F7C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F7C" Offset="0x17F7C"/>
<Limb Name="object_bv_017F88_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F88" Offset="0x17F88"/>
<Limb Name="object_bv_017F94_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_017F94" Offset="0x17F94"/>
<DList Name="object_bv_018410_DL" Offset="0x18410"/>
<DList Name="object_bv_0184D0_DL" Offset="0x184D0"/>
<DList Name="object_bv_0185E8_DL" Offset="0x185E8"/>
<Texture Name="object_bv_018770_Tex" Format="rgba16" Width="8" Height="8" Offset="0x18770"/>
<Limb Name="object_bv_0187F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0187F0" Offset="0x187F0"/>
<Limb Name="object_bv_0187FC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_0187FC" Offset="0x187FC"/>
<Limb Name="object_bv_018808_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018808" Offset="0x18808"/>
<Limb Name="object_bv_018814_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018814" Offset="0x18814"/>
<Limb Name="object_bv_018820_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018820" Offset="0x18820"/>
<Limb Name="object_bv_01882C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01882C" Offset="0x1882C"/>
<Limb Name="object_bv_018838_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018838" Offset="0x18838"/>
<Limb Name="object_bv_018844_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_018844" Offset="0x18844"/>
<Texture Name="object_bv_018D30_Tex" Format="rgba16" Width="16" Height="8" Offset="0x18D30"/>
<Texture Name="object_bv_018E30_Tex" Format="rgba16" Width="16" Height="16" Offset="0x18E30"/>
<DList Name="object_bv_0194A0_DL" Offset="0x194A0"/>
<DList Name="object_bv_0195C8_DL" Offset="0x195C8"/>
<DList Name="object_bv_0196C8_DL" Offset="0x196C8"/>
<DList Name="object_bv_0197C8_DL" Offset="0x197C8"/>
<Limb Name="object_bv_019930_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_019930" Offset="0x19930"/>
<Limb Name="object_bv_01993C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01993C" Offset="0x1993C"/>
<Limb Name="object_bv_019948_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_019948" Offset="0x19948"/>
<Limb Name="object_bv_019954_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_019954" Offset="0x19954"/>
<Limb Name="object_bv_019960_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_019960" Offset="0x19960"/>
<Limb Name="object_bv_01996C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_01996C" Offset="0x1996C"/>
<Limb Name="object_bv_019978_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_BV_019978" Offset="0x19978"/>
<Texture Name="object_bv_0199B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x199B0"/>
<Blob Name="object_bv_019BB0_Blob" Size="0x8" Offset="0x19BB0"/>
<Texture Name="object_bv_019BB8_Tex" Format="ci8" Width="32" Height="64" Offset="0x19BB8" TlutOffset="0x199B0"/>
<Texture Name="object_bv_01A4B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1A4B0"/>
<Blob Name="object_bv_01A6B0_Blob" Size="0x8" Offset="0x1A6B0"/>
<Texture Name="object_bv_01A6B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1A6B8" TlutOffset="0x1A4B0"/>
<Texture Name="object_bv_01AFB0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1AFB0"/>
<Blob Name="object_bv_01B1B0_Blob" Size="0x8" Offset="0x1B1B0"/>
<Texture Name="object_bv_01B1B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1B1B8" TlutOffset="0x1AFB0"/>
<Texture Name="object_bv_01BAB0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1BAB0"/>
<Blob Name="object_bv_01BCB0_Blob" Size="0x8" Offset="0x1BCB0"/>
<Texture Name="object_bv_01BCB8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1BCB8" TlutOffset="0x1BAB0"/>
<Texture Name="object_bv_01C5B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1C5B0"/>
<Blob Name="object_bv_01C7B0_Blob" Size="0x8" Offset="0x1C7B0"/>
<Texture Name="object_bv_01C7B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1C7B8" TlutOffset="0x1C5B0"/>
<Texture Name="object_bv_01D0B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1D0B0"/>
<Blob Name="object_bv_01D2B0_Blob" Size="0x8" Offset="0x1D2B0"/>
<Texture Name="object_bv_01D2B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1D2B8" TlutOffset="0x1D0B0"/>
<Texture Name="object_bv_01DBB0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1DBB0"/>
<Blob Name="object_bv_01DDB0_Blob" Size="0x8" Offset="0x1DDB0"/>
<Texture Name="object_bv_01DDB8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1DDB8" TlutOffset="0x1DBB0"/>
<Texture Name="object_bv_01E6B0_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x1E6B0"/>
<Blob Name="object_bv_01E8B0_Blob" Size="0x8" Offset="0x1E8B0"/>
<Texture Name="object_bv_01E8B8_Tex" Format="ci8" Width="32" Height="64" Offset="0x1E8B8" TlutOffset="0x1E6B0"/>
</File>
</Root>

View File

@ -77,5 +77,87 @@
<Texture Name="gDaruniaSkelTex_9480" Format="ci8" Width="8" Height="16" Offset="0x9A80" TlutOffset="0x7F80"/>
<Texture Name="gDaruniaSkelTex_9500" Format="ci8" Width="32" Height="64" Offset="0x9B00" TlutOffset="0x7F80"/>
<Texture Name="gDaruniaSkelTex_9D00" Format="ci8" Width="8" Height="8" Offset="0xA300" TlutOffset="0x7F80"/>
<Array Name="object_du_Vtx_00BF80" Count="3" Offset="0xBF80">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00BFB0" Count="3" Offset="0xBFB0">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00BFE0" Count="149" Offset="0xBFE0">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00C930" Count="228" Offset="0xC930">
<Vtx/>
</Array>
<DList Name="object_du_00D770_DL" Offset="0xD770"/>
<DList Name="object_du_00D7D0_DL" Offset="0xD7D0"/>
<DList Name="object_du_00D830_DL" Offset="0xD830"/>
<DList Name="object_du_00DE10_DL" Offset="0xDE10"/>
<Array Name="object_du_Vtx_00E938" Count="37" Offset="0xE938">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00EB88" Count="33" Offset="0xEB88">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00ED98" Count="18" Offset="0xED98">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00EEB8" Count="37" Offset="0xEEB8">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00F108" Count="33" Offset="0xF108">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00F318" Count="18" Offset="0xF318">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00F438" Count="96" Offset="0xF438">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00FA38" Count="37" Offset="0xFA38">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00FC88" Count="59" Offset="0xFC88">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_010038" Count="96" Offset="0x10038">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_010638" Count="37" Offset="0x10638">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_010888" Count="59" Offset="0x10888">
<Vtx/>
</Array>
<DList Name="object_du_010C38_DL" Offset="0x10C38"/>
<DList Name="object_du_010DF0_DL" Offset="0x10DF0"/>
<DList Name="object_du_010F30_DL" Offset="0x10F30"/>
<DList Name="object_du_011158_DL" Offset="0x11158"/>
<DList Name="object_du_011310_DL" Offset="0x11310"/>
<DList Name="object_du_011450_DL" Offset="0x11450"/>
<DList Name="object_du_011678_DL" Offset="0x11678"/>
<DList Name="object_du_011778_DL" Offset="0x11778"/>
<DList Name="object_du_0119B8_DL" Offset="0x119B8"/>
<DList Name="object_du_011C08_DL" Offset="0x11C08"/>
<DList Name="object_du_011D08_DL" Offset="0x11D08"/>
<DList Name="object_du_011F48_DL" Offset="0x11F48"/>
<Limb Name="object_du_012198_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012198" Offset="0x12198"/>
<Limb Name="object_du_0121A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121A4" Offset="0x121A4"/>
<Limb Name="object_du_0121B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121B0" Offset="0x121B0"/>
<Limb Name="object_du_0121BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121BC" Offset="0x121BC"/>
<Limb Name="object_du_0121C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121C8" Offset="0x121C8"/>
<Limb Name="object_du_0121D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121D4" Offset="0x121D4"/>
<Limb Name="object_du_0121E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121E0" Offset="0x121E0"/>
<Limb Name="object_du_0121EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121EC" Offset="0x121EC"/>
<Limb Name="object_du_0121F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_0121F8" Offset="0x121F8"/>
<Limb Name="object_du_012204_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012204" Offset="0x12204"/>
<Limb Name="object_du_012210_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012210" Offset="0x12210"/>
<Limb Name="object_du_01221C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_01221C" Offset="0x1221C"/>
<Limb Name="object_du_012228_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012228" Offset="0x12228"/>
<Limb Name="object_du_012234_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012234" Offset="0x12234"/>
<Limb Name="object_du_012240_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012240" Offset="0x12240"/>
<Limb Name="object_du_01224C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_01224C" Offset="0x1224C"/>
<Limb Name="object_du_012258_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_012258" Offset="0x12258"/>
</File>
</Root>

View File

@ -77,5 +77,87 @@
<Texture Name="gDaruniaSkelTex_9480" Format="ci8" Width="8" Height="16" Offset="0x9480" TlutOffset="0x7980"/>
<Texture Name="gDaruniaSkelTex_9500" Format="ci8" Width="32" Height="64" Offset="0x9500" TlutOffset="0x7980"/>
<Texture Name="gDaruniaSkelTex_9D00" Format="ci8" Width="8" Height="8" Offset="0x9D00" TlutOffset="0x7980"/>
<Array Name="object_du_Vtx_00B980" Count="3" Offset="0xB980">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00B9B0" Count="3" Offset="0xB9B0">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00B9E0" Count="149" Offset="0xB9E0">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00C330" Count="228" Offset="0xC330">
<Vtx/>
</Array>
<DList Name="object_du_00D170_DL" Offset="0xD170"/>
<DList Name="object_du_00D1D0_DL" Offset="0xD1D0"/>
<DList Name="object_du_00D230_DL" Offset="0xD230"/>
<DList Name="object_du_00D810_DL" Offset="0xD810"/>
<Array Name="object_du_Vtx_00E338" Count="37" Offset="0xE338">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00E588" Count="33" Offset="0xE588">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00E798" Count="18" Offset="0xE798">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00E8B8" Count="37" Offset="0xE8B8">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00EB08" Count="33" Offset="0xEB08">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00ED18" Count="18" Offset="0xED18">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00EE38" Count="96" Offset="0xEE38">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00F438" Count="37" Offset="0xF438">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00F688" Count="59" Offset="0xF688">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_00FA38" Count="96" Offset="0xFA38">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_010038" Count="37" Offset="0x10038">
<Vtx/>
</Array>
<Array Name="object_du_Vtx_010288" Count="59" Offset="0x10288">
<Vtx/>
</Array>
<DList Name="object_du_010638_DL" Offset="0x10638"/>
<DList Name="object_du_0107F0_DL" Offset="0x107F0"/>
<DList Name="object_du_010930_DL" Offset="0x10930"/>
<DList Name="object_du_010B58_DL" Offset="0x10B58"/>
<DList Name="object_du_010D10_DL" Offset="0x10D10"/>
<DList Name="object_du_010E50_DL" Offset="0x10E50"/>
<DList Name="object_du_011078_DL" Offset="0x11078"/>
<DList Name="object_du_011178_DL" Offset="0x11178"/>
<DList Name="object_du_0113B8_DL" Offset="0x113B8"/>
<DList Name="object_du_011608_DL" Offset="0x11608"/>
<DList Name="object_du_011708_DL" Offset="0x11708"/>
<DList Name="object_du_011948_DL" Offset="0x11948"/>
<Limb Name="object_du_011B98_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011B98" Offset="0x11B98"/>
<Limb Name="object_du_011BA4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BA4" Offset="0x11BA4"/>
<Limb Name="object_du_011BB0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BB0" Offset="0x11BB0"/>
<Limb Name="object_du_011BBC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BBC" Offset="0x11BBC"/>
<Limb Name="object_du_011BC8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BC8" Offset="0x11BC8"/>
<Limb Name="object_du_011BD4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BD4" Offset="0x11BD4"/>
<Limb Name="object_du_011BE0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BE0" Offset="0x11BE0"/>
<Limb Name="object_du_011BEC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BEC" Offset="0x11BEC"/>
<Limb Name="object_du_011BF8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011BF8" Offset="0x11BF8"/>
<Limb Name="object_du_011C04_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C04" Offset="0x11C04"/>
<Limb Name="object_du_011C10_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C10" Offset="0x11C10"/>
<Limb Name="object_du_011C1C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C1C" Offset="0x11C1C"/>
<Limb Name="object_du_011C28_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C28" Offset="0x11C28"/>
<Limb Name="object_du_011C34_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C34" Offset="0x11C34"/>
<Limb Name="object_du_011C40_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C40" Offset="0x11C40"/>
<Limb Name="object_du_011C4C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C4C" Offset="0x11C4C"/>
<Limb Name="object_du_011C58_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_DU_011C58" Offset="0x11C58"/>
</File>
</Root>

View File

@ -73,5 +73,86 @@
<!-- Boulder assets -->
<DList Name="gVolvagiaRockDL" Offset="0x9F20"/>
<Texture Name="object_fd_000438_TLUT" Format="rgba16" Width="16" Height="1" Offset="0x438"/>
<Texture Name="object_fd_000458_Tex" Format="ci4" Width="32" Height="32" Offset="0x458" TlutOffset="0x438"/>
<Texture Name="object_fd_000658_Tex" Format="ci4" Width="32" Height="64" Offset="0x658" TlutOffset="0x438"/>
<Texture Name="object_fd_000A58_TLUT" Format="rgba16" Width="12" Height="1" Offset="0xA58"/>
<Blob Name="object_fd_000A70_Blob" Size="0x8" Offset="0xA70"/>
<Texture Name="object_fd_000A78_Tex" Format="ci4" Width="32" Height="32" Offset="0xA78" TlutOffset="0xA58"/>
<DList Name="object_fd_001DB0_DL" Offset="0x1DB0"/>
<DList Name="object_fd_0020A8_DL" Offset="0x20A8"/>
<DList Name="object_fd_002180_DL" Offset="0x2180"/>
<DList Name="object_fd_002358_DL" Offset="0x2358"/>
<DList Name="object_fd_002420_DL" Offset="0x2420"/>
<DList Name="object_fd_0024E8_DL" Offset="0x24E8"/>
<DList Name="object_fd_002678_DL" Offset="0x2678"/>
<DList Name="object_fd_002770_DL" Offset="0x2770"/>
<DList Name="object_fd_002850_DL" Offset="0x2850"/>
<DList Name="object_fd_002990_DL" Offset="0x2990"/>
<DList Name="object_fd_002AD0_DL" Offset="0x2AD0"/>
<DList Name="object_fd_002C10_DL" Offset="0x2C10"/>
<DList Name="object_fd_002D10_DL" Offset="0x2D10"/>
<DList Name="object_fd_002E08_DL" Offset="0x2E08"/>
<DList Name="object_fd_002EE8_DL" Offset="0x2EE8"/>
<DList Name="object_fd_003028_DL" Offset="0x3028"/>
<DList Name="object_fd_003168_DL" Offset="0x3168"/>
<Texture Name="object_fd_0040A8_Tex" Format="rgba16" Width="32" Height="32" Offset="0x40A8"/>
<Texture Name="object_fd_0048A8_Tex" Format="rgba16" Width="32" Height="32" Offset="0x48A8"/>
<Texture Name="object_fd_0050A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x50A8"/>
<Texture Name="object_fd_0052A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x52A8"/>
<Texture Name="object_fd_0054A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x54A8"/>
<Texture Name="object_fd_0056A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x56A8"/>
<Texture Name="object_fd_005B60_Tex" Format="rgba16" Width="16" Height="16" Offset="0x5B60"/>
<Texture Name="object_fd_005D60_Tex" Format="rgba16" Width="16" Height="16" Offset="0x5D60"/>
<Texture Name="object_fd_005F60_Tex" Format="rgba16" Width="16" Height="16" Offset="0x5F60"/>
<Texture Name="object_fd_009208_Tex" Format="i8" Width="16" Height="16" Offset="0x9208"/>
<Texture Name="object_fd_009780_Tex" Format="rgba16" Width="16" Height="16" Offset="0x9780"/>
<Texture Name="object_fd_009980_Tex" Format="rgba16" Width="16" Height="16" Offset="0x9980"/>
<Texture Name="object_fd_00A050_Tex" Format="rgba16" Width="32" Height="32" Offset="0xA050"/>
<Texture Name="object_fd_00A918_Tex" Format="i8" Width="16" Height="16" Offset="0xA918"/>
<Texture Name="object_fd_00AA18_Tex" Format="rgba16" Width="32" Height="32" Offset="0xAA18"/>
<Texture Name="object_fd_00B458_Tex" Format="rgba16" Width="32" Height="32" Offset="0xB458"/>
<Texture Name="object_fd_00BC58_Tex" Format="rgba16" Width="16" Height="16" Offset="0xBC58"/>
<Texture Name="object_fd_00BE58_Tex" Format="rgba16" Width="16" Height="16" Offset="0xBE58"/>
<Texture Name="object_fd_00C058_Tex" Format="rgba16" Width="16" Height="16" Offset="0xC058"/>
<Texture Name="object_fd_00D170_Tex" Format="rgba16" Width="16" Height="16" Offset="0xD170"/>
<Texture Name="object_fd_00D438_Tex" Format="rgba16" Width="16" Height="16" Offset="0xD438"/>
<Limb Name="object_fd_00FF00_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF00" Offset="0xFF00"/>
<Limb Name="object_fd_00FF0C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF0C" Offset="0xFF0C"/>
<Limb Name="object_fd_00FF18_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF18" Offset="0xFF18"/>
<Limb Name="object_fd_00FF24_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF24" Offset="0xFF24"/>
<Limb Name="object_fd_00FF30_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF30" Offset="0xFF30"/>
<Limb Name="object_fd_00FF3C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF3C" Offset="0xFF3C"/>
<Limb Name="object_fd_00FF48_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF48" Offset="0xFF48"/>
<Limb Name="object_fd_00FF54_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF54" Offset="0xFF54"/>
<Limb Name="object_fd_00FF60_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF60" Offset="0xFF60"/>
<Limb Name="object_fd_00FF6C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF6C" Offset="0xFF6C"/>
<Limb Name="object_fd_00FF78_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF78" Offset="0xFF78"/>
<Limb Name="object_fd_00FF84_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF84" Offset="0xFF84"/>
<Limb Name="object_fd_00FF90_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF90" Offset="0xFF90"/>
<Limb Name="object_fd_00FF9C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FF9C" Offset="0xFF9C"/>
<Limb Name="object_fd_00FFA8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FFA8" Offset="0xFFA8"/>
<Limb Name="object_fd_00FFB4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FFB4" Offset="0xFFB4"/>
<Limb Name="object_fd_00FFC0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FFC0" Offset="0xFFC0"/>
<Limb Name="object_fd_00FFCC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_00FFCC" Offset="0xFFCC"/>
<Limb Name="object_fd_010080_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010080" Offset="0x10080"/>
<Limb Name="object_fd_01008C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01008C" Offset="0x1008C"/>
<Limb Name="object_fd_010098_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010098" Offset="0x10098"/>
<Limb Name="object_fd_0100A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0100A4" Offset="0x100A4"/>
<Limb Name="object_fd_0100B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0100B0" Offset="0x100B0"/>
<Limb Name="object_fd_0100BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0100BC" Offset="0x100BC"/>
<Limb Name="object_fd_010140_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010140" Offset="0x10140"/>
<Limb Name="object_fd_01014C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01014C" Offset="0x1014C"/>
<Limb Name="object_fd_010158_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010158" Offset="0x10158"/>
<Limb Name="object_fd_010164_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010164" Offset="0x10164"/>
<Limb Name="object_fd_010170_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010170" Offset="0x10170"/>
<Limb Name="object_fd_01017C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01017C" Offset="0x1017C"/>
<Limb Name="object_fd_010200_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010200" Offset="0x10200"/>
<Limb Name="object_fd_01020C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01020C" Offset="0x1020C"/>
<Limb Name="object_fd_010218_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010218" Offset="0x10218"/>
<Limb Name="object_fd_010224_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010224" Offset="0x10224"/>
<Limb Name="object_fd_010230_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_010230" Offset="0x10230"/>
<Limb Name="object_fd_01023C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01023C" Offset="0x1023C"/>
</File>
</Root>

View File

@ -73,5 +73,86 @@
<!-- Boulder assets -->
<DList Name="gVolvagiaRockDL" Offset="0x9F20"/>
<Texture Name="object_fd_000438_TLUT" Format="rgba16" Width="16" Height="1" Offset="0x438"/>
<Texture Name="object_fd_000458_Tex" Format="ci4" Width="32" Height="32" Offset="0x458" TlutOffset="0x438"/>
<Texture Name="object_fd_000658_Tex" Format="ci4" Width="32" Height="64" Offset="0x658" TlutOffset="0x438"/>
<Texture Name="object_fd_000A58_TLUT" Format="rgba16" Width="12" Height="1" Offset="0xA58"/>
<Blob Name="object_fd_000A70_Blob" Size="0x8" Offset="0xA70"/>
<Texture Name="object_fd_000A78_Tex" Format="ci4" Width="32" Height="32" Offset="0xA78" TlutOffset="0xA58"/>
<DList Name="object_fd_001DB0_DL" Offset="0x1DB0"/>
<DList Name="object_fd_0020A8_DL" Offset="0x20A8"/>
<DList Name="object_fd_002180_DL" Offset="0x2180"/>
<DList Name="object_fd_002358_DL" Offset="0x2358"/>
<DList Name="object_fd_002420_DL" Offset="0x2420"/>
<DList Name="object_fd_0024E8_DL" Offset="0x24E8"/>
<DList Name="object_fd_002678_DL" Offset="0x2678"/>
<DList Name="object_fd_002770_DL" Offset="0x2770"/>
<DList Name="object_fd_002850_DL" Offset="0x2850"/>
<DList Name="object_fd_002990_DL" Offset="0x2990"/>
<DList Name="object_fd_002AD0_DL" Offset="0x2AD0"/>
<DList Name="object_fd_002C10_DL" Offset="0x2C10"/>
<DList Name="object_fd_002D10_DL" Offset="0x2D10"/>
<DList Name="object_fd_002E08_DL" Offset="0x2E08"/>
<DList Name="object_fd_002EE8_DL" Offset="0x2EE8"/>
<DList Name="object_fd_003028_DL" Offset="0x3028"/>
<DList Name="object_fd_003168_DL" Offset="0x3168"/>
<Texture Name="object_fd_0040A8_Tex" Format="rgba16" Width="32" Height="32" Offset="0x40A8"/>
<Texture Name="object_fd_0048A8_Tex" Format="rgba16" Width="32" Height="32" Offset="0x48A8"/>
<Texture Name="object_fd_0050A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x50A8"/>
<Texture Name="object_fd_0052A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x52A8"/>
<Texture Name="object_fd_0054A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x54A8"/>
<Texture Name="object_fd_0056A8_Tex" Format="rgba16" Width="16" Height="16" Offset="0x56A8"/>
<Texture Name="object_fd_005B60_Tex" Format="rgba16" Width="16" Height="16" Offset="0x5B60"/>
<Texture Name="object_fd_005D60_Tex" Format="rgba16" Width="16" Height="16" Offset="0x5D60"/>
<Texture Name="object_fd_005F60_Tex" Format="rgba16" Width="16" Height="16" Offset="0x5F60"/>
<Texture Name="object_fd_009208_Tex" Format="i8" Width="16" Height="16" Offset="0x9208"/>
<Texture Name="object_fd_009780_Tex" Format="rgba16" Width="16" Height="16" Offset="0x9780"/>
<Texture Name="object_fd_009980_Tex" Format="rgba16" Width="16" Height="16" Offset="0x9980"/>
<Texture Name="object_fd_00A050_Tex" Format="rgba16" Width="32" Height="32" Offset="0xA050"/>
<Texture Name="object_fd_00A918_Tex" Format="i8" Width="16" Height="16" Offset="0xA918"/>
<Texture Name="object_fd_00AA18_Tex" Format="rgba16" Width="32" Height="32" Offset="0xAA18"/>
<Texture Name="object_fd_00B458_Tex" Format="rgba16" Width="32" Height="32" Offset="0xB458"/>
<Texture Name="object_fd_00BC58_Tex" Format="rgba16" Width="16" Height="16" Offset="0xBC58"/>
<Texture Name="object_fd_00BE58_Tex" Format="rgba16" Width="16" Height="16" Offset="0xBE58"/>
<Texture Name="object_fd_00C058_Tex" Format="rgba16" Width="16" Height="16" Offset="0xC058"/>
<Texture Name="object_fd_00D170_Tex" Format="rgba16" Width="16" Height="16" Offset="0xD170"/>
<Texture Name="object_fd_00D438_Tex" Format="rgba16" Width="16" Height="16" Offset="0xD438"/>
<Limb Name="object_fd_011300_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011300" Offset="0x11300"/>
<Limb Name="object_fd_01130C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01130C" Offset="0x1130C"/>
<Limb Name="object_fd_011318_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011318" Offset="0x11318"/>
<Limb Name="object_fd_011324_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011324" Offset="0x11324"/>
<Limb Name="object_fd_011330_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011330" Offset="0x11330"/>
<Limb Name="object_fd_01133C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01133C" Offset="0x1133C"/>
<Limb Name="object_fd_011348_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011348" Offset="0x11348"/>
<Limb Name="object_fd_011354_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011354" Offset="0x11354"/>
<Limb Name="object_fd_011360_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011360" Offset="0x11360"/>
<Limb Name="object_fd_01136C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01136C" Offset="0x1136C"/>
<Limb Name="object_fd_011378_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011378" Offset="0x11378"/>
<Limb Name="object_fd_011384_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011384" Offset="0x11384"/>
<Limb Name="object_fd_011390_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011390" Offset="0x11390"/>
<Limb Name="object_fd_01139C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01139C" Offset="0x1139C"/>
<Limb Name="object_fd_0113A8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0113A8" Offset="0x113A8"/>
<Limb Name="object_fd_0113B4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0113B4" Offset="0x113B4"/>
<Limb Name="object_fd_0113C0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0113C0" Offset="0x113C0"/>
<Limb Name="object_fd_0113CC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0113CC" Offset="0x113CC"/>
<Limb Name="object_fd_011480_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011480" Offset="0x11480"/>
<Limb Name="object_fd_01148C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01148C" Offset="0x1148C"/>
<Limb Name="object_fd_011498_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011498" Offset="0x11498"/>
<Limb Name="object_fd_0114A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0114A4" Offset="0x114A4"/>
<Limb Name="object_fd_0114B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0114B0" Offset="0x114B0"/>
<Limb Name="object_fd_0114BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_0114BC" Offset="0x114BC"/>
<Limb Name="object_fd_011540_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011540" Offset="0x11540"/>
<Limb Name="object_fd_01154C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01154C" Offset="0x1154C"/>
<Limb Name="object_fd_011558_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011558" Offset="0x11558"/>
<Limb Name="object_fd_011564_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011564" Offset="0x11564"/>
<Limb Name="object_fd_011570_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011570" Offset="0x11570"/>
<Limb Name="object_fd_01157C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01157C" Offset="0x1157C"/>
<Limb Name="object_fd_011600_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011600" Offset="0x11600"/>
<Limb Name="object_fd_01160C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01160C" Offset="0x1160C"/>
<Limb Name="object_fd_011618_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011618" Offset="0x11618"/>
<Limb Name="object_fd_011624_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011624" Offset="0x11624"/>
<Limb Name="object_fd_011630_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_011630" Offset="0x11630"/>
<Limb Name="object_fd_01163C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_FD_01163C" Offset="0x1163C"/>
</File>
</Root>

View File

@ -90,6 +90,110 @@
<Limb Name="gGohmaBodyShellBackRoot2Limb" LimbType="Standard" Offset="0x1C78C"/>
<Limb Name="gGohmaBodyShellBackLimb" LimbType="Standard" Offset="0x1C798"/>
<!-- Vertices -->
<Array Name="gGohmaLeftAntennaBodyVtx" Count="14" Offset="0x12690">
<Vtx/>
</Array>
<Array Name="gGohmaLeftAntennaShellVtx" Count="45" Offset="0x12828">
<Vtx/>
</Array>
<Array Name="gGohmaRightAntennaBodyVtx" Count="14" Offset="0x12C90">
<Vtx/>
</Array>
<Array Name="gGohmaRightAntennaShellVtx" Count="48" Offset="0x12E28">
<Vtx/>
</Array>
<Array Name="gGohmaRightMandibles1Vtx" Count="6" Offset="0x132C0">
<Vtx/>
</Array>
<Array Name="gGohmaRightMandibles2Vtx" Count="11" Offset="0x133D0">
<Vtx/>
</Array>
<Array Name="gGohmaLeftMandibles1Vtx" Count="6" Offset="0x13590">
<Vtx/>
</Array>
<Array Name="gGohmaLeftMandibles2Vtx" Count="11" Offset="0x136A0">
<Vtx/>
</Array>
<Array Name="gGohmaBodyVtx" Count="32" Offset="0x13860">
<Vtx/>
</Array>
<Array Name="gGohmaBodyShellVtx" Count="117" Offset="0x13B48">
<Vtx/>
</Array>
<Array Name="gGohmaBodyShellBackVtx" Count="9" Offset="0x14420">
<Vtx/>
</Array>
<Array Name="gGohmaLeftThighShellVtx" Count="14" Offset="0x14560">
<Vtx/>
</Array>
<Array Name="gGohmaRightThighShellVtx" Count="14" Offset="0x146F0">
<Vtx/>
</Array>
<Array Name="gGohmaEyeVtx" Count="25" Offset="0x14880">
<Vtx/>
</Array>
<Array Name="gGohmaLeftFeetVtx" Count="40" Offset="0x14B40">
<Vtx/>
</Array>
<Array Name="gGohmaRightFeetVtx" Count="37" Offset="0x14F18">
<Vtx/>
</Array>
<Array Name="gGohmaIrisVtx" Count="9" Offset="0x152A8">
<Vtx/>
</Array>
<Array Name="gGohmaLeftKneeVtx" Count="47" Offset="0x153E8">
<Vtx/>
</Array>
<Array Name="gGohmaRightKneeVtx" Count="48" Offset="0x15828">
<Vtx/>
</Array>
<Array Name="gGohmaLeftFeetBackVtx" Count="13" Offset="0x15C78">
<Vtx/>
</Array>
<Array Name="gGohmaRightFeetBackVtx" Count="13" Offset="0x15E58">
<Vtx/>
</Array>
<Array Name="gGohmaLeftThighVtx" Count="49" Offset="0x16038">
<Vtx/>
</Array>
<Array Name="gGohmaRightThighVtx" Count="49" Offset="0x16490">
<Vtx/>
</Array>
<Array Name="gGohmaEyeLidTopVtx" Count="29" Offset="0x168E8">
<Vtx/>
</Array>
<Array Name="gGohmaEyeLidBottomVtx" Count="29" Offset="0x16BD0">
<Vtx/>
</Array>
<Array Name="gGohmaMandiblesBodyVtx" Count="20" Offset="0x16EA8">
<Vtx/>
</Array>
<Array Name="gGohmaLeftShinVtx" Count="22" Offset="0x17108">
<Vtx/>
</Array>
<Array Name="gGohmaRightShinVtx" Count="22" Offset="0x173A0">
<Vtx/>
</Array>
<Array Name="gGohmaTail1Vtx" Count="19" Offset="0x17638">
<Vtx/>
</Array>
<Array Name="gGohmaTail2Vtx" Count="19" Offset="0x17830">
<Vtx/>
</Array>
<Array Name="gGohmaTail3Vtx" Count="14" Offset="0x17A28">
<Vtx/>
</Array>
<Array Name="gGohmaTail4Vtx" Count="25" Offset="0x17BF0">
<Vtx/>
</Array>
<Array Name="gGohmaLeftAntennaClawVtx" Count="26" Offset="0x17E68">
<Vtx/>
</Array>
<Array Name="gGohmaRightAntennaClawVtx" Count="23" Offset="0x18120">
<Vtx/>
</Array>
<!-- Display Lists-->
<DList Name="gGohmaBodyDL" Offset="0x13A60"/>
<DList Name="gGohmaBodyShellDL" Offset="0x14298"/>
@ -162,8 +266,13 @@
<Texture Name="gGohmaTitleCardTex" Format="ia8" Width="128" Height="80" Offset="0x19BA8"/>
<!-- Door -->
<Array Name="gGohmaDoorVtx" Count="12" Offset="0x1D760">
<Vtx/>
</Array>
<DList Name="gGohmaDoorDL" Offset="0x1D820"/>
<Collision Name="gGohmaDoorCol" Offset="0x1D9D0"/>
<Texture Name="gGohmaDoorTex" Format="rgba16" Width="32" Height="32" Offset="0x1DA00"/>
<!-- Vertices -->
</File>
</Root>

View File

@ -90,6 +90,110 @@
<Limb Name="gGohmaBodyShellBackRoot2Limb" LimbType="Standard" Offset="0x1DB8C"/>
<Limb Name="gGohmaBodyShellBackLimb" LimbType="Standard" Offset="0x1DB98"/>
<!-- Vertices -->
<Array Name="gGohmaLeftAntennaBodyVtx" Count="14" Offset="0x12690">
<Vtx/>
</Array>
<Array Name="gGohmaLeftAntennaShellVtx" Count="45" Offset="0x12828">
<Vtx/>
</Array>
<Array Name="gGohmaRightAntennaBodyVtx" Count="14" Offset="0x12C90">
<Vtx/>
</Array>
<Array Name="gGohmaRightAntennaShellVtx" Count="48" Offset="0x12E28">
<Vtx/>
</Array>
<Array Name="gGohmaRightMandibles1Vtx" Count="6" Offset="0x132C0">
<Vtx/>
</Array>
<Array Name="gGohmaRightMandibles2Vtx" Count="11" Offset="0x133D0">
<Vtx/>
</Array>
<Array Name="gGohmaLeftMandibles1Vtx" Count="6" Offset="0x13590">
<Vtx/>
</Array>
<Array Name="gGohmaLeftMandibles2Vtx" Count="11" Offset="0x136A0">
<Vtx/>
</Array>
<Array Name="gGohmaBodyVtx" Count="32" Offset="0x13860">
<Vtx/>
</Array>
<Array Name="gGohmaBodyShellVtx" Count="117" Offset="0x13B48">
<Vtx/>
</Array>
<Array Name="gGohmaBodyShellBackVtx" Count="9" Offset="0x14420">
<Vtx/>
</Array>
<Array Name="gGohmaLeftThighShellVtx" Count="14" Offset="0x14560">
<Vtx/>
</Array>
<Array Name="gGohmaRightThighShellVtx" Count="14" Offset="0x146F0">
<Vtx/>
</Array>
<Array Name="gGohmaEyeVtx" Count="25" Offset="0x14880">
<Vtx/>
</Array>
<Array Name="gGohmaLeftFeetVtx" Count="40" Offset="0x14B40">
<Vtx/>
</Array>
<Array Name="gGohmaRightFeetVtx" Count="37" Offset="0x14F18">
<Vtx/>
</Array>
<Array Name="gGohmaIrisVtx" Count="9" Offset="0x152A8">
<Vtx/>
</Array>
<Array Name="gGohmaLeftKneeVtx" Count="47" Offset="0x153E8">
<Vtx/>
</Array>
<Array Name="gGohmaRightKneeVtx" Count="48" Offset="0x15828">
<Vtx/>
</Array>
<Array Name="gGohmaLeftFeetBackVtx" Count="13" Offset="0x15C78">
<Vtx/>
</Array>
<Array Name="gGohmaRightFeetBackVtx" Count="13" Offset="0x15E58">
<Vtx/>
</Array>
<Array Name="gGohmaLeftThighVtx" Count="49" Offset="0x16038">
<Vtx/>
</Array>
<Array Name="gGohmaRightThighVtx" Count="49" Offset="0x16490">
<Vtx/>
</Array>
<Array Name="gGohmaEyeLidTopVtx" Count="29" Offset="0x168E8">
<Vtx/>
</Array>
<Array Name="gGohmaEyeLidBottomVtx" Count="29" Offset="0x16BD0">
<Vtx/>
</Array>
<Array Name="gGohmaMandiblesBodyVtx" Count="20" Offset="0x16EA8">
<Vtx/>
</Array>
<Array Name="gGohmaLeftShinVtx" Count="22" Offset="0x17108">
<Vtx/>
</Array>
<Array Name="gGohmaRightShinVtx" Count="22" Offset="0x173A0">
<Vtx/>
</Array>
<Array Name="gGohmaTail1Vtx" Count="19" Offset="0x17638">
<Vtx/>
</Array>
<Array Name="gGohmaTail2Vtx" Count="19" Offset="0x17830">
<Vtx/>
</Array>
<Array Name="gGohmaTail3Vtx" Count="14" Offset="0x17A28">
<Vtx/>
</Array>
<Array Name="gGohmaTail4Vtx" Count="25" Offset="0x17BF0">
<Vtx/>
</Array>
<Array Name="gGohmaLeftAntennaClawVtx" Count="26" Offset="0x17E68">
<Vtx/>
</Array>
<Array Name="gGohmaRightAntennaClawVtx" Count="23" Offset="0x18120">
<Vtx/>
</Array>
<!-- Display Lists-->
<DList Name="gGohmaBodyDL" Offset="0x13A60"/>
<DList Name="gGohmaBodyShellDL" Offset="0x14298"/>
@ -162,6 +266,9 @@
<Texture Name="gGohmaTitleCardTex" Format="ia8" Width="128" Height="120" Offset="0x19BA8"/>
<!-- Door -->
<Array Name="gGohmaDoorVtx" Count="12" Offset="0x1EB60">
<Vtx/>
</Array>
<DList Name="gGohmaDoorDL" Offset="0x1EC20"/>
<Collision Name="gGohmaDoorCol" Offset="0x1EDD0"/>
<Texture Name="gGohmaDoorTex" Format="rgba16" Width="32" Height="32" Offset="0x1EE00"/>

View File

@ -13,6 +13,51 @@
<Texture Name="gNiwGirlDress4Tex" Format="rgba16" Width="32" Height="32" Offset="0x67F8"/>
<Texture Name="gNiwGirlDress5Tex" Format="rgba16" Width="32" Height="32" Offset="0x87F8"/>
<Array Name="object_gr_Vtx_000390" Count="125" Offset="0x390">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_000B60" Count="18" Offset="0xB60">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_000C80" Count="20" Offset="0xC80">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_000DC0" Count="27" Offset="0xDC0">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_000F70" Count="40" Offset="0xF70">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_0011F0" Count="27" Offset="0x11F0">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_0013A0" Count="40" Offset="0x13A0">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_001620" Count="50" Offset="0x1620">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_001940" Count="30" Offset="0x1940">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_001B20" Count="29" Offset="0x1B20">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_001CF0" Count="18" Offset="0x1CF0">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_001E10" Count="6" Offset="0x1E10">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_001E70" Count="29" Offset="0x1E70">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_002040" Count="18" Offset="0x2040">
<Vtx/>
</Array>
<Array Name="object_gr_Vtx_002160" Count="6" Offset="0x2160">
<Vtx/>
</Array>
<DList Name="object_gr_0021C0_DL" Offset="0x21C0"/>
<DList Name="object_gr_0022E0_DL" Offset="0x22E0"/>
<DList Name="object_gr_002400_DL" Offset="0x2400"/>

View File

@ -15,11 +15,44 @@
<Animation Name="gHintNutsRunAnim" Offset="0x3128"/>
<!-- Deku Scrub flower -->
<Array Name="gHintNutsFlowerVtx" Count="22" Offset="0x1380">
<Vtx/>
</Array>
<DList Name="gHintNutsFlowerDL" Offset="0x14E0"/>
<!-- Deku Scrub Deku Nut (used by Nutsball) -->
<Array Name="gHintNutsNutVtx" Count="3" Offset="0x12C0">
<Vtx/>
</Array>
<DList Name="gHintNutsNutDL" Offset="0x12F0"/>
<Array Name="object_hintnuts_Vtx_000180" Count="22" Offset="0x180">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_0002E0" Count="6" Offset="0x2E0">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_000340" Count="15" Offset="0x340">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_000430" Count="5" Offset="0x430">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_000480" Count="7" Offset="0x480">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_0004F0" Count="7" Offset="0x4F0">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_000560" Count="5" Offset="0x560">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_0005B0" Count="68" Offset="0x5B0">
<Vtx/>
</Array>
<Array Name="object_hintnuts_Vtx_0009F0" Count="20" Offset="0x9F0">
<Vtx/>
</Array>
<DList Name="object_hintnuts_000B30_DL" Offset="0xB30"/>
<DList Name="object_hintnuts_000C68_DL" Offset="0xC68"/>
<DList Name="object_hintnuts_000D10_DL" Offset="0xD10"/>

View File

@ -53,6 +53,66 @@
<Texture Name="object_ik_Tex_0117E0" Format="ci8" Width="8" Height="16" Offset="0x117E0" TlutOffset="0xf630"/>
<Texture Name="object_ik_Tex_011860" Format="ci8" Width="16" Height="16" Offset="0x11860" TlutOffset="0xf630"/>
<Texture Name="object_ik_Tex_011960" Format="ia8" Width="16" Height="16" Offset="0x11960"/>
<Array Name="object_ik_Vtx_011A60" Count="44" Offset="0x11A60">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_011D20" Count="28" Offset="0x11D20">
<Vtx/>
</Array>
<Array Name="gIronKnuckleNabooruHelmetVtx" Count="90" Offset="0x11EE0">
<Vtx/>
</Array>
<Array Name="gIronKnuckleAxeVtx" Count="69" Offset="0x12480">
<Vtx/>
</Array>
<Array Name="gIronKnuckleShockedNabooruHeadVtx" Count="282" Offset="0x128D0">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_013A70" Count="29" Offset="0x13A70">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_013C40" Count="14" Offset="0x13C40">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_013D20" Count="31" Offset="0x13D20">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_013F10" Count="14" Offset="0x13F10">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_013FF0" Count="21" Offset="0x13FF0">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_014140" Count="21" Offset="0x14140">
<Vtx/>
</Array>
<Array Name="gIronKnuckleSplitHelmetLeftVtx" Count="55" Offset="0x14290">
<Vtx/>
</Array>
<Array Name="gIronKnuckleSplitHelmetRightVtx" Count="44" Offset="0x14600">
<Vtx/>
</Array>
<Array Name="gIronKnuckleArmorRivetAndSymbolVtx" Count="14" Offset="0x148C0">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_0149A0" Count="10" Offset="0x149A0">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_014A40" Count="47" Offset="0x14A40">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_014D30" Count="14" Offset="0x14D30">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_014E10" Count="14" Offset="0x14E10">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_014EF0" Count="24" Offset="0x14EF0">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_015070" Count="24" Offset="0x15070">
<Vtx/>
</Array>
<DList Name="object_ik_DL_0151F0" Offset="0x151F0"/>
<DList Name="object_ik_DL_015380" Offset="0x15380"/>
<DList Name="gIronKnuckleNabooruHelmetDL" Offset="0x154E0"/>
@ -80,9 +140,57 @@
<Texture Name="object_ik_Tex_0175B8" Format="ci8" Width="8" Height="16" Offset="0x175B8" TlutOffset="0x17288"/>
<Texture Name="object_ik_Tex_017638" Format="ci8" Width="8" Height="16" Offset="0x17638" TlutOffset="0x17288"/>
<Texture Name="object_ik_Tex_0176B8" Format="ci8" Width="16" Height="16" Offset="0x176B8" TlutOffset="0x17288"/>
<Array Name="gIronKnuckleHelmetVtx" Count="105" Offset="0x177B8">
<Vtx/>
</Array>
<Array Name="gIronKnuckleGerudoHeadVtx" Count="208" Offset="0x17E48">
<Vtx/>
</Array>
<Array Name="gIronKnuckleHelmetMarkingVtx" Count="51" Offset="0x18B48">
<Vtx/>
</Array>
<DList Name="gIronKnuckleHelmetDL" Offset="0x18E78"/>
<DList Name="gIronKnuckleGerudoHeadDL" Offset="0x19100"/>
<DList Name="gIronKnuckleHelmetMarkingDL" Offset="0x19E08"/>
<Array Name="object_ik_Vtx_019F38" Count="28" Offset="0x19F38">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01A0F8" Count="15" Offset="0x1A0F8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01A1E8" Count="33" Offset="0x1A1E8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01A3F8" Count="28" Offset="0x1A3F8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01A5B8" Count="15" Offset="0x1A5B8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01A6A8" Count="34" Offset="0x1A6A8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01A8C8" Count="62" Offset="0x1A8C8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01ACA8" Count="33" Offset="0x1ACA8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01AEB8" Count="25" Offset="0x1AEB8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01B048" Count="33" Offset="0x1B048">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01B258" Count="25" Offset="0x1B258">
<Vtx/>
</Array>
<Array Name="gIronKnuckleTorsoVtx" Count="79" Offset="0x1B3E8">
<Vtx/>
</Array>
<Array Name="object_ik_Vtx_01B8D8" Count="26" Offset="0x1B8D8">
<Vtx/>
</Array>
<DList Name="gIronKnuckleTorsoDL" Offset="0x1BA78"/>
<DList Name="object_ik_DL_01BE98" Offset="0x1BE98"/>
<DList Name="object_ik_DL_01C130" Offset="0x1C130"/>

View File

@ -1,28 +1,73 @@
<Root>
<File Name="object_jya_obj" Segment="6">
<Array Name="g1fliftVtx" Count="31" Offset="0x0">
<Vtx/>
</Array>
<DList Name="g1fliftDL" Offset="0x1F0"/>
<Collision Name="g1fliftCol" Offset="0x4A8"/>
<Texture Name="g1f1fiftTopTex" Format="rgba16" Width="32" Height="32" Offset="0x1B940"/>
<Texture Name="g1fLiftBottomTex" Format="rgba16" Width="32" Height="32" Offset="0x17540"/>
<Array Name="gAmishutterVtx" Count="41" Offset="0xBE10">
<Vtx/>
</Array>
<DList Name="gAmishutterDL" Offset="0xC0A0"/>
<Collision Name="gAmishutterCol" Offset="0xC4C8"/>
<Array Name="gBigMirror1Vtx" Count="18" Offset="0xBB50">
<Vtx/>
</Array>
<DList Name="gBigMirror1DL" Offset="0xBC70"/>
<Array Name="gBigMirror2Vtx" Count="4" Offset="0xBD40">
<Vtx/>
</Array>
<DList Name="gBigMirror2DL" Offset="0xBD80"/>
<Array Name="gBigMirror3Vtx" Count="53" Offset="0xDD20">
<Vtx/>
</Array>
<Array Name="gBigMirror4Vtx" Count="20" Offset="0xE070">
<Vtx/>
</Array>
<DList Name="gBigMirror3DL" Offset="0xE1B0"/>
<DList Name="gBigMirror4DL" Offset="0xE2D0"/>
<Texture Name="gBigMirrorGradientTex" Format="ia16" Width="8" Height="128" Offset="0x1AB40"/>
<Array Name="gBombchuiwaVtx" Count="25" Offset="0xE740">
<Vtx/>
</Array>
<DList Name="gBombchuiwaDL" Offset="0xE8D0"/>
<Array Name="gBombchuiwaLight2Vtx" Count="17" Offset="0xD820">
<Vtx/>
</Array>
<Array Name="gBombchuiwaLight1Vtx" Count="35" Offset="0xD930">
<Vtx/>
</Array>
<DList Name="gBombchuiwaLight1DL" Offset="0xDC40"/>
<DList Name="gBombchuiwaLight2DL" Offset="0xDB60"/>
<Array Name="gBombchuiwa2Vtx" Count="18" Offset="0x11890">
<Vtx/>
</Array>
<DList Name="gBombchuiwa2DL" Offset="0x119B0"/>
<Array Name="gBombiwaVtx" Count="16" Offset="0xE390">
<Vtx/>
</Array>
<DList Name="gBombiwaDL" Offset="0xE490"/>
<Array Name="gBombiwaEffectVtx" Count="61" Offset="0xE9F0">
<Vtx/>
</Array>
<DList Name="gBombiwaEffectDL" Offset="0xEDC0"/>
<Texture Name="gBombiwaRockTex" Format="rgba16" Width="32" Height="64" Offset="0x18B40"/>
<Texture Name="gBombiwaLight1Tex" Format="ia16" Width="32" Height="64" Offset="0x19B40"/>
<Collision Name="gBombiwaCol" Offset="0xE710"/>
<Array Name="gCobra1Vtx" Count="327" Offset="0xF240">
<Vtx/>
</Array>
<Array Name="gCobra2Vtx" Count="14" Offset="0x106B0">
<Vtx/>
</Array>
<DList Name="gCobra1DL" Offset="0x10790"/>
<DList Name="gCobra2DL" Offset="0x10C20"/>
<Collision Name="gCobraCol" Offset="0x1167C"/>
<Array Name="gCobra3Vtx" Count="18" Offset="0x116B0">
<Vtx/>
</Array>
<DList Name="gCobra3DL" Offset="0x117D0"/>
<Texture Name="gCobraMirrorStoneTex" Format="rgba16" Width="32" Height="32" Offset="0x13D40"/>
<Texture Name="gCobraMirrorBorderTex" Format="rgba16" Width="16" Height="16" Offset="0x15D40"/>
@ -30,18 +75,69 @@
<Texture Name="gCobraMirrorHandleTex" Format="rgba16" Width="32" Height="8" Offset="0x15F40"/>
<Texture Name="gCobraMirrorMirrorTex" Format="ia16" Width="32" Height="32" Offset="0x14540"/>
<Texture Name="gCobraMirrorToothTex" Format="ia8" Width="64" Height="32" Offset="0x14D40"/>
<Array Name="gKanaamiVtx" Count="21" Offset="0xEEB0">
<Vtx/>
</Array>
<DList Name="gKanaamiDL" Offset="0xF000"/>
<Collision Name="gKanaamiCol" Offset="0xF208"/>
<Texture Name="gKanaamiTopTex" Format="rgba16" Width="32" Height="64" Offset="0x12540"/>
<Texture Name="gKanaamiMiddleTex" Format="rgba16" Width="32" Height="32" Offset="0x13540"/>
<Array Name="gLiftVtx" Count="126" Offset="0xC500">
<Vtx/>
</Array>
<DList Name="gLiftDL" Offset="0xCCE0"/>
<Texture Name="gLiftChainTex" Format="rgba16" Width="16" Height="32" Offset="0x17D40"/>
<Texture Name="gLiftTopTex" Format="rgba16" Width="16" Height="64" Offset="0x18140"/>
<Texture Name="gLiftUpperChainTex" Format="rgba16" Width="8" Height="32" Offset="0x18940"/>
<Collision Name="gLiftCol" Offset="0xD7E8"/>
<Array Name="gMegami1Vtx" Count="40" Offset="0x5500">
<Vtx/>
</Array>
<DList Name="gMegami1DL" Offset="0x5780"/>
<Collision Name="GMegamiCol" Offset="0x5C4C"/>
<Array Name="gMegami2Vtx" Count="20" Offset="0xB8B8">
<Vtx/>
</Array>
<DList Name="gMegami2DL" Offset="0xB9F8"/>
<Array Name="gMegamiPiece1Vtx" Count="50" Offset="0x70E8">
<Vtx/>
</Array>
<Array Name="gMegamiPiece2Vtx" Count="65" Offset="0x7408">
<Vtx/>
</Array>
<Array Name="gMegamiPiece3Vtx" Count="60" Offset="0x7818">
<Vtx/>
</Array>
<Array Name="gMegamiPiece4Vtx" Count="66" Offset="0x7BD8">
<Vtx/>
</Array>
<Array Name="gMegamiPiece5Vtx" Count="44" Offset="0x7FF8">
<Vtx/>
</Array>
<Array Name="gMegamiPiece6Vtx" Count="73" Offset="0x82B8">
<Vtx/>
</Array>
<Array Name="gMegamiPiece7Vtx" Count="48" Offset="0x8748">
<Vtx/>
</Array>
<Array Name="gMegamiPiece8Vtx" Count="47" Offset="0x8A48">
<Vtx/>
</Array>
<Array Name="gMegamiPiece9Vtx" Count="30" Offset="0x8D38">
<Vtx/>
</Array>
<Array Name="gMegamiPiece10Vtx" Count="34" Offset="0x8F18">
<Vtx/>
</Array>
<Array Name="gMegamiPiece11Vtx" Count="48" Offset="0x9138">
<Vtx/>
</Array>
<Array Name="gMegamiPiece12Vtx" Count="44" Offset="0x9438">
<Vtx/>
</Array>
<Array Name="gMegamiPiece13Vtx" Count="35" Offset="0x96F8">
<Vtx/>
</Array>
<DList Name="gMegamiPiece1DL" Offset="0x9928"/>
<DList Name="gMegamiPiece2DL" Offset="0x9AC0"/>
<DList Name="gMegamiPiece3DL" Offset="0x9C80"/>
@ -74,6 +170,9 @@
<Texture Name="gMegamiLeftCrumble3Tex" Format="ci4" Width="64" Height="64" Offset="0x3D00" TlutOffset="0x4E0"/>
<Texture Name="gMegamiLeftCrumble4Tex" Format="ci4" Width="64" Height="64" Offset="0x4500" TlutOffset="0x4E0"/>
<Texture Name="gMegamiLeftCrumble5Tex" Format="ci4" Width="64" Height="64" Offset="0x0500" TlutOffset="0x4E0"/>
<Array Name="gZurerukabeVtx" Count="12" Offset="0x12280">
<Vtx/>
</Array>
<DList Name="gZurerukabeDL" Offset="0x12340"/>
<Collision Name="gZurerukabeCol" Offset="0x12508"/>

View File

@ -38,5 +38,47 @@
<Vtx/>
</Array>
<DList Name="gKm1DL" Offset="0x1890"/>
<Array Name="object_km1_Vtx_001DC8" Count="26" Offset="0x1DC8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_001F68" Count="34" Offset="0x1F68">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_002188" Count="42" Offset="0x2188">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_002428" Count="26" Offset="0x2428">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_0025C8" Count="34" Offset="0x25C8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_0027E8" Count="42" Offset="0x27E8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_002A88" Count="50" Offset="0x2A88">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_002DA8" Count="24" Offset="0x2DA8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_002F28" Count="41" Offset="0x2F28">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_0031B8" Count="50" Offset="0x31B8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_0034D8" Count="24" Offset="0x34D8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_003658" Count="41" Offset="0x3658">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_0038E8" Count="67" Offset="0x38E8">
<Vtx/>
</Array>
<Array Name="object_km1_Vtx_003D18" Count="31" Offset="0x3D18">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -59,5 +59,51 @@
<DList Name="object_kw1_DL_006478" Offset="0x6478"/>
<DList Name="object_kw1_DL_006620" Offset="0x6620"/>
<DList Name="object_kw1_DL_0067C0" Offset="0x67C0"/>
<Array Name="object_kw1_Vtx_002210" Count="160" Offset="0x2210">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_003448" Count="33" Offset="0x3448">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_003658" Count="32" Offset="0x3658">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_003858" Count="29" Offset="0x3858">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_003A28" Count="33" Offset="0x3A28">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_003C38" Count="32" Offset="0x3C38">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_003E38" Count="29" Offset="0x3E38">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_004008" Count="39" Offset="0x4008">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_004278" Count="23" Offset="0x4278">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_0043E8" Count="25" Offset="0x43E8">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_004578" Count="39" Offset="0x4578">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_0047E8" Count="23" Offset="0x47E8">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_004958" Count="25" Offset="0x4958">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_004AE8" Count="98" Offset="0x4AE8">
<Vtx/>
</Array>
<Array Name="object_kw1_Vtx_005108" Count="47" Offset="0x5108">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -56,6 +56,51 @@
<DList Name="gEnMbDL_013A30" Offset="0x13A30"/>
<DList Name="gEnMbDL_013DF0" Offset="0x13DF0"/>
<Array Name="object_mb_Vtx_0041C0" Count="37" Offset="0x41C0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_004410" Count="33" Offset="0x4410">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_004620" Count="34" Offset="0x4620">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_004840" Count="37" Offset="0x4840">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_004A90" Count="33" Offset="0x4A90">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_004CA0" Count="34" Offset="0x4CA0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_004EC0" Count="82" Offset="0x4EC0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_0053E0" Count="59" Offset="0x53E0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_005790" Count="36" Offset="0x5790">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_0059D0" Count="37" Offset="0x59D0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_005C20" Count="43" Offset="0x5C20">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_005ED0" Count="36" Offset="0x5ED0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_006110" Count="37" Offset="0x6110">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_006360" Count="71" Offset="0x6360">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_0067D0" Count="22" Offset="0x67D0">
<Vtx/>
</Array>
<DList Name="object_mb_007908_DL" Offset="0x7908"/>
<Texture Name="object_mb_008128_Tex" Format="rgba16" Width="16" Height="16" Offset="0x8128"/>
<Texture Name="object_mb_008328_Tex" Format="rgba16" Width="8" Height="32" Offset="0x8328"/>
@ -98,6 +143,51 @@
<Texture Name="object_mb_00F000_Tex" Format="rgba16" Width="16" Height="16" Offset="0xF000"/>
<Texture Name="object_mb_00F200_Tex" Format="rgba16" Width="4" Height="16" Offset="0xF200"/>
<Texture Name="object_mb_00F280_Tex" Format="rgba16" Width="4" Height="16" Offset="0xF280"/>
<Array Name="object_mb_Vtx_00F300" Count="37" Offset="0xF300">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_00F550" Count="50" Offset="0xF550">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_00F870" Count="36" Offset="0xF870">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_00FAB0" Count="37" Offset="0xFAB0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_00FD00" Count="50" Offset="0xFD00">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_010020" Count="36" Offset="0x10020">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_010260" Count="91" Offset="0x10260">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_010810" Count="60" Offset="0x10810">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_010BD0" Count="54" Offset="0x10BD0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_010F30" Count="64" Offset="0x10F30">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_011330" Count="43" Offset="0x11330">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_0115E0" Count="54" Offset="0x115E0">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_011940" Count="64" Offset="0x11940">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_011D40" Count="90" Offset="0x11D40">
<Vtx/>
</Array>
<Array Name="object_mb_Vtx_0122E0" Count="42" Offset="0x122E0">
<Vtx/>
</Array>
<Limb Name="object_mb_013FE0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_MB_013FE0" Offset="0x13FE0"/>
<Limb Name="object_mb_013FEC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_MB_013FEC" Offset="0x13FEC"/>
<Limb Name="object_mb_013FF8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_MB_013FF8" Offset="0x13FF8"/>

View File

@ -1,38 +1,92 @@
<Root>
<File Name="object_mizu_objects" Segment="6">
<Array Name="gWaterTempleFloatingPlatformOutsideCentralPillarVtx" Count="25" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gWaterTempleFloatingPlatformOutsideCentralPillarDL" Offset="0x0190"/>
<Collision Name="gWaterTempleFloatingPlatformOutsideCentralPillarCol" Offset="0x03F0"/>
<Array Name="gWaterTempleFloatingPlatformWestVtx" Count="38" Offset="0x420">
<Vtx/>
</Array>
<DList Name="gWaterTempleFloatingPlatformWestDL" Offset="0x0680"/>
<Collision Name="gWaterTempleFloatingPlatformWestCol" Offset="0x0998"/>
<Array Name="gWaterTempleFloatingPlatformInsideCentralPillarVtx" Count="37" Offset="0x9D0">
<Vtx/>
</Array>
<DList Name="gWaterTempleFloatingPlatformInsideCentralPillarDL" Offset="0x0C20"/>
<Collision Name="gWaterTempleFloatingPlatformInsideCentralPillarCol" Offset="0x0ED0"/>
<Array Name="gWaterTempleHookshotPlatformVtx" Count="47" Offset="0xF00">
<Vtx/>
</Array>
<DList Name="gWaterTempleHookshotPlatformDL" Offset="0x11F0"/>
<Collision Name="gWaterTempleHookshotPlatformCol" Offset="0x15F8"/>
<Array Name="gWaterTempleDragonStatueVtx" Count="132" Offset="0x25D0">
<Vtx/>
</Array>
<DList Name="gWaterTempleDragonStatueDL" Offset="0x2E10"/>
<Collision Name="gWaterTempleDragonStatueCol" Offset="0x3590"/>
<Array Name="object_mizu_objects_Vtx_001630" Count="20" Offset="0x1630">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsBwallDL_001770" Offset="0x1770"/>
<Array Name="object_mizu_objects_Vtx_0018F0" Count="20" Offset="0x18F0">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsBwallDL_001A30" Offset="0x1A30"/>
<Collision Name="gObjectMizuObjectsBwallCol_001C58" Offset="0x1C58"/>
<Array Name="object_mizu_objects_Vtx_001C90" Count="4" Offset="0x1C90">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsBwallDL_001CD0" Offset="0x1CD0"/>
<Collision Name="gObjectMizuObjectsBwallCol_001DE8" Offset="0x1DE8"/>
<Array Name="object_mizu_objects_Vtx_001E20" Count="39" Offset="0x1E20">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsBwallDL_002090" Offset="0x2090"/>
<Array Name="object_mizu_objects_Vtx_0021C0" Count="29" Offset="0x21C0">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsBwallDL_002390" Offset="0x2390"/>
<Collision Name="gObjectMizuObjectsBwallCol_0025A4" Offset="0x25A4"/>
<Texture Name="object_mizu_objects_Tex_0035C0" Format="rgba16" Width="32" Height="64" Offset="0x35C0"/>
<Array Name="gWaterTempleDoorLeftVtx" Count="16" Offset="0x45C0">
<Vtx/>
</Array>
<Array Name="gWaterTempleDoorRightVtx" Count="16" Offset="0x46C0">
<Vtx/>
</Array>
<Array Name="object_mizu_objects_Vtx_0047C0" Count="15" Offset="0x47C0">
<Vtx/>
</Array>
<DList Name="gWaterTempleDoorDL_0048B0" Offset="0x48B0"/>
<DList Name="gWaterTempleDoorLeftDL" Offset="0x4958"/>
<DList Name="gWaterTempleDoorRightDL" Offset="0x4A10"/>
<Array Name="object_mizu_objects_Vtx_004AD0" Count="5" Offset="0x4AD0">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsWaterDL_004B20" Offset="0x4B20"/>
<Array Name="object_mizu_objects_Vtx_005C00" Count="25" Offset="0x5C00">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsDoorShutterDL_005D90" Offset="0x5D90"/>
<Array Name="object_mizu_objects_Vtx_006E70" Count="25" Offset="0x6E70">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsDoorShutterDL_007000" Offset="0x7000"/>
<Array Name="object_mizu_objects_Vtx_0070E0" Count="5" Offset="0x70E0">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsShutterDL_007130" Offset="0x7130"/>
<Collision Name="gObjectMizuObjectsShutterCol_007250" Offset="0x7250"/>
<Array Name="object_mizu_objects_Vtx_007280" Count="5" Offset="0x7280">
<Vtx/>
</Array>
<DList Name="gObjectMizuObjectsShutterDL_0072D0" Offset="0x72D0"/>
<Collision Name="gObjectMizuObjectsShutterCol_0073F0" Offset="0x73F0"/>

View File

@ -22,6 +22,51 @@
<Texture Name="object_mm_001030_Tex" Format="ci8" Width="16" Height="16" Offset="0x1030" TlutOffset="0x730"/>
<Texture Name="object_mm_001130_Tex" Format="ci8" Width="32" Height="16" Offset="0x1130" TlutOffset="0x730"/>
<Texture Name="object_mm_001330_Tex" Format="ci8" Width="16" Height="16" Offset="0x1330" TlutOffset="0x730"/>
<Array Name="object_mm_Vtx_001430" Count="158" Offset="0x1430">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_001E10" Count="44" Offset="0x1E10">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_0020D0" Count="36" Offset="0x20D0">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_002310" Count="26" Offset="0x2310">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_0024B0" Count="44" Offset="0x24B0">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_002770" Count="36" Offset="0x2770">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_0029B0" Count="26" Offset="0x29B0">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_002B50" Count="72" Offset="0x2B50">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_002FD0" Count="38" Offset="0x2FD0">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_003230" Count="47" Offset="0x3230">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_003520" Count="37" Offset="0x3520">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_003770" Count="38" Offset="0x3770">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_0039D0" Count="47" Offset="0x39D0">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_003CC0" Count="37" Offset="0x3CC0">
<Vtx/>
</Array>
<Array Name="object_mm_Vtx_003F10" Count="16" Offset="0x3F10">
<Vtx/>
</Array>
<DList Name="object_mm_004010_DL" Offset="0x4010"/>
<DList Name="object_mm_004348_DL" Offset="0x4348"/>
<DList Name="object_mm_004A68_DL" Offset="0x4A68"/>

View File

@ -3,10 +3,132 @@
<!-- Morpha's Title Card -->
<Texture Name="gMorphaTitleCardTex" Format="ia8" Width="128" Height="80" Offset="0x1010"/>
<!-- DLists for Morpha's Core -->
<!-- Vertices and DLists for Morpha's Core -->
<Array Name="gMorphaCoreMembraneVtx" Count="15" Offset="0x5120">
<Vtx/>
</Array>
<Array Name="gMorphaCoreNucleusVtx" Count="15" Offset="0x5210">
<Vtx/>
</Array>
<DList Name="gMorphaCoreMembraneDL" Offset="0x5300"/>
<DList Name="gMorphaCoreNucleusDL" Offset="0x5438"/>
<!-- Vertices for Morpha's tentacle segments -->
<Array Name="gMorphaTentaclePart1Vtx" Count="14" Offset="0x5618">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart2Vtx" Count="7" Offset="0x56F8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart3Vtx" Count="7" Offset="0x5768">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart4Vtx" Count="7" Offset="0x57D8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart5Vtx" Count="7" Offset="0x5848">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart6Vtx" Count="7" Offset="0x58B8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart7Vtx" Count="7" Offset="0x5928">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart8Vtx" Count="7" Offset="0x5998">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart9Vtx" Count="7" Offset="0x5A08">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart10Vtx" Count="7" Offset="0x5A78">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart11Vtx" Count="7" Offset="0x5AE8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart12Vtx" Count="7" Offset="0x5B58">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart13Vtx" Count="7" Offset="0x5BC8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart14Vtx" Count="7" Offset="0x5C38">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart15Vtx" Count="7" Offset="0x5CA8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart16Vtx" Count="7" Offset="0x5D18">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart17Vtx" Count="7" Offset="0x5D88">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart18Vtx" Count="7" Offset="0x5DF8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart19Vtx" Count="7" Offset="0x5E68">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart20Vtx" Count="7" Offset="0x5ED8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart21Vtx" Count="7" Offset="0x5F48">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart22Vtx" Count="7" Offset="0x5FB8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart23Vtx" Count="7" Offset="0x6028">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart24Vtx" Count="7" Offset="0x6098">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart25Vtx" Count="7" Offset="0x6108">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart26Vtx" Count="7" Offset="0x6178">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart27Vtx" Count="7" Offset="0x61E8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart28Vtx" Count="7" Offset="0x6258">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart29Vtx" Count="7" Offset="0x62C8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart30Vtx" Count="7" Offset="0x6338">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart31Vtx" Count="7" Offset="0x63A8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart32Vtx" Count="7" Offset="0x6418">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart33Vtx" Count="7" Offset="0x6488">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart34Vtx" Count="7" Offset="0x64F8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart35Vtx" Count="7" Offset="0x6568">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart36Vtx" Count="7" Offset="0x65D8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart37Vtx" Count="7" Offset="0x6648">
<Vtx/>
</Array>
<Array Name="gMorphaTentacleVtx" Count="20" Offset="0x66B8">
<Vtx/>
</Array>
<!-- DLists for Morpha's tentacle segments -->
<DList Name="gMorphaTentacleBaseDL" Offset="0x6800"/>
<DList Name="gMorphaTentaclePart0DL" Offset="0x6878"/>
@ -53,19 +175,37 @@
<Texture Name="gMorphaWaterTex" Format="rgba16" Width="32" Height="32" Offset="0x7470"/>
<!-- DLists for Morpha's particles -->
<Array Name="gMorphaBubbleVtx" Count="4" Offset="0x100">
<Vtx/>
</Array>
<DList Name="gMorphaBubbleDL" Offset="0x140"/>
<DList Name="gMorphaDropletMaterialDL" Offset="0xF20"/>
<DList Name="gMorphaDropletModelDL" Offset="0xF70"/>
<Array Name="gMorphaDropletModelVtx" Count="4" Offset="0xF88">
<Vtx/>
</Array>
<DList Name="gMorphaWetSpotModelDL" Offset="0xFC8"/>
<Array Name="gMorphaWetSpotModelVtx" Count="3" Offset="0xFE0">
<Vtx/>
</Array>
<!-- DList for the water in the room and in front of the camera -->
<!-- Vertices and DList for the water in the room and in front of the camera -->
<Array Name="gMorphaWaterVtx" Count="4" Offset="0x3810">
<Vtx/>
</Array>
<DList Name="gMorphaWaterDL" Offset="0x3850"/>
<!-- Unused content -->
<!-- This is the dlist for EnVbBall for some reason. -->
<Array Name="object_mo_Vtx_0001B0" Count="58" Offset="0x1B0">
<Vtx/>
</Array>
<DList Name="gMorphaDL_000550" Offset="0x550"/>
<Array Name="object_mo_Vtx_000E80" Count="4" Offset="0xE80">
<Vtx/>
</Array>
<DList Name="gMorphaDL_000EC0" Offset="0xEC0"/>
<DList Name="gMorphaDL_000EF8" Offset="0xEF8"/>
<DList Name="gMorphaDL_007BF8" Offset="0x67F8"/>
@ -74,5 +214,10 @@
<Vtx/>
</Array>
<Texture Name="object_mo_000000_Tex" Format="ia8" Width="16" Height="16" Offset="0x0"/>
<Texture Name="object_mo_000680_Tex" Format="rgba16" Width="32" Height="32" Offset="0x680"/>
<Texture Name="object_mo_003920_Tex" Format="ia16" Width="32" Height="32" Offset="0x3920"/>
<Texture Name="object_mo_004120_Tex" Format="ia16" Width="32" Height="32" Offset="0x4120"/>
<Texture Name="object_mo_004920_Tex" Format="ia16" Width="32" Height="32" Offset="0x4920"/>
</File>
</Root>

View File

@ -3,10 +3,132 @@
<!-- Morpha's Title Card -->
<Texture Name="gMorphaTitleCardTex" Format="ia8" Width="128" Height="120" Offset="0x1010"/>
<!-- DLists for Morpha's Core -->
<!-- Vertices and DLists for Morpha's Core -->
<Array Name="gMorphaCoreMembraneVtx" Count="15" Offset="0x6520">
<Vtx/>
</Array>
<Array Name="gMorphaCoreNucleusVtx" Count="15" Offset="0x6610">
<Vtx/>
</Array>
<DList Name="gMorphaCoreMembraneDL" Offset="0x6700"/>
<DList Name="gMorphaCoreNucleusDL" Offset="0x6838"/>
<!-- Vertices for Morpha's tentacle segments -->
<Array Name="gMorphaTentaclePart1Vtx" Count="14" Offset="0x6A18">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart2Vtx" Count="7" Offset="0x6AF8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart3Vtx" Count="7" Offset="0x6B68">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart4Vtx" Count="7" Offset="0x6BD8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart5Vtx" Count="7" Offset="0x6C48">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart6Vtx" Count="7" Offset="0x6CB8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart7Vtx" Count="7" Offset="0x6D28">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart8Vtx" Count="7" Offset="0x6D98">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart9Vtx" Count="7" Offset="0x6E08">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart10Vtx" Count="7" Offset="0x6E78">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart11Vtx" Count="7" Offset="0x6EE8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart12Vtx" Count="7" Offset="0x6F58">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart13Vtx" Count="7" Offset="0x6FC8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart14Vtx" Count="7" Offset="0x7038">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart15Vtx" Count="7" Offset="0x70A8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart16Vtx" Count="7" Offset="0x7118">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart17Vtx" Count="7" Offset="0x7188">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart18Vtx" Count="7" Offset="0x71F8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart19Vtx" Count="7" Offset="0x7268">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart20Vtx" Count="7" Offset="0x72D8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart21Vtx" Count="7" Offset="0x7348">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart22Vtx" Count="7" Offset="0x73B8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart23Vtx" Count="7" Offset="0x7428">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart24Vtx" Count="7" Offset="0x7498">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart25Vtx" Count="7" Offset="0x7508">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart26Vtx" Count="7" Offset="0x7578">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart27Vtx" Count="7" Offset="0x75E8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart28Vtx" Count="7" Offset="0x7658">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart29Vtx" Count="7" Offset="0x76C8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart30Vtx" Count="7" Offset="0x7738">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart31Vtx" Count="7" Offset="0x77A8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart32Vtx" Count="7" Offset="0x7818">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart33Vtx" Count="7" Offset="0x7888">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart34Vtx" Count="7" Offset="0x78F8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart35Vtx" Count="7" Offset="0x7968">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart36Vtx" Count="7" Offset="0x79D8">
<Vtx/>
</Array>
<Array Name="gMorphaTentaclePart37Vtx" Count="7" Offset="0x7A48">
<Vtx/>
</Array>
<Array Name="gMorphaTentacleVtx" Count="20" Offset="0x7AB8">
<Vtx/>
</Array>
<!-- DLists for Morpha's tentacle segments -->
<DList Name="gMorphaTentacleBaseDL" Offset="0x7C00"/>
<DList Name="gMorphaTentaclePart0DL" Offset="0x7C78"/>
@ -52,20 +174,38 @@
<DList Name="gMorphaTentaclePart40DL" Offset="0x8838"/>
<Texture Name="gMorphaWaterTex" Format="rgba16" Width="32" Height="32" Offset="0x8870"/>
<!-- DLists for Morpha's particles -->
<!-- Vertices and DLists for Morpha's particles -->
<Array Name="gMorphaBubbleVtx" Count="4" Offset="0x100">
<Vtx/>
</Array>
<DList Name="gMorphaBubbleDL" Offset="0x140"/>
<DList Name="gMorphaDropletMaterialDL" Offset="0xF20"/>
<DList Name="gMorphaDropletModelDL" Offset="0xF70"/>
<Array Name="gMorphaDropletModelVtx" Count="4" Offset="0xF88">
<Vtx/>
</Array>
<DList Name="gMorphaWetSpotModelDL" Offset="0xFC8"/>
<Array Name="gMorphaWetSpotModelVtx" Count="3" Offset="0xFE0">
<Vtx/>
</Array>
<!-- DList for the water in the room and in front of the camera -->
<!-- Vertices and DList for the water in the room and in front of the camera -->
<Array Name="gMorphaWaterVtx" Count="4" Offset="0x4C10">
<Vtx/>
</Array>
<DList Name="gMorphaWaterDL" Offset="0x4C50"/>
<!-- Unused content -->
<Array Name="object_mo_Vtx_0001B0" Count="58" Offset="0x1B0">
<Vtx/>
</Array>
<!-- This is the dlist for EnVbBall for some reason. -->
<DList Name="gMorphaDL_000550" Offset="0x550"/>
<Array Name="object_mo_Vtx_000E80" Count="4" Offset="0xE80">
<Vtx/>
</Array>
<DList Name="gMorphaDL_000EC0" Offset="0xEC0"/>
<DList Name="gMorphaDL_000EF8" Offset="0xEF8"/>
<DList Name="gMorphaDL_007BF8" Offset="0x7BF8"/>
@ -74,5 +214,10 @@
<Vtx/>
</Array>
<Texture Name="object_mo_000000_Tex" Format="ia8" Width="16" Height="16" Offset="0x0"/>
<Texture Name="object_mo_000680_Tex" Format="rgba16" Width="32" Height="32" Offset="0x680"/>
<Texture Name="object_mo_004D20_Tex" Format="ia16" Width="32" Height="32" Offset="0x4D20"/>
<Texture Name="object_mo_005520_Tex" Format="ia16" Width="32" Height="32" Offset="0x5520"/>
<Texture Name="object_mo_005D20_Tex" Format="ia16" Width="32" Height="32" Offset="0x5D20"/>
</File>
</Root>

View File

@ -24,9 +24,57 @@
<!-- Projectile -->
<Texture Name="gOctorokProjectileTex" Format="rgba16" Width="16" Height="16" Offset="0x3150"/>
<Array Name="gOctorokProjectileVtx" Count="3" Offset="0x3350">
<Vtx/>
</Array>
<DList Name="gOctorokProjectileDL" Offset="0x3380"/>
<Array Name="object_okuta_Vtx_000DF0" Count="13" Offset="0xDF0">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_000EC0" Count="68" Offset="0xEC0">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001300" Count="13" Offset="0x1300">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_0013D0" Count="3" Offset="0x13D0">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001400" Count="5" Offset="0x1400">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001450" Count="4" Offset="0x1450">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001490" Count="3" Offset="0x1490">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_0014C0" Count="5" Offset="0x14C0">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001510" Count="4" Offset="0x1510">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001550" Count="3" Offset="0x1550">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001580" Count="5" Offset="0x1580">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_0015D0" Count="4" Offset="0x15D0">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001610" Count="3" Offset="0x1610">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001640" Count="5" Offset="0x1640">
<Vtx/>
</Array>
<Array Name="object_okuta_Vtx_001690" Count="4" Offset="0x1690">
<Vtx/>
</Array>
<DList Name="object_okuta_0016D0_DL" Offset="0x16D0"/>
<DList Name="object_okuta_0017C0_DL" Offset="0x17C0"/>
<DList Name="object_okuta_001A70_DL" Offset="0x1A70"/>

View File

@ -25,6 +25,68 @@
<Limb Name="gOwlLeftClawLimb" LimbType="Standard" Offset="0xC080"/>
<Limb Name="gOwlTailLimb" LimbType="Standard" Offset="0xC08C"/>
<!-- Default Owl Limb Vertices -->
<Array Name="gOwlHeadVtx" Count="155" Offset="0x15E0">
<Vtx/>
</Array>
<Array Name="gOwlRightEyebrowVtx" Count="12" Offset="0x1F90">
<Vtx/>
</Array>
<Array Name="gOwlLeftEyebrowVtx" Count="12" Offset="0x2050">
<Vtx/>
</Array>
<Array Name="gOwlNeckVtx" Count="44" Offset="0x2110">
<Vtx/>
</Array>
<Array Name="gOwlTorsoVtx" Count="82" Offset="0x23D0">
<Vtx/>
</Array>
<Array Name="gOwlUpperLeftWingVtx" Count="35" Offset="0x28F0">
<Vtx/>
</Array>
<Array Name="gOwlMiddleLeftWing2Vtx" Count="36" Offset="0x2B20">
<Vtx/>
</Array>
<Array Name="gOwlMiddleLeftWing1Vtx" Count="43" Offset="0x2D60">
<Vtx/>
</Array>
<Array Name="gOwlLowerLeftWingVtx" Count="36" Offset="0x3010">
<Vtx/>
</Array>
<Array Name="gOwlUpperRightWingVtx" Count="35" Offset="0x3250">
<Vtx/>
</Array>
<Array Name="gOwlMiddleRightWing2Vtx" Count="36" Offset="0x3480">
<Vtx/>
</Array>
<Array Name="gOwlMiddleRightWing1Vtx" Count="43" Offset="0x36C0">
<Vtx/>
</Array>
<Array Name="gOwlLowerRightWingVtx" Count="37" Offset="0x3970">
<Vtx/>
</Array>
<Array Name="gOwlRightClawVtx" Count="89" Offset="0x3BC0">
<Vtx/>
</Array>
<Array Name="gOwlLowerRightLegVtx" Count="21" Offset="0x4150">
<Vtx/>
</Array>
<Array Name="gOwlUpperRightLegVtx" Count="11" Offset="0x42A0">
<Vtx/>
</Array>
<Array Name="gOwlLeftClawVtx" Count="89" Offset="0x4350">
<Vtx/>
</Array>
<Array Name="gOwlLowerLeftLegVtx" Count="21" Offset="0x48E0">
<Vtx/>
</Array>
<Array Name="gOwlUpperLeftLegVtx" Count="11" Offset="0x4A30">
<Vtx/>
</Array>
<Array Name="gOwlTailVtx" Count="6" Offset="0x4AE0">
<Vtx/>
</Array>
<!-- Default Owl Limb DisplayLists -->
<DList Name="gOwlTorsoDL" Offset="0x4B40"/>
<DList Name="gOwlNeckDL" Offset="0x4CB8"/>
@ -76,6 +138,48 @@
<Texture Name="object_owl_009FA8_Tex" Format="rgba16" Width="64" Height="32" Offset="0x9FA8"/>
<Texture Name="object_owl_00AFA8_Tex" Format="rgba16" Width="32" Height="32" Offset="0xAFA8"/>
<Texture Name="object_owl_00B7A8_Tex" Format="rgba16" Width="32" Height="32" Offset="0xB7A8"/>
<Array Name="object_owl_Vtx_00C8B0" Count="12" Offset="0xC8B0">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00C970" Count="12" Offset="0xC970">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00CA30" Count="155" Offset="0xCA30">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00D3E0" Count="60" Offset="0xD3E0">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00D7A0" Count="17" Offset="0xD7A0">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00D8B0" Count="39" Offset="0xD8B0">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00DB20" Count="39" Offset="0xDB20">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00DD90" Count="89" Offset="0xDD90">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00E320" Count="21" Offset="0xE320">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00E470" Count="11" Offset="0xE470">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00E520" Count="89" Offset="0xE520">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00EAB0" Count="21" Offset="0xEAB0">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00EC00" Count="11" Offset="0xEC00">
<Vtx/>
</Array>
<Array Name="object_owl_Vtx_00ECB0" Count="6" Offset="0xECB0">
<Vtx/>
</Array>
<DList Name="object_owl_00ED10_DL" Offset="0xED10"/>
<DList Name="object_owl_00EEA0_DL" Offset="0xEEA0"/>
<DList Name="object_owl_00F030_DL" Offset="0xF030"/>

View File

@ -1,12 +1,24 @@
<Root>
<File Name="object_pu_box" Segment="6">
<DList Name="gBlockSmallDL" Offset="0x0"/>
<Array Name="gBlockSmallVtx" Count="24" Offset="0xC8">
<Vtx/>
</Array>
<Collision Name="gBlockSmallCol" Offset="0x350"/>
<DList Name="gBlockMediumDL" Offset="0x380"/>
<Array Name="gBlockMediumVtx" Count="24" Offset="0x448">
<Vtx/>
</Array>
<Collision Name="gBlockMediumCol" Offset="0x6D0"/>
<DList Name="gBlockTallDL" Offset="0x700"/>
<Array Name="gBlockTallVtx" Count="24" Offset="0x7C8">
<Vtx/>
</Array>
<Collision Name="gBlockTallCol" Offset="0xA50"/>
<DList Name="gBlockTallestDL" Offset="0xA80"/>
<Array Name="gBlockTallestVtx" Count="24" Offset="0xB48">
<Vtx/>
</Array>
<Collision Name="gBlockTallestCol" Offset="0x15D0"/>
<Texture Name="gBlockTex" Format="rgba16" Width="32" Height="32" Offset="0xCC8"/>
</File>

View File

@ -3,11 +3,17 @@
<Collision Name="object_spot01_matoyab_col" Offset="0x1C58"/>
<!-- Kakariko Guard Gate -->
<Array Name="gKakarikoGuardGateVtx" Count="4" Offset="0x1C90">
<Vtx/>
</Array>
<DList Name="gKakarikoGuardGateDL" Offset="0x1CD0"/>
<Texture Name="gKakarikoGuardGateMetalSidebarDL" Format="rgba16" Width="8" Height="64" Offset="0x1DE0"/>
<Collision Name="gKakarikoGuardGateCol" Offset="0x1DA8"/>
<!-- Kakariko Construction Site -->
<Array Name="gKakarikoConstructionSiteVtx" Count="154" Offset="0x888">
<Vtx/>
</Array>
<DList Name="gKakarikoConstructionSiteDL" Offset="0x1228"/>
<Texture Name="gKakarikoConstructionSiteTLUT" Format="rgba16" Width="16" Height="16" Offset="0x0"/>
<Blob Name="object_spot01_matoyab_000200_Blob" Size="0x8" Offset="0x200"/>

View File

@ -1,14 +1,23 @@
<Root>
<File Name="object_spot01_objects" Segment="6">
<!-- Kakariko Windmill Sails-->
<Array Name="gKakarikoWindmillSailsVtx" Count="16" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gKakarikoWindmillSailsDL" Offset="0x0100"/>
<Texture Name="gKakarikoWindmillSailsTex" Format="rgba16" Width="32" Height="64" Offset="0x1090"/>
<!-- Kakariko Well Arch -->
<Array Name="gKakarikoWellArchVtx" Count="39" Offset="0x1B0">
<Vtx/>
</Array>
<DList Name="gKakarikoWellArchDL" Offset="0x0420"/>
<Texture Name="gKakarikoWellArchTex" Format="rgba16" Width="32" Height="16" Offset="0x2090"/>
<!-- Kakariko Well Water -->
<Array Name="gKakarikoWellWaterVtx" Count="4" Offset="0x790">
<Vtx/>
</Array>
<DList Name="gKakarikoWellWaterDL" Offset="0x07D0"/>
<Texture Name="gKakarikoWellWaterTex" Format="rgba16" Width="32" Height="32" Offset="0x0890"/>
<Collision Name="gKakarikoWellArchCol" Offset="0x075C"/>

View File

@ -2,14 +2,35 @@
<File Name="object_spot02_objects" Segment="6">
<Texture Name="object_spot02_objects_Tex_000000" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Texture Name="object_spot02_objects_Tex_000800" Format="i8" Width="32" Height="64" Offset="0x800"/>
<Array Name="object_spot02_objects_Vtx_001000" Count="63" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_0013F0" Offset="0x13F0"/>
<Array Name="object_spot02_objects_Vtx_0095E0" Count="4" Offset="0x95E0">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_009620" Offset="0x9620"/>
<Array Name="object_spot02_objects_Vtx_0126B0" Count="4" Offset="0x126B0">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_0126F0" Offset="0x126F0"/>
<Array Name="object_spot02_objects_Vtx_012780" Count="4" Offset="0x12780">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_0127C0" Offset="0x127C0"/>
<Collision Name="object_spot02_objects_Col_0128D8" Offset="0x128D8"/>
<Array Name="object_spot02_objects_Vtx_012910" Count="20" Offset="0x12910">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_012A50" Offset="0x12A50"/>
<Collision Name="object_spot02_objects_Col_012BA4" Offset="0x12BA4"/>
<Array Name="object_spot02_objects_Vtx_012BD0" Count="22" Offset="0x12BD0">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_012D30" Offset="0x12D30"/>
<Array Name="object_spot02_objects_Vtx_012E30" Count="40" Offset="0x12E30">
<Vtx/>
</Array>
<DList Name="object_spot02_objects_DL_0130B0" Offset="0x130B0"/>
<Collision Name="object_spot02_objects_Col_0133EC" Offset="0x133EC"/>
<Texture Name="object_spot02_objects_Tex_013420" Format="i4" Width="32" Height="64" Offset="0x13420"/>

View File

@ -1,23 +1,38 @@
<Root>
<File Name="object_spot06_objects" Segment="6">
<!-- Lake Hylia Low Water -->
<Array Name="gLakeHyliaLowWaterVtx" Count="18" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gLakeHyliaLowWaterDL" Offset="0x0120"/>
<!-- Lake Hylia High Water -->
<Array Name="gLakeHyliaHighWaterVtx" Count="36" Offset="0x230">
<Vtx/>
</Array>
<DList Name="gLakeHyliaHighWaterDL" Offset="0x0470"/>
<Texture Name="gLakeHyliaWaterTex" Format="rgba16" Width="32" Height="32" Offset="0x25A0"/>
<!-- Lake Hylia Water Temple Gate -->
<Array Name="gLakeHyliaWaterTempleGateVtx" Count="4" Offset="0xDD0">
<Vtx/>
</Array>
<DList Name="gLakeHyliaWaterTempleGateDL" Offset="0x0E10"/>
<Texture Name="gLakeHyliaWaterTempleGateTex" Format="rgba16" Width="16" Height="64" Offset="0x05D0"/>
<Collision Name="gLakeHyliaWaterTempleGateCol" Offset="0x0EE8"/>
<!-- Lake Hylia Zora Shortcut Iceblock -->
<Array Name="gLakeHyliaZoraShortcutIceblockVtx" Count="4" Offset="0x1120">
<Vtx/>
</Array>
<DList Name="gLakeHyliaZoraShortcutIceblockDL" Offset="0x1160"/>
<Texture Name="gLakeHyliaZoraShortcutIceblockTex" Format="rgba16" Width="16" Height="16" Offset="0x0F20"/>
<Collision Name="gLakeHyliaZoraShortcutIceblockCol" Offset="0x1238"/>
<!-- Lake Hylia Water Temple Key -->
<Array Name="gLakeHyliaWaterTempleKeyVtx" Count="34" Offset="0x2270">
<Vtx/>
</Array>
<DList Name="gLakeHyliaWaterTempleKeyDL" Offset="0x2490"/>
<Texture Name="gLakeHyliaWaterTempleKeyTex" Format="rgba16" Width="32" Height="64" Offset="0x1270"/>
</File>

View File

@ -1,6 +1,9 @@
<Root>
<File Name="object_spot08_obj" Segment="6">
<!-- Zora's Fountain Ice Ramp -->
<Array Name="gZorasFountainIceRampVtx" Count="92" Offset="0x820">
<Vtx/>
</Array>
<DList Name="gZorasFountainIceRampDL" Offset="0xDE0"/>
<Texture Name="gZorasFountainIceRampTLUT" Format="rgba16" Width="4" Height="4" Offset="0x0"/>
<Texture Name="gZorasFountainIceRampLowerSideTex" Format="ci4" Width="64" Height="64" Offset="0x20" TlutOffset="0x0"/>
@ -10,6 +13,9 @@
<Collision Name="gZorasFountainIceRampCol" Offset="0x1904"/>
<!-- Zora's Fountain Iceberg -->
<Array Name="gZorasFountainIcebergVtx" Count="38" Offset="0x2970">
<Vtx/>
</Array>
<DList Name="gZorasFountainIcebergDL" Offset="0x2BD0"/>
<Texture Name="gZorasFountainIceberg1TLUT" Format="rgba16" Width="4" Height="4" Offset="0x1930"/>
<Texture Name="gZorasFountainIceberg2TLUT" Format="rgba16" Width="4" Height="4" Offset="0x1950"/>
@ -19,6 +25,9 @@
<Collision Name="gZorasFountainIcebergCol" Offset="0x2FD8"/>
<!-- Zora's Fountain Bombable Wall -->
<Array Name="gZorasFountainBombableWallVtx" Count="6" Offset="0x3838">
<Vtx/>
</Array>
<DList Name="gZorasFountainBombableWallDL" Offset="0x3898"/>
<Texture Name="gZorasFountainBombableWallTLUT" Format="rgba16" Width="4" Height="4" Offset="0x3010"/>
<Texture Name="gZorasFountainBombableWallTex" Format="ci4" Width="128" Height="32" Offset="0x3038" TlutOffset="0x3010"/>

View File

@ -1,10 +1,28 @@
<Root>
<File Name="object_spot09_obj" Segment="6">
<Array Name="gValleyBridgeSidesVtx" Count="16" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gValleyBridgeSidesDL" Offset="0x100"/>
<Array Name="gValleyBridgeChildVtx" Count="234" Offset="0x280">
<Vtx/>
</Array>
<Array Name="gValleyBrokenBridgeVtx" Count="272" Offset="0x2870">
<Vtx/>
</Array>
<DList Name="gValleyBrokenBridgeDL" Offset="0x3970"/>
<DList Name="gValleyBridgeChildDL" Offset="0x1120"/>
<DList Name="gCarpentersTentDL" Offset="0x7D40"/>
<Array Name="gValleyRepairedBridgeVtx" Count="204" Offset="0x5550">
<Vtx/>
</Array>
<DList Name="gValleyRepairedBridgeDL" Offset="0x6210"/>
<Array Name="gCarpentersTentVtx" Count="105" Offset="0x75B0">
<Vtx/>
</Array>
<Array Name="gCarpentersTentEntranceVtx" Count="16" Offset="0x7C40">
<Vtx/>
</Array>
<DList Name="gCarpentersTentDL" Offset="0x7D40"/>
<DList Name="gCarpentersTentEntranceDL" Offset="0x8010"/>
<Collision Name="gValleyObjects1Col" Offset="0x5520"/>
<Collision Name="gValleyObjects2Col" Offset="0x283C"/>

View File

@ -1,11 +1,17 @@
<Root>
<File Name="object_spot12_obj" Segment="6">
<!-- Gerudo Fortress Wasteland Gate -->
<Array Name="gGerudoFortressWastelandGateVtx" Count="8" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="gGerudoFortressWastelandGateDL" Offset="0x1080"/>
<Texture Name="gGerudoFortressWastelandGateTex" Format="rgba16" Width="16" Height="128" Offset="0x0"/>
<Collision Name="gGerudoFortressWastelandGateCol" Offset="0x11EC"/>
<!-- Gerudo Fortress GTG Shutter -->
<Array Name="gGerudoFortressGTGShutterVtx" Count="4" Offset="0x2220">
<Vtx/>
</Array>
<DList Name="gGerudoFortressGTGShutterDL" Offset="0x2260"/>
<Texture Name="gGerudoFortressGTGShutterTex" Format="rgba16" Width="32" Height="64" Offset="0x1220"/>
<Collision Name="gGerudoFortressGTGShutterCol" Offset="0x238C"/>

View File

@ -1,11 +1,17 @@
<Root>
<File Name="object_spot15_obj" Segment="6">
<!-- Lon Lon Milk Crate -->
<Array Name="gLonLonMilkCrateVtx" Count="24" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gLonLonMilkCrateDL" Offset="0x180"/>
<Texture Name="gLonLonMilkCrateTex" Format="rgba16" Width="32" Height="64" Offset="0xD00"/>
<Collision Name="gLonLonMilkCrateCol" Offset="0x348"/>
<!-- Lon Lon Corral Fence -->
<Array Name="gLonLonCorralFenceVtx" Count="4" Offset="0x380">
<Vtx/>
</Array>
<DList Name="gLonLonCorralFenceDL" Offset="0x3C0"/>
<Texture Name="gLonLonCorralFenceTex" Format="i4" Width="32" Height="128" Offset="0x500"/>
<Collision Name="gLonLonCorralFenceCol" Offset="0x4D0"/>

View File

@ -1,8 +1,17 @@
<Root>
<File Name="object_spot16_obj" Segment="6">
<Array Name="gDodongosCavernRockVtx" Count="47" Offset="0x800">
<Vtx/>
</Array>
<Array Name="gDodongosCavernRock2Vtx" Count="1" Offset="0xAF0">
<Vtx/>
</Array>
<DList Name="gDodongosCavernRockDL" Offset="0x0B00"/>
<DList Name="gDodongosCavernRock2DL" Offset="0x0C00"/>
<DList Name="gDodongosCavernRock3DL" Offset="0x0C20"/>
<Array Name="gDeathMountainRingVtx" Count="4" Offset="0x1430">
<Vtx/>
</Array>
<DList Name="gDeathMountainRingDL" Offset="0x1470"/>
<Texture Name="gDodongosCavernRockTex" Format="i4" Width="64" Height="64" Offset="0x0000"/>
<Texture Name="gDeathMountainRingTex" Format="ia16" Width="32" Height="32" Offset="0x0C30"/>

View File

@ -32,5 +32,22 @@
<Collision Name="gGoronCityVaseCol" Offset="0x2154"/>
<Collision Name="gGoronCityStatueSpearCol" Offset="0x261C"/>
<Collision Name="gGoronCityStatueCol" Offset="0x2FE4"/>
<!-- Vertices -->
<Array Name="gGoronCityVaseLidVtx" Count="21" Offset="0x0">
<Vtx/>
</Array>
<Array Name="gGoronCityDoorVtx" Count="8" Offset="0x3A0">
<Vtx/>
</Array>
<Array Name="gGoronCityVaseVtx" Count="147" Offset="0xF80">
<Vtx/>
</Array>
<Array Name="gGoronCityStatueSpearVtx" Count="31" Offset="0x2180">
<Vtx/>
</Array>
<Array Name="gGoronCityStatueVtx" Count="87" Offset="0x2650">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -52,5 +52,178 @@
<!-- Unused textures -->
<Texture Name="gBongoUnused1Tex" Format="rgba16" Width="8" Height="8" Offset="0x192B0"/>
<Texture Name="gBongoUnused2Tex" Format="rgba16" Width="16" Height="16" Offset="0x195B0"/>
<DList Name="object_sst_002850_DL" Offset="0x2850"/>
<DList Name="object_sst_002AB0_DL" Offset="0x2AB0"/>
<DList Name="object_sst_002D08_DL" Offset="0x2D08"/>
<DList Name="object_sst_002FF8_DL" Offset="0x2FF8"/>
<DList Name="object_sst_003258_DL" Offset="0x3258"/>
<DList Name="object_sst_0034A0_DL" Offset="0x34A0"/>
<DList Name="object_sst_0036E8_DL" Offset="0x36E8"/>
<DList Name="object_sst_003948_DL" Offset="0x3948"/>
<DList Name="object_sst_003B90_DL" Offset="0x3B90"/>
<DList Name="object_sst_003DD8_DL" Offset="0x3DD8"/>
<DList Name="object_sst_004038_DL" Offset="0x4038"/>
<DList Name="object_sst_004280_DL" Offset="0x4280"/>
<DList Name="object_sst_0044C8_DL" Offset="0x44C8"/>
<DList Name="object_sst_004798_DL" Offset="0x4798"/>
<DList Name="object_sst_0049F8_DL" Offset="0x49F8"/>
<Limb Name="object_sst_004C40_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C40" Offset="0x4C40"/>
<Limb Name="object_sst_004C4C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C4C" Offset="0x4C4C"/>
<Limb Name="object_sst_004C58_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C58" Offset="0x4C58"/>
<Limb Name="object_sst_004C64_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C64" Offset="0x4C64"/>
<Limb Name="object_sst_004C70_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C70" Offset="0x4C70"/>
<Limb Name="object_sst_004C7C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C7C" Offset="0x4C7C"/>
<Limb Name="object_sst_004C88_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C88" Offset="0x4C88"/>
<Limb Name="object_sst_004C94_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C94" Offset="0x4C94"/>
<Limb Name="object_sst_004CA0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CA0" Offset="0x4CA0"/>
<Limb Name="object_sst_004CAC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CAC" Offset="0x4CAC"/>
<Limb Name="object_sst_004CB8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CB8" Offset="0x4CB8"/>
<Limb Name="object_sst_004CC4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CC4" Offset="0x4CC4"/>
<Limb Name="object_sst_004CD0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CD0" Offset="0x4CD0"/>
<Limb Name="object_sst_004CDC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CDC" Offset="0x4CDC"/>
<Limb Name="object_sst_004CE8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CE8" Offset="0x4CE8"/>
<Limb Name="object_sst_004CF4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CF4" Offset="0x4CF4"/>
<Limb Name="object_sst_004D00_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D00" Offset="0x4D00"/>
<Limb Name="object_sst_004D0C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D0C" Offset="0x4D0C"/>
<Limb Name="object_sst_004D18_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D18" Offset="0x4D18"/>
<Limb Name="object_sst_004D24_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D24" Offset="0x4D24"/>
<Limb Name="object_sst_004D30_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D30" Offset="0x4D30"/>
<Limb Name="object_sst_004D3C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D3C" Offset="0x4D3C"/>
<Limb Name="object_sst_004D48_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D48" Offset="0x4D48"/>
<Limb Name="object_sst_004D54_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D54" Offset="0x4D54"/>
<Limb Name="object_sst_004D60_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D60" Offset="0x4D60"/>
<Limb Name="object_sst_004D6C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D6C" Offset="0x4D6C"/>
<DList Name="object_sst_007DC0_DL" Offset="0x7DC0"/>
<DList Name="object_sst_008020_DL" Offset="0x8020"/>
<DList Name="object_sst_008278_DL" Offset="0x8278"/>
<DList Name="object_sst_008568_DL" Offset="0x8568"/>
<DList Name="object_sst_0087C8_DL" Offset="0x87C8"/>
<DList Name="object_sst_008A10_DL" Offset="0x8A10"/>
<DList Name="object_sst_008C58_DL" Offset="0x8C58"/>
<DList Name="object_sst_008EB8_DL" Offset="0x8EB8"/>
<DList Name="object_sst_009100_DL" Offset="0x9100"/>
<DList Name="object_sst_009348_DL" Offset="0x9348"/>
<DList Name="object_sst_0095A8_DL" Offset="0x95A8"/>
<DList Name="object_sst_0097F0_DL" Offset="0x97F0"/>
<DList Name="object_sst_009A38_DL" Offset="0x9A38"/>
<DList Name="object_sst_009D08_DL" Offset="0x9D08"/>
<DList Name="object_sst_009F68_DL" Offset="0x9F68"/>
<Limb Name="object_sst_00A1B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1B0" Offset="0xA1B0"/>
<Limb Name="object_sst_00A1BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1BC" Offset="0xA1BC"/>
<Limb Name="object_sst_00A1C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1C8" Offset="0xA1C8"/>
<Limb Name="object_sst_00A1D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1D4" Offset="0xA1D4"/>
<Limb Name="object_sst_00A1E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1E0" Offset="0xA1E0"/>
<Limb Name="object_sst_00A1EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1EC" Offset="0xA1EC"/>
<Limb Name="object_sst_00A1F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1F8" Offset="0xA1F8"/>
<Limb Name="object_sst_00A204_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A204" Offset="0xA204"/>
<Limb Name="object_sst_00A210_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A210" Offset="0xA210"/>
<Limb Name="object_sst_00A21C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A21C" Offset="0xA21C"/>
<Limb Name="object_sst_00A228_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A228" Offset="0xA228"/>
<Limb Name="object_sst_00A234_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A234" Offset="0xA234"/>
<Limb Name="object_sst_00A240_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A240" Offset="0xA240"/>
<Limb Name="object_sst_00A24C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A24C" Offset="0xA24C"/>
<Limb Name="object_sst_00A258_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A258" Offset="0xA258"/>
<Limb Name="object_sst_00A264_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A264" Offset="0xA264"/>
<Limb Name="object_sst_00A270_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A270" Offset="0xA270"/>
<Limb Name="object_sst_00A27C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A27C" Offset="0xA27C"/>
<Limb Name="object_sst_00A288_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A288" Offset="0xA288"/>
<Limb Name="object_sst_00A294_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A294" Offset="0xA294"/>
<Limb Name="object_sst_00A2A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2A0" Offset="0xA2A0"/>
<Limb Name="object_sst_00A2AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2AC" Offset="0xA2AC"/>
<Limb Name="object_sst_00A2B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2B8" Offset="0xA2B8"/>
<Limb Name="object_sst_00A2C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2C4" Offset="0xA2C4"/>
<Limb Name="object_sst_00A2D0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2D0" Offset="0xA2D0"/>
<Limb Name="object_sst_00A2DC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2DC" Offset="0xA2DC"/>
<DList Name="object_sst_011370_DL" Offset="0x11370"/>
<DList Name="object_sst_011430_DL" Offset="0x11430"/>
<DList Name="object_sst_011518_DL" Offset="0x11518"/>
<DList Name="object_sst_011658_DL" Offset="0x11658"/>
<DList Name="object_sst_0119B0_DL" Offset="0x119B0"/>
<DList Name="object_sst_011AF8_DL" Offset="0x11AF8"/>
<DList Name="object_sst_011E50_DL" Offset="0x11E50"/>
<DList Name="object_sst_011F98_DL" Offset="0x11F98"/>
<DList Name="object_sst_012080_DL" Offset="0x12080"/>
<DList Name="object_sst_012168_DL" Offset="0x12168"/>
<DList Name="object_sst_012380_DL" Offset="0x12380"/>
<DList Name="object_sst_012438_DL" Offset="0x12438"/>
<DList Name="object_sst_0124F0_DL" Offset="0x124F0"/>
<DList Name="object_sst_0125A8_DL" Offset="0x125A8"/>
<DList Name="object_sst_012660_DL" Offset="0x12660"/>
<DList Name="object_sst_012718_DL" Offset="0x12718"/>
<DList Name="object_sst_0127D0_DL" Offset="0x127D0"/>
<DList Name="object_sst_012888_DL" Offset="0x12888"/>
<DList Name="object_sst_012940_DL" Offset="0x12940"/>
<DList Name="object_sst_012B28_DL" Offset="0x12B28"/>
<DList Name="object_sst_012CA0_DL" Offset="0x12CA0"/>
<DList Name="object_sst_012E88_DL" Offset="0x12E88"/>
<DList Name="object_sst_013000_DL" Offset="0x13000"/>
<DList Name="object_sst_0131E8_DL" Offset="0x131E8"/>
<DList Name="object_sst_013360_DL" Offset="0x13360"/>
<DList Name="object_sst_013548_DL" Offset="0x13548"/>
<DList Name="object_sst_0136C0_DL" Offset="0x136C0"/>
<DList Name="object_sst_0138A8_DL" Offset="0x138A8"/>
<DList Name="object_sst_013A20_DL" Offset="0x13A20"/>
<DList Name="object_sst_013C08_DL" Offset="0x13C08"/>
<Limb Name="object_sst_016580_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016580" Offset="0x16580"/>
<Limb Name="object_sst_01658C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01658C" Offset="0x1658C"/>
<Limb Name="object_sst_016598_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016598" Offset="0x16598"/>
<Limb Name="object_sst_0165A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165A4" Offset="0x165A4"/>
<Limb Name="object_sst_0165B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165B0" Offset="0x165B0"/>
<Limb Name="object_sst_0165BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165BC" Offset="0x165BC"/>
<Limb Name="object_sst_0165C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165C8" Offset="0x165C8"/>
<Limb Name="object_sst_0165D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165D4" Offset="0x165D4"/>
<Limb Name="object_sst_0165E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165E0" Offset="0x165E0"/>
<Limb Name="object_sst_0165EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165EC" Offset="0x165EC"/>
<Limb Name="object_sst_0165F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0165F8" Offset="0x165F8"/>
<Limb Name="object_sst_016604_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016604" Offset="0x16604"/>
<Limb Name="object_sst_016610_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016610" Offset="0x16610"/>
<Limb Name="object_sst_01661C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01661C" Offset="0x1661C"/>
<Limb Name="object_sst_016628_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016628" Offset="0x16628"/>
<Limb Name="object_sst_016634_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016634" Offset="0x16634"/>
<Limb Name="object_sst_016640_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016640" Offset="0x16640"/>
<Limb Name="object_sst_01664C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01664C" Offset="0x1664C"/>
<Limb Name="object_sst_016658_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016658" Offset="0x16658"/>
<Limb Name="object_sst_016664_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016664" Offset="0x16664"/>
<Limb Name="object_sst_016670_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016670" Offset="0x16670"/>
<Limb Name="object_sst_01667C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01667C" Offset="0x1667C"/>
<Limb Name="object_sst_016688_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016688" Offset="0x16688"/>
<Limb Name="object_sst_016694_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016694" Offset="0x16694"/>
<Limb Name="object_sst_0166A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166A0" Offset="0x166A0"/>
<Limb Name="object_sst_0166AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166AC" Offset="0x166AC"/>
<Limb Name="object_sst_0166B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166B8" Offset="0x166B8"/>
<Limb Name="object_sst_0166C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166C4" Offset="0x166C4"/>
<Limb Name="object_sst_0166D0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166D0" Offset="0x166D0"/>
<Limb Name="object_sst_0166DC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166DC" Offset="0x166DC"/>
<Limb Name="object_sst_0166E8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166E8" Offset="0x166E8"/>
<Limb Name="object_sst_0166F4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0166F4" Offset="0x166F4"/>
<Limb Name="object_sst_016700_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016700" Offset="0x16700"/>
<Limb Name="object_sst_01670C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01670C" Offset="0x1670C"/>
<Limb Name="object_sst_016718_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016718" Offset="0x16718"/>
<Limb Name="object_sst_016724_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016724" Offset="0x16724"/>
<Limb Name="object_sst_016730_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016730" Offset="0x16730"/>
<Limb Name="object_sst_01673C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01673C" Offset="0x1673C"/>
<Limb Name="object_sst_016748_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016748" Offset="0x16748"/>
<Limb Name="object_sst_016754_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016754" Offset="0x16754"/>
<Limb Name="object_sst_016760_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016760" Offset="0x16760"/>
<Limb Name="object_sst_01676C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01676C" Offset="0x1676C"/>
<Limb Name="object_sst_016778_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016778" Offset="0x16778"/>
<Limb Name="object_sst_016784_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_016784" Offset="0x16784"/>
<Texture Name="object_sst_016BE0_Tex" Format="rgba16" Width="32" Height="64" Offset="0x16BE0"/>
<Texture Name="object_sst_018130_Tex" Format="rgba16" Width="4" Height="8" Offset="0x18130"/>
<Texture Name="object_sst_018170_Tex" Format="rgba16" Width="8" Height="16" Offset="0x18170"/>
<Texture Name="object_sst_018270_Tex" Format="rgba16" Width="8" Height="16" Offset="0x18270"/>
<Texture Name="object_sst_018370_Tex" Format="rgba16" Width="4" Height="8" Offset="0x18370"/>
<Texture Name="object_sst_0183B0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x183B0"/>
<Texture Name="object_sst_0185B0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x185B0"/>
<Texture Name="object_sst_0186B0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x186B0"/>
<Texture Name="object_sst_0187B0_Tex" Format="rgba16" Width="16" Height="32" Offset="0x187B0"/>
<Texture Name="object_sst_018BB0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x18BB0"/>
<Texture Name="object_sst_018CB0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x18CB0"/>
<Texture Name="object_sst_018DB0_Tex" Format="rgba16" Width="8" Height="32" Offset="0x18DB0"/>
<Texture Name="object_sst_018FB0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x18FB0"/>
<Texture Name="object_sst_0191B0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x191B0"/>
<Texture Name="object_sst_019330_Tex" Format="rgba16" Width="4" Height="16" Offset="0x19330"/>
<Texture Name="object_sst_0193B0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x193B0"/>
</File>
</Root>

View File

@ -52,5 +52,178 @@
<!-- Unused textures -->
<Texture Name="gBongoUnused1Tex" Format="rgba16" Width="8" Height="8" Offset="0x01A6B0"/>
<Texture Name="gBongoUnused2Tex" Format="rgba16" Width="16" Height="16" Offset="0x01A9B0"/>
<DList Name="object_sst_002850_DL" Offset="0x2850"/>
<DList Name="object_sst_002AB0_DL" Offset="0x2AB0"/>
<DList Name="object_sst_002D08_DL" Offset="0x2D08"/>
<DList Name="object_sst_002FF8_DL" Offset="0x2FF8"/>
<DList Name="object_sst_003258_DL" Offset="0x3258"/>
<DList Name="object_sst_0034A0_DL" Offset="0x34A0"/>
<DList Name="object_sst_0036E8_DL" Offset="0x36E8"/>
<DList Name="object_sst_003948_DL" Offset="0x3948"/>
<DList Name="object_sst_003B90_DL" Offset="0x3B90"/>
<DList Name="object_sst_003DD8_DL" Offset="0x3DD8"/>
<DList Name="object_sst_004038_DL" Offset="0x4038"/>
<DList Name="object_sst_004280_DL" Offset="0x4280"/>
<DList Name="object_sst_0044C8_DL" Offset="0x44C8"/>
<DList Name="object_sst_004798_DL" Offset="0x4798"/>
<DList Name="object_sst_0049F8_DL" Offset="0x49F8"/>
<Limb Name="object_sst_004C40_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C40" Offset="0x4C40"/>
<Limb Name="object_sst_004C4C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C4C" Offset="0x4C4C"/>
<Limb Name="object_sst_004C58_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C58" Offset="0x4C58"/>
<Limb Name="object_sst_004C64_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C64" Offset="0x4C64"/>
<Limb Name="object_sst_004C70_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C70" Offset="0x4C70"/>
<Limb Name="object_sst_004C7C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C7C" Offset="0x4C7C"/>
<Limb Name="object_sst_004C88_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C88" Offset="0x4C88"/>
<Limb Name="object_sst_004C94_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004C94" Offset="0x4C94"/>
<Limb Name="object_sst_004CA0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CA0" Offset="0x4CA0"/>
<Limb Name="object_sst_004CAC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CAC" Offset="0x4CAC"/>
<Limb Name="object_sst_004CB8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CB8" Offset="0x4CB8"/>
<Limb Name="object_sst_004CC4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CC4" Offset="0x4CC4"/>
<Limb Name="object_sst_004CD0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CD0" Offset="0x4CD0"/>
<Limb Name="object_sst_004CDC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CDC" Offset="0x4CDC"/>
<Limb Name="object_sst_004CE8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CE8" Offset="0x4CE8"/>
<Limb Name="object_sst_004CF4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004CF4" Offset="0x4CF4"/>
<Limb Name="object_sst_004D00_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D00" Offset="0x4D00"/>
<Limb Name="object_sst_004D0C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D0C" Offset="0x4D0C"/>
<Limb Name="object_sst_004D18_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D18" Offset="0x4D18"/>
<Limb Name="object_sst_004D24_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D24" Offset="0x4D24"/>
<Limb Name="object_sst_004D30_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D30" Offset="0x4D30"/>
<Limb Name="object_sst_004D3C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D3C" Offset="0x4D3C"/>
<Limb Name="object_sst_004D48_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D48" Offset="0x4D48"/>
<Limb Name="object_sst_004D54_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D54" Offset="0x4D54"/>
<Limb Name="object_sst_004D60_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D60" Offset="0x4D60"/>
<Limb Name="object_sst_004D6C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_004D6C" Offset="0x4D6C"/>
<DList Name="object_sst_007DC0_DL" Offset="0x7DC0"/>
<DList Name="object_sst_008020_DL" Offset="0x8020"/>
<DList Name="object_sst_008278_DL" Offset="0x8278"/>
<DList Name="object_sst_008568_DL" Offset="0x8568"/>
<DList Name="object_sst_0087C8_DL" Offset="0x87C8"/>
<DList Name="object_sst_008A10_DL" Offset="0x8A10"/>
<DList Name="object_sst_008C58_DL" Offset="0x8C58"/>
<DList Name="object_sst_008EB8_DL" Offset="0x8EB8"/>
<DList Name="object_sst_009100_DL" Offset="0x9100"/>
<DList Name="object_sst_009348_DL" Offset="0x9348"/>
<DList Name="object_sst_0095A8_DL" Offset="0x95A8"/>
<DList Name="object_sst_0097F0_DL" Offset="0x97F0"/>
<DList Name="object_sst_009A38_DL" Offset="0x9A38"/>
<DList Name="object_sst_009D08_DL" Offset="0x9D08"/>
<DList Name="object_sst_009F68_DL" Offset="0x9F68"/>
<Limb Name="object_sst_00A1B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1B0" Offset="0xA1B0"/>
<Limb Name="object_sst_00A1BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1BC" Offset="0xA1BC"/>
<Limb Name="object_sst_00A1C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1C8" Offset="0xA1C8"/>
<Limb Name="object_sst_00A1D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1D4" Offset="0xA1D4"/>
<Limb Name="object_sst_00A1E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1E0" Offset="0xA1E0"/>
<Limb Name="object_sst_00A1EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1EC" Offset="0xA1EC"/>
<Limb Name="object_sst_00A1F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A1F8" Offset="0xA1F8"/>
<Limb Name="object_sst_00A204_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A204" Offset="0xA204"/>
<Limb Name="object_sst_00A210_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A210" Offset="0xA210"/>
<Limb Name="object_sst_00A21C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A21C" Offset="0xA21C"/>
<Limb Name="object_sst_00A228_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A228" Offset="0xA228"/>
<Limb Name="object_sst_00A234_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A234" Offset="0xA234"/>
<Limb Name="object_sst_00A240_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A240" Offset="0xA240"/>
<Limb Name="object_sst_00A24C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A24C" Offset="0xA24C"/>
<Limb Name="object_sst_00A258_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A258" Offset="0xA258"/>
<Limb Name="object_sst_00A264_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A264" Offset="0xA264"/>
<Limb Name="object_sst_00A270_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A270" Offset="0xA270"/>
<Limb Name="object_sst_00A27C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A27C" Offset="0xA27C"/>
<Limb Name="object_sst_00A288_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A288" Offset="0xA288"/>
<Limb Name="object_sst_00A294_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A294" Offset="0xA294"/>
<Limb Name="object_sst_00A2A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2A0" Offset="0xA2A0"/>
<Limb Name="object_sst_00A2AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2AC" Offset="0xA2AC"/>
<Limb Name="object_sst_00A2B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2B8" Offset="0xA2B8"/>
<Limb Name="object_sst_00A2C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2C4" Offset="0xA2C4"/>
<Limb Name="object_sst_00A2D0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2D0" Offset="0xA2D0"/>
<Limb Name="object_sst_00A2DC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_00A2DC" Offset="0xA2DC"/>
<DList Name="object_sst_011370_DL" Offset="0x11370"/>
<DList Name="object_sst_011430_DL" Offset="0x11430"/>
<DList Name="object_sst_011518_DL" Offset="0x11518"/>
<DList Name="object_sst_011658_DL" Offset="0x11658"/>
<DList Name="object_sst_0119B0_DL" Offset="0x119B0"/>
<DList Name="object_sst_011AF8_DL" Offset="0x11AF8"/>
<DList Name="object_sst_011E50_DL" Offset="0x11E50"/>
<DList Name="object_sst_011F98_DL" Offset="0x11F98"/>
<DList Name="object_sst_012080_DL" Offset="0x12080"/>
<DList Name="object_sst_012168_DL" Offset="0x12168"/>
<DList Name="object_sst_012380_DL" Offset="0x12380"/>
<DList Name="object_sst_012438_DL" Offset="0x12438"/>
<DList Name="object_sst_0124F0_DL" Offset="0x124F0"/>
<DList Name="object_sst_0125A8_DL" Offset="0x125A8"/>
<DList Name="object_sst_012660_DL" Offset="0x12660"/>
<DList Name="object_sst_012718_DL" Offset="0x12718"/>
<DList Name="object_sst_0127D0_DL" Offset="0x127D0"/>
<DList Name="object_sst_012888_DL" Offset="0x12888"/>
<DList Name="object_sst_012940_DL" Offset="0x12940"/>
<DList Name="object_sst_012B28_DL" Offset="0x12B28"/>
<DList Name="object_sst_012CA0_DL" Offset="0x12CA0"/>
<DList Name="object_sst_012E88_DL" Offset="0x12E88"/>
<DList Name="object_sst_013000_DL" Offset="0x13000"/>
<DList Name="object_sst_0131E8_DL" Offset="0x131E8"/>
<DList Name="object_sst_013360_DL" Offset="0x13360"/>
<DList Name="object_sst_013548_DL" Offset="0x13548"/>
<DList Name="object_sst_0136C0_DL" Offset="0x136C0"/>
<DList Name="object_sst_0138A8_DL" Offset="0x138A8"/>
<DList Name="object_sst_013A20_DL" Offset="0x13A20"/>
<DList Name="object_sst_013C08_DL" Offset="0x13C08"/>
<Limb Name="object_sst_017980_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017980" Offset="0x17980"/>
<Limb Name="object_sst_01798C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_01798C" Offset="0x1798C"/>
<Limb Name="object_sst_017998_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017998" Offset="0x17998"/>
<Limb Name="object_sst_0179A4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179A4" Offset="0x179A4"/>
<Limb Name="object_sst_0179B0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179B0" Offset="0x179B0"/>
<Limb Name="object_sst_0179BC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179BC" Offset="0x179BC"/>
<Limb Name="object_sst_0179C8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179C8" Offset="0x179C8"/>
<Limb Name="object_sst_0179D4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179D4" Offset="0x179D4"/>
<Limb Name="object_sst_0179E0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179E0" Offset="0x179E0"/>
<Limb Name="object_sst_0179EC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179EC" Offset="0x179EC"/>
<Limb Name="object_sst_0179F8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_0179F8" Offset="0x179F8"/>
<Limb Name="object_sst_017A04_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A04" Offset="0x17A04"/>
<Limb Name="object_sst_017A10_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A10" Offset="0x17A10"/>
<Limb Name="object_sst_017A1C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A1C" Offset="0x17A1C"/>
<Limb Name="object_sst_017A28_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A28" Offset="0x17A28"/>
<Limb Name="object_sst_017A34_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A34" Offset="0x17A34"/>
<Limb Name="object_sst_017A40_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A40" Offset="0x17A40"/>
<Limb Name="object_sst_017A4C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A4C" Offset="0x17A4C"/>
<Limb Name="object_sst_017A58_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A58" Offset="0x17A58"/>
<Limb Name="object_sst_017A64_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A64" Offset="0x17A64"/>
<Limb Name="object_sst_017A70_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A70" Offset="0x17A70"/>
<Limb Name="object_sst_017A7C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A7C" Offset="0x17A7C"/>
<Limb Name="object_sst_017A88_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A88" Offset="0x17A88"/>
<Limb Name="object_sst_017A94_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017A94" Offset="0x17A94"/>
<Limb Name="object_sst_017AA0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AA0" Offset="0x17AA0"/>
<Limb Name="object_sst_017AAC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AAC" Offset="0x17AAC"/>
<Limb Name="object_sst_017AB8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AB8" Offset="0x17AB8"/>
<Limb Name="object_sst_017AC4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AC4" Offset="0x17AC4"/>
<Limb Name="object_sst_017AD0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AD0" Offset="0x17AD0"/>
<Limb Name="object_sst_017ADC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017ADC" Offset="0x17ADC"/>
<Limb Name="object_sst_017AE8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AE8" Offset="0x17AE8"/>
<Limb Name="object_sst_017AF4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017AF4" Offset="0x17AF4"/>
<Limb Name="object_sst_017B00_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B00" Offset="0x17B00"/>
<Limb Name="object_sst_017B0C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B0C" Offset="0x17B0C"/>
<Limb Name="object_sst_017B18_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B18" Offset="0x17B18"/>
<Limb Name="object_sst_017B24_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B24" Offset="0x17B24"/>
<Limb Name="object_sst_017B30_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B30" Offset="0x17B30"/>
<Limb Name="object_sst_017B3C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B3C" Offset="0x17B3C"/>
<Limb Name="object_sst_017B48_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B48" Offset="0x17B48"/>
<Limb Name="object_sst_017B54_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B54" Offset="0x17B54"/>
<Limb Name="object_sst_017B60_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B60" Offset="0x17B60"/>
<Limb Name="object_sst_017B6C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B6C" Offset="0x17B6C"/>
<Limb Name="object_sst_017B78_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B78" Offset="0x17B78"/>
<Limb Name="object_sst_017B84_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_SST_017B84" Offset="0x17B84"/>
<Texture Name="object_sst_017FE0_Tex" Format="rgba16" Width="32" Height="64" Offset="0x17FE0"/>
<Texture Name="object_sst_019530_Tex" Format="rgba16" Width="4" Height="8" Offset="0x19530"/>
<Texture Name="object_sst_019570_Tex" Format="rgba16" Width="8" Height="16" Offset="0x19570"/>
<Texture Name="object_sst_019670_Tex" Format="rgba16" Width="8" Height="16" Offset="0x19670"/>
<Texture Name="object_sst_019770_Tex" Format="rgba16" Width="4" Height="8" Offset="0x19770"/>
<Texture Name="object_sst_0197B0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x197B0"/>
<Texture Name="object_sst_0199B0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x199B0"/>
<Texture Name="object_sst_019AB0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x19AB0"/>
<Texture Name="object_sst_019BB0_Tex" Format="rgba16" Width="16" Height="32" Offset="0x19BB0"/>
<Texture Name="object_sst_019FB0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x19FB0"/>
<Texture Name="object_sst_01A0B0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x1A0B0"/>
<Texture Name="object_sst_01A1B0_Tex" Format="rgba16" Width="8" Height="32" Offset="0x1A1B0"/>
<Texture Name="object_sst_01A3B0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x1A3B0"/>
<Texture Name="object_sst_01A5B0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x1A5B0"/>
<Texture Name="object_sst_01A730_Tex" Format="rgba16" Width="4" Height="16" Offset="0x1A730"/>
<Texture Name="object_sst_01A7B0_Tex" Format="rgba16" Width="16" Height="16" Offset="0x1A7B0"/>
</File>
</Root>

View File

@ -1,5 +1,8 @@
<Root>
<File Name="object_timeblock" Segment="6">
<Array Name="gSongOfTimeBlockVtx" Count="24" Offset="0x800">
<Vtx/>
</Array>
<DList Name="gSongOfTimeBlockDL" Offset="0x980"/>
<Texture Name="gSongOfTimeBlockTex" Format="i4" Width="64" Height="64" Offset="0x0"/>
<Collision Name="gSongOfTimeBlockCol" Offset="0xB30"/>

View File

@ -8,6 +8,60 @@
<!-- Dark Link DLists -->
<DList Name="sDarkLinkSheathDL" Offset="0x3748"/>
<Array Name="object_torch2_Vtx_000000" Count="21" Offset="0x0">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000150" Count="27" Offset="0x150">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000300" Count="34" Offset="0x300">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000520" Count="21" Offset="0x520">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000670" Count="27" Offset="0x670">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000820" Count="34" Offset="0x820">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000A40" Count="20" Offset="0xA40">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000B80" Count="21" Offset="0xB80">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_000CD0" Count="101" Offset="0xCD0">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_001320" Count="142" Offset="0x1320">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_001C00" Count="31" Offset="0x1C00">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_001DF0" Count="27" Offset="0x1DF0">
<Vtx/>
</Array>
<Array Name="sDarkLinkSheathVtx" Count="28" Offset="0x1FA0">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_002160" Count="79" Offset="0x2160">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_002650" Count="32" Offset="0x2650">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_002850" Count="27" Offset="0x2850">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_002A00" Count="21" Offset="0x2A00">
<Vtx/>
</Array>
<Array Name="object_torch2_Vtx_002B50" Count="8" Offset="0x2B50">
<Vtx/>
</Array>
<DList Name="object_torch2_002BD0_DL" Offset="0x2BD0"/>
<DList Name="object_torch2_002CD0_DL" Offset="0x2CD0"/>
<DList Name="object_torch2_002E10_DL" Offset="0x2E10"/>

View File

@ -5,8 +5,17 @@
<Texture Name="gSlidingBladeTrapBoltsTex" Format="i8" Width="32" Height="32" Offset="0x0400"/>
<Texture Name="gSlidingBladeTrapGradientTex" Format="i8" Width="32" Height="32" Offset="0x0800"/>
<Texture Name="gLandmineBillboardTex" Format="rgba16" Width="32" Height="32" Offset="0x1BD8"/>
<Array Name="gSlidingBladeTrapVtx" Count="128" Offset="0xC00">
<Vtx/>
</Array>
<DList Name="gSlidingBladeTrapDL" Offset="0x1400"/>
<DList Name="gLandmineBillboardDL" Offset="0x1630"/>
<Array Name="gLandmineBillboardVtx" Count="4" Offset="0x16C8">
<Vtx/>
</Array>
<DList Name="gUnusedSpikeDL" Offset="0x1710"/>
<Array Name="gUnusedSpikeVtx" Count="54" Offset="0x1878">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -76,6 +76,92 @@
<Texture Name="gTwinrovaKoumeJewelTex" Format="rgba16" Width="8" Height="8" Offset="0xCA38"/>
<Texture Name="gTwinrovaKoumeRobeTex" Format="rgba16" Width="16" Height="16" Offset="0xCAB8"/>
<!-- Kotake and Koume Vertices -->
<Array Name="gTwinrovaKotakeHeadInvisibleHairVtx" Count="157" Offset="0xCCB8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeHeadInvisibleHairVtx" Count="157" Offset="0xD688">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeBroomInvisibleHeadVtx" Count="42" Offset="0xE058">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeBroomInvisibleHeadVtx" Count="42" Offset="0xE2F8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeTeethVtx" Count="9" Offset="0xE598">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightShinVtx" Count="7" Offset="0xE628">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftShinVtx" Count="7" Offset="0xE698">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightFootVtx" Count="4" Offset="0xE708">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftFootVtx" Count="4" Offset="0xE748">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightHandVtx" Count="28" Offset="0xE788">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftHandVtx" Count="28" Offset="0xE948">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightHandVtx" Count="28" Offset="0xEB08">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftHandVtx" Count="28" Offset="0xECC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftFootVtx" Count="4" Offset="0xEE88">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightFootVtx" Count="4" Offset="0xEEC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftShinVtx" Count="7" Offset="0xEF08">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightShinVtx" Count="7" Offset="0xEF78">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeTeethVtx" Count="9" Offset="0xEFE8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeBroomVtx" Count="48" Offset="0xF078">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeHeadVtx" Count="159" Offset="0xF378">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeBroomVtx" Count="48" Offset="0xFD68">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeHeadVtx" Count="159" Offset="0x10068">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceHairVtx" Count="36" Offset="0x10A58">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeFireHairVtx" Count="19" Offset="0x10C98">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceBroomHeadOuterVtx" Count="7" Offset="0x10DC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceBroomHeadVtx" Count="17" Offset="0x10E38">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeFireBroomHeadOuterVtx" Count="10" Offset="0x10F48">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeFireBroomHeadVtx" Count="12" Offset="0x10FE8">
<Vtx/>
</Array>
<!-- Kotake and Koume DLs -->
<DList Name="gTwinrovaKotakeHeadInvisibleHairDL" Offset="0x110A8"/>
<DList Name="gTwinrovaKoumeHeadInvisibleHairDL" Offset="0x116A0"/>
@ -159,34 +245,58 @@
<!-- Assets for the smoke that comes off of the big flame -->
<Texture Name="gTwinrovaFireSmokeTex" Format="i4" Width="32" Height="64" Offset="0x18B60"/>
<Array Name="gTwinrovaFireSmokeVtx" Count="6" Offset="0x18F60">
<Vtx/>
</Array>
<DList Name="gTwinrovaFireSmokeDL" Offset="0x18FC0"/> <!-- Original name is "bt_firesmoke_modelT" -->
<!-- Assets for the big flame that appears when Koume's beam or Twinrova's fire attack hits the ground -->
<Texture Name="gTwinrovaBigFlameTex" Format="i8" Width="32" Height="32" Offset="0x19078"/>
<Texture Name="gTwinrovaBigFlameMaskTex" Format="i4" Width="32" Height="64" Offset="0x19478"/>
<Array Name="gTwinrovaBigFlameVtx" Count="12" Offset="0x19878">
<Vtx/>
</Array>
<DList Name="gTwinrovaBigFlameDL" Offset="0x19938"/> <!-- Original name is "bt_firewall_modelT" -->
<!-- Texture for both the pool of fire and the effect when the Mirror Shield has absorbed an attack. -->
<Texture Name="gTwinrovaFirePoolAndShieldChargeCenterTex" Format="i4" Width="32" Height="32" Offset="0x19A20"/>
<!-- DisplayList for the pool of fire that forms when Koume's beam or Twinrova's fire attack hits the ground -->
<!-- Vertices and DisplayList for the pool of fire that forms when Koume's beam or Twinrova's fire attack hits the ground -->
<Array Name="gTwinrovaFirePoolVtx" Count="18" Offset="0x19C20">
<Vtx/>
</Array>
<DList Name="gTwinrovaFirePoolDL" Offset="0x19D40"/> <!-- Original name is "bt_firefloor_modelT" -->
<!-- Assets for the fire effect that appears in various places -->
<Texture Name="gTwinrovaFireTex" Format="i4" Width="32" Height="64" Offset="0x19E00"/>
<Texture Name="gTwinrovaFireMaskTex" Format="i4" Width="32" Height="32" Offset="0x1A200"/>
<Array Name="gTwinrovaFireVtx" Count="3" Offset="0x1A400">
<Vtx/>
</Array>
<DList Name="gTwinrovaFireDL" Offset="0x1A430"/> <!-- Original name is "bt_fireball_modelT" -->
<!-- Assets for the magic particles that fly off of Koume, Kotake, and Twinrova's head -->
<Array Name="gTwinrovaMagicParticleModelVtx" Count="3" Offset="0x1A4F8">
<Vtx/>
</Array>
<DList Name="gTwinrovaMagicParticleMaterialDL" Offset="0x1A528"/>
<DList Name="gTwinrovaMagicParticleModelDL" Offset="0x1A5A8"/> <!-- Original name is "bt_hinoko_modelT" ("sparks") -->
<Texture Name="gTwinrovaMagicParticleTex" Format="i8" Width="16" Height="16" Offset="0x1A5C0"/>
<!-- DisplayList for the wave of cold air that comes from the ice pool and the effect that appears on the shield when the player reflects a beam -->
<!-- Vertices and DisplayList for the wave of cold air that comes from the ice pool and the effect that appears on the shield when the player reflects a beam -->
<Array Name="gTwinrovaEffectHaloVtx" Count="13" Offset="0x1A6C0">
<Vtx/>
</Array>
<DList Name="gTwinrovaEffectHaloDL" Offset="0x1A790"/> <!-- Original name is "bt_coolwave_modelT" -->
<!-- DisplayLists for various ice effects -->
<!-- Vertices and DisplayLists for various ice effects -->
<Array Name="gTwinrovaUnusedIceSteamCloudVtx" Count="4" Offset="0x1A860">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedIceSteamCloudDL" Offset="0x1A8A0"/>
<Array Name="gTwinrovaIceModelVtx" Count="3" Offset="0x1A968">
<Vtx/>
</Array>
<DList Name="gTwinrovaIceMaterialDL" Offset="0x1A998"/>
<DList Name="gTwinrovaIceSurroundingPlayerMaterialDL" Offset="0x1AA50"/>
<DList Name="gTwinrovaIceModelDL" Offset="0x1AB00"/> <!-- Original name is "bt_coolball_modelT" -->
@ -199,50 +309,95 @@
<Vtx/>
</Array>
<!-- DisplayList for the ice pool -->
<!-- Vertices and DisplayList for the ice pool -->
<Array Name="gTwinrovaIcePoolVtx" Count="10" Offset="0x1BB60">
<Vtx/>
</Array>
<DList Name="gTwinrovaIcePoolDL" Offset="0x1BC00"/> <!-- Not present in OoT3D, but MM's Wizrobe has an identical DList called "wiz_icefloor03_modelT" -->
<!-- Assets for the gleam on top of the ice pool-->
<Texture Name="gTwinrovaIcePoolShineTex" Format="i4" Width="32" Height="64" Offset="0x1BCA0"/>
<Texture Name="gTwinrovaIcePoolShineMaskTex" Format="i4" Width="16" Height="16" Offset="0x1C0A0"/>
<Array Name="gTwinrovaIcePoolShineVtx" Count="10" Offset="0x1C120">
<Vtx/>
</Array>
<DList Name="gTwinrovaIcePoolShineDL" Offset="0x1C1C0"/> <!-- Original name is "bt_icefloor03_pika_modelT" ("pika" = onomatopoeic for "sparkle, glisten") -->
<!-- Assets for the magical sigils that appear when Kotake/Koume spawn or charge up an attack. -->
<Texture Name="gTwinrovaKotakeMagicSigilMaskTex" Format="i4" Width="32" Height="64" Offset="0x1C2A0"/>
<Texture Name="gTwinrovaKotakeMagicSigilTex" Format="i4" Width="64" Height="64" Offset="0x1C6A0"/>
<Array Name="gTwinrovaKotakeMagicSigilVtx" Count="4" Offset="0x1CEA0">
<Vtx/>
</Array>
<DList Name="gTwinrovaKotakeMagicSigilDL" Offset="0x1CEE0"/> <!-- Original name is "btT_mahoujin_modelT" ("summoning circle; magic circle") -->
<Texture Name="gTwinrovaKoumeMagicSigilMaskTex" Format="i4" Width="32" Height="64" Offset="0x1CFA8"/>
<Texture Name="gTwinrovaKoumeMagicSigilTex" Format="i4" Width="64" Height="64" Offset="0x1D3A8"/>
<Array Name="gTwinrovaKoumeMagicSigilVtx" Count="4" Offset="0x1DBA8">
<Vtx/>
</Array>
<DList Name="gTwinrovaKoumeMagicSigilDL" Offset="0x1DBE8"/> <!-- Original name is "btU_mahoujin_modelT" -->
<!-- DisplayList for Koume and Kotake's beam -->
<!-- Vertices and DisplayList for Koume and Kotake's beam -->
<Array Name="gTwinrovaBeamVtx" Count="20" Offset="0x1DCB0">
<Vtx/>
</Array>
<DList Name="gTwinrovaBeamDL" Offset="0x1DDF0"/> <!-- Original name is "bt_firebeam_modelT" -->
<!-- DisplayLists for various Mirror Shield effects -->
<!-- Vertices and DisplayLists for various Mirror Shield effects -->
<Array Name="gTwinrovaMirrorShieldFireChargeCenterVtx" Count="9" Offset="0x1DED0">
<Vtx/>
</Array>
<Array Name="gTwinrovaMirrorShieldFireChargeSidesVtx" Count="12" Offset="0x1DF60">
<Vtx/>
</Array>
<DList Name="gTwinrovaMirrorShieldFireChargeCenterDL" Offset="0x1E020"/>
<DList Name="gTwinrovaMirrorShieldFireChargeSidesDL" Offset="0x1E0E0"/>
<Array Name="gTwinrovaMirrorShieldIceChargeCenterVtx" Count="9" Offset="0x1E170">
<Vtx/>
</Array>
<Array Name="gTwinrovaMirrorShieldIceChargeSidesVtx" Count="12" Offset="0x1E200">
<Vtx/>
</Array>
<DList Name="gTwinrovaMirrorShieldIceChargeCenterDL" Offset="0x1E2C0"/>
<DList Name="gTwinrovaMirrorShieldIceChargeSidesDL" Offset="0x1E3A0"/>
<!-- Texture for the clouds of ice -->
<Texture Name="gTwinrovaCloudMaskTex" Format="i4" Width="32" Height="32" Offset="0x1E430"/>
<!-- DisplayList for the effect that appears when the Mirror Shield absorbs Twinrova's attack, or when it unleashes a charged attack -->
<!-- Vertices and DisplayList for the effect that appears when the Mirror Shield absorbs Twinrova's attack, or when it unleashes a charged attack -->
<Array Name="gTwinrovaShieldAbsorbAndReflectEffectVtx" Count="60" Offset="0x1E630">
<Vtx/>
</Array>
<DList Name="gTwinrovaShieldAbsorbAndReflectEffectDL" Offset="0x1E9F0"/> <!-- Original name is "btW_bacuuuum_modelT" -->
<!-- Texture of a circle, used for the spawn portal shadow and the circle of light -->
<Texture Name="gTwinrovaCircleTex" Format="i8" Width="16" Height="16" Offset="0x1EB28"/>
<!-- DisplayList for the "shadow" under Koume and Kotake's spawn portal -->
<!-- Vertices and DisplayList for the "shadow" under Koume and Kotake's spawn portal -->
<Array Name="gTwinrovaSpawnPortalShadowVtx" Count="4" Offset="0x1EC28">
<Vtx/>
</Array>
<DList Name="gTwinrovaSpawnPortalShadowDL" Offset="0x1EC68"/> <!-- Original name is "bt_under_mjin_modelT" -->
<!-- Texture for the light pillar and the halo that appear when Twinrova is defeated -->
<Texture Name="gTwinrovaLightPillarAndHaloTex" Format="i4" Width="16" Height="16" Offset="0x1ECF0"/>
<!-- DisplayLists for various effects that appear when Twinrova is defeated -->
<!-- Vertices and DisplayLists for various effects that appear when Twinrova is defeated -->
<Array Name="gTwinrovaLightPillarVtx" Count="20" Offset="0x1ED70">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightPillarDL" Offset="0x1EEB0"/> <!-- Original name is "bt_heavenroad_modelT" -->
<Array Name="gTwinrovaLightRaysVtx" Count="40" Offset="0x1EFB8">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightRaysDL" Offset="0x1F238"/> <!-- Original name is "bt_gokou_modelT" ("halo; aureole; aureola") -->
<Array Name="gTwinrovaLightCircleVtx" Count="4" Offset="0x1F350">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightCircleDL" Offset="0x1F390"/> <!-- Original name is "bt_heavensgate_modelT" -->
<Array Name="gTwinrovaHaloVtx" Count="30" Offset="0x1F428">
<Vtx/>
</Array>
<DList Name="gTwinrovaHaloDL" Offset="0x1F608"/> <!-- Original name is "bt_angelring_model" -->
@ -292,6 +447,92 @@
<Texture Name="gTwinrovaRightPantLegTex" Format="rgba16" Width="16" Height="16" Offset="0x24910"/>
<Texture Name="gTwinrovaLeftPantLegTex" Format="rgba16" Width="16" Height="16" Offset="0x24B10"/>
<!-- Twinrova Limb Vertices -->
<Array Name="gTwinrovaLeftSleeveEndVtx" Count="8" Offset="0x24D10">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftSleeveStartVtx" Count="14" Offset="0x24D90">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftForearmVtx" Count="26" Offset="0x24E70">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftUpperArmVtx" Count="23" Offset="0x25010">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftShoulderVtx" Count="32" Offset="0x25180">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightSleeveEndVtx" Count="8" Offset="0x25380">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightSleeveStartVtx" Count="14" Offset="0x25400">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightForearmVtx" Count="26" Offset="0x254E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightUpperArmVtx" Count="23" Offset="0x25680">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightShoulderVtx" Count="32" Offset="0x257F0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBraidEndVtx" Count="20" Offset="0x259F0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBraidStartVtx" Count="10" Offset="0x25B30">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBraidEndVtx" Count="20" Offset="0x25BD0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBraidStartVtx" Count="10" Offset="0x25D10">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBreastVtx" Count="38" Offset="0x25DB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBreastVtx" Count="38" Offset="0x26010">
<Vtx/>
</Array>
<Array Name="gTwinrovaTorsoVtx" Count="103" Offset="0x26270">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash4Vtx" Count="10" Offset="0x268E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash3Vtx" Count="12" Offset="0x26980">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash2Vtx" Count="8" Offset="0x26A40">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash1Vtx" Count="10" Offset="0x26AC0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftFootVtx" Count="37" Offset="0x26B60">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftShinVtx" Count="26" Offset="0x26DB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftThighVtx" Count="17" Offset="0x26F50">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightFootVtx" Count="29" Offset="0x27060">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightShinVtx" Count="26" Offset="0x27230">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightThighVtx" Count="17" Offset="0x273D0">
<Vtx/>
</Array>
<Array Name="gTwinrovaPelvisVtx" Count="36" Offset="0x274E0">
<Vtx/>
</Array>
<!-- Twinrova Limb DisplayLists -->
<DList Name="gTwinrovaRightFootDL" Offset="0x27720"/>
<DList Name="gTwinrovaRightShinDL" Offset="0x27820"/>
@ -334,6 +575,59 @@
<Texture Name="gTwinrovaSmileTex" Format="ci8" Width="16" Height="16" Offset="0x2AE30" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaFingerTex" Format="ci8" Width="8" Height="16" Offset="0x2AF30" TlutOffset="0x2A020"/>
<!-- Twinrova Limb Vertices -->
<Array Name="gTwinrovaInvisibleLeftHairBunVtx" Count="5" Offset="0x2AFB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaInvisibleRightHairBunVtx" Count="5" Offset="0x2B000">
<Vtx/>
</Array>
<Array Name="gTwinrovaHeadVtx" Count="196" Offset="0x2B050">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftHandVtx" Count="32" Offset="0x2BC90">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBroomVtx" Count="22" Offset="0x2BE90">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBroomVtx" Count="22" Offset="0x2BFF0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightHandVtx" Count="32" Offset="0x2C150">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightHairBunVtx" Count="9" Offset="0x2C350">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftHairBunVtx" Count="9" Offset="0x2C3E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairIceJetVtx" Count="14" Offset="0x2C470">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairIceTrailVtx" Count="15" Offset="0x2C550">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairFireJetVtx" Count="14" Offset="0x2C640">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairFireTrailVtx" Count="18" Offset="0x2C720">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomIceJetVtx" Count="7" Offset="0x2C840">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomIceTrailVtx" Count="17" Offset="0x2C8B0">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomFireJetVtx" Count="10" Offset="0x2C9C0">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomFireTrailVtx" Count="9" Offset="0x2CA60">
<Vtx/>
</Array>
<!-- Twinrova Limb DisplayLists -->
<DList Name="gTwinrovaInvisibleLeftHairBunDL" Offset="0x2CAF0"/>
<DList Name="gTwinrovaInvisibleRightHairBunDL" Offset="0x2CB50"/>
@ -415,6 +709,9 @@
<Animation Name="gTwinrovaLaughAnim" Offset="0x38ED0"/> <!-- Original name is "btW_ufufu" ("tee-hee") -->
<!-- Assets for an unused red boulder -->
<Array Name="gTwinrovaUnusedBoulderVtx" Count="58" Offset="0x38EE0">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedBoulderDL" Offset="0x39280"/>
<Texture Name="gTwinrovaUnusedBoulderTex" Format="rgba16" Width="32" Height="32" Offset="0x393B0"/>
</File>

View File

@ -76,6 +76,92 @@
<Texture Name="gTwinrovaKoumeJewelTex" Format="rgba16" Width="8" Height="8" Offset="0xCA38"/>
<Texture Name="gTwinrovaKoumeRobeTex" Format="rgba16" Width="16" Height="16" Offset="0xCAB8"/>
<!-- Kotake and Koume Vertices -->
<Array Name="gTwinrovaKotakeHeadInvisibleHairVtx" Count="157" Offset="0xCCB8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeHeadInvisibleHairVtx" Count="157" Offset="0xD688">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeBroomInvisibleHeadVtx" Count="42" Offset="0xE058">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeBroomInvisibleHeadVtx" Count="42" Offset="0xE2F8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeTeethVtx" Count="9" Offset="0xE598">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightShinVtx" Count="7" Offset="0xE628">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftShinVtx" Count="7" Offset="0xE698">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightFootVtx" Count="4" Offset="0xE708">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftFootVtx" Count="4" Offset="0xE748">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightHandVtx" Count="28" Offset="0xE788">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftHandVtx" Count="28" Offset="0xE948">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightHandVtx" Count="28" Offset="0xEB08">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftHandVtx" Count="28" Offset="0xECC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftFootVtx" Count="4" Offset="0xEE88">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightFootVtx" Count="4" Offset="0xEEC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftShinVtx" Count="7" Offset="0xEF08">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightShinVtx" Count="7" Offset="0xEF78">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeTeethVtx" Count="9" Offset="0xEFE8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeBroomVtx" Count="48" Offset="0xF078">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeHeadVtx" Count="159" Offset="0xF378">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeBroomVtx" Count="48" Offset="0xFD68">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeHeadVtx" Count="159" Offset="0x10068">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceHairVtx" Count="36" Offset="0x10A58">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeFireHairVtx" Count="19" Offset="0x10C98">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceBroomHeadOuterVtx" Count="7" Offset="0x10DC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceBroomHeadVtx" Count="17" Offset="0x10E38">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeFireBroomHeadOuterVtx" Count="10" Offset="0x10F48">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeFireBroomHeadVtx" Count="12" Offset="0x10FE8">
<Vtx/>
</Array>
<!-- Kotake and Koume DLs -->
<DList Name="gTwinrovaKotakeHeadInvisibleHairDL" Offset="0x110A8"/>
<DList Name="gTwinrovaKoumeHeadInvisibleHairDL" Offset="0x116A0"/>
@ -106,7 +192,53 @@
<DList Name="gTwinrovaKotakeFireBroomHeadDL" Offset="0x14070"/>
<DList Name="gTwinrovaKotakeFireBroomHeadOuterDL" Offset="0x14158"/>
<!-- Kotake Vertices -->
<Array Name="gTwinrovaKotakeLeftBraidEndVtx" Count="21" Offset="0x14240">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftBraidStartVtx" Count="10" Offset="0x14390">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightBraidEndVtx" Count="21" Offset="0x14430">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightBraidStartVtx" Count="10" Offset="0x14580">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeNeckVtx" Count="24" Offset="0x14620">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveFrontVtx" Count="19" Offset="0x147A0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveEndVtx" Count="12" Offset="0x148D0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveMidVtx" Count="18" Offset="0x14990">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveStartVtx" Count="15" Offset="0x14AB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveFrontVtx" Count="19" Offset="0x14BA0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveEndVtx" Count="12" Offset="0x14CD0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveMidVtx" Count="18" Offset="0x14D90">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveStartVtx" Count="15" Offset="0x14EB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeTorsoVtx" Count="38" Offset="0x14FA0">
<Vtx/>
</Array>
<Blob Name="object_tw_Blob_015200" Size="0x60" Offset="0x15200"/>
<Array Name="gTwinrovaKotakePelvisVtx" Count="30" Offset="0x15260">
<Vtx/>
</Array>
<!-- Kotake DLs -->
<DList Name="gTwinrovaKotakeLeftBraidEndDL" Offset="0x15440"/>
@ -132,6 +264,53 @@
<Blob Name="object_tw_Blob_0176D0" Size="0x60" Offset="0x176D0"/>
<!-- Koume Vertices -->
<Array Name="gTwinrovaKoumeLeftBraidEndVtx" Count="21" Offset="0x16710">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftBraidStartVtx" Count="10" Offset="0x16860">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightBraidEndVtx" Count="21" Offset="0x16900">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightBraidStartVtx" Count="10" Offset="0x16A50">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeNeckVtx" Count="24" Offset="0x16AF0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveFrontVtx" Count="19" Offset="0x16C70">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveEndVtx" Count="12" Offset="0x16DA0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveMidVtx" Count="18" Offset="0x16E60">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveStartVtx" Count="15" Offset="0x16F80">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveFrontVtx" Count="19" Offset="0x17070">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveEndVtx" Count="12" Offset="0x171A0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveMidVtx" Count="18" Offset="0x17260">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveStartVtx" Count="15" Offset="0x17380">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeTorsoVtx" Count="38" Offset="0x17470">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumePelvisVtx" Count="30" Offset="0x17730">
<Vtx/>
</Array>
<!-- Koume DLs -->
<DList Name="gTwinrovaKoumeLeftBraidEndDL" Offset="0x17910"/>
<DList Name="gTwinrovaKoumeLeftBraidStartDL" Offset="0x17A08"/>
@ -155,34 +334,58 @@
<!-- Assets for the smoke that comes off of the big flame -->
<Texture Name="gTwinrovaFireSmokeTex" Format="i4" Width="32" Height="64" Offset="0x18B60"/>
<Array Name="gTwinrovaFireSmokeVtx" Count="6" Offset="0x18F60">
<Vtx/>
</Array>
<DList Name="gTwinrovaFireSmokeDL" Offset="0x18FC0"/> <!-- Original name is "bt_firesmoke_modelT" -->
<!-- Assets for the big flame that appears when Koume's beam or Twinrova's fire attack hits the ground -->
<Texture Name="gTwinrovaBigFlameTex" Format="i8" Width="32" Height="32" Offset="0x19078"/>
<Texture Name="gTwinrovaBigFlameMaskTex" Format="i4" Width="32" Height="64" Offset="0x19478"/>
<Array Name="gTwinrovaBigFlameVtx" Count="12" Offset="0x19878">
<Vtx/>
</Array>
<DList Name="gTwinrovaBigFlameDL" Offset="0x19938"/> <!-- Original name is "bt_firewall_modelT" -->
<!-- Texture for both the pool of fire and the effect when the Mirror Shield has absorbed an attack. -->
<Texture Name="gTwinrovaFirePoolAndShieldChargeCenterTex" Format="i4" Width="32" Height="32" Offset="0x19A20"/>
<!-- DisplayList for the pool of fire that forms when Koume's beam or Twinrova's fire attack hits the ground -->
<Array Name="gTwinrovaFirePoolVtx" Count="18" Offset="0x19C20">
<Vtx/>
</Array>
<DList Name="gTwinrovaFirePoolDL" Offset="0x19D40"/> <!-- Original name is "bt_firefloor_modelT" -->
<!-- Assets for the fire effect that appears in various places -->
<Texture Name="gTwinrovaFireTex" Format="i4" Width="32" Height="64" Offset="0x19E00"/>
<Texture Name="gTwinrovaFireMaskTex" Format="i4" Width="32" Height="32" Offset="0x1A200"/>
<Array Name="gTwinrovaFireVtx" Count="3" Offset="0x1A400">
<Vtx/>
</Array>
<DList Name="gTwinrovaFireDL" Offset="0x1A430"/> <!-- Original name is "bt_fireball_modelT" -->
<!-- Assets for the magic particles that fly off of Koume, Kotake, and Twinrova's head -->
<Array Name="gTwinrovaMagicParticleModelVtx" Count="3" Offset="0x1A4F8">
<Vtx/>
</Array>
<DList Name="gTwinrovaMagicParticleMaterialDL" Offset="0x1A528"/>
<DList Name="gTwinrovaMagicParticleModelDL" Offset="0x1A5A8"/> <!-- Original name is "bt_hinoko_modelT" ("sparks") -->
<Texture Name="gTwinrovaMagicParticleTex" Format="i8" Width="16" Height="16" Offset="0x1A5C0"/>
<!-- DisplayList for the wave of cold air that comes from the ice pool and the effect that appears on the shield when the player reflects a beam -->
<!-- Vertices and DisplayList for the wave of cold air that comes from the ice pool and the effect that appears on the shield when the player reflects a beam -->
<Array Name="gTwinrovaEffectHaloVtx" Count="13" Offset="0x1A6C0">
<Vtx/>
</Array>
<DList Name="gTwinrovaEffectHaloDL" Offset="0x1A790"/> <!-- Original name is "bt_coolwave_modelT" -->
<!-- DisplayLists for various ice effects -->
<!-- Vertices and DisplayLists for various ice effects -->
<Array Name="gTwinrovaUnusedIceSteamCloudVtx" Count="4" Offset="0x1A860">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedIceSteamCloudDL" Offset="0x1A8A0"/>
<Array Name="gTwinrovaIceModelVtx" Count="3" Offset="0x1A968">
<Vtx/>
</Array>
<DList Name="gTwinrovaIceMaterialDL" Offset="0x1A998"/>
<DList Name="gTwinrovaIceSurroundingPlayerMaterialDL" Offset="0x1AA50"/>
<DList Name="gTwinrovaIceModelDL" Offset="0x1AB00"/> <!-- Original name is "bt_coolball_modelT" -->
@ -195,50 +398,95 @@
<Vtx/>
</Array>
<!-- DisplayList for the ice pool -->
<!-- Vertices and DisplayList for the ice pool -->
<Array Name="gTwinrovaIcePoolVtx" Count="10" Offset="0x1BB60">
<Vtx/>
</Array>
<DList Name="gTwinrovaIcePoolDL" Offset="0x1BC00"/> <!-- Not present in OoT3D, but MM's Wizrobe has an identical DList called "wiz_icefloor03_modelT" -->
<!-- Assets for the gleam on top of the ice pool-->
<Texture Name="gTwinrovaIcePoolShineTex" Format="i4" Width="32" Height="64" Offset="0x1BCA0"/>
<Texture Name="gTwinrovaIcePoolShineMaskTex" Format="i4" Width="16" Height="16" Offset="0x1C0A0"/>
<Array Name="gTwinrovaIcePoolShineVtx" Count="10" Offset="0x1C120">
<Vtx/>
</Array>
<DList Name="gTwinrovaIcePoolShineDL" Offset="0x1C1C0"/> <!-- Original name is "bt_icefloor03_pika_modelT" ("pika" = onomatopoeic for "sparkle, glisten") -->
<!-- Assets for the magical sigils that appear when Kotake/Koume spawn or charge up an attack. -->
<Texture Name="gTwinrovaKotakeMagicSigilMaskTex" Format="i4" Width="32" Height="64" Offset="0x1C2A0"/>
<Texture Name="gTwinrovaKotakeMagicSigilTex" Format="i4" Width="64" Height="64" Offset="0x1C6A0"/>
<Array Name="gTwinrovaKotakeMagicSigilVtx" Count="4" Offset="0x1CEA0">
<Vtx/>
</Array>
<DList Name="gTwinrovaKotakeMagicSigilDL" Offset="0x1CEE0"/> <!-- Original name is "btT_mahoujin_modelT" ("summoning circle; magic circle") -->
<Texture Name="gTwinrovaKoumeMagicSigilMaskTex" Format="i4" Width="32" Height="64" Offset="0x1CFA8"/>
<Texture Name="gTwinrovaKoumeMagicSigilTex" Format="i4" Width="64" Height="64" Offset="0x1D3A8"/>
<Array Name="gTwinrovaKoumeMagicSigilVtx" Count="4" Offset="0x1DBA8">
<Vtx/>
</Array>
<DList Name="gTwinrovaKoumeMagicSigilDL" Offset="0x1DBE8"/> <!-- Original name is "btU_mahoujin_modelT" -->
<!-- DisplayList for Koume and Kotake's beam -->
<!-- Vertices and DisplayList for Koume and Kotake's beam -->
<Array Name="gTwinrovaBeamVtx" Count="20" Offset="0x1DCB0">
<Vtx/>
</Array>
<DList Name="gTwinrovaBeamDL" Offset="0x1DDF0"/> <!-- Original name is "bt_firebeam_modelT" -->
<!-- DisplayLists for various Mirror Shield effects -->
<!-- Vertices and DisplayLists for various Mirror Shield effects -->
<Array Name="gTwinrovaMirrorShieldFireChargeCenterVtx" Count="9" Offset="0x1DED0">
<Vtx/>
</Array>
<Array Name="gTwinrovaMirrorShieldFireChargeSidesVtx" Count="12" Offset="0x1DF60">
<Vtx/>
</Array>
<DList Name="gTwinrovaMirrorShieldFireChargeCenterDL" Offset="0x1E020"/>
<DList Name="gTwinrovaMirrorShieldFireChargeSidesDL" Offset="0x1E0E0"/>
<Array Name="gTwinrovaMirrorShieldIceChargeCenterVtx" Count="9" Offset="0x1E170">
<Vtx/>
</Array>
<Array Name="gTwinrovaMirrorShieldIceChargeSidesVtx" Count="12" Offset="0x1E200">
<Vtx/>
</Array>
<DList Name="gTwinrovaMirrorShieldIceChargeCenterDL" Offset="0x1E2C0"/>
<DList Name="gTwinrovaMirrorShieldIceChargeSidesDL" Offset="0x1E3A0"/>
<!-- Texture for the clouds of ice -->
<Texture Name="gTwinrovaCloudMaskTex" Format="i4" Width="32" Height="32" Offset="0x1E430"/>
<!-- DisplayList for the effect that appears when the Mirror Shield absorbs Twinrova's attack, or when it unleashes a charged attack -->
<!-- Vertices and DisplayList for the effect that appears when the Mirror Shield absorbs Twinrova's attack, or when it unleashes a charged attack -->
<Array Name="gTwinrovaShieldAbsorbAndReflectEffectVtx" Count="60" Offset="0x1E630">
<Vtx/>
</Array>
<DList Name="gTwinrovaShieldAbsorbAndReflectEffectDL" Offset="0x1E9F0"/> <!-- Original name is "btW_bacuuuum_modelT" -->
<!-- Texture of a circle, used for the spawn portal shadow and the circle of light -->
<Texture Name="gTwinrovaCircleTex" Format="i8" Width="16" Height="16" Offset="0x1EB28"/>
<!-- DisplayList for the "shadow" under Koume and Kotake's spawn portal -->
<!-- Vertices and DisplayList for the "shadow" under Koume and Kotake's spawn portal -->
<Array Name="gTwinrovaSpawnPortalShadowVtx" Count="4" Offset="0x1EC28">
<Vtx/>
</Array>
<DList Name="gTwinrovaSpawnPortalShadowDL" Offset="0x1EC68"/> <!-- Original name is "bt_under_mjin_modelT" -->
<!-- Texture for the light pillar and the halo that appear when Twinrova is defeated -->
<Texture Name="gTwinrovaLightPillarAndHaloTex" Format="i4" Width="16" Height="16" Offset="0x1ECF0"/>
<!-- DisplayLists for various effects that appear when Twinrova is defeated -->
<!-- Vertices and DisplayLists for various effects that appear when Twinrova is defeated -->
<Array Name="gTwinrovaLightPillarVtx" Count="20" Offset="0x1ED70">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightPillarDL" Offset="0x1EEB0"/> <!-- Original name is "bt_heavenroad_modelT" -->
<Array Name="gTwinrovaLightRaysVtx" Count="40" Offset="0x1EFB8">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightRaysDL" Offset="0x1F238"/> <!-- Original name is "bt_gokou_modelT" ("halo; aureole; aureola") -->
<Array Name="gTwinrovaLightCircleVtx" Count="4" Offset="0x1F350">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightCircleDL" Offset="0x1F390"/> <!-- Original name is "bt_heavensgate_modelT" -->
<Array Name="gTwinrovaHaloVtx" Count="30" Offset="0x1F428">
<Vtx/>
</Array>
<DList Name="gTwinrovaHaloDL" Offset="0x1F608"/> <!-- Original name is "bt_angelring_model" -->
@ -288,6 +536,92 @@
<Texture Name="gTwinrovaRightPantLegTex" Format="rgba16" Width="16" Height="16" Offset="0x24910"/>
<Texture Name="gTwinrovaLeftPantLegTex" Format="rgba16" Width="16" Height="16" Offset="0x24B10"/>
<!-- Twinrova Limb Vertices -->
<Array Name="gTwinrovaLeftSleeveEndVtx" Count="8" Offset="0x24D10">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftSleeveStartVtx" Count="14" Offset="0x24D90">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftForearmVtx" Count="26" Offset="0x24E70">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftUpperArmVtx" Count="23" Offset="0x25010">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftShoulderVtx" Count="32" Offset="0x25180">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightSleeveEndVtx" Count="8" Offset="0x25380">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightSleeveStartVtx" Count="14" Offset="0x25400">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightForearmVtx" Count="26" Offset="0x254E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightUpperArmVtx" Count="23" Offset="0x25680">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightShoulderVtx" Count="32" Offset="0x257F0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBraidEndVtx" Count="20" Offset="0x259F0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBraidStartVtx" Count="10" Offset="0x25B30">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBraidEndVtx" Count="20" Offset="0x25BD0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBraidStartVtx" Count="10" Offset="0x25D10">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBreastVtx" Count="38" Offset="0x25DB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBreastVtx" Count="38" Offset="0x26010">
<Vtx/>
</Array>
<Array Name="gTwinrovaTorsoVtx" Count="103" Offset="0x26270">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash4Vtx" Count="10" Offset="0x268E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash3Vtx" Count="12" Offset="0x26980">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash2Vtx" Count="8" Offset="0x26A40">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash1Vtx" Count="10" Offset="0x26AC0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftFootVtx" Count="37" Offset="0x26B60">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftShinVtx" Count="26" Offset="0x26DB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftThighVtx" Count="17" Offset="0x26F50">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightFootVtx" Count="29" Offset="0x27060">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightShinVtx" Count="26" Offset="0x27230">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightThighVtx" Count="17" Offset="0x273D0">
<Vtx/>
</Array>
<Array Name="gTwinrovaPelvisVtx" Count="36" Offset="0x274E0">
<Vtx/>
</Array>
<!-- Twinrova Limb DisplayLists -->
<DList Name="gTwinrovaRightFootDL" Offset="0x27720"/>
<DList Name="gTwinrovaRightShinDL" Offset="0x27820"/>
@ -330,6 +664,59 @@
<Texture Name="gTwinrovaSmileTex" Format="ci8" Width="16" Height="16" Offset="0x2AE30" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaFingerTex" Format="ci8" Width="8" Height="16" Offset="0x2AF30" TlutOffset="0x2A020"/>
<!-- Twinrova Limb Vertices -->
<Array Name="gTwinrovaInvisibleLeftHairBunVtx" Count="5" Offset="0x2AFB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaInvisibleRightHairBunVtx" Count="5" Offset="0x2B000">
<Vtx/>
</Array>
<Array Name="gTwinrovaHeadVtx" Count="196" Offset="0x2B050">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftHandVtx" Count="32" Offset="0x2BC90">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBroomVtx" Count="22" Offset="0x2BE90">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBroomVtx" Count="22" Offset="0x2BFF0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightHandVtx" Count="32" Offset="0x2C150">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightHairBunVtx" Count="9" Offset="0x2C350">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftHairBunVtx" Count="9" Offset="0x2C3E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairIceJetVtx" Count="14" Offset="0x2C470">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairIceTrailVtx" Count="15" Offset="0x2C550">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairFireJetVtx" Count="14" Offset="0x2C640">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairFireTrailVtx" Count="18" Offset="0x2C720">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomIceJetVtx" Count="7" Offset="0x2C840">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomIceTrailVtx" Count="17" Offset="0x2C8B0">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomFireJetVtx" Count="10" Offset="0x2C9C0">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomFireTrailVtx" Count="9" Offset="0x2CA60">
<Vtx/>
</Array>
<!-- Twinrova Limb DisplayLists -->
<DList Name="gTwinrovaInvisibleLeftHairBunDL" Offset="0x2CAF0"/>
<DList Name="gTwinrovaInvisibleRightHairBunDL" Offset="0x2CB50"/>
@ -411,6 +798,9 @@
<Animation Name="gTwinrovaLaughAnim" Offset="0x3A2D0"/> <!-- Original name is "btW_ufufu" ("tee-hee") -->
<!-- Assets for an unused red boulder -->
<Array Name="gTwinrovaUnusedBoulderVtx" Count="58" Offset="0x3A2E0">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedBoulderDL" Offset="0x3A680"/>
<Texture Name="gTwinrovaUnusedBoulderTex" Format="rgba16" Width="32" Height="32" Offset="0x3A7B0"/>
</File>

View File

@ -1,6 +1,9 @@
<Root>
<File Name="object_vase" Segment="6">
<DList Name="gUnusedVaseDL" Offset="0x0"/>
<Array Name="gUnusedVaseVtx" Count="63" Offset="0x1A0">
<Vtx/>
</Array>
<Texture Name="gUnusedVaseTopTex" Format="rgba16" Width="32" Height="32" Offset="0xD90"/>
<Texture Name="gUnusedVaseBodyTex" Format="rgba16" Width="32" Height="32" Offset="0x590"/>
</File>

View File

@ -10,6 +10,9 @@
<Animation Name="gWallmasterWaitAnim" Offset="0x9DB0"/>
<Animation Name="gWallmasterStandUpAnim" Offset="0xA054"/>
<Array Name="gWallmasterFingerVtx" Count="58" Offset="0x82E8">
<Vtx/>
</Array>
<DList Name="gWallmasterFingerDL" Offset="0x8688"/>
<Texture Name="gWallmasterExposedBoneTex" Format="rgba16" Width="8" Height="16" Offset="0x88F0"/>
@ -33,6 +36,48 @@
<Animation Name="gWallmasterMissAnim" Offset="0x3120"/>
<Array Name="object_wallmaster_Vtx_004210" Count="43" Offset="0x4210">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_0044C0" Count="31" Offset="0x44C0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_0046B0" Count="50" Offset="0x46B0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_0049D0" Count="29" Offset="0x49D0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_004BA0" Count="31" Offset="0x4BA0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_004D90" Count="51" Offset="0x4D90">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_0050C0" Count="35" Offset="0x50C0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_0052F0" Count="30" Offset="0x52F0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_0054D0" Count="51" Offset="0x54D0">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_005800" Count="34" Offset="0x5800">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_005A20" Count="31" Offset="0x5A20">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_005C10" Count="51" Offset="0x5C10">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_005F40" Count="36" Offset="0x5F40">
<Vtx/>
</Array>
<Array Name="object_wallmaster_Vtx_006180" Count="78" Offset="0x6180">
<Vtx/>
</Array>
<DList Name="object_wallmaster_006660_DL" Offset="0x6660"/>
<DList Name="object_wallmaster_006800_DL" Offset="0x6800"/>
<DList Name="object_wallmaster_006A20_DL" Offset="0x6A20"/>

View File

@ -76,5 +76,8 @@
<DList Name="object_wood02_DL_008350" Offset="0x8350"/>
<DList Name="object_wood02_DL_0083E0" Offset="0x83E0"/>
<DList Name="object_wood02_DL_0085C0" Offset="0x85C0"/>
<Array Name="object_wood02_Vtx_0085D0" Count="32" Offset="0x85D0">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -26,8 +26,121 @@
<Texture Name="gSheikEyeHalfClosedTex" Format="ci8" Width="32" Height="32" Offset="0x5AE0" TlutOffset="0x5460"/>
<Texture Name="gSheikEyeShutTex" Format="ci8" Width="32" Height="32" Offset="0x5EE0" TlutOffset="0x5460"/>
<Texture Name="gSheikEyeSquintingTex" Format="ci8" Width="32" Height="32" Offset="0x62E0" TlutOffset="0x5460"/>
<Array Name="gSheikHarpVtx" Count="96" Offset="0x10CF0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_0112F0" Count="136" Offset="0x112F0">
<Vtx/>
</Array>
<DList Name="gSheikHarpDL" Offset="0x11B70"/>
<DList Name="gSheikDL_011620" Offset="0x12040"/>
<Array Name="object_xc_Vtx_013350" Count="4" Offset="0x13350">
<Vtx/>
</Array>
<DList Name="gSheikDL_012970" Offset="0x13390"/>
<Texture Name="object_xc_005260_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x5260"/>
<Texture Name="object_xc_005660_Tex" Format="ci8" Width="8" Height="8" Offset="0x5660" TlutOffset="0x5260"/>
<Texture Name="object_xc_0056A0_Tex" Format="ci8" Width="8" Height="8" Offset="0x56A0" TlutOffset="0x5260"/>
<Texture Name="object_xc_0066E0_Tex" Format="ci8" Width="32" Height="32" Offset="0x66E0" TlutOffset="0x5460"/>
<Texture Name="object_xc_006AE0_Tex" Format="ci8" Width="32" Height="32" Offset="0x6AE0" TlutOffset="0x5260"/>
<Texture Name="object_xc_006EE0_Tex" Format="rgba16" Width="32" Height="32" Offset="0x6EE0"/>
<Texture Name="object_xc_0076E0_Tex" Format="ci8" Width="8" Height="16" Offset="0x76E0" TlutOffset="0x5260"/>
<Texture Name="object_xc_007760_Tex" Format="ci8" Width="8" Height="8" Offset="0x7760" TlutOffset="0x5260"/>
<Texture Name="object_xc_0077A0_Tex" Format="ci8" Width="16" Height="16" Offset="0x77A0" TlutOffset="0x5260"/>
<Texture Name="object_xc_0078A0_Tex" Format="ci8" Width="32" Height="32" Offset="0x78A0" TlutOffset="0x5460"/>
<Texture Name="object_xc_007CA0_Tex" Format="ci8" Width="16" Height="16" Offset="0x7CA0" TlutOffset="0x5260"/>
<Texture Name="object_xc_007DA0_Tex" Format="rgba16" Width="32" Height="32" Offset="0x7DA0"/>
<Texture Name="object_xc_0085A0_Tex" Format="ci8" Width="32" Height="64" Offset="0x85A0" TlutOffset="0x5260"/>
<Texture Name="object_xc_008DA0_Tex" Format="ci8" Width="32" Height="64" Offset="0x8DA0" TlutOffset="0x5260"/>
<Texture Name="object_xc_0095A0_Tex" Format="ci8" Width="16" Height="8" Offset="0x95A0" TlutOffset="0x5260"/>
<Texture Name="object_xc_009620_Tex" Format="ci8" Width="32" Height="16" Offset="0x9620" TlutOffset="0x5260"/>
<Array Name="object_xc_Vtx_009820" Count="332" Offset="0x9820">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00ACE0" Count="69" Offset="0xACE0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00B130" Count="31" Offset="0xB130">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00B320" Count="48" Offset="0xB320">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00B620" Count="69" Offset="0xB620">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00BA70" Count="31" Offset="0xBA70">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00BC60" Count="48" Offset="0xBC60">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00BF60" Count="143" Offset="0xBF60">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00C850" Count="37" Offset="0xC850">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00CAA0" Count="46" Offset="0xCAA0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00CD80" Count="53" Offset="0xCD80">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00D0D0" Count="37" Offset="0xD0D0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00D320" Count="46" Offset="0xD320">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00D600" Count="53" Offset="0xD600">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00D950" Count="31" Offset="0xD950">
<Vtx/>
</Array>
<DList Name="object_xc_00DB40_DL" Offset="0xDB40"/>
<DList Name="object_xc_00E130_DL" Offset="0xE130"/>
<DList Name="object_xc_00E848_DL" Offset="0xE848"/>
<DList Name="object_xc_00EA18_DL" Offset="0xEA18"/>
<DList Name="object_xc_00EC40_DL" Offset="0xEC40"/>
<DList Name="object_xc_00EE80_DL" Offset="0xEE80"/>
<DList Name="object_xc_00F050_DL" Offset="0xF050"/>
<DList Name="object_xc_00F278_DL" Offset="0xF278"/>
<DList Name="object_xc_00F4B8_DL" Offset="0xF4B8"/>
<DList Name="object_xc_00F600_DL" Offset="0xF600"/>
<DList Name="object_xc_00F7D0_DL" Offset="0xF7D0"/>
<DList Name="object_xc_00F9C0_DL" Offset="0xF9C0"/>
<DList Name="object_xc_00FB70_DL" Offset="0xFB70"/>
<DList Name="object_xc_00FD40_DL" Offset="0xFD40"/>
<DList Name="object_xc_00FF30_DL" Offset="0xFF30"/>
<Texture Name="object_xc_0100E0_TLUT" Format="rgba16" Width="48" Height="1" Offset="0x100E0"/>
<Texture Name="object_xc_010140_TLUT" Format="rgba16" Width="56" Height="1" Offset="0x10140"/>
<Texture Name="object_xc_0101B0_Tex" Format="ci8" Width="8" Height="8" Offset="0x101B0" TlutOffset="0x100E0"/>
<Texture Name="object_xc_0101F0_Tex" Format="ci8" Width="32" Height="32" Offset="0x101F0" TlutOffset="0x10140"/>
<Texture Name="object_xc_0105F0_Tex" Format="ci8" Width="16" Height="16" Offset="0x105F0" TlutOffset="0x100E0"/>
<Texture Name="object_xc_0106F0_Tex" Format="ci8" Width="8" Height="8" Offset="0x106F0" TlutOffset="0x100E0"/>
<Texture Name="object_xc_010730_Tex" Format="rgba16" Width="8" Height="8" Offset="0x10730"/>
<Texture Name="object_xc_0107B0_Tex" Format="i8" Width="8" Height="8" Offset="0x107B0"/>
<Texture Name="object_xc_0107F0_Tex" Format="rgba16" Width="16" Height="32" Offset="0x107F0"/>
<Texture Name="object_xc_010BF0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x10BF0"/>
<Texture Name="object_xc_012350_Tex" Format="i8" Width="64" Height="64" Offset="0x12350"/>
<Limb Name="object_xc_013410_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013410" Offset="0x13410"/>
<Limb Name="object_xc_01341C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_01341C" Offset="0x1341C"/>
<Limb Name="object_xc_013428_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013428" Offset="0x13428"/>
<Limb Name="object_xc_013434_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013434" Offset="0x13434"/>
<Limb Name="object_xc_013440_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013440" Offset="0x13440"/>
<Limb Name="object_xc_01344C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_01344C" Offset="0x1344C"/>
<Limb Name="object_xc_013458_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013458" Offset="0x13458"/>
<Limb Name="object_xc_013464_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013464" Offset="0x13464"/>
<Limb Name="object_xc_013470_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013470" Offset="0x13470"/>
<Limb Name="object_xc_01347C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_01347C" Offset="0x1347C"/>
<Limb Name="object_xc_013488_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013488" Offset="0x13488"/>
<Limb Name="object_xc_013494_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_013494" Offset="0x13494"/>
<Limb Name="object_xc_0134A0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_0134A0" Offset="0x134A0"/>
<Limb Name="object_xc_0134AC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_0134AC" Offset="0x134AC"/>
<Limb Name="object_xc_0134B8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_0134B8" Offset="0x134B8"/>
<Limb Name="object_xc_0134C4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_0134C4" Offset="0x134C4"/>
</File>
</Root>

View File

@ -26,8 +26,121 @@
<Texture Name="gSheikEyeHalfClosedTex" Format="ci8" Width="32" Height="32" Offset="0x50C0" TlutOffset="0x4A40"/>
<Texture Name="gSheikEyeShutTex" Format="ci8" Width="32" Height="32" Offset="0x54C0" TlutOffset="0x4A40"/>
<Texture Name="gSheikEyeSquintingTex" Format="ci8" Width="32" Height="32" Offset="0x58C0" TlutOffset="0x4A40"/>
<Array Name="gSheikHarpVtx" Count="96" Offset="0x102D0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_0108D0" Count="136" Offset="0x108D0">
<Vtx/>
</Array>
<DList Name="gSheikHarpDL" Offset="0x11150"/>
<DList Name="gSheikDL_011620" Offset="0x11620"/>
<Array Name="object_xc_Vtx_012930" Count="4" Offset="0x12930">
<Vtx/>
</Array>
<DList Name="gSheikDL_012970" Offset="0x12970"/>
<Texture Name="object_xc_004840_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x4840"/>
<Texture Name="object_xc_004C40_Tex" Format="ci8" Width="8" Height="8" Offset="0x4C40" TlutOffset="0x4840"/>
<Texture Name="object_xc_004C80_Tex" Format="ci8" Width="8" Height="8" Offset="0x4C80" TlutOffset="0x4840"/>
<Texture Name="object_xc_005CC0_Tex" Format="ci8" Width="32" Height="32" Offset="0x5CC0" TlutOffset="0x4A40"/>
<Texture Name="object_xc_0060C0_Tex" Format="ci8" Width="32" Height="32" Offset="0x60C0" TlutOffset="0x4840"/>
<Texture Name="object_xc_0064C0_Tex" Format="rgba16" Width="32" Height="32" Offset="0x64C0"/>
<Texture Name="object_xc_006CC0_Tex" Format="ci8" Width="8" Height="16" Offset="0x6CC0" TlutOffset="0x4840"/>
<Texture Name="object_xc_006D40_Tex" Format="ci8" Width="8" Height="8" Offset="0x6D40" TlutOffset="0x4840"/>
<Texture Name="object_xc_006D80_Tex" Format="ci8" Width="16" Height="16" Offset="0x6D80" TlutOffset="0x4840"/>
<Texture Name="object_xc_006E80_Tex" Format="ci8" Width="32" Height="32" Offset="0x6E80" TlutOffset="0x4A40"/>
<Texture Name="object_xc_007280_Tex" Format="ci8" Width="16" Height="16" Offset="0x7280" TlutOffset="0x4840"/>
<Texture Name="object_xc_007380_Tex" Format="rgba16" Width="32" Height="32" Offset="0x7380"/>
<Texture Name="object_xc_007B80_Tex" Format="ci8" Width="32" Height="64" Offset="0x7B80" TlutOffset="0x4840"/>
<Texture Name="object_xc_008380_Tex" Format="ci8" Width="32" Height="64" Offset="0x8380" TlutOffset="0x4840"/>
<Texture Name="object_xc_008B80_Tex" Format="ci8" Width="16" Height="8" Offset="0x8B80" TlutOffset="0x4840"/>
<Texture Name="object_xc_008C00_Tex" Format="ci8" Width="32" Height="16" Offset="0x8C00" TlutOffset="0x4840"/>
<Array Name="object_xc_Vtx_008E00" Count="332" Offset="0x8E00">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00A2C0" Count="69" Offset="0xA2C0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00A710" Count="31" Offset="0xA710">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00A900" Count="48" Offset="0xA900">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00AC00" Count="69" Offset="0xAC00">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00B050" Count="31" Offset="0xB050">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00B240" Count="48" Offset="0xB240">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00B540" Count="143" Offset="0xB540">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00BE30" Count="37" Offset="0xBE30">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00C080" Count="46" Offset="0xC080">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00C360" Count="53" Offset="0xC360">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00C6B0" Count="37" Offset="0xC6B0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00C900" Count="46" Offset="0xC900">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00CBE0" Count="53" Offset="0xCBE0">
<Vtx/>
</Array>
<Array Name="object_xc_Vtx_00CF30" Count="31" Offset="0xCF30">
<Vtx/>
</Array>
<DList Name="object_xc_00D120_DL" Offset="0xD120"/>
<DList Name="object_xc_00D710_DL" Offset="0xD710"/>
<DList Name="object_xc_00DE28_DL" Offset="0xDE28"/>
<DList Name="object_xc_00DFF8_DL" Offset="0xDFF8"/>
<DList Name="object_xc_00E220_DL" Offset="0xE220"/>
<DList Name="object_xc_00E460_DL" Offset="0xE460"/>
<DList Name="object_xc_00E630_DL" Offset="0xE630"/>
<DList Name="object_xc_00E858_DL" Offset="0xE858"/>
<DList Name="object_xc_00EA98_DL" Offset="0xEA98"/>
<DList Name="object_xc_00EBE0_DL" Offset="0xEBE0"/>
<DList Name="object_xc_00EDB0_DL" Offset="0xEDB0"/>
<DList Name="object_xc_00EFA0_DL" Offset="0xEFA0"/>
<DList Name="object_xc_00F150_DL" Offset="0xF150"/>
<DList Name="object_xc_00F320_DL" Offset="0xF320"/>
<DList Name="object_xc_00F510_DL" Offset="0xF510"/>
<Texture Name="object_xc_00F6C0_TLUT" Format="rgba16" Width="48" Height="1" Offset="0xF6C0"/>
<Texture Name="object_xc_00F720_TLUT" Format="rgba16" Width="56" Height="1" Offset="0xF720"/>
<Texture Name="object_xc_00F790_Tex" Format="ci8" Width="8" Height="8" Offset="0xF790" TlutOffset="0xF6C0"/>
<Texture Name="object_xc_00F7D0_Tex" Format="ci8" Width="32" Height="32" Offset="0xF7D0" TlutOffset="0xF720"/>
<Texture Name="object_xc_00FBD0_Tex" Format="ci8" Width="16" Height="16" Offset="0xFBD0" TlutOffset="0xF6C0"/>
<Texture Name="object_xc_00FCD0_Tex" Format="ci8" Width="8" Height="8" Offset="0xFCD0" TlutOffset="0xF6C0"/>
<Texture Name="object_xc_00FD10_Tex" Format="rgba16" Width="8" Height="8" Offset="0xFD10"/>
<Texture Name="object_xc_00FD90_Tex" Format="i8" Width="8" Height="8" Offset="0xFD90"/>
<Texture Name="object_xc_00FDD0_Tex" Format="rgba16" Width="16" Height="32" Offset="0xFDD0"/>
<Texture Name="object_xc_0101D0_Tex" Format="rgba16" Width="8" Height="16" Offset="0x101D0"/>
<Texture Name="object_xc_011930_Tex" Format="i8" Width="64" Height="64" Offset="0x11930"/>
<Limb Name="object_xc_0129F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_0129F0" Offset="0x129F0"/>
<Limb Name="object_xc_0129FC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_0129FC" Offset="0x129FC"/>
<Limb Name="object_xc_012A08_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A08" Offset="0x12A08"/>
<Limb Name="object_xc_012A14_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A14" Offset="0x12A14"/>
<Limb Name="object_xc_012A20_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A20" Offset="0x12A20"/>
<Limb Name="object_xc_012A2C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A2C" Offset="0x12A2C"/>
<Limb Name="object_xc_012A38_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A38" Offset="0x12A38"/>
<Limb Name="object_xc_012A44_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A44" Offset="0x12A44"/>
<Limb Name="object_xc_012A50_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A50" Offset="0x12A50"/>
<Limb Name="object_xc_012A5C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A5C" Offset="0x12A5C"/>
<Limb Name="object_xc_012A68_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A68" Offset="0x12A68"/>
<Limb Name="object_xc_012A74_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A74" Offset="0x12A74"/>
<Limb Name="object_xc_012A80_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A80" Offset="0x12A80"/>
<Limb Name="object_xc_012A8C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A8C" Offset="0x12A8C"/>
<Limb Name="object_xc_012A98_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012A98" Offset="0x12A98"/>
<Limb Name="object_xc_012AA4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_XC_012AA4" Offset="0x12AA4"/>
</File>
</Root>

View File

@ -18,15 +18,45 @@
<Texture Name="gYdanMarutaUnused2Tex" Format="ci8" Width="32" Height="64" Offset="0x79D8" TlutOffset="0x77D0"/>
<Texture Name="gYdanMaruta1TLUT" Format="rgba16" Width="16" Height="16" Offset="0x77D0"/>
<Blob Name="object_ydan_objects_0079D0_Blob" Size="0x8" Offset="0x79D0"/>
<Array Name="gDTUnknownWebVtx" Count="5" Offset="0x3800">
<Vtx/>
</Array>
<DList Name="gDTUnknownWebDL" Offset="0x3850"/>
<Array Name="gDTRisingPlatformsVtx" Count="82" Offset="0x4AF8">
<Vtx/>
</Array>
<DList Name="gDTRisingPlatformsDL" Offset="0x5018"/>
<Array Name="gDTWaterPlaneVtx" Count="9" Offset="0x5D50">
<Vtx/>
</Array>
<DList Name="gDTWaterPlaneDL" Offset="0x5DE0"/>
<Array Name="gDTWebWallVtx" Count="6" Offset="0x5EE0">
<Vtx/>
</Array>
<DList Name="gDTWebWallDL" Offset="0x5F40"/>
<Array Name="gDTWebFloorVtx" Count="19" Offset="0x6080">
<Vtx/>
</Array>
<DList Name="gDTWebFloorDL" Offset="0x61B0"/>
<Array Name="gDTFallingLadderVtx" Count="14" Offset="0x6490">
<Vtx/>
</Array>
<DList Name="gDTFallingLadderDL" Offset="0x6570"/>
<Array Name="gDTDungeonDoor1Vtx" Count="12" Offset="0x66E0">
<Vtx/>
</Array>
<DList Name="gDTDungeonDoor1DL" Offset="0x67A0"/>
<Array Name="gDTDungeonDoor2Vtx" Count="12" Offset="0x6850">
<Vtx/>
</Array>
<DList Name="gDTDungeonDoor2DL" Offset="0x6910"/>
<Array Name="gDTSlidingPlatformVtx" Count="20" Offset="0x73C8">
<Vtx/>
</Array>
<DList Name="gDTSlidingPlatformDL" Offset="0x7508"/>
<Array Name="gDTRollingSpikeTrapVtx" Count="187" Offset="0x81D8">
<Vtx/>
</Array>
<DList Name="gDTRollingSpikeTrapDL" Offset="0x8D88"/>
<Collision Name="gDTRisingPlatformsCol" Offset="0x5780"/>
<Collision Name="gDTWebWallCol" Offset="0x6050"/>

View File

@ -3,7 +3,13 @@
<Texture Name="gFloorTileEnemyBottomTex" Format="rgba16" Width="32" Height="32" Offset="0x0"/>
<Texture Name="gFloorTileEnemyTopTex" Format="rgba16" Width="32" Height="32" Offset="0xAF0"/>
<Texture Name="gFloorTileEnemyFragmentTex" Format="rgba16" Width="16" Height="16" Offset="0x12F0"/>
<Array Name="gFloorTileEnemyVtx" Count="23" Offset="0x800">
<Vtx/>
</Array>
<DList Name="gFloorTileEnemyDL" Offset="0x970"/>
<Array Name="gFloorTileEnemyFragmentVtx" Count="3" Offset="0xA30">
<Vtx/>
</Array>
<DList Name="gFloorTileEnemyFragmentDL" Offset="0xA60"/>
</File>
</Root>

View File

@ -24,6 +24,9 @@
<Texture Name="gZelda2MouthOpenTex" Format="ci8" Width="32" Height="32" Offset="0x5948" TlutOffset="0x2D90"/>
<!-- Ocarina of time -->
<Array Name="gZelda2OcarinaVtx" Count="21" Offset="0xB998">
<Vtx/>
</Array>
<DList Name="gZelda2OcarinaDL" Offset="0xBAE8"/>
<Texture Name="gZelda2OcarinaTex" Format="rgba16" Width="32" Height="16" Offset="0xB598"/>
@ -64,6 +67,9 @@
<Texture Name="object_zl2_003B48_Tex" Format="ci8" Width="16" Height="16" Offset="0x3B48" TlutOffset="0x2F50"/>
<Texture Name="object_zl2_004448_Tex" Format="ci8" Width="16" Height="16" Offset="0x4448" TlutOffset="0x2F50"/>
<Texture Name="object_zl2_006548_Tex" Format="ci8" Width="32" Height="16" Offset="0x6548" TlutOffset="0x2F50"/>
<Array Name="object_zl2_Vtx_006748" Count="360" Offset="0x6748">
<Vtx/>
</Array>
<DList Name="object_zl2_007DC8_DL" Offset="0x7DC8"/>
<Texture Name="object_zl2_009738_Tex" Format="ci8" Width="16" Height="32" Offset="0x9738" TlutOffset="0x95A0"/>
<Texture Name="object_zl2_009938_Tex" Format="ci8" Width="16" Height="16" Offset="0x9938" TlutOffset="0x9490"/>
@ -73,7 +79,43 @@
<Texture Name="object_zl2_009F78_Tex" Format="ci8" Width="8" Height="16" Offset="0x9F78" TlutOffset="0x95A0"/>
<Texture Name="object_zl2_009FF8_Tex" Format="ci8" Width="16" Height="16" Offset="0x9FF8" TlutOffset="0x9708"/>
<Texture Name="object_zl2_00A0F8_Tex" Format="ci8" Width="32" Height="32" Offset="0xA0F8" TlutOffset="0x9708"/>
<Array Name="object_zl2_Vtx_00A4F8" Count="183" Offset="0xA4F8">
<Vtx/>
</Array>
<DList Name="object_zl2_00B068_DL" Offset="0xB068"/>
<Array Name="object_zl2_Vtx_00BC10" Count="90" Offset="0xBC10">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00C1B0" Count="28" Offset="0xC1B0">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00C370" Count="64" Offset="0xC370">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00C770" Count="90" Offset="0xC770">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00CD10" Count="28" Offset="0xCD10">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00CED0" Count="64" Offset="0xCED0">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00D2D0" Count="38" Offset="0xD2D0">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00D530" Count="38" Offset="0xD530">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00D790" Count="38" Offset="0xD790">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00D9F0" Count="65" Offset="0xD9F0">
<Vtx/>
</Array>
<Array Name="object_zl2_Vtx_00DE00" Count="121" Offset="0xDE00">
<Vtx/>
</Array>
<DList Name="object_zl2_00E590_DL" Offset="0xE590"/>
<DList Name="object_zl2_00E910_DL" Offset="0xE910"/>
<DList Name="object_zl2_00EA58_DL" Offset="0xEA58"/>

View File

@ -55,8 +55,14 @@
<Texture Name="gChildZeldaEyeOutTex" Format="ci8" Width="32" Height="32" Offset="0x3EF0" TlutOffset="0x870"/>
<Texture Name="gChildZeldaEyeInTex" Format="ci8" Width="32" Height="32" Offset="0x42F0" TlutOffset="0x870"/>
<!-- Child Zelda's cutscene DLists (used by EnViewer)-->
<!-- Child Zelda's cutscene Vertices and DLists (used by EnViewer)-->
<Array Name="gChildZeldaCutsceneDressVtx" Count="128" Offset="0x76B0">
<Vtx/>
</Array>
<DList Name="gChildZeldaCutsceneDressDL" Offset="0xC410"/>
<Array Name="gChildZeldaOcarinaOfTimeVtx" Count="21" Offset="0xDCB8">
<Vtx/>
</Array>
<DList Name="gChildZeldaOcarinaOfTimeDL" Offset="0xDE08"/>
<Texture Name="object_zl4_000670_TLUT" Format="rgba16" Width="256" Height="1" Offset="0x670"/>
@ -87,6 +93,54 @@
<Texture Name="object_zl4_005C70_Tex" Format="ci8" Width="8" Height="8" Offset="0x5C70" TlutOffset="0x670"/>
<Texture Name="object_zl4_005CB0_Tex" Format="ci8" Width="16" Height="16" Offset="0x5CB0" TlutOffset="0x670"/>
<Texture Name="object_zl4_005DB0_Tex" Format="rgba16" Width="32" Height="32" Offset="0x5DB0"/>
<Array Name="object_zl4_Vtx_0065B0" Count="33" Offset="0x65B0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_0067C0" Count="38" Offset="0x67C0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_006A20" Count="36" Offset="0x6A20">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_006C60" Count="37" Offset="0x6C60">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_006EB0" Count="3" Offset="0x6EB0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_006EE0" Count="37" Offset="0x6EE0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_007130" Count="3" Offset="0x7130">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_007160" Count="85" Offset="0x7160">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_007EB0" Count="191" Offset="0x7EB0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_008AA0" Count="45" Offset="0x8AA0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_008D70" Count="36" Offset="0x8D70">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_008FB0" Count="62" Offset="0x8FB0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_009390" Count="45" Offset="0x9390">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_009660" Count="36" Offset="0x9660">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_0098A0" Count="62" Offset="0x98A0">
<Vtx/>
</Array>
<Array Name="object_zl4_Vtx_009C80" Count="155" Offset="0x9C80">
<Vtx/>
</Array>
<DList Name="object_zl4_00A630_DL" Offset="0xA630"/>
<DList Name="object_zl4_00AFC8_DL" Offset="0xAFC8"/>
<DList Name="object_zl4_00B8D8_DL" Offset="0xB8D8"/>

View File

@ -16,6 +16,42 @@
<Texture Name="gGanondorfWindowShatterTemplateTex" Format="i8" Width="32" Height="64" Offset="0x1680" Static="Off"/>
<Array Name="gGanondorfLightStreak1Vtx" Count="10" Offset="0x10ED8">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak2Vtx" Count="10" Offset="0x10F78">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak3Vtx" Count="10" Offset="0x11018">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak4Vtx" Count="10" Offset="0x110B8">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak5Vtx" Count="10" Offset="0x11158">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak6Vtx" Count="10" Offset="0x111F8">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak7Vtx" Count="10" Offset="0x11298">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak8Vtx" Count="10" Offset="0x11338">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak9Vtx" Count="10" Offset="0x113D8">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak10Vtx" Count="10" Offset="0x11478">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak11Vtx" Count="10" Offset="0x11518">
<Vtx/>
</Array>
<Array Name="gGanondorfLightStreak12Vtx" Count="8" Offset="0x115B8">
<Vtx/>
</Array>
<DList Name="gGanondorfLightStreak1DL" Offset="0x11638" Static="Off"/>
<DList Name="gGanondorfLightStreak2DL" Offset="0x11670" Static="Off"/>
<DList Name="gGanondorfLightStreak3DL" Offset="0x116A8" Static="Off"/>
@ -29,25 +65,73 @@
<DList Name="gGanondorfLightStreak11DL" Offset="0x11868" Static="Off"/>
<DList Name="gGanondorfLightStreak12DL" Offset="0x118A0" Static="Off"/>
<Array Name="gGanondorfShadowModelVtx" Count="4" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gGanondorfShadowSetupDL" Offset="0x40" Static="Off"/>
<DList Name="gGanondorfShadowModelDL" Offset="0x60" Static="Off"/>
<Array Name="gGanondorfTriforceVtx" Count="4" Offset="0x1090">
<Vtx/>
</Array>
<DList Name="gGanondorfTriforceDL" Offset="0x10D0" Static="Off"/>
<Array Name="gGanondorfWindowShardModelVtx" Count="3" Offset="0x1590">
<Vtx/>
</Array>
<DList Name="gGanondorfWindowShardMaterialDL" Offset="0x15C0" Static="Off"/>
<DList Name="gGanondorfWindowShardModelDL" Offset="0x1668" Static="Off"/>
<Array Name="gGanondorfSquareVtx" Count="4" Offset="0x2E80">
<Vtx/>
</Array>
<DList Name="gGanondorfLightBallMaterialDL" Offset="0x2EC0" Static="Off"/>
<DList Name="gGanondorfSquareDL" Offset="0x2F30" Static="Off"/>
<Array Name="gGanondorfLightningVtx" Count="4" Offset="0xBF48">
<Vtx/>
</Array>
<DList Name="gGanondorfLightningDL" Offset="0xBF88" Static="Off"/>
<Array Name="gGanondorfUnusedVtx" Count="3" Offset="0xC008">
<Vtx/>
</Array>
<DList Name="gGanondorfUnusedDL" Offset="0xC038" Static="Off"/>
<Array Name="gGanondorfLightRayTriVtx" Count="3" Offset="0xC080">
<Vtx/>
</Array>
<DList Name="gGanondorfLightRayTriDL" Offset="0xC0B0" Static="Off"/>
<Array Name="gGanondorfLightFlecksVtx" Count="25" Offset="0xD8F8">
<Vtx/>
</Array>
<Array Name="gGanondorfBigMagicBGCircleVtx" Count="4" Offset="0xDA88">
<Vtx/>
</Array>
<Array Name="gGanondorfDotVtx" Count="4" Offset="0xDAC8">
<Vtx/>
</Array>
<DList Name="gGanondorfLightFlecksDL" Offset="0xDB08" Static="Off"/>
<DList Name="gGanondorfBigMagicBGCircleDL" Offset="0xDBF8" Static="Off"/>
<DList Name="gGanondorfDotDL" Offset="0xDCA0" Static="Off"/>
<Array Name="gGanondorfShockwaveVtx" Count="26" Offset="0xE568">
<Vtx/>
</Array>
<DList Name="gGanondorfShockwaveDL" Offset="0xE708" Static="Off"/>
<Array Name="gGanondorfImpactVtx" Count="26" Offset="0xF400">
<Vtx/>
</Array>
<DList Name="gGanondorfImpactDarkDL" Offset="0xF5A0" Static="Off"/>
<DList Name="gGanondorfImpactLightDL" Offset="0xF6B8" Static="Off"/>
<Array Name="gGanondorfShockGlowVtx" Count="4" Offset="0x107D0">
<Vtx/>
</Array>
<DList Name="gGanondorfShockGlowDL" Offset="0x10810" Static="Off"/>
<Array Name="gGanondorfLightCoreVtx" Count="3" Offset="0x11B40">
<Vtx/>
</Array>
<DList Name="gGanondorfLightCoreDL" Offset="0x11B70" Static="Off"/>
<Array Name="gGanondorfShockVtx" Count="4" Offset="0x11BF8">
<Vtx/>
</Array>
<DList Name="gGanondorfShockDL" Offset="0x11C38" Static="Off"/>
<Array Name="gGanondorfVortexVtx" Count="22" Offset="0x128B8">
<Vtx/>
</Array>
<DList Name="gGanondorfVortexDL" Offset="0x12A18" Static="Off"/>
</File>
</Root>

View File

@ -2,8 +2,14 @@
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
<File Name="ovl_Boss_Ganon2">
<Texture Name="gGanonLightOrbTex" Format="i8" Width="64" Height="64" Offset="0x0" Static="Off"/>
<Array Name="gGanonLightOrbModelVtx" Count="4" Offset="0x1000">
<Vtx/>
</Array>
<DList Name="gGanonLightOrbMaterialDL" Offset="0x1040" Static="Off"/>
<DList Name="gGanonLightOrbModelDL" Offset="0x10B0" Static="Off"/>
<Array Name="gGanonShadowModelVtx" Count="4" Offset="0x10C8">
<Vtx/>
</Array>
<DList Name="gGanonShadowMaterialDL" Offset="0x1108" Static="Off"/>
<DList Name="gGanonShadowModelDL" Offset="0x1128" Static="Off"/>
<Texture Name="gGanonSwordTrailTex" Format="i8" Width="32" Height="32" Offset="0x1158" Static="Off"/>
@ -13,17 +19,35 @@
</Array>
<DList Name="gGanonSwordTrailDL" Offset="0x18B8" Static="Off"/>
<Texture Name="gGanonTriforceTex" Format="i8" Width="64" Height="64" Offset="0x19D0" Static="Off"/>
<Array Name="gGanonTriforceVtx" Count="4" Offset="0x29D0">
<Vtx/>
</Array>
<DList Name="gGanonTriforceDL" Offset="0x2A10" Static="Off"/>
<Texture Name="gGanonLightningTex" Format="i4" Width="32" Height="160" Offset="0x2A90" Static="Off"/>
<Array Name="gGanonLightningVtx" Count="4" Offset="0x3490">
<Vtx/>
</Array>
<DList Name="gGanonLightningDL" Offset="0x34D0" Static="Off"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
<Texture Name="gGanonFireRingTex" Format="i8" Width="32" Height="64" Offset="0x3558" Static="Off"/>
<Array Name="gGanonFireRingVtx" Count="26" Offset="0x3D58">
<Vtx/>
</Array>
<DList Name="gGanonFireRingDL" Offset="0x3EF8" Static="Off"/> <!-- Original name is "ganon_fire_modelT" -->
<Texture Name="gGanonZeldaMagicTex" Format="i8" Width="32" Height="64" Offset="0x4018" Static="Off"/>
<Array Name="gGanonZeldaMagicVtx" Count="22" Offset="0x4818">
<Vtx/>
</Array>
<DList Name="gGanonZeldaMagicDL" Offset="0x4978" Static="Off"/> <!-- Original name is "efc_ganon2_hadou_modelT" ("wave motion; undulation; surge") -->
<Texture Name="gGanonMasterSwordShadowTex" Format="i8" Width="32" Height="32" Offset="0x4A80" Static="Off"/>
<Array Name="gGanonMasterSwordShadowVtx" Count="4" Offset="0x4E80">
<Vtx/>
</Array>
<DList Name="gGanonMasterSwordShadowDL" Offset="0x4EC0" Static="Off"/> <!-- Original name is "master_sword_shadow_model" -->
<Texture Name="gGanonMasterSwordPommelTex" Format="rgba16" Width="16" Height="16" Offset="0x4F40" Static="Off"/>
<Texture Name="gGanonMasterSwordGuardTex" Format="rgba16" Width="32" Height="32" Offset="0x5140" Static="Off"/>
<Array Name="gGanonMasterSwordVtx" Count="122" Offset="0x5940">
<Vtx/>
</Array>
<DList Name="gGanonMasterSwordDL" Offset="0x60E0" Static="Off"/> <!-- Original name is "master_gn2_swordB_model" -->
</File>
</Root>

View File

@ -1,8 +1,14 @@
<Root>
<File Name="ovl_Boss_Sst">
<DList Name="sBodyStaticDList" Offset="0x0"/>
<DList Name="sHandTrailDList" Offset="0x18"/>
<DList Name="sIntroVanishDList" Offset="0x478"/>
<DList Name="sShadowDList" Offset="0x930"/>
<DList Name="sBodyStaticDL" Offset="0x0"/>
<DList Name="sHandTrailDL" Offset="0x18"/>
<Array Name="sIntroVanishVtx" Count="4" Offset="0x38">
<Vtx/>
</Array>
<DList Name="sIntroVanishDL" Offset="0x478"/>
<Array Name="sShadowVtx" Count="3" Offset="0x500">
<Vtx/>
</Array>
<DList Name="sShadowDL" Offset="0x930"/>
</File>
</Root>

View File

@ -1,8 +1,13 @@
<Root>
<File Name="ovl_Demo_Shd">
<DList Name="D_809932D0" Offset="0x1C50"/>
<DList Name="D_80993390" Offset="0x1D10"/>
<DList Name="D_809934B8" Offset="0x1E38"/>
<Array Name="ovl_Demo_Shd_Vtx_001000" Count="93" Offset="0x1000">
<Vtx/>
</Array>
<Array Name="ovl_Demo_Shd_Vtx_0015D0" Count="104" Offset="0x15D0">
<Vtx/>
</Array>
<DList Name="D_809932D0" Offset="0x1C50"/>
<DList Name="D_80993390" Offset="0x1D10"/>
<DList Name="D_809934B8" Offset="0x1E38"/>
</File>
</Root>

View File

@ -1,7 +1,7 @@
<Root>
<File Name="ovl_Elf_Msg">
<DList Name="D_809AD278" Offset="0x0"/>
<DList Name="sMaterialDL" Offset="0x0"/>
<Array Name="sCylinderVtx" Count="16" Offset="0x40">
<Vtx/>

View File

@ -1,7 +1,7 @@
<Root>
<File Name="ovl_Elf_Msg2">
<DList Name="D_809ADC38" Offset="0x0"/>
<DList Name="sMaterialDL" Offset="0x0"/>
<Array Name="sCubeVtx" Count="8" Offset="0x40">
<Vtx/>

View File

@ -1,14 +1,38 @@
<Root>
<File Name="ovl_En_Clear_Tag">
<DList Name="gArwingDL" Offset="0x0"/>
<Array Name="gArwingVtx" Count="148" Offset="0x2D8">
<Vtx/>
</Array>
<DList Name="gArwingLaserDL" Offset="0x3C98"/>
<Array Name="gArwingLaserVtx" Count="6" Offset="0x3D08">
<Vtx/>
</Array>
<Array Name="gArwingBackfireVtx" Count="3" Offset="0x3F68">
<Vtx/>
</Array>
<DList Name="gArwingBackfireDL" Offset="0x3F98"/>
<Array Name="gArwingDebrisEffectVtx" Count="3" Offset="0x4318">
<Vtx/>
</Array>
<DList Name="gArwingDebrisEffectMaterialDL" Offset="0x4348"/>
<DList Name="gArwingDebrisEffectDL" Offset="0x43C8"/>
<Array Name="gArwingFireEffectVtx" Count="3" Offset="0x49E0">
<Vtx/>
</Array>
<DList Name="gArwingFireEffectMaterialDL" Offset="0x4A10"/>
<DList Name="gArwingFireEffectDL" Offset="0x4AB8"/>
<Array Name="gArwingFlashEffectVtx" Count="4" Offset="0x5AD8">
<Vtx/>
</Array>
<DList Name="gArwingFlashEffectDL" Offset="0x5B18"/>
<Array Name="gArwingFlashEffectGroundVtx" Count="3" Offset="0x5D98">
<Vtx/>
</Array>
<DList Name="gArwingFlashEffectGroundDL" Offset="0x5DC8"/>
<Array Name="gArwingShadowVtx" Count="3" Offset="0x6250">
<Vtx/>
</Array>
<DList Name="gArwingShadowDL" Offset="0x6280"/>
</File>
</Root>

View File

@ -13,7 +13,13 @@
<Texture Name="sRoomOrganKeyEndTex" Format="rgba16" Width="4" Height="8" Offset="0x1600"/>
<Texture Name="sRoomStepTex" Format="i4" Width="16" Height="16" Offset="0x1640"/>
<Array Name="sRoomOrganAndFloorVtx" Count="800" Offset="0x16C0">
<Vtx/>
</Array>
<DList Name="sRoomOrganAndFloorDL" Offset="0x48C0"/>
<Array Name="sRoomStatuesVtx" Count="266" Offset="0x5628">
<Vtx/>
</Array>
<DList Name="sRoomStatuesDL" Offset="0x66C8"/>
</File>
</Root>

View File

@ -7,6 +7,12 @@
<Texture Name="sMouthTex" Format="rgba16" Width="32" Height="16" Offset="0xA00"/>
<Texture Name="sEar2Tex" Format="rgba16" Width="8" Height="8" Offset="0xE00"/>
<Texture Name="sHair2Tex" Format="rgba16" Width="8" Height="16" Offset="0xE80"/>
<Array Name="ovl_En_Sth_Vtx_000F80" Count="121" Offset="0xF80">
<Vtx/>
</Array>
<Array Name="ovl_En_Sth_Vtx_001710" Count="81" Offset="0x1710">
<Vtx/>
</Array>
<DList Name="D_80B0A050" Offset="0x1C20"/>
<DList Name="D_80B0A3C0" Offset="0x1F90"/>
<Animation Name="sChildDanceAnim" Offset="0x2730"/>

View File

@ -4,5 +4,13 @@
</File>
<File Name="shop1_room_0" Segment="3">
<Room Name="shop1_room_0" Offset="0x0"/>
<DList Name="gShop1DL_003F60" Offset="0x3F60"/>
<DList Name="gShop1DL_003F98" Offset="0x3F98"/>
<DList Name="gShop1DL_003408" Offset="0x3408"/>
<DList Name="gShop1DL_0034A0" Offset="0x34A0"/>
<DList Name="gShop1DL_003538" Offset="0x3538"/>
<DList Name="gShop1DL_0035D0" Offset="0x35D0"/>
<DList Name="gShop1DL_003668" Offset="0x3668"/>
<DList Name="gShop1DL_003AE0" Offset="0x3AE0"/>
</File>
</Root>

View File

@ -1,8 +1,10 @@
<Root>
<File Name="nintendo_rogo_static" Segment="1">
<Texture Name="nintendo_rogo_static_Tex_000000" Format="i8" Width="192" Height="32" Offset="0x0000"/>
<Texture Name="nintendo_rogo_static_Tex_001800" Format="i8" Width="32" Height="32" Offset="0x1800"/>
<DList Name="gNintendo64LogoDL" Offset="0x27A0"/>
<Texture Name="nintendo_rogo_static_Tex_000000" Format="i8" Width="192" Height="32" Offset="0x0000"/>
<Texture Name="nintendo_rogo_static_Tex_001800" Format="i8" Width="32" Height="32" Offset="0x1800"/>
<Array Name="gNintendo64LogoVtx" Count="186" Offset="0x1C00">
<Vtx/>
</Array>
<DList Name="gNintendo64LogoDL" Offset="0x27A0"/>
</File>
</Root>

View File

@ -1,8 +1,10 @@
<Root>
<File Name="nintendo_rogo_static" Segment="1">
<Texture Name="nintendo_rogo_static_Tex_000000" Format="i8" Width="192" Height="32" Offset="0x0000"/>
<Texture Name="nintendo_rogo_static_Tex_001800" Format="i8" Width="32" Height="32" Offset="0x1800"/>
<DList Name="gNintendo64LogoDL" Offset="0x2720"/>
<Texture Name="nintendo_rogo_static_Tex_000000" Format="i8" Width="192" Height="32" Offset="0x0000"/>
<Texture Name="nintendo_rogo_static_Tex_001800" Format="i8" Width="32" Height="32" Offset="0x1800"/>
<Array Name="gNintendo64LogoVtx" Count="178" Offset="0x1C00">
<Vtx/>
</Array>
<DList Name="gNintendo64LogoDL" Offset="0x2720"/>
</File>
</Root>

View File

@ -2,44 +2,57 @@
# Documentation Style Guide
This project uses [Doxygen](https://www.doxygen.nl/index.html) to generate documentation pages from comments found in the source files. This guide focuses on writing compatible comments and ensuring consistency across the codebase.
```diff
- Note -
As the codebase is constantly changing, only document what is complete, well-understood and not
already covered by good naming. This is especially true for function parameters and return values.
Also note that there is no obligation to completing the documentation steps for functions you
work on if you do not want to at the time.
```
However to keep the documentation readable in text and favor consistency, the Doxygen commands that should be used are restricted to what this document mentions.
To generate a doxygen manual for the project, ensure you have doxygen installed and then cd into the project root directory and run `doxygen Doxyfile`.
## Documenting Functions
For functions, a description of the function's purpose should go above the function:
```c
/**
* My description of this function
*/
void foo(void);
```
Further considerations:
- Any comments inside the function should follow the usual `//` or `/**/` comment styles.
- For documenting return values, place a `@return` at the bottom of the function comment followed by the description of the return value. This should only be done if the name of the function is not self-explanatory and is well-understood.
- For documenting parameters, place a `@param` between the comment and the @return (if applicable) followed by the name of the parameter and a brief description. This should only be done if the name of the parameter is not self-explanatory and is well-understood.
- All `@param`s should come before `@return` and be in the same order the parameters appear in the function declaration. Note that this does not mean you should add empty `@params` for parameters deemed self-explanatory.
The documentation can then be browsed by opening `docs/doxygen/html/index.html` in a web browser.
## Documenting Functions
Any comments inside functions, except bugs ([see below](#documenting-bugs)), should use `//`-style comments, even if spanning over multiple lines.
A simple example of documenting a function with just a description (note the leading `/**`):
A full example would be as follows: (however in practice functions such as this would be considered self-explanatory)
```c
/**
* This is an example
*
* @param bar the input
* @return bar multiplied by 2
* Update the crawl sound timer, and play the crawling sound when it reaches 0.
*/
s32 foo(s32 bar) {
return 2*bar;
}
void EnInsect_UpdateCrawlSfx(EnInsect* this) {
```
A more complete example:
```c
/**
* Request to either increase or consume magic.
*
* @param amount the positive-valued amount to either increase or decrease magic by
* @param type how the magic is increased or consumed.
*
* @return false if the request failed
*/
s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type) {
```
Note:
- Documentation for self-explanatory arguments (`@param`) and return values (`@return`) may be omitted.
- `@param` commands should not have empty lines in between.
- Different commands (main description, `@param`, `@return`, ...) should be separated by empty lines.
Other directives that may be used for documenting functions:
- `@see` to reference something else ([see below](#linking-related-information)).
- `@note` to bring attention to some of the function behavior.
## Documenting Variables
Documentation of variables should include what this variable is used for if the name is not completely clear and if applicable whether a set of defines or enumerations should be used alongside it (which should be linked with `@see`, see below)
In case the name of a variable isn't completely clear, documentation can provide a description.
If applicable, it may refer to a set of defines or enumerations that should be used with it (those should be linked with `@see`, [see below](#linking-related-information)).
```c
/**
* My description of this variable
@ -48,53 +61,59 @@ s32 foo;
```
## Documenting Files
File documentation should go near the top of the file, below includes. It should only feature information that is general to the file.
File documentation should be located at the top of the file, above `#include`s.
File documentation should only feature information that is general to the file or the system it implements.
```c
/**
* @file file_name.c
* @file z_fcurve_data_skelanime.c
* @brief Curve skeleton animation system
*
* My description of this file
* A curve skeleton has a fixed number of limbs, ...
...
*/
```
## Other
### Documenting Bugs:
Bugs should be documented on the line above where the bug begins.
```c
//! @bug description
```
### Linking related information:
`@see` should be used to provide links to related information where appropriate, for example:
```c
/**
* Save File Data
* @see SaveContext
*/
SaveContext gSaveContext;
```
In the case of functions, `@see` should come before the first `@param`.
### HTML
You can include html tags in your doc comments, however it is strongly advised against doing this if it greatly reduces readability of the code comments.
```c
/**
* My<br>
* Newline<br>
* Doc Comment
*/
```
### LaTeX
You can embed [LaTeX](https://wikipedia.org/wiki/LaTeX) in your doc comments if useful to do so.
For inline rendering:
Bugs should be documented on the line above where the bug begins.
```c
//! @bug Missing early return
```
Bug described on multiple lines should still use the `//!` syntax, over multiple lines. For example:
```c
//! @bug this code was clearly meaning to print `abs(camera->camDataIdx)` as a
//! one-or-two-digit number, instead of `i`.
```
### Linking related information:
`@see` should be used to provide links to related information where appropriate, for example:
```c
/**
* \f$ \textrm{Your LaTeX Here} \f$
*/
```
For centered rendering on a separate line:
```c
/**
* \f[ \textrm{Your LaTeX Here} \f]
* Sets the next framebuffer to the framebuffer associated to `task`.
* If there is no current buffer or it is time to swap, this buffer will be swapped to
* immediately, otherwise it will be swapped to later in Sched_HandleRetrace.
*
* @see Sched_HandleRetrace
*/
void Sched_SetNextFramebufferFromTask(Scheduler* sc, OSScTask* task) {
```
In the case of functions, `@see` should come before the first `@param`.
`@see` may also be used for documenting files or variables.
### HTML and LaTeX
It is possible to include HTML and LaTeX in documentation comments.
However it is prefered not to do so, so that the raw text stays readable when looked at as plain text, for example when browsing the source code.

View File

@ -68,11 +68,6 @@ typedef enum DoAction {
/* 0x1D */ DO_ACTION_MAX
} DoAction;
// TODO extract this information from the texture definitions themselves
#define DO_ACTION_TEX_WIDTH 48
#define DO_ACTION_TEX_HEIGHT 16
#define DO_ACTION_TEX_SIZE ((DO_ACTION_TEX_WIDTH * DO_ACTION_TEX_HEIGHT) / 2) // (sizeof(gCheckDoActionENGTex))
typedef struct InterfaceContext {
/* 0x0000 */ View view;
/* 0x0128 */ Vtx* actionVtx;

View File

@ -694,10 +694,13 @@ typedef struct PlayerAgeProperties {
/* 0xCC */ LinkAnimationHeader* unk_CC[2];
} PlayerAgeProperties; // size = 0xD4
#define MELEE_WEAPON_INFO_TIP(weaponInfo) (&(weaponInfo)->posA)
#define MELEE_WEAPON_INFO_BASE(weaponInfo) (&(weaponInfo)->posB)
typedef struct WeaponInfo {
/* 0x00 */ s32 active;
/* 0x04 */ Vec3f tip;
/* 0x10 */ Vec3f base;
/* 0x04 */ Vec3f posA; // For melee weapons, this is the tip (furthest from the player hand)
/* 0x10 */ Vec3f posB; // For melee weapons, this is the base (near the player hand)
} WeaponInfo; // size = 0x1C
#define LEDGE_DIST_MAX 399.96002f
@ -1033,7 +1036,7 @@ s32 Player_OverrideLimbDrawGameplayFirstPerson(struct PlayState* play, s32 limbI
Vec3s* rot, void* thisx);
s32 Player_OverrideLimbDrawGameplayCrawling(struct PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx);
u8 func_80090480(struct PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* newTip, Vec3f* newBase);
u8 Player_UpdateWeaponInfo(struct PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* newPosA, Vec3f* newPosB);
void Player_DrawGetItem(struct PlayState* play, Player* this);
void Player_PostLimbDrawGameplay(struct PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx);
u32 Player_InitPauseDrawData(struct PlayState* play, u8* segment, SkelAnime* skelAnime);

View File

@ -782,9 +782,9 @@ typedef enum LinkAge {
#define INFTABLE_TALKED_TO_MALON_FIRST_TIME 0x84
#define INFTABLE_TOLD_EPONA_IS_SCARED 0x85
#define INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE 0x8B
#define INFTABLE_8C 0x8C
#define INFTABLE_8D 0x8D
#define INFTABLE_8E 0x8E
#define INFTABLE_TALKED_TO_ADULT_MALON_AFTER_SONG 0x8C
#define INFTABLE_8D 0x8D // unreachable flag in EnMa2
#define INFTABLE_PLAYED_SONG_FOR_ADULT_MALON 0x8E
#define INFTABLE_94 0x94
#define INFTABLE_97 0x97
#define INFTABLE_9A 0x9A

View File

@ -3854,7 +3854,7 @@ Actor* Actor_GetProjectileActor(PlayState* play, Actor* refActor, f32 radius) {
actor = actor->next;
} else {
//! @bug The projectile actor gets unsafely casted to a hookshot to check its timer, even though
// it can also be an arrow.
//! it can also be an arrow.
// Luckily, the field at the same offset in the arrow actor is the x component of a vector
// which will rarely ever be 0. So it's very unlikely for this bug to cause an issue.
if ((Math_Vec3f_DistXYZ(&refActor->world.pos, &actor->world.pos) > radius) ||

View File

@ -7750,7 +7750,7 @@ void Camera_PrintSettings(Camera* camera) {
sp50[i++] = '-';
}
//! @bug: this code was clearly meaning to print `abs(camera->bgCamIndex)` as a
//! @bug this code was clearly meaning to print `abs(camera->bgCamIndex)` as a
//! one-or-two-digit number, instead of `i`.
// "sp50[i++] = ..." matches here, but is undefined behavior due to conflicting
// reads/writes between sequence points, triggering warnings. Work around by
@ -8624,7 +8624,7 @@ s32 Camera_RequestBgCam(Camera* camera, s32 requestedBgCamIndex) {
Camera_CopyDataToRegs(camera, camera->mode);
} else if (settingChangeSuccessful < -1) {
//! @bug: `settingChangeSuccessful` is a bool and is likely checking the wrong value. This can never pass.
// The actual return of Camera_RequestSettingImpl or bgCamIndex would make more sense.
//! The actual return of Camera_RequestSettingImpl or bgCamIndex would make more sense.
PRINTF(VT_COL(RED, WHITE) "camera: error: illegal camera ID (%d) !! (%d|%d|%d)\n" VT_RST,
requestedBgCamIndex, camera->camId, BGCHECK_SCENE, requestedCamSetting);
}

View File

@ -10,6 +10,8 @@
#include "play_state.h"
#include "save.h"
#include "assets/textures/do_action_static/do_action_static.h"
void Interface_Destroy(PlayState* play) {
Map_Destroy(play);
}

View File

@ -239,7 +239,7 @@ s16 sSunDepthTestX;
s16 sSunDepthTestY;
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:192 pal-1.1:192"
"ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
LightNode* sNGameOverLightNode;
LightInfo sNGameOverLightInfo;

View File

@ -224,6 +224,10 @@ void func_800BC88C(PlayState* this) {
this->transitionCtx.transitionType = -1;
}
/**
* Set the environment fog, from parameters controlled by the environment system.
* If a custom fog state is used at any point in drawing, the environment fog is expected to be restored afterwards.
*/
Gfx* Play_SetFog(PlayState* this, Gfx* gfx) {
return Gfx_SetFog2(gfx, this->lightCtx.fogColor[0], this->lightCtx.fogColor[1], this->lightCtx.fogColor[2], 0,
this->lightCtx.fogNear, 1000);

View File

@ -803,7 +803,7 @@ int Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 y
s32 pad;
if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) && (this->unk_860 != 0)) {
Math_Vec3f_Diff(&this->meleeWeaponInfo[0].tip, pos, &diff);
Math_Vec3f_Diff(MELEE_WEAPON_INFO_TIP(&this->meleeWeaponInfo[0]), pos, &diff);
return ((SQ(diff.x) + SQ(diff.z)) <= SQ(xzRange)) && (0.0f <= diff.y) && (diff.y <= yRange);
} else {
return false;
@ -1444,30 +1444,42 @@ s32 Player_OverrideLimbDrawGameplayCrawling(PlayState* play, s32 limbIndex, Gfx*
return false;
}
u8 func_80090480(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* newTip, Vec3f* newBase) {
if (weaponInfo->active == 0) {
/**
* Handles colliders for player weapons, by creating a quad collider each frame between the weapon's previous position
* and its new position.
* This position is given as a pair, `newPosA` and `newPosB`, representing two ends of a line that can be thought of as
* the active part of the weapon. Note that this line is not necessarily following the weapon's shape: for example
* arrows use a line perpendicular to the shaft.
* @param collider The quad collider to use for the weapon.
* @param newPosA One end of the line. For melee weapons, this is the tip.
* @param newPosB One end of the line. For melee weapons, this is the base.
* @return true if the weapon is active at a new position.
*/
u8 Player_UpdateWeaponInfo(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* newPosA,
Vec3f* newPosB) {
if (!weaponInfo->active) {
if (collider != NULL) {
Collider_ResetQuadAT(play, &collider->base);
}
Math_Vec3f_Copy(&weaponInfo->tip, newTip);
Math_Vec3f_Copy(&weaponInfo->base, newBase);
weaponInfo->active = 1;
Math_Vec3f_Copy(&weaponInfo->posA, newPosA);
Math_Vec3f_Copy(&weaponInfo->posB, newPosB);
weaponInfo->active = true;
return true;
} else if ((weaponInfo->tip.x == newTip->x) && (weaponInfo->tip.y == newTip->y) &&
(weaponInfo->tip.z == newTip->z) && (weaponInfo->base.x == newBase->x) &&
(weaponInfo->base.y == newBase->y) && (weaponInfo->base.z == newBase->z)) {
} else if ((weaponInfo->posA.x == newPosA->x) && (weaponInfo->posA.y == newPosA->y) &&
(weaponInfo->posA.z == newPosA->z) && (weaponInfo->posB.x == newPosB->x) &&
(weaponInfo->posB.y == newPosB->y) && (weaponInfo->posB.z == newPosB->z)) {
if (collider != NULL) {
Collider_ResetQuadAT(play, &collider->base);
}
return false;
} else {
if (collider != NULL) {
Collider_SetQuadVertices(collider, newBase, newTip, &weaponInfo->base, &weaponInfo->tip);
Collider_SetQuadVertices(collider, newPosB, newPosA, &weaponInfo->posB, &weaponInfo->posA);
CollisionCheck_SetAT(play, &play->colChkCtx, &collider->base);
}
Math_Vec3f_Copy(&weaponInfo->base, newBase);
Math_Vec3f_Copy(&weaponInfo->tip, newTip);
weaponInfo->active = 1;
Math_Vec3f_Copy(&weaponInfo->posB, newPosB);
Math_Vec3f_Copy(&weaponInfo->posA, newPosA);
weaponInfo->active = true;
return true;
}
}
@ -1496,33 +1508,35 @@ void Player_UpdateShieldCollider(PlayState* play, Player* this, ColliderQuad* co
}
}
Vec3f D_80126080 = { 5000.0f, 400.0f, 0.0f };
Vec3f D_8012608C = { 5000.0f, -400.0f, 1000.0f };
Vec3f D_80126098 = { 5000.0f, 1400.0f, -1000.0f };
// Positions for the tip of melee weapons, in the left hand limb's own model space.
Vec3f sMeleeWeaponTipOffsetFromLeftHand0 = { 5000.0f, 400.0f, 0.0f };
Vec3f sMeleeWeaponTipOffsetFromLeftHand1 = { 5000.0f, -400.0f, 1000.0f };
Vec3f sMeleeWeaponTipOffsetFromLeftHand2 = { 5000.0f, 1400.0f, -1000.0f };
Vec3f D_801260A4[3] = {
{ 0.0f, 400.0f, 0.0f },
{ 0.0f, 1400.0f, -1000.0f },
{ 0.0f, -400.0f, 1000.0f },
};
// Positions for the base of melee weapons, in the left hand limb's own model space.
Vec3f sMeleeWeaponBaseOffsetFromLeftHand0 = { 0.0f, 400.0f, 0.0f };
Vec3f sMeleeWeaponBaseOffsetFromLeftHand1 = { 0.0f, 1400.0f, -1000.0f };
Vec3f sMeleeWeaponBaseOffsetFromLeftHand2 = { 0.0f, -400.0f, 1000.0f };
void func_800906D4(PlayState* play, Player* this, Vec3f* newTipPos) {
Vec3f newBasePos[3];
void Player_UpdateMeleeWeaponInfo(PlayState* play, Player* this, Vec3f* newTipPositions) {
Vec3f newBasePositions[3];
Matrix_MultVec3f(&D_801260A4[0], &newBasePos[0]);
Matrix_MultVec3f(&D_801260A4[1], &newBasePos[1]);
Matrix_MultVec3f(&D_801260A4[2], &newBasePos[2]);
Matrix_MultVec3f(&sMeleeWeaponBaseOffsetFromLeftHand0, &newBasePositions[0]);
Matrix_MultVec3f(&sMeleeWeaponBaseOffsetFromLeftHand1, &newBasePositions[1]);
Matrix_MultVec3f(&sMeleeWeaponBaseOffsetFromLeftHand2, &newBasePositions[2]);
if (func_80090480(play, NULL, &this->meleeWeaponInfo[0], &newTipPos[0], &newBasePos[0]) &&
if (Player_UpdateWeaponInfo(play, NULL, &this->meleeWeaponInfo[0], &newTipPositions[0], &newBasePositions[0]) &&
!(this->stateFlags1 & PLAYER_STATE1_SHIELDING)) {
EffectBlure_AddVertex(Effect_GetByIndex(this->meleeWeaponEffectIndex), &this->meleeWeaponInfo[0].tip,
&this->meleeWeaponInfo[0].base);
EffectBlure_AddVertex(Effect_GetByIndex(this->meleeWeaponEffectIndex), &this->meleeWeaponInfo[0].posA,
&this->meleeWeaponInfo[0].posB);
}
if ((this->meleeWeaponState > 0) &&
((this->meleeWeaponAnimation < PLAYER_MWA_SPIN_ATTACK_1H) || (this->stateFlags2 & PLAYER_STATE2_17))) {
func_80090480(play, &this->meleeWeaponQuads[0], &this->meleeWeaponInfo[1], &newTipPos[1], &newBasePos[1]);
func_80090480(play, &this->meleeWeaponQuads[1], &this->meleeWeaponInfo[2], &newTipPos[2], &newBasePos[2]);
Player_UpdateWeaponInfo(play, &this->meleeWeaponQuads[0], &this->meleeWeaponInfo[1], &newTipPositions[1],
&newBasePositions[1]);
Player_UpdateWeaponInfo(play, &this->meleeWeaponQuads[1], &this->meleeWeaponInfo[2], &newTipPositions[2],
&newBasePositions[2]);
}
}
@ -1553,20 +1567,20 @@ void Player_DrawGetItem(PlayState* play, Player* this) {
}
}
void func_80090A28(Player* this, Vec3f* vecs) {
D_8012608C.x = D_80126080.x;
void Player_CalcMeleeWeaponTipPositions(Player* this, Vec3f* tipPositions) {
sMeleeWeaponTipOffsetFromLeftHand1.x = sMeleeWeaponTipOffsetFromLeftHand0.x;
if (this->unk_845 >= 3) {
this->unk_845++;
D_8012608C.x *= 1.0f + ((9 - this->unk_845) * 0.1f);
sMeleeWeaponTipOffsetFromLeftHand1.x *= 1.0f + ((9 - this->unk_845) * 0.1f);
}
D_8012608C.x += 1200.0f;
D_80126098.x = D_8012608C.x;
sMeleeWeaponTipOffsetFromLeftHand1.x += 1200.0f;
sMeleeWeaponTipOffsetFromLeftHand2.x = sMeleeWeaponTipOffsetFromLeftHand1.x;
Matrix_MultVec3f(&D_80126080, &vecs[0]);
Matrix_MultVec3f(&D_8012608C, &vecs[1]);
Matrix_MultVec3f(&D_80126098, &vecs[2]);
Matrix_MultVec3f(&sMeleeWeaponTipOffsetFromLeftHand0, &tipPositions[0]);
Matrix_MultVec3f(&sMeleeWeaponTipOffsetFromLeftHand1, &tipPositions[1]);
Matrix_MultVec3f(&sMeleeWeaponTipOffsetFromLeftHand2, &tipPositions[2]);
}
void Player_DrawHookshotReticle(PlayState* play, Player* this, f32 arg2) {
@ -1608,7 +1622,7 @@ void Player_DrawHookshotReticle(PlayState* play, Player* this, f32 arg2) {
}
// Coordinates of the player focus position, in the head limb's own model space.
Vec3f sPlayerFocusHeadLimbModelPos = { 1100.0f, -700.0f, 0.0f };
Vec3f sPlayerFocusOffsetFromHead = { 1100.0f, -700.0f, 0.0f };
f32 sMeleeWeaponLengths[] = {
0.0f, // not a melee weapon
@ -1651,17 +1665,17 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve
Math_Vec3f_Copy(&this->leftHandPos, sCurBodyPartPos);
if (this->itemAction == PLAYER_IA_DEKU_STICK) {
Vec3f sp124[3];
Vec3f tipPositions[3];
OPEN_DISPS(play->state.gfxCtx, "../z_player_lib.c", 2633);
if (this->actor.scale.y >= 0.0f) {
D_80126080.x = this->unk_85C * 5000.0f;
func_80090A28(this, sp124);
sMeleeWeaponTipOffsetFromLeftHand0.x = this->unk_85C * 5000.0f;
Player_CalcMeleeWeaponTipPositions(this, tipPositions);
if (this->meleeWeaponState != 0) {
func_800906D4(play, this, sp124);
Player_UpdateMeleeWeaponInfo(play, this, tipPositions);
} else {
Math_Vec3f_Copy(&this->meleeWeaponInfo[0].tip, &sp124[0]);
Math_Vec3f_Copy(MELEE_WEAPON_INFO_TIP(&this->meleeWeaponInfo[0]), &tipPositions[0]);
}
}
@ -1674,16 +1688,16 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve
CLOSE_DISPS(play->state.gfxCtx, "../z_player_lib.c", 2656);
} else if ((this->actor.scale.y >= 0.0f) && (this->meleeWeaponState != 0)) {
Vec3f spE4[3];
Vec3f tipPositions[3];
if (Player_HoldsBrokenKnife(this)) {
D_80126080.x = 1500.0f;
sMeleeWeaponTipOffsetFromLeftHand0.x = 1500.0f;
} else {
D_80126080.x = sMeleeWeaponLengths[Player_GetMeleeWeaponHeld(this)];
sMeleeWeaponTipOffsetFromLeftHand0.x = sMeleeWeaponLengths[Player_GetMeleeWeaponHeld(this)];
}
func_80090A28(this, spE4);
func_800906D4(play, this, spE4);
Player_CalcMeleeWeaponTipPositions(this, tipPositions);
Player_UpdateMeleeWeaponInfo(play, this, tipPositions);
} else if ((*dList != NULL) && (this->leftHandType == PLAYER_MODELTYPE_LH_BOTTLE)) {
//! @bug When Player is actively using shield, the `itemAction` value will be set to -1.
//! If shield is used at the same time a bottle is in hand, `Player_ActionToBottle` will
@ -1854,7 +1868,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve
Matrix_Get(&this->shieldMf);
}
} else if (limbIndex == PLAYER_LIMB_HEAD) {
Matrix_MultVec3f(&sPlayerFocusHeadLimbModelPos, &this->actor.focus.pos);
Matrix_MultVec3f(&sPlayerFocusOffsetFromHead, &this->actor.focus.pos);
} else {
// Position of Link's foot, in the foot limb's own model space.
static Vec3f sLeftRightFootLimbModelFootPos[] = {

View File

@ -854,28 +854,50 @@ Gfx gEmptyDL[] = {
gsSPEndDisplayList(),
};
/**
* Set fog color and range.
*
* At or prior to fog near, geometry is unaffected by fog. At or beyond fog far, geometry is fully fogged.
* Between near and far, rendered geometry will be blended between the unfogged color and the supplied fog color.
*
* Fog far should be in the range 0 to 1000 and greater than or equal to fog near. If fog near is negative everything
* will be fully fogged. If fog near is 1000 or greater there is no fog.
*/
Gfx* Gfx_SetFog(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) {
// Avoid 0 divisor in gSPFogPosition below
if (far == near) {
far++;
}
ASSERT(near != far, "n != f", "../z_rcp.c", 1155);
// Set the fog color, far away geometry will be rendered as this solid color.
gDPSetFogColor(gfx++, r, g, b, a);
if (near >= 1000) {
// Set a constant shade alpha of 0 for no fog
gSPFogFactor(gfx++, 0, 0);
} else if (near >= 997) {
gSPFogFactor(gfx++, 0x7FFF, 0x8100);
} else if (near > 996) {
// Avoid an overflow when near and far are close (see bug below), by effectively clamping near to ~996.
// This is almost SPFogPosition(996.0937f, 1000)
gSPFogFactor(gfx++, 0x7FFF, -0x7F00);
} else if (near < 0) {
// Set a constant shade alpha of 255 for fully fogged
gSPFogFactor(gfx++, 0, 255);
} else {
// Normal range. Shade alpha is 0 at z <= near and 255 at z >= far, linearly interpolated in between.
//! @bug If far - near < 4, the computed `fm` fog factor coefficient will overflow.
//! For example: 128000 / (983 - 980) > 32767
//! This is handled above in the case of near > 996, but the general case is not accounted for.
gSPFogPosition(gfx++, near, far);
}
return gfx;
}
/**
* Like Gfx_SetFog but issues a pipesync before changing fog color.
*
* @see Gfx_SetFog
*/
Gfx* Gfx_SetFogWithSync(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) {
if (far == near) {
far++;
@ -898,6 +920,11 @@ Gfx* Gfx_SetFogWithSync(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far)
return gfx;
}
/**
* Wrapper for Gfx_SetFog
*
* @see Gfx_SetFog
*/
Gfx* Gfx_SetFog2(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far) {
return Gfx_SetFog(gfx, r, g, b, a, near, far);
}

View File

@ -337,8 +337,8 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) {
ArmsHook* this = (ArmsHook*)thisx;
Player* player = GET_PLAYER(play);
Vec3f sp78;
Vec3f hookNewTip;
Vec3f hookNewBase;
Vec3f posA;
Vec3f posB;
f32 sp5C;
f32 sp58;
@ -349,16 +349,16 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) {
if ((ArmsHook_Shoot != this->actionFunc) || (this->timer <= 0)) {
Matrix_MultVec3f(&D_80865B70, &this->unk_1E8);
Matrix_MultVec3f(&D_80865B88, &hookNewTip);
Matrix_MultVec3f(&D_80865B94, &hookNewBase);
this->hookInfo.active = 0;
Matrix_MultVec3f(&D_80865B88, &posA);
Matrix_MultVec3f(&D_80865B94, &posB);
this->weaponInfo.active = false;
} else {
Matrix_MultVec3f(&D_80865B7C, &this->unk_1E8);
Matrix_MultVec3f(&D_80865BA0, &hookNewTip);
Matrix_MultVec3f(&D_80865BAC, &hookNewBase);
Matrix_MultVec3f(&D_80865BA0, &posA);
Matrix_MultVec3f(&D_80865BAC, &posB);
}
func_80090480(play, &this->collider, &this->hookInfo, &hookNewTip, &hookNewBase);
Player_UpdateWeaponInfo(play, &this->collider, &this->weaponInfo, &posA, &posB);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_arms_hook.c", 895);
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotTipDL);

View File

@ -12,7 +12,7 @@ typedef void (*ArmsHookActionFunc)(struct ArmsHook*, struct PlayState*);
typedef struct ArmsHook {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderQuad collider;
/* 0x01CC */ WeaponInfo hookInfo;
/* 0x01CC */ WeaponInfo weaponInfo;
/* 0x01E8 */ Vec3f unk_1E8;
/* 0x01F4 */ Vec3f unk_1F4;
/* 0x0200 */ Actor* attachedActor;

View File

@ -294,9 +294,9 @@ void BgYdanSp_FloorWebIdle(BgYdanSp* this, PlayState* play) {
webPos.x = this->dyna.actor.world.pos.x;
webPos.y = this->dyna.actor.world.pos.y - 50.0f;
webPos.z = this->dyna.actor.world.pos.z;
if (Player_IsBurningStickInRange(play, &webPos, 70.0f, 50.0f) != 0) {
this->dyna.actor.home.pos.x = player->meleeWeaponInfo[0].tip.x;
this->dyna.actor.home.pos.z = player->meleeWeaponInfo[0].tip.z;
if (Player_IsBurningStickInRange(play, &webPos, 70.0f, 50.0f)) {
this->dyna.actor.home.pos.x = MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->x;
this->dyna.actor.home.pos.z = MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->z;
BgYdanSp_BurnWeb(this, play);
return;
}
@ -412,10 +412,10 @@ void BgYdanSp_WallWebIdle(BgYdanSp* this, PlayState* play) {
this->dyna.actor.home.pos.y = this->dyna.actor.world.pos.y + 80.0f;
BgYdanSp_BurnWeb(this, play);
} else if (player->heldItemAction == PLAYER_IA_DEKU_STICK && player->unk_860 != 0) {
Actor_WorldToActorCoords(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip);
Actor_WorldToActorCoords(&this->dyna.actor, &sp30, MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0]));
if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) {
OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, CAM_ID_MAIN);
Math_Vec3f_Copy(&this->dyna.actor.home.pos, &player->meleeWeaponInfo[0].tip);
Math_Vec3f_Copy(&this->dyna.actor.home.pos, MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0]));
BgYdanSp_BurnWeb(this, play);
}
}

View File

@ -17,6 +17,7 @@
#include "sfx.h"
#include "sys_math.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "versions.h"
#include "z_lib.h"
#include "effect.h"
@ -28,7 +29,7 @@
#include "assets/objects/object_ganon2/object_ganon2.h"
#include "assets/objects/object_ganon_anime3/object_ganon_anime3.h"
#include "assets/objects/object_geff/object_geff.h"
#include "assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
@ -75,6 +76,19 @@ void BossGanon2_DrawEffects(PlayState* play);
void BossGanon2_GenShadowTexture(void* shadowTexture, BossGanon2* this, PlayState* play);
void BossGanon2_DrawShadowTexture(void* shadowTexture, BossGanon2* this, PlayState* play);
static Gfx gGanonLightOrbMaterialDL[14];
static Gfx gGanonLightOrbModelDL[3];
static Gfx gGanonShadowMaterialDL[4];
static Gfx gGanonShadowModelDL[6];
static Vtx gGanonSwordTrailVtx[22];
static Gfx gGanonSwordTrailDL[35];
static Gfx gGanonTriforceDL[16];
static Gfx gGanonLightningDL[17];
static Gfx gGanonFireRingDL[36];
static Gfx gGanonZeldaMagicDL[33];
static Gfx gGanonMasterSwordShadowDL[16];
static Gfx gGanonMasterSwordDL[122];
ActorProfile Boss_Ganon2_Profile = {
/**/ ACTOR_BOSS_GANON2,
/**/ ACTORCAT_BOSS,
@ -3460,4 +3474,145 @@ void BossGanon2_DrawShadowTexture(void* shadowTexture, BossGanon2* this, PlaySta
// padding
static u32 D_809071FC[2] = { 0 };
#include "assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.c"
#define gGanonLightOrbTex_WIDTH 64
#define gGanonLightOrbTex_HEIGHT 64
static u64 gGanonLightOrbTex[TEX_LEN(u64, gGanonLightOrbTex_WIDTH, gGanonLightOrbTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightOrbTex.i8.inc.c"
};
static Vtx gGanonLightOrbModelVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightOrbModelVtx.inc.c"
};
static Gfx gGanonLightOrbMaterialDL[14] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightOrbMaterialDL.inc.c"
};
static Gfx gGanonLightOrbModelDL[3] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightOrbModelDL.inc.c"
};
static Vtx gGanonShadowModelVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonShadowModelVtx.inc.c"
};
static Gfx gGanonShadowMaterialDL[4] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonShadowMaterialDL.inc.c"
};
static Gfx gGanonShadowModelDL[6] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonShadowModelDL.inc.c"
};
#define gGanonSwordTrailTex_WIDTH 32
#define gGanonSwordTrailTex_HEIGHT 32
static u64 gGanonSwordTrailTex[TEX_LEN(u64, gGanonSwordTrailTex_WIDTH, gGanonSwordTrailTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonSwordTrailTex.i8.inc.c"
};
#define gGanonSwordTrailMaskTex_WIDTH 32
#define gGanonSwordTrailMaskTex_HEIGHT 32
static u64 gGanonSwordTrailMaskTex[TEX_LEN(u64, gGanonSwordTrailMaskTex_WIDTH, gGanonSwordTrailMaskTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonSwordTrailMaskTex.i4.inc.c"
};
static Vtx gGanonSwordTrailVtx[22] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonSwordTrailVtx.inc.c"
};
static Gfx gGanonSwordTrailDL[35] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonSwordTrailDL.inc.c"
};
#define gGanonTriforceTex_WIDTH 64
#define gGanonTriforceTex_HEIGHT 64
static u64 gGanonTriforceTex[TEX_LEN(u64, gGanonTriforceTex_WIDTH, gGanonTriforceTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonTriforceTex.i8.inc.c"
};
static Vtx gGanonTriforceVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonTriforceVtx.inc.c"
};
static Gfx gGanonTriforceDL[16] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonTriforceDL.inc.c"
};
#define gGanonLightningTex_WIDTH 32
#define gGanonLightningTex_HEIGHT 160
static u64 gGanonLightningTex[TEX_LEN(u64, gGanonLightningTex_WIDTH, gGanonLightningTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightningTex.i4.inc.c"
};
static Vtx gGanonLightningVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightningVtx.inc.c"
};
static Gfx gGanonLightningDL[17] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonLightningDL.inc.c"
};
#define gGanonFireRingTex_WIDTH 32
#define gGanonFireRingTex_HEIGHT 64
static u64 gGanonFireRingTex[TEX_LEN(u64, gGanonFireRingTex_WIDTH, gGanonFireRingTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonFireRingTex.i8.inc.c"
};
static Vtx gGanonFireRingVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonFireRingVtx.inc.c"
};
static Gfx gGanonFireRingDL[36] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonFireRingDL.inc.c"
};
#define gGanonZeldaMagicTex_WIDTH 32
#define gGanonZeldaMagicTex_HEIGHT 64
static u64 gGanonZeldaMagicTex[TEX_LEN(u64, gGanonZeldaMagicTex_WIDTH, gGanonZeldaMagicTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonZeldaMagicTex.i8.inc.c"
};
static Vtx gGanonZeldaMagicVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonZeldaMagicVtx.inc.c"
};
static Gfx gGanonZeldaMagicDL[33] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonZeldaMagicDL.inc.c"
};
#define gGanonMasterSwordShadowTex_WIDTH 32
#define gGanonMasterSwordShadowTex_HEIGHT 32
static u64
gGanonMasterSwordShadowTex[TEX_LEN(u64, gGanonMasterSwordShadowTex_WIDTH, gGanonMasterSwordShadowTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordShadowTex.i8.inc.c"
};
static Vtx gGanonMasterSwordShadowVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordShadowVtx.inc.c"
};
static Gfx gGanonMasterSwordShadowDL[16] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordShadowDL.inc.c"
};
#define gGanonMasterSwordPommelTex_WIDTH 16
#define gGanonMasterSwordPommelTex_HEIGHT 16
static u64 gGanonMasterSwordPommelTex[TEX_LEN(u64, gGanonMasterSwordPommelTex_WIDTH, gGanonMasterSwordPommelTex_HEIGHT,
16)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordPommelTex.rgba16.inc.c"
};
#define gGanonMasterSwordGuardTex_WIDTH 32
#define gGanonMasterSwordGuardTex_HEIGHT 32
static u64
gGanonMasterSwordGuardTex[TEX_LEN(u64, gGanonMasterSwordGuardTex_WIDTH, gGanonMasterSwordGuardTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordGuardTex.rgba16.inc.c"
};
static Vtx gGanonMasterSwordVtx[] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordVtx.inc.c"
};
static Gfx gGanonMasterSwordDL[122] = {
#include "assets/overlays/ovl_Boss_Ganon2/gGanonMasterSwordDL.inc.c"
};

View File

@ -2769,7 +2769,7 @@ void BossSst_DrawHand(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, &D_80116280[2]);
} else {
gDPSetEnvColor(POLY_OPA_DISP++, sStaticColor.r, sStaticColor.g, sStaticColor.b, 0);
gSPSegment(POLY_OPA_DISP++, 0x08, sBodyStaticDList);
gSPSegment(POLY_OPA_DISP++, 0x08, sBodyStaticDL);
}
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
@ -2795,7 +2795,7 @@ void BossSst_DrawHand(Actor* thisx, PlayState* play) {
&trail->world.rot);
Matrix_Scale(0.02f, 0.02f, 0.02f, MTXMODE_APPLY);
gSPSegment(POLY_XLU_DISP++, 0x08, sHandTrailDList);
gSPSegment(POLY_XLU_DISP++, 0x08, sHandTrailDL);
gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x00, ((3 - i) * 10) + 20, 0, ((3 - i) * 20) + 50,
((3 - i) * 30) + 70);
@ -2904,7 +2904,7 @@ void BossSst_DrawHead(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, &D_80116280[2]);
} else {
gDPSetEnvColor(POLY_OPA_DISP++, sStaticColor.r, sStaticColor.g, sStaticColor.b, 0);
gSPSegment(POLY_OPA_DISP++, 0x08, sBodyStaticDList);
gSPSegment(POLY_OPA_DISP++, 0x08, sBodyStaticDL);
}
} else {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
@ -2956,7 +2956,7 @@ void BossSst_DrawHead(Actor* thisx, PlayState* play) {
Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_boss_sst.c", 6934);
gSPDisplayList(POLY_XLU_DISP++, sIntroVanishDList);
gSPDisplayList(POLY_XLU_DISP++, sIntroVanishDL);
}
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_sst.c", 6941);
@ -3257,7 +3257,7 @@ void BossSst_DrawEffects(Actor* thisx, PlayState* play) {
Matrix_Scale(effect->scale * 0.001f, 1.0f, effect->scale * 0.001f, MTXMODE_APPLY);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_boss_sst.c", 7423);
gSPDisplayList(POLY_XLU_DISP++, sShadowDList);
gSPDisplayList(POLY_XLU_DISP++, sShadowDL);
effect++;
}
}

View File

@ -181,7 +181,26 @@ void ElfMsg_Update(Actor* thisx, PlayState* play) {
}
#if DEBUG_ASSETS
#include "assets/overlays/ovl_Elf_Msg/ovl_Elf_Msg.c"
static Gfx sMaterialDL[8] = {
#include "assets/overlays/ovl_Elf_Msg/sMaterialDL.inc.c"
};
static Vtx sCylinderVtx[] = {
#include "assets/overlays/ovl_Elf_Msg/sCylinderVtx.inc.c"
};
static Gfx sCylinderDL[16] = {
#include "assets/overlays/ovl_Elf_Msg/sCylinderDL.inc.c"
};
static Vtx sCubeVtx[] = {
#include "assets/overlays/ovl_Elf_Msg/sCubeVtx.inc.c"
};
static Gfx sCubeDL[8] = {
#include "assets/overlays/ovl_Elf_Msg/sCubeDL.inc.c"
};
void ElfMsg_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_elf_msg.c", 436);
@ -198,7 +217,7 @@ void ElfMsg_Draw(Actor* thisx, PlayState* play) {
}
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_elf_msg.c", 448);
gSPDisplayList(POLY_XLU_DISP++, D_809AD278);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
if (PARAMS_GET_NOSHIFT(thisx->params, 14, 1)) {
gSPDisplayList(POLY_XLU_DISP++, sCubeDL);

View File

@ -163,7 +163,18 @@ void ElfMsg2_Update(Actor* thisx, PlayState* play) {
}
#if DEBUG_ASSETS
#include "assets/overlays/ovl_Elf_Msg2/ovl_Elf_Msg2.c"
static Gfx sMaterialDL[8] = {
#include "assets/overlays/ovl_Elf_Msg2/sMaterialDL.inc.c"
};
static Vtx sCubeVtx[] = {
#include "assets/overlays/ovl_Elf_Msg2/sCubeVtx.inc.c"
};
static Gfx sCubeDL[8] = {
#include "assets/overlays/ovl_Elf_Msg2/sCubeDL.inc.c"
};
void ElfMsg2_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_elf_msg2.c", 355);
@ -175,7 +186,7 @@ void ElfMsg2_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 100, 255, R_NAVI_MSG_REGION_ALPHA);
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx, "../z_elf_msg2.c", 362);
gSPDisplayList(POLY_XLU_DISP++, D_809ADC38);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sCubeDL);
CLOSE_DISPS(play->state.gfxCtx, "../z_elf_msg2.c", 367);

View File

@ -429,36 +429,36 @@ void EnArrow_Update(Actor* thisx, PlayState* play) {
}
void func_809B4800(EnArrow* this, PlayState* play) {
static Vec3f D_809B4E88 = { 0.0f, 400.0f, 1500.0f };
static Vec3f D_809B4E94 = { 0.0f, -400.0f, 1500.0f };
static Vec3f sPosAOffset = { 0.0f, 400.0f, 1500.0f };
static Vec3f sPosBOffset = { 0.0f, -400.0f, 1500.0f };
static Vec3f D_809B4EA0 = { 0.0f, 0.0f, -300.0f };
Vec3f sp44;
Vec3f sp38;
Vec3f posA;
Vec3f posB;
s32 addBlureVertex;
Matrix_MultVec3f(&D_809B4EA0, &this->unk_21C);
if (EnArrow_Fly == this->actionFunc) {
Matrix_MultVec3f(&D_809B4E88, &sp44);
Matrix_MultVec3f(&D_809B4E94, &sp38);
Matrix_MultVec3f(&sPosAOffset, &posA);
Matrix_MultVec3f(&sPosBOffset, &posB);
if (this->actor.params <= ARROW_SEED) {
addBlureVertex = this->actor.params <= ARROW_LIGHT;
if (this->hitActor == NULL) {
addBlureVertex &= func_80090480(play, &this->collider, &this->weaponInfo, &sp44, &sp38);
addBlureVertex &= Player_UpdateWeaponInfo(play, &this->collider, &this->weaponInfo, &posA, &posB);
} else {
if (addBlureVertex) {
if ((sp44.x == this->weaponInfo.tip.x) && (sp44.y == this->weaponInfo.tip.y) &&
(sp44.z == this->weaponInfo.tip.z) && (sp38.x == this->weaponInfo.base.x) &&
(sp38.y == this->weaponInfo.base.y) && (sp38.z == this->weaponInfo.base.z)) {
if ((posA.x == this->weaponInfo.posA.x) && (posA.y == this->weaponInfo.posA.y) &&
(posA.z == this->weaponInfo.posA.z) && (posB.x == this->weaponInfo.posB.x) &&
(posB.y == this->weaponInfo.posB.y) && (posB.z == this->weaponInfo.posB.z)) {
addBlureVertex = false;
}
}
}
if (addBlureVertex) {
EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &sp44, &sp38);
EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &posA, &posB);
}
}
}

View File

@ -257,22 +257,22 @@ void EnBoom_Update(Actor* thisx, PlayState* play) {
}
void EnBoom_Draw(Actor* thisx, PlayState* play) {
static Vec3f sMultVec1 = { -960.0f, 0.0f, 0.0f };
static Vec3f sMultVec2 = { 960.0f, 0.0f, 0.0f };
static Vec3f sPosAOffset = { -960.0f, 0.0f, 0.0f };
static Vec3f sPosBOffset = { 960.0f, 0.0f, 0.0f };
EnBoom* this = (EnBoom*)thisx;
Vec3f vec1;
Vec3f vec2;
Vec3f posA;
Vec3f posB;
OPEN_DISPS(play->state.gfxCtx, "../z_en_boom.c", 567);
Matrix_RotateY(BINANG_TO_RAD(this->actor.world.rot.y), MTXMODE_APPLY);
Matrix_RotateZ(BINANG_TO_RAD(0x1F40), MTXMODE_APPLY);
Matrix_RotateX(BINANG_TO_RAD(this->actor.world.rot.x), MTXMODE_APPLY);
Matrix_MultVec3f(&sMultVec1, &vec1);
Matrix_MultVec3f(&sMultVec2, &vec2);
Matrix_MultVec3f(&sPosAOffset, &posA);
Matrix_MultVec3f(&sPosBOffset, &posB);
if (func_80090480(play, &this->collider, &this->boomerangInfo, &vec1, &vec2)) {
EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &vec1, &vec2);
if (Player_UpdateWeaponInfo(play, &this->collider, &this->weaponInfo, &posA, &posB)) {
EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &posA, &posB);
}
Gfx_SetupDL_25Opa(play->state.gfxCtx);

View File

@ -17,7 +17,7 @@ typedef struct EnBoom {
/* 0x01D4 */ u8 returnTimer; // returns to Link when 0
/* 0x01D5 */ u8 activeTimer; // increments once every update
/* 0x01D8 */ s32 effectIndex;
/* 0x01DC */ WeaponInfo boomerangInfo;
/* 0x01DC */ WeaponInfo weaponInfo;
/* 0x01F8 */ EnBoomActionFunc actionFunc;
} EnBoom; // size = 0x01FC

View File

@ -318,9 +318,11 @@ void EnButte_FollowLink(EnButte* this, PlayState* play) {
minAnimSpeed = 0.0f;
if ((this->flightParamsIdx != 0) && (this->timer < 12)) {
swordTip.x = player->meleeWeaponInfo[0].tip.x + Math_SinS(player->actor.shape.rot.y) * 10.0f;
swordTip.y = player->meleeWeaponInfo[0].tip.y;
swordTip.z = player->meleeWeaponInfo[0].tip.z + Math_CosS(player->actor.shape.rot.y) * 10.0f;
swordTip.x =
MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->x + Math_SinS(player->actor.shape.rot.y) * 10.0f;
swordTip.y = MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->y;
swordTip.z =
MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->z + Math_CosS(player->actor.shape.rot.y) * 10.0f;
yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &swordTip) + (s16)(Rand_ZeroOne() * D_809CE410);
if (Math_ScaledStepToS(&this->actor.world.rot.y, yaw, 2000) != 0) {
@ -332,7 +334,7 @@ void EnButte_FollowLink(EnButte* this, PlayState* play) {
}
}
this->posYTarget = MAX(player->actor.world.pos.y + 30.0f, player->meleeWeaponInfo[0].tip.y);
this->posYTarget = MAX(player->actor.world.pos.y + 30.0f, MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->y);
EnButte_Turn(this);
@ -352,7 +354,8 @@ void EnButte_FollowLink(EnButte* this, PlayState* play) {
(this->swordDownTimer <= 0) && (distSqFromHome < SQ(320.0f)))) {
EnButte_SetupFlyAround(this);
} else if (distSqFromHome > SQ(240.0f)) {
distSqFromSword = Math3D_Dist2DSq(player->meleeWeaponInfo[0].tip.x, player->meleeWeaponInfo[0].tip.z,
distSqFromSword = Math3D_Dist2DSq(MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->x,
MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0])->z,
this->actor.world.pos.x, this->actor.world.pos.z);
if (distSqFromSword < SQ(60.0f)) {
EnButte_SetupTransformIntoFairy(this);

View File

@ -10,6 +10,7 @@
#include "gfx_setupdl.h"
#include "printf.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "play_state.h"
#include "overlays/actors/ovl_Boss_Ganon/z_boss_ganon.h"
@ -35,7 +36,95 @@ ActorProfile En_Ganon_Organ_Profile = {
static u64 sForceAlignment = 0;
#include "assets/overlays/ovl_En_Ganon_Organ/ovl_En_Ganon_Organ.c"
#define sRoomCarpetTex_WIDTH 64
#define sRoomCarpetTex_HEIGHT 16
static u64 sRoomCarpetTex[TEX_LEN(u64, sRoomCarpetTex_WIDTH, sRoomCarpetTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomCarpetTex.rgba16.inc.c"
};
#define sRoomOrganPipeTex_WIDTH 16
#define sRoomOrganPipeTex_HEIGHT 64
static u64 sRoomOrganPipeTex[TEX_LEN(u64, sRoomOrganPipeTex_WIDTH, sRoomOrganPipeTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganPipeTex.i4.inc.c"
};
#define sRoomOrganCorbelsTex_WIDTH 16
#define sRoomOrganCorbelsTex_HEIGHT 16
static u64 sRoomOrganCorbelsTex[TEX_LEN(u64, sRoomOrganCorbelsTex_WIDTH, sRoomOrganCorbelsTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganCorbelsTex.i4.inc.c"
};
#define sRoomOrganGrillTex_WIDTH 16
#define sRoomOrganGrillTex_HEIGHT 16
static u64 sRoomOrganGrillTex[TEX_LEN(u64, sRoomOrganGrillTex_WIDTH, sRoomOrganGrillTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganGrillTex.rgba16.inc.c"
};
#define sRoomCrestFriezeTex_WIDTH 32
#define sRoomCrestFriezeTex_HEIGHT 32
static u64 sRoomCrestFriezeTex[TEX_LEN(u64, sRoomCrestFriezeTex_WIDTH, sRoomCrestFriezeTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomCrestFriezeTex.i4.inc.c"
};
#define sRoomColumnFriezeAndCanopyTex_WIDTH 16
#define sRoomColumnFriezeAndCanopyTex_HEIGHT 16
static u64 sRoomColumnFriezeAndCanopyTex[TEX_LEN(u64, sRoomColumnFriezeAndCanopyTex_WIDTH,
sRoomColumnFriezeAndCanopyTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomColumnFriezeAndCanopyTex.i4.inc.c"
};
#define sRoomColumnMetalEdgingTex_WIDTH 16
#define sRoomColumnMetalEdgingTex_HEIGHT 16
static u64
sRoomColumnMetalEdgingTex[TEX_LEN(u64, sRoomColumnMetalEdgingTex_WIDTH, sRoomColumnMetalEdgingTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomColumnMetalEdgingTex.rgba16.inc.c"
};
#define sRoomStatueWingTex_WIDTH 16
#define sRoomStatueWingTex_HEIGHT 16
static u64 sRoomStatueWingTex[TEX_LEN(u64, sRoomStatueWingTex_WIDTH, sRoomStatueWingTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomStatueWingTex.rgba16.inc.c"
};
#define sRoomPillarTex_WIDTH 8
#define sRoomPillarTex_HEIGHT 32
static u64 sRoomPillarTex[TEX_LEN(u64, sRoomPillarTex_WIDTH, sRoomPillarTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomPillarTex.i8.inc.c"
};
#define sRoomOrganKeyboardTex_WIDTH 32
#define sRoomOrganKeyboardTex_HEIGHT 8
static u64 sRoomOrganKeyboardTex[TEX_LEN(u64, sRoomOrganKeyboardTex_WIDTH, sRoomOrganKeyboardTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganKeyboardTex.rgba16.inc.c"
};
#define sRoomOrganKeyEndTex_WIDTH 4
#define sRoomOrganKeyEndTex_HEIGHT 8
static u64 sRoomOrganKeyEndTex[TEX_LEN(u64, sRoomOrganKeyEndTex_WIDTH, sRoomOrganKeyEndTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganKeyEndTex.rgba16.inc.c"
};
#define sRoomStepTex_WIDTH 16
#define sRoomStepTex_HEIGHT 16
static u64 sRoomStepTex[TEX_LEN(u64, sRoomStepTex_WIDTH, sRoomStepTex_HEIGHT, 4)] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomStepTex.i4.inc.c"
};
static Vtx sRoomOrganAndFloorVtx[] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganAndFloorVtx.inc.c"
};
static Gfx sRoomOrganAndFloorDL[429] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomOrganAndFloorDL.inc.c"
};
static Vtx sRoomStatuesVtx[] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomStatuesVtx.inc.c"
};
static Gfx sRoomStatuesDL[152] = {
#include "assets/overlays/ovl_En_Ganon_Organ/sRoomStatuesDL.inc.c"
};
void EnGanonOrgan_Init(Actor* thisx, PlayState* play) {
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;

View File

@ -1,3 +1,9 @@
/*
* File: z_en_ma2.c
* Overlay: En_Ma2
* Description: Adult Malon (Stables / Ranch Pre-Epona)
*/
#include "z_en_ma2.h"
#include "gfx.h"
@ -25,14 +31,14 @@ void EnMa2_Destroy(Actor* thisx, PlayState* play);
void EnMa2_Update(Actor* thisx, PlayState* play);
void EnMa2_Draw(Actor* thisx, PlayState* play);
void func_80AA1AE4(EnMa2* this, PlayState* play);
s32 func_80AA1C68(EnMa2* this);
void EnMa2_UpdateTracking(EnMa2* this, PlayState* play);
s32 EnMa2_IsSinging(EnMa2* this);
void EnMa2_UpdateEyes(EnMa2* this);
void func_80AA1DB4(EnMa2* this, PlayState* play);
void func_80AA2018(EnMa2* this, PlayState* play);
void func_80AA204C(EnMa2* this, PlayState* play);
void func_80AA20E4(EnMa2* this, PlayState* play);
void func_80AA21C8(EnMa2* this, PlayState* play);
void EnMa2_UpdateSinging(EnMa2* this, PlayState* play);
void EnMa2_WaitToEndTalk(EnMa2* this, PlayState* play);
void EnMa2_WaitForOcarina(EnMa2* this, PlayState* play);
void EnMa2_WaitForEponasSong(EnMa2* this, PlayState* play);
void EnMa2_ForceTalkAfterSong(EnMa2* this, PlayState* play);
ActorProfile En_Ma2_Profile = {
/**/ ACTOR_EN_MA2,
@ -69,11 +75,11 @@ static ColliderCylinderInit sCylinderInit = {
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
typedef enum EnMa2Animation {
/* 0 */ ENMA2_ANIM_0,
/* 1 */ ENMA2_ANIM_1,
/* 2 */ ENMA2_ANIM_2,
/* 3 */ ENMA2_ANIM_3,
/* 4 */ ENMA2_ANIM_4
/* 0 */ MALON_ADULT_ANIM_IDLE,
/* 1 */ MALON_ADULT_ANIM_IDLE_NOMORPH,
/* 2 */ MALON_ADULT_ANIM_STANDING,
/* 3 */ MALON_ADULT_ANIM_SING,
/* 4 */ MALON_ADULT_ANIM_SING_NOMORPH
} EnMa2Animation;
static AnimationFrameCountInfo sAnimationInfo[] = {
@ -92,9 +98,9 @@ u16 EnMa2_GetTextId(PlayState* play, Actor* thisx) {
return 0x2056;
}
if (IS_NIGHT) {
if (GET_INFTABLE(INFTABLE_8C)) {
if (GET_INFTABLE(INFTABLE_TALKED_TO_ADULT_MALON_AFTER_SONG)) {
return 0x2052;
} else if (GET_INFTABLE(INFTABLE_8E)) {
} else if (GET_INFTABLE(INFTABLE_PLAYED_SONG_FOR_ADULT_MALON)) {
return 0x2051;
} else {
return 0x2050;
@ -110,9 +116,10 @@ s16 EnMa2_UpdateTalkState(PlayState* play, Actor* thisx) {
case TEXT_STATE_CLOSING:
switch (thisx->textId) {
case 0x2051:
SET_INFTABLE(INFTABLE_8C);
SET_INFTABLE(INFTABLE_TALKED_TO_ADULT_MALON_AFTER_SONG);
talkState = NPC_TALK_STATE_ACTION;
break;
// unreachable, 0x2053 is a text id for Gossip Stones, which EnMa2 never sets
case 0x2053:
SET_INFTABLE(INFTABLE_8D);
talkState = NPC_TALK_STATE_IDLE;
@ -135,7 +142,7 @@ s16 EnMa2_UpdateTalkState(PlayState* play, Actor* thisx) {
return talkState;
}
void func_80AA1AE4(EnMa2* this, PlayState* play) {
void EnMa2_UpdateTracking(EnMa2* this, PlayState* play) {
Player* player = GET_PLAYER(play);
s16 trackingMode;
@ -151,47 +158,58 @@ void func_80AA1AE4(EnMa2* this, PlayState* play) {
Npc_TrackPoint(&this->actor, &this->interactInfo, 0, trackingMode);
}
u16 func_80AA1B58(EnMa2* this, PlayState* play) {
typedef enum {
MALON_ADULT_SPAWN_NONE = 0,
MALON_ADULT_SPAWN_DAY_STABLES_NO_EPONA,
MALON_ADULT_SPAWN_NIGHT_RANCH_NO_EPONA,
MALON_ADULT_SPAWN_ALWAYS
} EnMa2SpawnIndex;
u16 EnMa2_GetSpawnIndex(EnMa2* this, PlayState* play) {
if (LINK_IS_CHILD) {
return 0;
return MALON_ADULT_SPAWN_NONE;
}
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_STABLE) && IS_DAY &&
(this->actor.shape.rot.z == 5)) {
return 1;
return MALON_ADULT_SPAWN_DAY_STABLES_NO_EPONA;
}
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_LON_LON_RANCH) && IS_NIGHT &&
(this->actor.shape.rot.z == 6)) {
return 2;
return MALON_ADULT_SPAWN_NIGHT_RANCH_NO_EPONA;
}
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) || (play->sceneId != SCENE_LON_LON_RANCH)) {
return 0;
return MALON_ADULT_SPAWN_NONE;
}
if ((this->actor.shape.rot.z == 7) && IS_DAY) {
return 3;
return MALON_ADULT_SPAWN_ALWAYS;
}
if ((this->actor.shape.rot.z == 8) && IS_NIGHT) {
return 3;
return MALON_ADULT_SPAWN_ALWAYS;
}
return 0;
return MALON_ADULT_SPAWN_NONE;
}
s32 func_80AA1C68(EnMa2* this) {
s32 EnMa2_IsSinging(EnMa2* this) {
if (this->skelAnime.animation != &gMalonAdultSingAnim) {
return 0;
return false;
}
if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE) {
return 0;
return false;
}
this->blinkTimer = 0;
if (this->eyeIndex != 2) {
return 0;
return false;
}
this->mouthIndex = 2;
return 1;
return true;
}
void EnMa2_UpdateEyes(EnMa2* this) {
if ((!func_80AA1C68(this)) && (DECR(this->blinkTimer) == 0)) {
if ((!EnMa2_IsSinging(this)) && (DECR(this->blinkTimer) == 0)) {
this->eyeIndex++;
if (this->eyeIndex >= 3) {
this->blinkTimer = Rand_S16Offset(30, 30);
@ -207,19 +225,19 @@ void EnMa2_ChangeAnim(EnMa2* this, s32 index) {
sAnimationInfo[index].mode, sAnimationInfo[index].morphFrames);
}
void func_80AA1DB4(EnMa2* this, PlayState* play) {
void EnMa2_UpdateSinging(EnMa2* this, PlayState* play) {
if (this->skelAnime.animation == &gMalonAdultSingAnim) {
if (this->interactInfo.talkState == NPC_TALK_STATE_IDLE) {
if (this->isNotSinging) {
if (this->singingDisabled) {
// Turn on singing
Audio_ToggleMalonSinging(false);
this->isNotSinging = false;
this->singingDisabled = false;
}
} else {
if (!this->isNotSinging) {
if (!this->singingDisabled) {
// Turn off singing
Audio_ToggleMalonSinging(true);
this->isNotSinging = true;
this->singingDisabled = true;
}
}
}
@ -235,24 +253,24 @@ void EnMa2_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(22), &sColChkInfoInit);
switch (func_80AA1B58(this, play)) {
case 1:
EnMa2_ChangeAnim(this, ENMA2_ANIM_2);
this->actionFunc = func_80AA2018;
switch (EnMa2_GetSpawnIndex(this, play)) {
case MALON_ADULT_SPAWN_DAY_STABLES_NO_EPONA:
EnMa2_ChangeAnim(this, MALON_ADULT_ANIM_STANDING);
this->actionFunc = EnMa2_WaitToEndTalk;
break;
case 2:
EnMa2_ChangeAnim(this, ENMA2_ANIM_3);
this->actionFunc = func_80AA204C;
case MALON_ADULT_SPAWN_NIGHT_RANCH_NO_EPONA:
EnMa2_ChangeAnim(this, MALON_ADULT_ANIM_SING);
this->actionFunc = EnMa2_WaitForOcarina;
break;
case 3:
case MALON_ADULT_SPAWN_ALWAYS:
if (GET_INFTABLE(INFTABLE_8D)) {
EnMa2_ChangeAnim(this, ENMA2_ANIM_0);
EnMa2_ChangeAnim(this, MALON_ADULT_ANIM_IDLE);
} else {
EnMa2_ChangeAnim(this, ENMA2_ANIM_3);
EnMa2_ChangeAnim(this, MALON_ADULT_ANIM_SING);
}
this->actionFunc = func_80AA2018;
this->actionFunc = EnMa2_WaitToEndTalk;
break;
case 0:
case MALON_ADULT_SPAWN_NONE:
Actor_Kill(&this->actor);
return;
}
@ -270,48 +288,48 @@ void EnMa2_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
}
void func_80AA2018(EnMa2* this, PlayState* play) {
void EnMa2_WaitToEndTalk(EnMa2* this, PlayState* play) {
if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) {
this->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
this->interactInfo.talkState = NPC_TALK_STATE_IDLE;
}
}
void func_80AA204C(EnMa2* this, PlayState* play) {
void EnMa2_WaitForOcarina(EnMa2* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (player->stateFlags2 & PLAYER_STATE2_24) {
player->stateFlags2 |= PLAYER_STATE2_25;
player->unk_6A8 = &this->actor;
Message_StartOcarina(play, OCARINA_ACTION_CHECK_EPONA);
this->actionFunc = func_80AA20E4;
this->actionFunc = EnMa2_WaitForEponasSong;
} else if (this->actor.xzDistToPlayer < 30.0f + this->collider.dim.radius) {
player->stateFlags2 |= PLAYER_STATE2_23;
}
}
void func_80AA20E4(EnMa2* this, PlayState* play) {
void EnMa2_WaitForEponasSong(EnMa2* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (play->msgCtx.ocarinaMode >= OCARINA_MODE_04) {
this->actionFunc = func_80AA204C;
this->actionFunc = EnMa2_WaitForOcarina;
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
} else if (play->msgCtx.ocarinaMode == OCARINA_MODE_03) {
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
this->unk_208 = 0x1E;
SET_INFTABLE(INFTABLE_8E);
this->actionFunc = func_80AA21C8;
this->timer = 0x1E;
SET_INFTABLE(INFTABLE_PLAYED_SONG_FOR_ADULT_MALON);
this->actionFunc = EnMa2_ForceTalkAfterSong;
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
} else {
player->stateFlags2 |= PLAYER_STATE2_23;
}
}
void func_80AA21C8(EnMa2* this, PlayState* play) {
void EnMa2_ForceTalkAfterSong(EnMa2* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (DECR(this->unk_208)) {
if (DECR(this->timer)) {
player->stateFlags2 |= PLAYER_STATE2_23;
} else {
if (this->interactInfo.talkState == NPC_TALK_STATE_IDLE) {
@ -319,7 +337,7 @@ void func_80AA21C8(EnMa2* this, PlayState* play) {
Message_CloseTextbox(play);
} else {
this->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
this->actionFunc = func_80AA2018;
this->actionFunc = EnMa2_WaitToEndTalk;
}
}
}
@ -333,9 +351,9 @@ void EnMa2_Update(Actor* thisx, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
EnMa2_UpdateEyes(this);
this->actionFunc(this, play);
func_80AA1DB4(this, play);
func_80AA1AE4(this, play);
if (this->actionFunc != func_80AA20E4) {
EnMa2_UpdateSinging(this, play);
EnMa2_UpdateTracking(this, play);
if (this->actionFunc != EnMa2_WaitForEponasSong) {
Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 30.0f,
EnMa2_GetTextId, EnMa2_UpdateTalkState);
}
@ -362,8 +380,8 @@ s32 EnMa2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
}
if ((limbIndex == MALON_ADULT_CHEST_AND_NECK_LIMB) || (limbIndex == MALON_ADULT_LEFT_SHOULDER_LIMB) ||
(limbIndex == MALON_ADULT_RIGHT_SHOULDER_LIMB)) {
rot->y += Math_SinS(this->unk_212[limbIndex].y) * 200.0f;
rot->z += Math_CosS(this->unk_212[limbIndex].z) * 200.0f;
rot->y += Math_SinS(this->upperBodyRot[limbIndex].y) * 200.0f;
rot->z += Math_CosS(this->upperBodyRot[limbIndex].z) * 200.0f;
}
return false;
}

View File

@ -37,12 +37,12 @@ typedef struct EnMa2 {
/* 0x0190 */ EnMa2ActionFunc actionFunc;
/* 0x0194 */ ColliderCylinder collider;
/* 0x01E0 */ NpcInteractInfo interactInfo;
/* 0x0208 */ s16 unk_208;
/* 0x020A */ s16 isNotSinging;
/* 0x0208 */ s16 timer;
/* 0x020A */ s16 singingDisabled;
/* 0x020C */ s16 blinkTimer;
/* 0x020E */ s16 eyeIndex;
/* 0x0210 */ s16 mouthIndex;
/* 0x0212 */ Vec3s unk_212[MALON_ADULT_LIMB_MAX];
/* 0x0212 */ Vec3s upperBodyRot[MALON_ADULT_LIMB_MAX];
} EnMa2; // size = 0x0284
#endif

View File

@ -1514,7 +1514,7 @@ void EnMb_Update(Actor* thisx, PlayState* play) {
void EnMb_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
static Vec3f unused = { 1100.0f, -700.0f, 0.0f };
static Vec3f feetPos = { 0.0f, 0.0f, 0.0f };
static Vec3f effSpawnModelPos = { 0.0f, -8000.0f, 0.0f };
static Vec3f effSpawnOffsetFromLeftHand = { 0.0f, -8000.0f, 0.0f };
static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
s32 bodyPart = -1;
EnMb* this = (EnMb*)thisx;
@ -1522,7 +1522,7 @@ void EnMb_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
if (this->actor.params == ENMB_TYPE_CLUB) {
if (limbIndex == ENMB_LIMB_LHAND) {
Matrix_MultVec3f(&effSpawnModelPos, &this->effSpawnPos);
Matrix_MultVec3f(&effSpawnOffsetFromLeftHand, &this->effSpawnPos);
if (this->attack > ENMB_ATTACK_NONE) {
EnMb_ClubUpdateAttackCollider(&this->actor, play);
}

View File

@ -90,28 +90,6 @@ void EnRu1_DrawNothing(EnRu1* this, PlayState* play);
void EnRu1_DrawOpa(EnRu1* this, PlayState* play);
void EnRu1_DrawXlu(EnRu1* this, PlayState* play);
typedef enum EnRu1Eyes {
/* 0 */ ENRU1_EYES_OPEN,
/* 1 */ ENRU1_EYES_HALF_BLINK,
/* 2 */ ENRU1_EYES_CLOSED,
/* 3 */ ENRU1_EYES_UP,
/* 4 */ ENRU1_EYES_GAZING,
/* 5 */ ENRU1_EYES_BLUSH,
} EnRu1Eyes;
typedef enum EnRu1Mouth {
/* 0 */ ENRU1_MOUTH_SMILING,
/* 1 */ ENRU1_MOUTH_FROWNING,
/* 2 */ ENRU1_MOUTH_OPEN,
} EnRu1Mouth;
typedef enum EnRu1WaterState {
/* 0 */ ENRU1_WATER_OUTSIDE,
/* 1 */ ENRU1_WATER_IMMERSED,
/* 2 */ ENRU1_WATER_BOBBING,
/* 3 */ ENRU1_WATER_SINKING,
} EnRu1WaterState;
static ColliderCylinderInitType1 sStandingCylinderInit = {
{
COL_MATERIAL_HIT0,
@ -154,13 +132,52 @@ static s32 sUnused = 0;
static u32 D_80AF1938 = 0;
static EnRu1ActionFunc sActionFuncs[] = {
func_80AEC0B4, func_80AEC100, func_80AEC130, func_80AEC17C, func_80AEC1D4, func_80AEC244, func_80AEC2C0,
func_80AECA94, func_80AECAB4, func_80AECAD4, func_80AECB18, func_80AECB60, func_80AECBB8, func_80AECC1C,
func_80AECC84, func_80AED304, func_80AED324, func_80AED344, func_80AED374, func_80AED3A4, func_80AED3E0,
func_80AED414, func_80AEF29C, func_80AEF2AC, func_80AEF2D0, func_80AEF354, func_80AEF3A8, func_80AEEBD4,
func_80AEEC5C, func_80AEECF0, func_80AEED58, func_80AEEDCC, func_80AEEE34, func_80AEEE9C, func_80AEEF08,
func_80AEEF5C, func_80AEF9D8, func_80AEFA2C, func_80AEFAAC, func_80AEFB04, func_80AEFB68, func_80AEFCE8,
func_80AEFBC8, func_80AEFC24, func_80AEFECC, func_80AEFF40,
func_80AEC0B4, // ENRU1_ACTION_00
func_80AEC100, // ENRU1_ACTION_01
func_80AEC130, // ENRU1_ACTION_02
func_80AEC17C, // ENRU1_ACTION_03
func_80AEC1D4, // ENRU1_ACTION_04
func_80AEC244, // ENRU1_ACTION_05
func_80AEC2C0, // ENRU1_ACTION_06
func_80AECA94, // ENRU1_ACTION_07
func_80AECAB4, // ENRU1_ACTION_08
func_80AECAD4, // ENRU1_ACTION_09
func_80AECB18, // ENRU1_ACTION_10
func_80AECB60, // ENRU1_ACTION_11
func_80AECBB8, // ENRU1_ACTION_12
func_80AECC1C, // ENRU1_ACTION_13
func_80AECC84, // ENRU1_ACTION_14
func_80AED304, // ENRU1_ACTION_15
func_80AED324, // ENRU1_ACTION_16
func_80AED344, // ENRU1_ACTION_17
func_80AED374, // ENRU1_ACTION_18
func_80AED3A4, // ENRU1_ACTION_19
func_80AED3E0, // ENRU1_ACTION_20
func_80AED414, // ENRU1_ACTION_21
func_80AEF29C, // ENRU1_ACTION_22
func_80AEF2AC, // ENRU1_ACTION_23
func_80AEF2D0, // ENRU1_ACTION_24
func_80AEF354, // ENRU1_ACTION_25
func_80AEF3A8, // ENRU1_ACTION_26
func_80AEEBD4, // ENRU1_ACTION_27
func_80AEEC5C, // ENRU1_ACTION_28
func_80AEECF0, // ENRU1_ACTION_29
func_80AEED58, // ENRU1_ACTION_30
func_80AEEDCC, // ENRU1_ACTION_31
func_80AEEE34, // ENRU1_ACTION_32
func_80AEEE9C, // ENRU1_ACTION_33
func_80AEEF08, // ENRU1_ACTION_34
func_80AEEF5C, // ENRU1_ACTION_35
func_80AEF9D8, // ENRU1_ACTION_36
func_80AEFA2C, // ENRU1_ACTION_37
func_80AEFAAC, // ENRU1_ACTION_38
func_80AEFB04, // ENRU1_ACTION_39
func_80AEFB68, // ENRU1_ACTION_40
func_80AEFCE8, // ENRU1_ACTION_41
func_80AEFBC8, // ENRU1_ACTION_42
func_80AEFC24, // ENRU1_ACTION_43
func_80AEFECC, // ENRU1_ACTION_44
func_80AEFF40, // ENRU1_ACTION_45
};
static EnRu1PreLimbDrawFunc sPreLimbDrawFuncs[] = {
@ -325,7 +342,8 @@ s32 func_80AEB020(EnRu1* this, PlayState* play) {
if (actorIt->id == ACTOR_EN_RU1) {
someEnRu1 = (EnRu1*)actorIt;
if (someEnRu1 != this) {
if ((someEnRu1->action == 31) || (someEnRu1->action == 32) || (someEnRu1->action == 24)) {
if ((someEnRu1->action == ENRU1_ACTION_31) || (someEnRu1->action == ENRU1_ACTION_32) ||
(someEnRu1->action == ENRU1_ACTION_24)) {
return true;
}
}
@ -385,8 +403,8 @@ s32 func_80AEB1B4(PlayState* play) {
#if DEBUG_FEATURES
void func_80AEB1D8(EnRu1* this) {
this->action = 36;
this->drawConfig = 0;
this->action = ENRU1_ACTION_36;
this->drawConfig = ENRU1_DRAW_NOTHING;
this->actor.velocity.x = 0.0f;
this->actor.velocity.y = 0.0f;
this->actor.velocity.z = 0.0f;
@ -426,7 +444,7 @@ void EnRu1_AnimationChange(EnRu1* this, AnimationHeader* animation, u8 mode, f32
s32 EnRu1_UpdateSkelAnime(EnRu1* this) {
// why?
if (this->action != 32) {
if (this->action != ENRU1_ACTION_32) {
return SkelAnime_Update(&this->skelAnime);
} else {
return SkelAnime_Update(&this->skelAnime);
@ -449,8 +467,8 @@ void func_80AEB3CC(EnRu1* this) {
void EnRu1_InitOutsideJabuJabu(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsBehindBackAnim, ANIMMODE_LOOP, 0, false);
this->action = 0;
this->drawConfig = 1;
this->action = ENRU1_ACTION_00;
this->drawConfig = ENRU1_DRAW_OPA;
EnRu1_SetEyes(this, ENRU1_EYES_GAZING);
EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
}
@ -653,8 +671,8 @@ void func_80AEBCB8(EnRu1* this, UNK_TYPE arg1) {
void func_80AEBD1C(EnRu1* this, PlayState* play) {
if (func_80AEB480(play, 2)) {
this->action = 1;
this->drawConfig = 0;
this->action = ENRU1_ACTION_01;
this->drawConfig = ENRU1_DRAW_NOTHING;
func_80AEB914(this, play);
func_80AEAECC(this, play);
EnRu1_SpawnSplash(this, play);
@ -671,8 +689,8 @@ void func_80AEBD94(EnRu1* this, PlayState* play) {
func_80AEB934(this, play);
func_80AEB738(this, play);
Animation_Change(&this->skelAnime, &gRutoChildResurfaceAnim, 1.0f, 0.0f, frameCount, ANIMMODE_ONCE, 0.0f);
this->action = 2;
this->drawConfig = 1;
this->action = ENRU1_ACTION_02;
this->drawConfig = ENRU1_DRAW_OPA;
}
}
@ -684,7 +702,7 @@ void func_80AEBE3C(EnRu1* this, PlayState* play, s32 arg2) {
func_80AEB7D0(this);
Animation_Change(&this->skelAnime, &gRutoChildTreadWaterAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, -8.0f);
this->action = 3;
this->action = ENRU1_ACTION_03;
} else {
func_80AEB954(this, play);
}
@ -699,7 +717,7 @@ void func_80AEBEC8(EnRu1* this, PlayState* play) {
func_80AEB738(this, play);
Animation_Change(&this->skelAnime, &gRutoChildTransitionToSwimOnBackAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE,
-8.0f);
this->action = 4;
this->action = ENRU1_ACTION_04;
}
}
@ -708,7 +726,7 @@ void func_80AEBF60(EnRu1* this, PlayState* play) {
s32 pad;
func_80AEB7D0(this);
this->action = 5;
this->action = ENRU1_ACTION_05;
this->unk_364 = this->actor.world.pos;
} else {
func_80AEBA0C(this, play);
@ -729,7 +747,7 @@ void func_80AEBFD8(EnRu1* this, PlayState* play) {
frameCount = Animation_GetLastFrame(&gRutoChildTransitionFromSwimOnBackAnim);
Animation_Change(&this->skelAnime, &gRutoChildTransitionFromSwimOnBackAnim, 1.0, 0, frameCount,
ANIMMODE_ONCE, -8.0f);
this->action = 6;
this->action = ENRU1_ACTION_06;
}
}
}
@ -807,7 +825,7 @@ void func_80AEC2C0(EnRu1* this, PlayState* play) {
void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
if (!GET_INFTABLE(INFTABLE_141)) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 7;
this->action = ENRU1_ACTION_07;
EnRu1_SetMouth(this, ENRU1_MOUTH_FROWNING);
} else if (GET_INFTABLE(INFTABLE_147) && !GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145)) {
if (!func_80AEB020(this, play)) {
@ -815,9 +833,9 @@ void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
actorRoom = this->actor.room;
this->action = 22;
this->action = ENRU1_ACTION_22;
this->actor.room = -1;
this->drawConfig = 0;
this->drawConfig = ENRU1_DRAW_NOTHING;
this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom;
this->roomNum2 = actorRoom;
@ -907,7 +925,7 @@ void func_80AEC780(EnRu1* this, PlayState* play) {
play->csCtx.script = gRutoFirstMeetingCs;
gSaveContext.cutsceneTrigger = 1;
player->speedXZ = 0.0f;
this->action = 8;
this->action = ENRU1_ACTION_08;
}
}
@ -923,8 +941,8 @@ void func_80AEC81C(EnRu1* this, PlayState* play) {
newRotY = cue->rot.y;
this->actor.shape.rot.y = newRotY;
this->actor.world.rot.y = newRotY;
this->action = 9;
this->drawConfig = 1;
this->action = ENRU1_ACTION_09;
this->drawConfig = ENRU1_DRAW_OPA;
}
}
@ -932,7 +950,7 @@ void func_80AEC8B8(EnRu1* this, PlayState* play) {
if (func_80AEAFA0(play, 3, 3)) {
Animation_Change(&this->skelAnime, &gRutoChildTurnAroundAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildTurnAroundAnim), ANIMMODE_ONCE, -8.0f);
this->action = 10;
this->action = ENRU1_ACTION_10;
}
}
@ -941,7 +959,7 @@ void func_80AEC93C(EnRu1* this, UNK_TYPE arg1) {
Animation_Change(&this->skelAnime, &gRutoChildWalkAnim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildWalkAnim),
ANIMMODE_LOOP, -8.0f);
this->actor.world.rot.y += 0x8000;
this->action = 0xB;
this->action = ENRU1_ACTION_11;
this->unk_26C = 0.0f;
}
}
@ -949,7 +967,7 @@ void func_80AEC93C(EnRu1* this, UNK_TYPE arg1) {
void func_80AEC9C4(EnRu1* this) {
this->unk_26C += 1.0f;
if (this->unk_26C >= 8.0f) {
this->action = 12;
this->action = ENRU1_ACTION_12;
this->unk_26C = 0.0f;
this->actor.velocity.y = -1.0f;
}
@ -959,7 +977,7 @@ void func_80AECA18(EnRu1* this) {
if (!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) {
s32 pad;
this->action = 13;
this->action = ENRU1_ACTION_13;
this->unk_26C = 0.0f;
this->actor.velocity.y = 0.0f;
}
@ -968,7 +986,7 @@ void func_80AECA18(EnRu1* this) {
void func_80AECA44(EnRu1* this, PlayState* play) {
if (func_80AEAFA0(play, 5, 3)) {
SET_INFTABLE(INFTABLE_141);
this->action = 14;
this->action = ENRU1_ACTION_14;
}
}
@ -1051,7 +1069,7 @@ void func_80AECCB0(EnRu1* this, PlayState* play) {
void EnRu1_InitInBossRoom(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsOnHipsAnim, ANIMMODE_LOOP, 0, false);
this->action = 15;
this->action = ENRU1_ACTION_15;
this->actor.shape.yOffset = -10000.0f;
EnRu1_SetEyes(this, ENRU1_EYES_BLUSH);
EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
@ -1129,12 +1147,12 @@ void func_80AED0B0(EnRu1* this, s32 state) {
}
void func_80AED0C8(EnRu1* this, PlayState* play) {
this->action = 16;
this->action = ENRU1_ACTION_16;
}
void func_80AED0D8(EnRu1* this, PlayState* play) {
this->action = 17;
this->drawConfig = 1;
this->action = ENRU1_ACTION_17;
this->drawConfig = ENRU1_DRAW_OPA;
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
func_80AECCB0(this, play);
@ -1142,7 +1160,7 @@ void func_80AED0D8(EnRu1* this, PlayState* play) {
void func_80AED110(EnRu1* this) {
if (this->actor.shape.yOffset >= 0.0f) {
this->action = 18;
this->action = ENRU1_ACTION_18;
this->actor.shape.yOffset = 0.0f;
func_80AED0B0(this, WARP_BLUE_RUTO_STATE_READY);
}
@ -1150,7 +1168,7 @@ void func_80AED110(EnRu1* this) {
void func_80AED154(EnRu1* this, PlayState* play) {
if (func_80AED084(this, WARP_BLUE_RUTO_STATE_ENTERED)) {
this->action = 0x13;
this->action = ENRU1_ACTION_19;
this->unk_26C = 0.0f;
func_80AECEB4(this, play);
}
@ -1161,7 +1179,7 @@ void func_80AED19C(EnRu1* this, s32 cond) {
Animation_Change(&this->skelAnime, &gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim), ANIMMODE_ONCE,
-8.0f);
this->action = 20;
this->action = ENRU1_ACTION_20;
func_80AED0B0(this, WARP_BLUE_RUTO_STATE_3);
}
}
@ -1175,7 +1193,7 @@ void func_80AED218(EnRu1* this, UNK_TYPE arg1) {
} else if (func_80AED084(this, WARP_BLUE_RUTO_STATE_WARPING)) {
Animation_Change(&this->skelAnime, &gRutoChildWaitInBlueWarpAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildWaitInBlueWarpAnim), ANIMMODE_ONCE, -8.0f);
this->action = 21;
this->action = ENRU1_ACTION_21;
this->unk_27C = this->actor.xzDistToPlayer;
}
}
@ -1223,7 +1241,7 @@ void EnRu1_InitInJabuJabuBasement(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
actorRoom = this->actor.room;
this->action = 22;
this->action = ENRU1_ACTION_22;
this->actor.room = -1;
this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom;
@ -1273,9 +1291,9 @@ s32 func_80AED624(EnRu1* this, PlayState* play) {
Actor_Kill(&this->actor);
return false;
} else if (((this->roomNum1 != curRoomNum) || (this->roomNum2 != curRoomNum)) &&
(this->actor.depthInWater > kREG(16) + 50.0f) && (this->action != 33)) {
this->action = 33;
this->drawConfig = 2;
(this->actor.depthInWater > kREG(16) + 50.0f) && (this->action != ENRU1_ACTION_33)) {
this->action = ENRU1_ACTION_33;
this->drawConfig = ENRU1_DRAW_XLU;
this->alpha = 0xFF;
this->unk_2A4 = 0.0f;
}
@ -1598,8 +1616,8 @@ s32 func_80AEE394(EnRu1* this, PlayState* play) {
func_80AEE02C(this);
play->csCtx.script = gRutoObtainingSapphireCs;
gSaveContext.cutsceneTrigger = 1;
this->action = 36;
this->drawConfig = 0;
this->action = ENRU1_ACTION_36;
this->drawConfig = ENRU1_DRAW_NOTHING;
this->bigOctoPlatform = (BgBdanObjects*)dynaPolyActor;
this->actor.shape.shadowAlpha = 0;
return true;
@ -1614,14 +1632,14 @@ void func_80AEE488(EnRu1* this, PlayState* play) {
if (Actor_HasParent(&this->actor, play)) {
curRoomNum = play->roomCtx.curRoom.num;
this->roomNum3 = curRoomNum;
this->action = 31;
this->action = ENRU1_ACTION_31;
func_80AED520(this, play);
} else if (!func_80AEE394(this, play) && !(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) {
s32 pad;
this->actor.minVelocityY = -((kREG(24) * 0.01f) + 6.8f);
this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f);
this->action = 28;
this->action = ENRU1_ACTION_28;
}
}
@ -1633,13 +1651,13 @@ void func_80AEE568(EnRu1* this, PlayState* play) {
func_80AEE02C(this);
Actor_OfferCarry(&this->actor, play);
this->action = 27;
this->action = ENRU1_ACTION_27;
EnRu1_DisableSittingOC(this);
return;
}
if (this->actor.depthInWater > 0.0f) {
this->action = 29;
this->action = ENRU1_ACTION_29;
this->waterState = ENRU1_WATER_OUTSIDE;
}
}
@ -1653,7 +1671,7 @@ void func_80AEE628(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildSittingAnim), ANIMMODE_LOOP, -8.0f);
SET_INFTABLE(INFTABLE_144);
this->action = 31;
this->action = ENRU1_ACTION_31;
}
this->roomNum3 = curRoomNum;
}
@ -1667,7 +1685,7 @@ s32 func_80AEE6D0(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSeesSapphireAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildSquirmAnim), ANIMMODE_LOOP, -8.0f);
func_80AED600(this);
this->action = 34;
this->action = ENRU1_ACTION_34;
this->unk_26C = 0.0f;
play->csCtx.script = gRutoFoundSapphireCs;
gSaveContext.cutsceneTrigger = 1;
@ -1694,7 +1712,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
this->actor.minVelocityY = -((kREG(24) * 0.01f) + 6.8f);
this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f);
func_80AED57C(this);
this->action = 28;
this->action = ENRU1_ACTION_28;
*carryIdleTimer = 0.0f;
} else if (func_80AEE6D0(this, play)) {
s32 pad;
@ -1704,7 +1722,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
player = GET_PLAYER(play);
if (player->stateFlags2 & PLAYER_STATE2_IDLE_FIDGET) {
this->carryIdleTimer += 1.0f;
if (this->action != 32) {
if (this->action != ENRU1_ACTION_32) {
if (*carryIdleTimer > 30.0f) {
if (Rand_S16Offset(0, 3) == 0) {
f32 frameCount = Animation_GetLastFrame(&gRutoChildSquirmAnim);
@ -1712,7 +1730,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSquirmAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP,
-8.0f);
func_80AED5DC(this);
this->action = 32;
this->action = ENRU1_ACTION_32;
}
*carryIdleTimer = 0.0f;
}
@ -1722,7 +1740,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP,
-8.0f);
this->action = 31;
this->action = ENRU1_ACTION_31;
*carryIdleTimer = 0.0f;
}
}
@ -1741,7 +1759,7 @@ s32 EnRu1_CheckHitBottomUnderwater(EnRu1* this, PlayState* play) {
func_80AEE02C(this);
Actor_OfferCarry(&this->actor, play);
this->action = 27;
this->action = ENRU1_ACTION_27;
EnRu1_DisableSittingOC(this);
return true;
}
@ -1749,8 +1767,8 @@ s32 EnRu1_CheckHitBottomUnderwater(EnRu1* this, PlayState* play) {
}
void EnRu1_CheckSinkingState(EnRu1* this, PlayState* play) {
if ((EnRu1_CheckHitBottomUnderwater(this, play) == 0) && (this->waterState == ENRU1_WATER_SINKING)) {
this->action = 30;
if ((!EnRu1_CheckHitBottomUnderwater(this, play)) && (this->waterState == ENRU1_WATER_SINKING)) {
this->action = ENRU1_ACTION_30;
func_80AEE02C(this);
this->actor.gravity = -0.1f;
this->actor.minVelocityY = -((kREG(18) * 0.1f) + 0.7f);
@ -1881,7 +1899,7 @@ s32 func_80AEF0BC(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSitAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE, -8.0f);
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->action = 26;
this->action = ENRU1_ACTION_26;
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
return true;
}
@ -1890,7 +1908,7 @@ s32 func_80AEF0BC(EnRu1* this, PlayState* play) {
void func_80AEF170(EnRu1* this, PlayState* play, s32 cond) {
if (cond) {
this->action = 25;
this->action = ENRU1_ACTION_25;
}
}
@ -1898,7 +1916,7 @@ void func_80AEF188(EnRu1* this, PlayState* play) {
if (func_80AEB174(play) && !func_80AEF0BC(this, play)) {
Message_CloseTextbox(play);
SET_INFTABLE(INFTABLE_142);
this->action = 24;
this->action = ENRU1_ACTION_24;
}
}
@ -1910,18 +1928,18 @@ void func_80AEF1F0(EnRu1* this, PlayState* play, UNK_TYPE arg2) {
SET_INFTABLE(INFTABLE_143);
func_80AED6DC(this, play);
Actor_OfferCarry(&this->actor, play);
this->action = 27;
this->action = ENRU1_ACTION_27;
EnRu1_DisableSittingOC(this);
}
}
void func_80AEF29C(EnRu1* this, PlayState* play) {
this->action = 23;
this->action = ENRU1_ACTION_23;
}
void func_80AEF2AC(EnRu1* this, PlayState* play) {
this->action = 24;
this->drawConfig = 1;
this->action = ENRU1_ACTION_24;
this->drawConfig = ENRU1_DRAW_OPA;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY;
}
@ -2032,8 +2050,8 @@ void func_80AEF624(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildWalkToAndHoldUpSapphireAnim, 1.0f, 0.0f, frameCount,
ANIMMODE_ONCE, 0.0f);
func_80AEB3A4(this, play);
this->action = 37;
this->drawConfig = 1;
this->action = ENRU1_ACTION_37;
this->drawConfig = ENRU1_DRAW_OPA;
this->actor.shape.shadowAlpha = 0xFF;
}
}
@ -2043,7 +2061,7 @@ void func_80AEF728(EnRu1* this, UNK_TYPE arg1) {
Animation_Change(&this->skelAnime, &gRutoChildHoldArmsUpAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gRutoChildHoldArmsUpAnim), ANIMMODE_LOOP, 0.0f);
func_80AEB3CC(this);
this->action = 38;
this->action = ENRU1_ACTION_38;
}
}
@ -2051,7 +2069,7 @@ void func_80AEF79C(EnRu1* this, PlayState* play) {
if (func_80AEAFE0(play, 2, 3)) {
Animation_Change(&this->skelAnime, &gRutoChildBringHandsDownAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildBringHandsDownAnim), ANIMMODE_ONCE, -8.0f);
this->action = 39;
this->action = ENRU1_ACTION_39;
}
}
@ -2059,7 +2077,7 @@ void func_80AEF820(EnRu1* this, UNK_TYPE arg1) {
if (arg1 != 0) {
Animation_Change(&this->skelAnime, &gRutoChildWait2Anim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildWait2Anim),
ANIMMODE_LOOP, -8.0f);
this->action = 40;
this->action = ENRU1_ACTION_40;
}
}
@ -2072,7 +2090,7 @@ void func_80AEF890(EnRu1* this, PlayState* play) {
SET_INFTABLE(INFTABLE_145);
Flags_SetSwitch(play, EnRu1_GetSwitchFlag(this));
EnRu1_SetPlatformCamSetting(this, 1);
this->action = 42;
this->action = ENRU1_ACTION_42;
this->actor.room = curRoomNum;
}
}
@ -2087,8 +2105,8 @@ void func_80AEF930(EnRu1* this, PlayState* play) {
Message_StartTextbox(play, this->actor.textId, NULL);
#endif
func_80AEF4A8(this, play);
this->action = 43;
this->drawConfig = 0;
this->action = ENRU1_ACTION_43;
this->drawConfig = ENRU1_DRAW_NOTHING;
}
}
@ -2178,7 +2196,7 @@ void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
s32 pad;
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 41;
this->action = ENRU1_ACTION_41;
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
EnRu1_SetPlatformCamSetting(this, 1);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
@ -2190,8 +2208,8 @@ void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
void func_80AEFCE8(EnRu1* this, PlayState* play) {
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
if (this->bigOctoPlatform != NULL) {
this->action = 42;
this->drawConfig = 1;
this->action = ENRU1_ACTION_42;
this->drawConfig = ENRU1_DRAW_OPA;
EnRu1_SetPlatformCamSetting(this, 1);
}
}
@ -2200,8 +2218,8 @@ void EnRu1_InitBesideKingZora(EnRu1* this, PlayState* play) {
if (GET_EVENTCHKINF(EVENTCHKINF_37) && LINK_IS_CHILD) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
this->action = 44;
this->drawConfig = 1;
this->action = ENRU1_ACTION_44;
this->drawConfig = ENRU1_DRAW_OPA;
} else {
Actor_Kill(&this->actor);
}
@ -2230,13 +2248,13 @@ s32 func_80AEFE38(EnRu1* this, PlayState* play) {
void func_80AEFE84(EnRu1* this, PlayState* play, s32 cond) {
if (cond) {
this->action = 45;
this->action = ENRU1_ACTION_45;
}
}
void func_80AEFE9C(EnRu1* this, PlayState* play) {
if (func_80AEFE38(this, play)) {
this->action = 44;
this->action = ENRU1_ACTION_44;
}
}
@ -2267,9 +2285,9 @@ void EnRu1_InitBesideDoorSwitch(EnRu1* this, PlayState* play) {
(!(func_80AEB020(this, play)))) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
actorRoom = this->actor.room;
this->action = 22;
this->action = ENRU1_ACTION_22;
this->actor.room = -1;
this->drawConfig = 0;
this->drawConfig = ENRU1_DRAW_NOTHING;
this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom;
this->roomNum2 = actorRoom;
@ -2283,7 +2301,7 @@ void EnRu1_InitBesideDoorSwitch(EnRu1* this, PlayState* play) {
#if DEBUG_FEATURES
void func_80AF0050(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 36;
this->action = ENRU1_ACTION_36;
this->roomNum1 = this->actor.room;
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
this->actor.room = -1;

View File

@ -60,6 +60,61 @@ typedef struct EnRu1 {
/* 0x0374 */ NpcInteractInfo interactInfo;
} EnRu1; // size = 0x039C
typedef enum EnRu1Action {
/* 0 */ ENRU1_ACTION_00,
/* 1 */ ENRU1_ACTION_01,
/* 2 */ ENRU1_ACTION_02,
/* 3 */ ENRU1_ACTION_03,
/* 4 */ ENRU1_ACTION_04,
/* 5 */ ENRU1_ACTION_05,
/* 6 */ ENRU1_ACTION_06,
/* 7 */ ENRU1_ACTION_07,
/* 8 */ ENRU1_ACTION_08,
/* 9 */ ENRU1_ACTION_09,
/* 10 */ ENRU1_ACTION_10,
/* 11 */ ENRU1_ACTION_11,
/* 12 */ ENRU1_ACTION_12,
/* 13 */ ENRU1_ACTION_13,
/* 14 */ ENRU1_ACTION_14,
/* 15 */ ENRU1_ACTION_15,
/* 16 */ ENRU1_ACTION_16,
/* 17 */ ENRU1_ACTION_17,
/* 18 */ ENRU1_ACTION_18,
/* 19 */ ENRU1_ACTION_19,
/* 20 */ ENRU1_ACTION_20,
/* 21 */ ENRU1_ACTION_21,
/* 22 */ ENRU1_ACTION_22,
/* 23 */ ENRU1_ACTION_23,
/* 24 */ ENRU1_ACTION_24,
/* 25 */ ENRU1_ACTION_25,
/* 26 */ ENRU1_ACTION_26,
/* 27 */ ENRU1_ACTION_27,
/* 28 */ ENRU1_ACTION_28,
/* 29 */ ENRU1_ACTION_29,
/* 30 */ ENRU1_ACTION_30,
/* 31 */ ENRU1_ACTION_31,
/* 32 */ ENRU1_ACTION_32,
/* 33 */ ENRU1_ACTION_33,
/* 34 */ ENRU1_ACTION_34,
/* 35 */ ENRU1_ACTION_35,
/* 36 */ ENRU1_ACTION_36,
/* 37 */ ENRU1_ACTION_37,
/* 38 */ ENRU1_ACTION_38,
/* 39 */ ENRU1_ACTION_39,
/* 40 */ ENRU1_ACTION_40,
/* 41 */ ENRU1_ACTION_41,
/* 42 */ ENRU1_ACTION_42,
/* 43 */ ENRU1_ACTION_43,
/* 44 */ ENRU1_ACTION_44,
/* 45 */ ENRU1_ACTION_45
} EnRu1Action;
typedef enum EnRu1DrawConfig {
/* 0 */ ENRU1_DRAW_NOTHING,
/* 1 */ ENRU1_DRAW_OPA,
/* 2 */ ENRU1_DRAW_XLU
} EnRu1DrawConfig;
typedef enum EnRu1Type {
/* 0 */ ENRU1_TYPE_BOSS_ROOM,
/* 1 */ ENRU1_TYPE_FOUNTAIN,
@ -73,6 +128,28 @@ typedef enum EnRu1Type {
#endif
} EnRu1Type;
typedef enum EnRu1Eyes {
/* 0 */ ENRU1_EYES_OPEN,
/* 1 */ ENRU1_EYES_HALF_BLINK,
/* 2 */ ENRU1_EYES_CLOSED,
/* 3 */ ENRU1_EYES_UP,
/* 4 */ ENRU1_EYES_GAZING,
/* 5 */ ENRU1_EYES_BLUSH
} EnRu1Eyes;
typedef enum EnRu1Mouth {
/* 0 */ ENRU1_MOUTH_SMILING,
/* 1 */ ENRU1_MOUTH_FROWNING,
/* 2 */ ENRU1_MOUTH_OPEN
} EnRu1Mouth;
typedef enum EnRu1WaterState {
/* 0 */ ENRU1_WATER_OUTSIDE,
/* 1 */ ENRU1_WATER_IMMERSED,
/* 2 */ ENRU1_WATER_BOBBING,
/* 3 */ ENRU1_WATER_SINKING
} EnRu1WaterState;
typedef enum RutoLimb {
/* 0 */ RUTO_CHILD_NONE,
/* 1 */ RUTO_CHILD_ROOT,

View File

@ -11,6 +11,7 @@
#include "gfx_setupdl.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "z_lib.h"
#include "play_state.h"
#include "player.h"
@ -41,7 +42,23 @@ ActorProfile Magic_Dark_Profile = {
/**/ MagicDark_OrbDraw,
};
#include "assets/overlays/ovl_Magic_Dark/ovl_Magic_Dark.c"
#define sDiamondTex_WIDTH 32
#define sDiamondTex_HEIGHT 64
static u64 sDiamondTex[TEX_LEN(u64, sDiamondTex_WIDTH, sDiamondTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Magic_Dark/sDiamondTex.i8.inc.c"
};
static Vtx sDiamondVtx[] = {
#include "assets/overlays/ovl_Magic_Dark/sDiamondVtx.inc.c"
};
static Gfx sDiamondMaterialDL[22] = {
#include "assets/overlays/ovl_Magic_Dark/sDiamondMaterialDL.inc.c"
};
static Gfx sDiamondModelDL[8] = {
#include "assets/overlays/ovl_Magic_Dark/sDiamondModelDL.inc.c"
};
// unused
static Color_RGBA8 D_80B88B10[] = { { 50, 100, 150, 200 }, { 255, 200, 150, 100 } };

View File

@ -11,6 +11,7 @@
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "z_lib.h"
#include "play_state.h"
#include "player.h"
@ -51,7 +52,23 @@ ActorProfile Magic_Fire_Profile = {
/**/ MagicFire_Draw,
};
#include "assets/overlays/ovl_Magic_Fire/ovl_Magic_Fire.c"
#define sTex_WIDTH 64
#define sTex_HEIGHT 64
static u64 sTex[TEX_LEN(u64, sTex_WIDTH, sTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Magic_Fire/sTex.i8.inc.c"
};
static Vtx sSphereVtx[] = {
#include "assets/overlays/ovl_Magic_Fire/sSphereVtx.inc.c"
};
static Gfx sMaterialDL[5] = {
#include "assets/overlays/ovl_Magic_Fire/sMaterialDL.inc.c"
};
static Gfx sModelDL[45] = {
#include "assets/overlays/ovl_Magic_Fire/sModelDL.inc.c"
};
static ColliderCylinderInit sCylinderInit = {
{

View File

@ -188,7 +188,7 @@ void ObjSyokudai_Update(Actor* thisx, PlayState* play2) {
interactionType = 1;
}
} else if (player->heldItemAction == PLAYER_IA_DEKU_STICK) {
Math_Vec3f_Diff(&player->meleeWeaponInfo[0].tip, &this->actor.world.pos, &tipToFlame);
Math_Vec3f_Diff(MELEE_WEAPON_INFO_TIP(&player->meleeWeaponInfo[0]), &this->actor.world.pos, &tipToFlame);
tipToFlame.y -= 67.0f;
if ((SQ(tipToFlame.x) + SQ(tipToFlame.y) + SQ(tipToFlame.z)) < SQ(20.0f)) {
interactionType = -1;

View File

@ -13,6 +13,7 @@
#include "regs.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "light.h"
@ -42,7 +43,23 @@ ActorProfile Oceff_Spot_Profile = {
/**/ OceffSpot_Draw,
};
#include "assets/overlays/ovl_Oceff_Spot/ovl_Oceff_Spot.c"
#define sTex_WIDTH 32
#define sTex_HEIGHT 32
static u64 sTex[TEX_LEN(u64, sTex_WIDTH, sTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Oceff_Spot/sTex.i8.inc.c"
};
static Vtx sCylinderVtx[] = {
#include "assets/overlays/ovl_Oceff_Spot/sCylinderVtx.inc.c"
};
static Gfx sCylinderMaterialDL[19] = {
#include "assets/overlays/ovl_Oceff_Spot/sCylinderMaterialDL.inc.c"
};
static Gfx sCylinderModelDL[18] = {
#include "assets/overlays/ovl_Oceff_Spot/sCylinderModelDL.inc.c"
};
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 0, ICHAIN_CONTINUE),

View File

@ -9,10 +9,13 @@
#include "gfx.h"
#include "gfx_setupdl.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "play_state.h"
#include "player.h"
#include "save.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA)
void OceffStorm_Init(Actor* thisx, PlayState* play);
@ -127,7 +130,27 @@ void OceffStorm_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
}
#include "assets/overlays/ovl_Oceff_Storm/ovl_Oceff_Storm.c"
#define sTex_WIDTH 64
#define sTex_HEIGHT 64
static u64 sTex[TEX_LEN(u64, sTex_WIDTH, sTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Oceff_Storm/sTex.i8.inc.c"
};
static Gfx sMaterialDL[21] = {
#include "assets/overlays/ovl_Oceff_Storm/sMaterialDL.inc.c"
};
static Vtx sCylinderVtx[] = {
#include "assets/overlays/ovl_Oceff_Storm/sCylinderVtx.inc.c"
};
static Gfx sCylinderMaterialDL[21] = {
#include "assets/overlays/ovl_Oceff_Storm/sCylinderMaterialDL.inc.c"
};
static Gfx sCylinderModelDL[18] = {
#include "assets/overlays/ovl_Oceff_Storm/sCylinderModelDL.inc.c"
};
void OceffStorm_Draw2(Actor* thisx, PlayState* play) {
u32 scroll = play->state.frames & 0xFFF;

View File

@ -11,6 +11,7 @@
#include "printf.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "tex_len.h"
#include "z_lib.h"
#include "play_state.h"
#include "player.h"
@ -65,7 +66,23 @@ void OceffWipe_Update(Actor* thisx, PlayState* play) {
}
}
#include "assets/overlays/ovl_Oceff_Wipe/ovl_Oceff_Wipe.c"
#define sTex_WIDTH 32
#define sTex_HEIGHT 32
static u64 sTex[TEX_LEN(u64, sTex_WIDTH, sTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Oceff_Wipe/sTex.i8.inc.c"
};
static Vtx sFrustumVtx[] = {
#include "assets/overlays/ovl_Oceff_Wipe/sFrustumVtx.inc.c"
};
static Gfx sMaterialDL[17] = {
#include "assets/overlays/ovl_Oceff_Wipe/sMaterialDL.inc.c"
};
static Gfx sFrustumDL[23] = {
#include "assets/overlays/ovl_Oceff_Wipe/sFrustumDL.inc.c"
};
static u8 sAlphaIndices[] = {
0x01, 0x10, 0x22, 0x01, 0x20, 0x12, 0x01, 0x20, 0x12, 0x01,

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