diff --git a/Makefile b/Makefile
index 015fae11a..66b2da8e7 100644
--- a/Makefile
+++ b/Makefile
@@ -276,11 +276,12 @@ ifeq ($(COMPILER),gcc)
SRC_DIRS := $(shell find src -type d)
endif
-ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/text")
-ASSET_FILES_XML := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.xml))
+# create extracted directories
+$(shell mkdir -p $(EXTRACTED_DIR) $(EXTRACTED_DIR)/assets $(EXTRACTED_DIR)/text)
+
+ASSET_BIN_DIRS := $(shell find $(EXTRACTED_DIR)/assets -type d)
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
-ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_XML:.xml=.c),$f) \
- $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),$(BUILD_DIR)/$f) \
+ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%)) \
$(foreach f,$(wildcard assets/text/*.c),$(BUILD_DIR)/$(f:.c=.o))
UNDECOMPILED_DATA_DIRS := $(shell find data -type d)
@@ -288,10 +289,12 @@ UNDECOMPILED_DATA_DIRS := $(shell find data -type d)
BASEROM_BIN_FILES := $(wildcard $(EXTRACTED_DIR)/baserom/*)
# source files
-C_FILES := $(filter-out %.inc.c,$(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS),$(wildcard $(dir)/*.c)))
+SRC_C_FILES := $(filter-out %.inc.c,$(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)))
+ASSET_C_FILES := $(filter-out %.inc.c,$(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.c)))
S_FILES := $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS),$(wildcard $(dir)/*.s))
O_FILES := $(foreach f,$(S_FILES:.s=.o),$(BUILD_DIR)/$f) \
- $(foreach f,$(C_FILES:.c=.o),$(BUILD_DIR)/$f) \
+ $(foreach f,$(SRC_C_FILES:.c=.o),$(BUILD_DIR)/$f) \
+ $(foreach f,$(ASSET_C_FILES:.c=.o),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%)) \
$(foreach f,$(BASEROM_BIN_FILES),$(BUILD_DIR)/baserom/$(notdir $f).o)
UCODE_PATCHES := $(wildcard F3DEX3/*.bps)
UCODE_FILES := $(foreach f,$(UCODE_PATCHES:.bps=),$f)
@@ -306,11 +309,11 @@ DEP_FILES := $(O_FILES:.o=.asmproc.d) $(OVL_RELOC_FILES:.o=.d)
TEXTURE_FILES_PNG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.png))
TEXTURE_FILES_JPG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.jpg))
-TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),$(BUILD_DIR)/$f) \
- $(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),$(BUILD_DIR)/$f) \
+TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%)) \
+ $(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),$(f:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%))
# create build directories
-$(shell mkdir -p $(BUILD_DIR)/baserom $(EXTRACTED_DIR)/text $(BUILD_DIR)/assets/text $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS) $(ASSET_BIN_DIRS),$(BUILD_DIR)/$(dir)))
+$(shell mkdir -p $(BUILD_DIR)/baserom $(BUILD_DIR)/assets/text $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS),$(BUILD_DIR)/$(dir)) $(foreach dir,$(ASSET_BIN_DIRS),$(dir:$(EXTRACTED_DIR)/%=$(BUILD_DIR)/%)))
ifeq ($(COMPILER),gcc)
# Note that if adding additional assets directories for modding reasons these flags must also be used there
diff --git a/assets/.gitignore b/assets/.gitignore
deleted file mode 100644
index 0bece9e89..000000000
--- a/assets/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-*.bin
-*.c
-*.h
-!text/*.[ch]
-*.cfg
-*.vtx.inc
-*.dlist.inc
diff --git a/assets/xml/code/fbdemo_circle.xml b/assets/xml/code/fbdemo_circle.xml
index 1aa2de764..530506369 100644
--- a/assets/xml/code/fbdemo_circle.xml
+++ b/assets/xml/code/fbdemo_circle.xml
@@ -1,13 +1,13 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
+
diff --git a/assets/xml/code/fbdemo_triforce.xml b/assets/xml/code/fbdemo_triforce.xml
index a20e07075..613f7995d 100644
--- a/assets/xml/code/fbdemo_triforce.xml
+++ b/assets/xml/code/fbdemo_triforce.xml
@@ -1,7 +1,7 @@
-
-
-
+
+
+
diff --git a/assets/xml/code/fbdemo_wipe1.xml b/assets/xml/code/fbdemo_wipe1.xml
index f459c9f8e..74f129776 100644
--- a/assets/xml/code/fbdemo_wipe1.xml
+++ b/assets/xml/code/fbdemo_wipe1.xml
@@ -1,10 +1,10 @@
-
-
+
+
-
+
-
+
diff --git a/assets/xml/objects/object_mag.xml b/assets/xml/objects/object_mag.xml
index d528754db..21f48d734 100644
--- a/assets/xml/objects/object_mag.xml
+++ b/assets/xml/objects/object_mag.xml
@@ -3,21 +3,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_mag_mq.xml b/assets/xml/objects/object_mag_mq.xml
new file mode 100644
index 000000000..d528754db
--- /dev/null
+++ b/assets/xml/objects/object_mag_mq.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_Arrow_Fire.xml b/assets/xml/overlays/ovl_Arrow_Fire.xml
index 621df71ce..061e11f84 100644
--- a/assets/xml/overlays/ovl_Arrow_Fire.xml
+++ b/assets/xml/overlays/ovl_Arrow_Fire.xml
@@ -1,11 +1,11 @@
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Arrow_Ice.xml b/assets/xml/overlays/ovl_Arrow_Ice.xml
index e216ff02a..d2a0df3be 100644
--- a/assets/xml/overlays/ovl_Arrow_Ice.xml
+++ b/assets/xml/overlays/ovl_Arrow_Ice.xml
@@ -1,11 +1,11 @@
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Arrow_Light.xml b/assets/xml/overlays/ovl_Arrow_Light.xml
index e9827c2c9..1f449dd7b 100644
--- a/assets/xml/overlays/ovl_Arrow_Light.xml
+++ b/assets/xml/overlays/ovl_Arrow_Light.xml
@@ -1,11 +1,11 @@
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml b/assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
index 6b9a9a744..7b294e65b 100644
--- a/assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
+++ b/assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
@@ -1,29 +1,29 @@
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
diff --git a/assets/xml/overlays/ovl_Bg_Jya_Cobra.xml b/assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
index 874bb1ec6..52f65678c 100644
--- a/assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
+++ b/assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
@@ -1,10 +1,10 @@
-
-
+
+
-
+
diff --git a/assets/xml/overlays/ovl_Boss_Dodongo.xml b/assets/xml/overlays/ovl_Boss_Dodongo.xml
index f2ee5b7b8..78d2f8e5b 100644
--- a/assets/xml/overlays/ovl_Boss_Dodongo.xml
+++ b/assets/xml/overlays/ovl_Boss_Dodongo.xml
@@ -1,6 +1,6 @@
-
-
-
+
+
+
diff --git a/assets/xml/overlays/ovl_Boss_Ganon.xml b/assets/xml/overlays/ovl_Boss_Ganon.xml
index cdb87e9c1..83a19c9b5 100644
--- a/assets/xml/overlays/ovl_Boss_Ganon.xml
+++ b/assets/xml/overlays/ovl_Boss_Ganon.xml
@@ -1,53 +1,53 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_Boss_Ganon2.xml b/assets/xml/overlays/ovl_Boss_Ganon2.xml
index 3d5bfdfba..4b1879a17 100644
--- a/assets/xml/overlays/ovl_Boss_Ganon2.xml
+++ b/assets/xml/overlays/ovl_Boss_Ganon2.xml
@@ -1,29 +1,29 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_Boss_Sst.xml b/assets/xml/overlays/ovl_Boss_Sst.xml
index e65a58ccd..35584224d 100644
--- a/assets/xml/overlays/ovl_Boss_Sst.xml
+++ b/assets/xml/overlays/ovl_Boss_Sst.xml
@@ -1,8 +1,8 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_Demo_Shd.xml b/assets/xml/overlays/ovl_Demo_Shd.xml
index 2ac9a9b48..967f383ec 100644
--- a/assets/xml/overlays/ovl_Demo_Shd.xml
+++ b/assets/xml/overlays/ovl_Demo_Shd.xml
@@ -1,8 +1,8 @@
-
+
-
-
-
+
+
+
diff --git a/assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml b/assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
index d2de328da..b8c0613ee 100644
--- a/assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
+++ b/assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
@@ -1,9 +1,9 @@
-
-
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Elf_Msg.xml b/assets/xml/overlays/ovl_Elf_Msg.xml
index 82cd468a3..61e28d31b 100644
--- a/assets/xml/overlays/ovl_Elf_Msg.xml
+++ b/assets/xml/overlays/ovl_Elf_Msg.xml
@@ -1,16 +1,16 @@
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/assets/xml/overlays/ovl_Elf_Msg2.xml b/assets/xml/overlays/ovl_Elf_Msg2.xml
index fb2199424..a0ea055e2 100644
--- a/assets/xml/overlays/ovl_Elf_Msg2.xml
+++ b/assets/xml/overlays/ovl_Elf_Msg2.xml
@@ -1,11 +1,11 @@
-
+
-
+
-
+
-
+
diff --git a/assets/xml/overlays/ovl_En_Bili.xml b/assets/xml/overlays/ovl_En_Bili.xml
index 35c3fa301..ed2fda6ca 100644
--- a/assets/xml/overlays/ovl_En_Bili.xml
+++ b/assets/xml/overlays/ovl_En_Bili.xml
@@ -1,7 +1,7 @@
-
-
-
+
+
+
diff --git a/assets/xml/overlays/ovl_En_Clear_Tag.xml b/assets/xml/overlays/ovl_En_Clear_Tag.xml
index cd67b1f48..05c9c2986 100644
--- a/assets/xml/overlays/ovl_En_Clear_Tag.xml
+++ b/assets/xml/overlays/ovl_En_Clear_Tag.xml
@@ -1,14 +1,14 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_En_Ganon_Mant.xml b/assets/xml/overlays/ovl_En_Ganon_Mant.xml
index 900ec46ac..a9242f178 100644
--- a/assets/xml/overlays/ovl_En_Ganon_Mant.xml
+++ b/assets/xml/overlays/ovl_En_Ganon_Mant.xml
@@ -1,21 +1,21 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/assets/xml/overlays/ovl_En_Ganon_Organ.xml b/assets/xml/overlays/ovl_En_Ganon_Organ.xml
index 7d4f8bc78..05257fb6f 100644
--- a/assets/xml/overlays/ovl_En_Ganon_Organ.xml
+++ b/assets/xml/overlays/ovl_En_Ganon_Organ.xml
@@ -1,19 +1,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_En_Holl.xml b/assets/xml/overlays/ovl_En_Holl.xml
index 6fa7d3643..b219524d8 100644
--- a/assets/xml/overlays/ovl_En_Holl.xml
+++ b/assets/xml/overlays/ovl_En_Holl.xml
@@ -1,8 +1,8 @@
-
-
+
+
-
+
diff --git a/assets/xml/overlays/ovl_En_Jsjutan.xml b/assets/xml/overlays/ovl_En_Jsjutan.xml
index 44229419c..b3b012b1f 100644
--- a/assets/xml/overlays/ovl_En_Jsjutan.xml
+++ b/assets/xml/overlays/ovl_En_Jsjutan.xml
@@ -1,38 +1,38 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/assets/xml/overlays/ovl_En_Kanban.xml b/assets/xml/overlays/ovl_En_Kanban.xml
index 546de14d0..d8f50f425 100644
--- a/assets/xml/overlays/ovl_En_Kanban.xml
+++ b/assets/xml/overlays/ovl_En_Kanban.xml
@@ -1,8 +1,8 @@
-
-
+
+
-
+
diff --git a/assets/xml/overlays/ovl_En_Sda.xml b/assets/xml/overlays/ovl_En_Sda.xml
index c4293e92b..5652ce7e6 100644
--- a/assets/xml/overlays/ovl_En_Sda.xml
+++ b/assets/xml/overlays/ovl_En_Sda.xml
@@ -1,9 +1,9 @@
-
-
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_En_Ssh.xml b/assets/xml/overlays/ovl_En_Ssh.xml
index 5467eed62..23e2aa81c 100644
--- a/assets/xml/overlays/ovl_En_Ssh.xml
+++ b/assets/xml/overlays/ovl_En_Ssh.xml
@@ -1,8 +1,8 @@
-
-
+
+
-
+
diff --git a/assets/xml/overlays/ovl_En_St.xml b/assets/xml/overlays/ovl_En_St.xml
index 0252a1387..bfa750591 100644
--- a/assets/xml/overlays/ovl_En_St.xml
+++ b/assets/xml/overlays/ovl_En_St.xml
@@ -1,8 +1,8 @@
-
-
+
+
-
+
diff --git a/assets/xml/overlays/ovl_En_Sth.xml b/assets/xml/overlays/ovl_En_Sth.xml
index ccc45fb1c..46a30a718 100644
--- a/assets/xml/overlays/ovl_En_Sth.xml
+++ b/assets/xml/overlays/ovl_En_Sth.xml
@@ -1,15 +1,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/overlays/ovl_End_Title.xml b/assets/xml/overlays/ovl_End_Title.xml
index 841d45f6d..53d085681 100644
--- a/assets/xml/overlays/ovl_End_Title.xml
+++ b/assets/xml/overlays/ovl_End_Title.xml
@@ -1,17 +1,17 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
diff --git a/assets/xml/overlays/ovl_File_Choose.xml b/assets/xml/overlays/ovl_File_Choose.xml
deleted file mode 100644
index 8bebff602..000000000
--- a/assets/xml/overlays/ovl_File_Choose.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/assets/xml/overlays/ovl_Magic_Dark.xml b/assets/xml/overlays/ovl_Magic_Dark.xml
index 874150ab3..5c8b75c1f 100644
--- a/assets/xml/overlays/ovl_Magic_Dark.xml
+++ b/assets/xml/overlays/ovl_Magic_Dark.xml
@@ -1,13 +1,13 @@
-
-
+
+
-
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Magic_Fire.xml b/assets/xml/overlays/ovl_Magic_Fire.xml
index 696bdc0dc..81de7a989 100644
--- a/assets/xml/overlays/ovl_Magic_Fire.xml
+++ b/assets/xml/overlays/ovl_Magic_Fire.xml
@@ -1,10 +1,10 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Magic_Wind.xml b/assets/xml/overlays/ovl_Magic_Wind.xml
index 8fc20ce1b..7da59209b 100644
--- a/assets/xml/overlays/ovl_Magic_Wind.xml
+++ b/assets/xml/overlays/ovl_Magic_Wind.xml
@@ -1,15 +1,15 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
diff --git a/assets/xml/overlays/ovl_Oceff_Spot.xml b/assets/xml/overlays/ovl_Oceff_Spot.xml
index 9a53952f0..6c8154906 100644
--- a/assets/xml/overlays/ovl_Oceff_Spot.xml
+++ b/assets/xml/overlays/ovl_Oceff_Spot.xml
@@ -1,10 +1,10 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Oceff_Storm.xml b/assets/xml/overlays/ovl_Oceff_Storm.xml
index 5893b6f8e..d8217a615 100644
--- a/assets/xml/overlays/ovl_Oceff_Storm.xml
+++ b/assets/xml/overlays/ovl_Oceff_Storm.xml
@@ -1,12 +1,12 @@
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Oceff_Wipe.xml b/assets/xml/overlays/ovl_Oceff_Wipe.xml
index 52e29f1bc..64b3f1332 100644
--- a/assets/xml/overlays/ovl_Oceff_Wipe.xml
+++ b/assets/xml/overlays/ovl_Oceff_Wipe.xml
@@ -1,10 +1,10 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Oceff_Wipe2.xml b/assets/xml/overlays/ovl_Oceff_Wipe2.xml
index b42c72a66..0166d1909 100644
--- a/assets/xml/overlays/ovl_Oceff_Wipe2.xml
+++ b/assets/xml/overlays/ovl_Oceff_Wipe2.xml
@@ -1,11 +1,11 @@
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Oceff_Wipe3.xml b/assets/xml/overlays/ovl_Oceff_Wipe3.xml
index 11f278866..d797d1675 100644
--- a/assets/xml/overlays/ovl_Oceff_Wipe3.xml
+++ b/assets/xml/overlays/ovl_Oceff_Wipe3.xml
@@ -1,10 +1,10 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/assets/xml/overlays/ovl_Oceff_Wipe4.xml b/assets/xml/overlays/ovl_Oceff_Wipe4.xml
index b2be9073a..086491fa3 100644
--- a/assets/xml/overlays/ovl_Oceff_Wipe4.xml
+++ b/assets/xml/overlays/ovl_Oceff_Wipe4.xml
@@ -1,12 +1,12 @@
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/assets/xml/overlays/ovl_file_choose.xml b/assets/xml/overlays/ovl_file_choose.xml
new file mode 100644
index 000000000..aa9dcbb84
--- /dev/null
+++ b/assets/xml/overlays/ovl_file_choose.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/Bmori1_mq.xml b/assets/xml/scenes/dungeons/Bmori1_mq.xml
new file mode 100644
index 000000000..70aac3464
--- /dev/null
+++ b/assets/xml/scenes/dungeons/Bmori1_mq.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/HAKAdanCH.xml b/assets/xml/scenes/dungeons/HAKAdanCH.xml
index 61c141689..e1f772344 100644
--- a/assets/xml/scenes/dungeons/HAKAdanCH.xml
+++ b/assets/xml/scenes/dungeons/HAKAdanCH.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/assets/xml/scenes/dungeons/HAKAdanCH_mq.xml b/assets/xml/scenes/dungeons/HAKAdanCH_mq.xml
new file mode 100644
index 000000000..61c141689
--- /dev/null
+++ b/assets/xml/scenes/dungeons/HAKAdanCH_mq.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/HAKAdan_mq.xml b/assets/xml/scenes/dungeons/HAKAdan_mq.xml
new file mode 100644
index 000000000..cc2935a1c
--- /dev/null
+++ b/assets/xml/scenes/dungeons/HAKAdan_mq.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/HIDAN.xml b/assets/xml/scenes/dungeons/HIDAN.xml
index d9c693c00..c9fc4158d 100644
--- a/assets/xml/scenes/dungeons/HIDAN.xml
+++ b/assets/xml/scenes/dungeons/HIDAN.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/assets/xml/scenes/dungeons/HIDAN_mq.xml b/assets/xml/scenes/dungeons/HIDAN_mq.xml
new file mode 100644
index 000000000..d9c693c00
--- /dev/null
+++ b/assets/xml/scenes/dungeons/HIDAN_mq.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/MIZUsin.xml b/assets/xml/scenes/dungeons/MIZUsin.xml
index bd0e260ac..e48f534d8 100644
--- a/assets/xml/scenes/dungeons/MIZUsin.xml
+++ b/assets/xml/scenes/dungeons/MIZUsin.xml
@@ -1,8 +1,8 @@
-
-
-
+
+
+
diff --git a/assets/xml/scenes/dungeons/MIZUsin_mq.xml b/assets/xml/scenes/dungeons/MIZUsin_mq.xml
new file mode 100644
index 000000000..bd0e260ac
--- /dev/null
+++ b/assets/xml/scenes/dungeons/MIZUsin_mq.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/bdan.xml b/assets/xml/scenes/dungeons/bdan.xml
index 0aee687a8..c4edc9bea 100644
--- a/assets/xml/scenes/dungeons/bdan.xml
+++ b/assets/xml/scenes/dungeons/bdan.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/assets/xml/scenes/dungeons/bdan_mq.xml b/assets/xml/scenes/dungeons/bdan_mq.xml
new file mode 100644
index 000000000..0aee687a8
--- /dev/null
+++ b/assets/xml/scenes/dungeons/bdan_mq.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/ddan_mq.xml b/assets/xml/scenes/dungeons/ddan_mq.xml
new file mode 100644
index 000000000..a42e97cfc
--- /dev/null
+++ b/assets/xml/scenes/dungeons/ddan_mq.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/ganontika.xml b/assets/xml/scenes/dungeons/ganontika.xml
index b2673e10c..7e5fa45d6 100644
--- a/assets/xml/scenes/dungeons/ganontika.xml
+++ b/assets/xml/scenes/dungeons/ganontika.xml
@@ -1,22 +1,22 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
diff --git a/assets/xml/scenes/dungeons/ganontika_mq.xml b/assets/xml/scenes/dungeons/ganontika_mq.xml
new file mode 100644
index 000000000..b2673e10c
--- /dev/null
+++ b/assets/xml/scenes/dungeons/ganontika_mq.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/ice_doukutu.xml b/assets/xml/scenes/dungeons/ice_doukutu.xml
index a6e6b415d..4d25aa74f 100644
--- a/assets/xml/scenes/dungeons/ice_doukutu.xml
+++ b/assets/xml/scenes/dungeons/ice_doukutu.xml
@@ -1,9 +1,8 @@
-
-
-
-
+
+
+
diff --git a/assets/xml/scenes/dungeons/ice_doukutu_mq.xml b/assets/xml/scenes/dungeons/ice_doukutu_mq.xml
new file mode 100644
index 000000000..a6e6b415d
--- /dev/null
+++ b/assets/xml/scenes/dungeons/ice_doukutu_mq.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/jyasinzou.xml b/assets/xml/scenes/dungeons/jyasinzou.xml
index 5614bc893..07f7944f9 100644
--- a/assets/xml/scenes/dungeons/jyasinzou.xml
+++ b/assets/xml/scenes/dungeons/jyasinzou.xml
@@ -1,11 +1,11 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/assets/xml/scenes/dungeons/jyasinzou_mq.xml b/assets/xml/scenes/dungeons/jyasinzou_mq.xml
new file mode 100644
index 000000000..5614bc893
--- /dev/null
+++ b/assets/xml/scenes/dungeons/jyasinzou_mq.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/men.xml b/assets/xml/scenes/dungeons/men.xml
index e87b44d8e..dc495b0c9 100644
--- a/assets/xml/scenes/dungeons/men.xml
+++ b/assets/xml/scenes/dungeons/men.xml
@@ -1,7 +1,7 @@
-
-
+
+
diff --git a/assets/xml/scenes/dungeons/men_mq.xml b/assets/xml/scenes/dungeons/men_mq.xml
new file mode 100644
index 000000000..e87b44d8e
--- /dev/null
+++ b/assets/xml/scenes/dungeons/men_mq.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/scenes/dungeons/ydan.xml b/assets/xml/scenes/dungeons/ydan.xml
index c0a47d6da..465c5f0ca 100644
--- a/assets/xml/scenes/dungeons/ydan.xml
+++ b/assets/xml/scenes/dungeons/ydan.xml
@@ -1,8 +1,8 @@
-
-
-
+
+
+
diff --git a/assets/xml/scenes/dungeons/ydan_mq.xml b/assets/xml/scenes/dungeons/ydan_mq.xml
new file mode 100644
index 000000000..c0a47d6da
--- /dev/null
+++ b/assets/xml/scenes/dungeons/ydan_mq.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/baseroms/gc-eu-mq-dbg/config.yml b/baseroms/gc-eu-mq-dbg/config.yml
index add24c911..52f36a53b 100644
--- a/baseroms/gc-eu-mq-dbg/config.yml
+++ b/baseroms/gc-eu-mq-dbg/config.yml
@@ -5,3 +5,1189 @@ variables:
sGerMessageEntryTable: 0x8014F548
sFraMessageEntryTable: 0x80151658
sStaffMessageEntryTable: 0x80153768
+ sShadowTex: 0x80A8E610
+assets:
+- name: code/fbdemo_circle
+ xml_path: assets/xml/code/fbdemo_circle.xml
+ start_offset: 0x10ED48
+ end_offset: 0x10FF68
+- name: code/fbdemo_triforce
+ xml_path: assets/xml/code/fbdemo_triforce.xml
+ start_offset: 0x10E1D0
+ end_offset: 0x10E2A0
+- name: code/fbdemo_wipe1
+ xml_path: assets/xml/code/fbdemo_wipe1.xml
+ start_offset: 0x10E2A0
+ end_offset: 0x10EC30
+- name: misc/link_animetion
+ xml_path: assets/xml/misc/link_animetion.xml
+- name: misc/z_select_static
+ xml_path: assets/xml/misc/z_select_static.xml
+- name: objects/gameplay_dangeon_keep
+ xml_path: assets/xml/objects/gameplay_dangeon_keep.xml
+- name: objects/gameplay_field_keep
+ xml_path: assets/xml/objects/gameplay_field_keep.xml
+- name: objects/gameplay_keep
+ xml_path: assets/xml/objects/gameplay_keep.xml
+- name: objects/object_ahg
+ xml_path: assets/xml/objects/object_ahg.xml
+- name: objects/object_am
+ xml_path: assets/xml/objects/object_am.xml
+- name: objects/object_ane
+ xml_path: assets/xml/objects/object_ane.xml
+- name: objects/object_ani
+ xml_path: assets/xml/objects/object_ani.xml
+- name: objects/object_anubice
+ xml_path: assets/xml/objects/object_anubice.xml
+- name: objects/object_aob
+ xml_path: assets/xml/objects/object_aob.xml
+- name: objects/object_b_heart
+ xml_path: assets/xml/objects/object_b_heart.xml
+- name: objects/object_Bb
+ xml_path: assets/xml/objects/object_Bb.xml
+- name: objects/object_bba
+ xml_path: assets/xml/objects/object_bba.xml
+- name: objects/object_bdan_objects
+ xml_path: assets/xml/objects/object_bdan_objects.xml
+- name: objects/object_bdoor
+ xml_path: assets/xml/objects/object_bdoor.xml
+- name: objects/object_bg
+ xml_path: assets/xml/objects/object_bg.xml
+- name: objects/object_bigokuta
+ xml_path: assets/xml/objects/object_bigokuta.xml
+- name: objects/object_bird
+ xml_path: assets/xml/objects/object_bird.xml
+- name: objects/object_bji
+ xml_path: assets/xml/objects/object_bji.xml
+- name: objects/object_bl
+ xml_path: assets/xml/objects/object_bl.xml
+- name: objects/object_blkobj
+ xml_path: assets/xml/objects/object_blkobj.xml
+- name: objects/object_bob
+ xml_path: assets/xml/objects/object_bob.xml
+- name: objects/object_boj
+ xml_path: assets/xml/objects/object_boj.xml
+- name: objects/object_bombf
+ xml_path: assets/xml/objects/object_bombf.xml
+- name: objects/object_bombiwa
+ xml_path: assets/xml/objects/object_bombiwa.xml
+- name: objects/object_bowl
+ xml_path: assets/xml/objects/object_bowl.xml
+- name: objects/object_box
+ xml_path: assets/xml/objects/object_box.xml
+- name: objects/object_brob
+ xml_path: assets/xml/objects/object_brob.xml
+- name: objects/object_bubble
+ xml_path: assets/xml/objects/object_bubble.xml
+- name: objects/object_bv
+ xml_path: assets/xml/objects/object_bv.xml
+- name: objects/object_bw
+ xml_path: assets/xml/objects/object_bw.xml
+- name: objects/object_bwall
+ xml_path: assets/xml/objects/object_bwall.xml
+- name: objects/object_bxa
+ xml_path: assets/xml/objects/object_bxa.xml
+- name: objects/object_cne
+ xml_path: assets/xml/objects/object_cne.xml
+- name: objects/object_cob
+ xml_path: assets/xml/objects/object_cob.xml
+- name: objects/object_cow
+ xml_path: assets/xml/objects/object_cow.xml
+- name: objects/object_crow
+ xml_path: assets/xml/objects/object_crow.xml
+- name: objects/object_cs
+ xml_path: assets/xml/objects/object_cs.xml
+- name: objects/object_d_elevator
+ xml_path: assets/xml/objects/object_d_elevator.xml
+- name: objects/object_d_hsblock
+ xml_path: assets/xml/objects/object_d_hsblock.xml
+- name: objects/object_d_lift
+ xml_path: assets/xml/objects/object_d_lift.xml
+- name: objects/object_daiku
+ xml_path: assets/xml/objects/object_daiku.xml
+- name: objects/object_ddan_objects
+ xml_path: assets/xml/objects/object_ddan_objects.xml
+- name: objects/object_dekubaba
+ xml_path: assets/xml/objects/object_dekubaba.xml
+- name: objects/object_dekujr
+ xml_path: assets/xml/objects/object_dekujr.xml
+- name: objects/object_dekunuts
+ xml_path: assets/xml/objects/object_dekunuts.xml
+- name: objects/object_demo_6k
+ xml_path: assets/xml/objects/object_demo_6k.xml
+- name: objects/object_demo_kekkai
+ xml_path: assets/xml/objects/object_demo_kekkai.xml
+- name: objects/object_demo_tre_lgt
+ xml_path: assets/xml/objects/object_demo_tre_lgt.xml
+- name: objects/object_dh
+ xml_path: assets/xml/objects/object_dh.xml
+- name: objects/object_dnk
+ xml_path: assets/xml/objects/object_dnk.xml
+- name: objects/object_dns
+ xml_path: assets/xml/objects/object_dns.xml
+- name: objects/object_dodojr
+ xml_path: assets/xml/objects/object_dodojr.xml
+- name: objects/object_dodongo
+ xml_path: assets/xml/objects/object_dodongo.xml
+- name: objects/object_dog
+ xml_path: assets/xml/objects/object_dog.xml
+- name: objects/object_door_gerudo
+ xml_path: assets/xml/objects/object_door_gerudo.xml
+- name: objects/object_door_killer
+ xml_path: assets/xml/objects/object_door_killer.xml
+- name: objects/object_ds
+ xml_path: assets/xml/objects/object_ds.xml
+- name: objects/object_ds2
+ xml_path: assets/xml/objects/object_ds2.xml
+- name: objects/object_du
+ xml_path: assets/xml/objects/object_du.xml
+- name: objects/object_dy_obj
+ xml_path: assets/xml/objects/object_dy_obj.xml
+- name: objects/object_ec
+ xml_path: assets/xml/objects/object_ec.xml
+- name: objects/object_efc_crystal_light
+ xml_path: assets/xml/objects/object_efc_crystal_light.xml
+- name: objects/object_efc_doughnut
+ xml_path: assets/xml/objects/object_efc_doughnut.xml
+- name: objects/object_efc_erupc
+ xml_path: assets/xml/objects/object_efc_erupc.xml
+- name: objects/object_efc_fire_ball
+ xml_path: assets/xml/objects/object_efc_fire_ball.xml
+- name: objects/object_efc_flash
+ xml_path: assets/xml/objects/object_efc_flash.xml
+- name: objects/object_efc_lgt_shower
+ xml_path: assets/xml/objects/object_efc_lgt_shower.xml
+- name: objects/object_efc_star_field
+ xml_path: assets/xml/objects/object_efc_star_field.xml
+- name: objects/object_efc_tw
+ xml_path: assets/xml/objects/object_efc_tw.xml
+- name: objects/object_ei
+ xml_path: assets/xml/objects/object_ei.xml
+- name: objects/object_fa
+ xml_path: assets/xml/objects/object_fa.xml
+- name: objects/object_fd
+ xml_path: assets/xml/objects/object_fd.xml
+- name: objects/object_fd2
+ xml_path: assets/xml/objects/object_fd2.xml
+- name: objects/object_fhg
+ xml_path: assets/xml/objects/object_fhg.xml
+- name: objects/object_fire
+ xml_path: assets/xml/objects/object_fire.xml
+- name: objects/object_firefly
+ xml_path: assets/xml/objects/object_firefly.xml
+- name: objects/object_fish
+ xml_path: assets/xml/objects/object_fish.xml
+- name: objects/object_fr
+ xml_path: assets/xml/objects/object_fr.xml
+- name: objects/object_fu
+ xml_path: assets/xml/objects/object_fu.xml
+- name: objects/object_fw
+ xml_path: assets/xml/objects/object_fw.xml
+- name: objects/object_fz
+ xml_path: assets/xml/objects/object_fz.xml
+- name: objects/object_ganon
+ xml_path: assets/xml/objects/object_ganon.xml
+- name: objects/object_ganon2
+ xml_path: assets/xml/objects/object_ganon2.xml
+- name: objects/object_ganon_anime1
+ xml_path: assets/xml/objects/object_ganon_anime1.xml
+- name: objects/object_ganon_anime2
+ xml_path: assets/xml/objects/object_ganon_anime2.xml
+- name: objects/object_ganon_anime3
+ xml_path: assets/xml/objects/object_ganon_anime3.xml
+- name: objects/object_ganon_objects
+ xml_path: assets/xml/objects/object_ganon_objects.xml
+- name: objects/object_ge1
+ xml_path: assets/xml/objects/object_ge1.xml
+- name: objects/object_geff
+ xml_path: assets/xml/objects/object_geff.xml
+- name: objects/object_geldb
+ xml_path: assets/xml/objects/object_geldb.xml
+- name: objects/object_gi_arrow
+ xml_path: assets/xml/objects/object_gi_arrow.xml
+- name: objects/object_gi_arrowcase
+ xml_path: assets/xml/objects/object_gi_arrowcase.xml
+- name: objects/object_gi_bean
+ xml_path: assets/xml/objects/object_gi_bean.xml
+- name: objects/object_gi_bomb_1
+ xml_path: assets/xml/objects/object_gi_bomb_1.xml
+- name: objects/object_gi_bomb_2
+ xml_path: assets/xml/objects/object_gi_bomb_2.xml
+- name: objects/object_gi_bombpouch
+ xml_path: assets/xml/objects/object_gi_bombpouch.xml
+- name: objects/object_gi_boomerang
+ xml_path: assets/xml/objects/object_gi_boomerang.xml
+- name: objects/object_gi_boots_2
+ xml_path: assets/xml/objects/object_gi_boots_2.xml
+- name: objects/object_gi_bosskey
+ xml_path: assets/xml/objects/object_gi_bosskey.xml
+- name: objects/object_gi_bottle
+ xml_path: assets/xml/objects/object_gi_bottle.xml
+- name: objects/object_gi_bottle_letter
+ xml_path: assets/xml/objects/object_gi_bottle_letter.xml
+- name: objects/object_gi_bow
+ xml_path: assets/xml/objects/object_gi_bow.xml
+- name: objects/object_gi_bracelet
+ xml_path: assets/xml/objects/object_gi_bracelet.xml
+- name: objects/object_gi_brokensword
+ xml_path: assets/xml/objects/object_gi_brokensword.xml
+- name: objects/object_gi_butterfly
+ xml_path: assets/xml/objects/object_gi_butterfly.xml
+- name: objects/object_gi_clothes
+ xml_path: assets/xml/objects/object_gi_clothes.xml
+- name: objects/object_gi_coin
+ xml_path: assets/xml/objects/object_gi_coin.xml
+- name: objects/object_gi_compass
+ xml_path: assets/xml/objects/object_gi_compass.xml
+- name: objects/object_gi_dekupouch
+ xml_path: assets/xml/objects/object_gi_dekupouch.xml
+- name: objects/object_gi_egg
+ xml_path: assets/xml/objects/object_gi_egg.xml
+- name: objects/object_gi_eye_lotion
+ xml_path: assets/xml/objects/object_gi_eye_lotion.xml
+- name: objects/object_gi_fire
+ xml_path: assets/xml/objects/object_gi_fire.xml
+- name: objects/object_gi_fish
+ xml_path: assets/xml/objects/object_gi_fish.xml
+- name: objects/object_gi_frog
+ xml_path: assets/xml/objects/object_gi_frog.xml
+- name: objects/object_gi_gerudo
+ xml_path: assets/xml/objects/object_gi_gerudo.xml
+- name: objects/object_gi_gerudomask
+ xml_path: assets/xml/objects/object_gi_gerudomask.xml
+- name: objects/object_gi_ghost
+ xml_path: assets/xml/objects/object_gi_ghost.xml
+- name: objects/object_gi_glasses
+ xml_path: assets/xml/objects/object_gi_glasses.xml
+- name: objects/object_gi_gloves
+ xml_path: assets/xml/objects/object_gi_gloves.xml
+- name: objects/object_gi_goddess
+ xml_path: assets/xml/objects/object_gi_goddess.xml
+- name: objects/object_gi_golonmask
+ xml_path: assets/xml/objects/object_gi_golonmask.xml
+- name: objects/object_gi_grass
+ xml_path: assets/xml/objects/object_gi_grass.xml
+- name: objects/object_gi_hammer
+ xml_path: assets/xml/objects/object_gi_hammer.xml
+- name: objects/object_gi_heart
+ xml_path: assets/xml/objects/object_gi_heart.xml
+- name: objects/object_gi_hearts
+ xml_path: assets/xml/objects/object_gi_hearts.xml
+- name: objects/object_gi_hookshot
+ xml_path: assets/xml/objects/object_gi_hookshot.xml
+- name: objects/object_gi_hoverboots
+ xml_path: assets/xml/objects/object_gi_hoverboots.xml
+- name: objects/object_gi_insect
+ xml_path: assets/xml/objects/object_gi_insect.xml
+- name: objects/object_gi_jewel
+ xml_path: assets/xml/objects/object_gi_jewel.xml
+- name: objects/object_gi_key
+ xml_path: assets/xml/objects/object_gi_key.xml
+- name: objects/object_gi_ki_tan_mask
+ xml_path: assets/xml/objects/object_gi_ki_tan_mask.xml
+- name: objects/object_gi_letter
+ xml_path: assets/xml/objects/object_gi_letter.xml
+- name: objects/object_gi_liquid
+ xml_path: assets/xml/objects/object_gi_liquid.xml
+- name: objects/object_gi_longsword
+ xml_path: assets/xml/objects/object_gi_longsword.xml
+- name: objects/object_gi_m_arrow
+ xml_path: assets/xml/objects/object_gi_m_arrow.xml
+- name: objects/object_gi_magicpot
+ xml_path: assets/xml/objects/object_gi_magicpot.xml
+- name: objects/object_gi_map
+ xml_path: assets/xml/objects/object_gi_map.xml
+- name: objects/object_gi_medal
+ xml_path: assets/xml/objects/object_gi_medal.xml
+- name: objects/object_gi_melody
+ xml_path: assets/xml/objects/object_gi_melody.xml
+- name: objects/object_gi_milk
+ xml_path: assets/xml/objects/object_gi_milk.xml
+- name: objects/object_gi_mushroom
+ xml_path: assets/xml/objects/object_gi_mushroom.xml
+- name: objects/object_gi_niwatori
+ xml_path: assets/xml/objects/object_gi_niwatori.xml
+- name: objects/object_gi_nuts
+ xml_path: assets/xml/objects/object_gi_nuts.xml
+- name: objects/object_gi_ocarina
+ xml_path: assets/xml/objects/object_gi_ocarina.xml
+- name: objects/object_gi_ocarina_0
+ xml_path: assets/xml/objects/object_gi_ocarina_0.xml
+- name: objects/object_gi_pachinko
+ xml_path: assets/xml/objects/object_gi_pachinko.xml
+- name: objects/object_gi_powder
+ xml_path: assets/xml/objects/object_gi_powder.xml
+- name: objects/object_gi_prescription
+ xml_path: assets/xml/objects/object_gi_prescription.xml
+- name: objects/object_gi_purse
+ xml_path: assets/xml/objects/object_gi_purse.xml
+- name: objects/object_gi_rabit_mask
+ xml_path: assets/xml/objects/object_gi_rabit_mask.xml
+- name: objects/object_gi_redead_mask
+ xml_path: assets/xml/objects/object_gi_redead_mask.xml
+- name: objects/object_gi_rupy
+ xml_path: assets/xml/objects/object_gi_rupy.xml
+- name: objects/object_gi_saw
+ xml_path: assets/xml/objects/object_gi_saw.xml
+- name: objects/object_gi_scale
+ xml_path: assets/xml/objects/object_gi_scale.xml
+- name: objects/object_gi_seed
+ xml_path: assets/xml/objects/object_gi_seed.xml
+- name: objects/object_gi_shield_1
+ xml_path: assets/xml/objects/object_gi_shield_1.xml
+- name: objects/object_gi_shield_2
+ xml_path: assets/xml/objects/object_gi_shield_2.xml
+- name: objects/object_gi_shield_3
+ xml_path: assets/xml/objects/object_gi_shield_3.xml
+- name: objects/object_gi_skj_mask
+ xml_path: assets/xml/objects/object_gi_skj_mask.xml
+- name: objects/object_gi_soldout
+ xml_path: assets/xml/objects/object_gi_soldout.xml
+- name: objects/object_gi_soul
+ xml_path: assets/xml/objects/object_gi_soul.xml
+- name: objects/object_gi_stick
+ xml_path: assets/xml/objects/object_gi_stick.xml
+- name: objects/object_gi_sutaru
+ xml_path: assets/xml/objects/object_gi_sutaru.xml
+- name: objects/object_gi_sword_1
+ xml_path: assets/xml/objects/object_gi_sword_1.xml
+- name: objects/object_gi_ticketstone
+ xml_path: assets/xml/objects/object_gi_ticketstone.xml
+- name: objects/object_gi_truth_mask
+ xml_path: assets/xml/objects/object_gi_truth_mask.xml
+- name: objects/object_gi_zoramask
+ xml_path: assets/xml/objects/object_gi_zoramask.xml
+- name: objects/object_gj
+ xml_path: assets/xml/objects/object_gj.xml
+- name: objects/object_gjyo_objects
+ xml_path: assets/xml/objects/object_gjyo_objects.xml
+- name: objects/object_gla
+ xml_path: assets/xml/objects/object_gla.xml
+- name: objects/object_gm
+ xml_path: assets/xml/objects/object_gm.xml
+- name: objects/object_gnd
+ xml_path: assets/xml/objects/object_gnd.xml
+- name: objects/object_gnd_magic
+ xml_path: assets/xml/objects/object_gnd_magic.xml
+- name: objects/object_gndd
+ xml_path: assets/xml/objects/object_gndd.xml
+- name: objects/object_god_lgt
+ xml_path: assets/xml/objects/object_god_lgt.xml
+- name: objects/object_gol
+ xml_path: assets/xml/objects/object_gol.xml
+- name: objects/object_goma
+ xml_path: assets/xml/objects/object_goma.xml
+- name: objects/object_goroiwa
+ xml_path: assets/xml/objects/object_goroiwa.xml
+- name: objects/object_gr
+ xml_path: assets/xml/objects/object_gr.xml
+- name: objects/object_gs
+ xml_path: assets/xml/objects/object_gs.xml
+- name: objects/object_gt
+ xml_path: assets/xml/objects/object_gt.xml
+- name: objects/object_haka
+ xml_path: assets/xml/objects/object_haka.xml
+- name: objects/object_haka_door
+ xml_path: assets/xml/objects/object_haka_door.xml
+- name: objects/object_haka_objects
+ xml_path: assets/xml/objects/object_haka_objects.xml
+- name: objects/object_hakach_objects
+ xml_path: assets/xml/objects/object_hakach_objects.xml
+- name: objects/object_hata
+ xml_path: assets/xml/objects/object_hata.xml
+- name: objects/object_heavy_object
+ xml_path: assets/xml/objects/object_heavy_object.xml
+- name: objects/object_hidan_objects
+ xml_path: assets/xml/objects/object_hidan_objects.xml
+- name: objects/object_hintnuts
+ xml_path: assets/xml/objects/object_hintnuts.xml
+- name: objects/object_hni
+ xml_path: assets/xml/objects/object_hni.xml
+- name: objects/object_horse
+ xml_path: assets/xml/objects/object_horse.xml
+- name: objects/object_horse_ganon
+ xml_path: assets/xml/objects/object_horse_ganon.xml
+- name: objects/object_horse_link_child
+ xml_path: assets/xml/objects/object_horse_link_child.xml
+- name: objects/object_horse_normal
+ xml_path: assets/xml/objects/object_horse_normal.xml
+- name: objects/object_horse_zelda
+ xml_path: assets/xml/objects/object_horse_zelda.xml
+- name: objects/object_hs
+ xml_path: assets/xml/objects/object_hs.xml
+- name: objects/object_human
+ xml_path: assets/xml/objects/object_human.xml
+- name: objects/object_ice_objects
+ xml_path: assets/xml/objects/object_ice_objects.xml
+- name: objects/object_ik
+ xml_path: assets/xml/objects/object_ik.xml
+- name: objects/object_im
+ xml_path: assets/xml/objects/object_im.xml
+- name: objects/object_in
+ xml_path: assets/xml/objects/object_in.xml
+- name: objects/object_ingate
+ xml_path: assets/xml/objects/object_ingate.xml
+- name: objects/object_jj
+ xml_path: assets/xml/objects/object_jj.xml
+- name: objects/object_js
+ xml_path: assets/xml/objects/object_js.xml
+- name: objects/object_jya_door
+ xml_path: assets/xml/objects/object_jya_door.xml
+- name: objects/object_jya_iron
+ xml_path: assets/xml/objects/object_jya_iron.xml
+- name: objects/object_jya_obj
+ xml_path: assets/xml/objects/object_jya_obj.xml
+- name: objects/object_ka
+ xml_path: assets/xml/objects/object_ka.xml
+- name: objects/object_kanban
+ xml_path: assets/xml/objects/object_kanban.xml
+- name: objects/object_kibako2
+ xml_path: assets/xml/objects/object_kibako2.xml
+- name: objects/object_kingdodongo
+ xml_path: assets/xml/objects/object_kingdodongo.xml
+- name: objects/object_km1
+ xml_path: assets/xml/objects/object_km1.xml
+- name: objects/object_kusa
+ xml_path: assets/xml/objects/object_kusa.xml
+- name: objects/object_kw1
+ xml_path: assets/xml/objects/object_kw1.xml
+- name: objects/object_kz
+ xml_path: assets/xml/objects/object_kz.xml
+- name: objects/object_light_ring
+ xml_path: assets/xml/objects/object_light_ring.xml
+- name: objects/object_lightbox
+ xml_path: assets/xml/objects/object_lightbox.xml
+- name: objects/object_lightswitch
+ xml_path: assets/xml/objects/object_lightswitch.xml
+- name: objects/object_link_boy
+ xml_path: assets/xml/objects/object_link_boy.xml
+- name: objects/object_link_child
+ xml_path: assets/xml/objects/object_link_child.xml
+- name: objects/object_ma1
+ xml_path: assets/xml/objects/object_ma1.xml
+- name: objects/object_ma2
+ xml_path: assets/xml/objects/object_ma2.xml
+- name: objects/object_mag
+ xml_path: assets/xml/objects/object_mag_mq.xml
+- name: objects/object_mamenoki
+ xml_path: assets/xml/objects/object_mamenoki.xml
+- name: objects/object_mastergolon
+ xml_path: assets/xml/objects/object_mastergolon.xml
+- name: objects/object_masterkokiri
+ xml_path: assets/xml/objects/object_masterkokiri.xml
+- name: objects/object_masterkokirihead
+ xml_path: assets/xml/objects/object_masterkokirihead.xml
+- name: objects/object_masterzoora
+ xml_path: assets/xml/objects/object_masterzoora.xml
+- name: objects/object_mb
+ xml_path: assets/xml/objects/object_mb.xml
+- name: objects/object_md
+ xml_path: assets/xml/objects/object_md.xml
+- name: objects/object_medal
+ xml_path: assets/xml/objects/object_medal.xml
+- name: objects/object_menkuri_objects
+ xml_path: assets/xml/objects/object_menkuri_objects.xml
+- name: objects/object_mir_ray
+ xml_path: assets/xml/objects/object_mir_ray.xml
+- name: objects/object_mizu_objects
+ xml_path: assets/xml/objects/object_mizu_objects.xml
+- name: objects/object_mjin
+ xml_path: assets/xml/objects/object_mjin.xml
+- name: objects/object_mjin_dark
+ xml_path: assets/xml/objects/object_mjin_dark.xml
+- name: objects/object_mjin_flame
+ xml_path: assets/xml/objects/object_mjin_flame.xml
+- name: objects/object_mjin_flash
+ xml_path: assets/xml/objects/object_mjin_flash.xml
+- name: objects/object_mjin_ice
+ xml_path: assets/xml/objects/object_mjin_ice.xml
+- name: objects/object_mjin_oka
+ xml_path: assets/xml/objects/object_mjin_oka.xml
+- name: objects/object_mjin_soul
+ xml_path: assets/xml/objects/object_mjin_soul.xml
+- name: objects/object_mjin_wind
+ xml_path: assets/xml/objects/object_mjin_wind.xml
+- name: objects/object_mk
+ xml_path: assets/xml/objects/object_mk.xml
+- name: objects/object_mm
+ xml_path: assets/xml/objects/object_mm.xml
+- name: objects/object_mo
+ xml_path: assets/xml/objects/object_mo.xml
+- name: objects/object_mori_hineri1
+ xml_path: assets/xml/objects/object_mori_hineri1.xml
+- name: objects/object_mori_hineri1a
+ xml_path: assets/xml/objects/object_mori_hineri1a.xml
+- name: objects/object_mori_hineri2
+ xml_path: assets/xml/objects/object_mori_hineri2.xml
+- name: objects/object_mori_hineri2a
+ xml_path: assets/xml/objects/object_mori_hineri2a.xml
+- name: objects/object_mori_objects
+ xml_path: assets/xml/objects/object_mori_objects.xml
+- name: objects/object_mori_tex
+ xml_path: assets/xml/objects/object_mori_tex.xml
+- name: objects/object_ms
+ xml_path: assets/xml/objects/object_ms.xml
+- name: objects/object_mu
+ xml_path: assets/xml/objects/object_mu.xml
+- name: objects/object_nb
+ xml_path: assets/xml/objects/object_nb.xml
+- name: objects/object_niw
+ xml_path: assets/xml/objects/object_niw.xml
+- name: objects/object_nwc
+ xml_path: assets/xml/objects/object_nwc.xml
+- name: objects/object_ny
+ xml_path: assets/xml/objects/object_ny.xml
+- name: objects/object_o_anime
+ xml_path: assets/xml/objects/object_o_anime.xml
+- name: objects/object_oA1
+ xml_path: assets/xml/objects/object_oA1.xml
+- name: objects/object_oA2
+ xml_path: assets/xml/objects/object_oA2.xml
+- name: objects/object_oA3
+ xml_path: assets/xml/objects/object_oA3.xml
+- name: objects/object_oA4
+ xml_path: assets/xml/objects/object_oA4.xml
+- name: objects/object_oA5
+ xml_path: assets/xml/objects/object_oA5.xml
+- name: objects/object_oA6
+ xml_path: assets/xml/objects/object_oA6.xml
+- name: objects/object_oA7
+ xml_path: assets/xml/objects/object_oA7.xml
+- name: objects/object_oA8
+ xml_path: assets/xml/objects/object_oA8.xml
+- name: objects/object_oA9
+ xml_path: assets/xml/objects/object_oA9.xml
+- name: objects/object_oA10
+ xml_path: assets/xml/objects/object_oA10.xml
+- name: objects/object_oA11
+ xml_path: assets/xml/objects/object_oA11.xml
+- name: objects/object_oB1
+ xml_path: assets/xml/objects/object_oB1.xml
+- name: objects/object_oB2
+ xml_path: assets/xml/objects/object_oB2.xml
+- name: objects/object_oB3
+ xml_path: assets/xml/objects/object_oB3.xml
+- name: objects/object_oB4
+ xml_path: assets/xml/objects/object_oB4.xml
+- name: objects/object_oE1
+ xml_path: assets/xml/objects/object_oE1.xml
+- name: objects/object_oE1s
+ xml_path: assets/xml/objects/object_oE1s.xml
+- name: objects/object_oE2
+ xml_path: assets/xml/objects/object_oE2.xml
+- name: objects/object_oE3
+ xml_path: assets/xml/objects/object_oE3.xml
+- name: objects/object_oE4
+ xml_path: assets/xml/objects/object_oE4.xml
+- name: objects/object_oE4s
+ xml_path: assets/xml/objects/object_oE4s.xml
+- name: objects/object_oE5
+ xml_path: assets/xml/objects/object_oE5.xml
+- name: objects/object_oE6
+ xml_path: assets/xml/objects/object_oE6.xml
+- name: objects/object_oE7
+ xml_path: assets/xml/objects/object_oE7.xml
+- name: objects/object_oE8
+ xml_path: assets/xml/objects/object_oE8.xml
+- name: objects/object_oE9
+ xml_path: assets/xml/objects/object_oE9.xml
+- name: objects/object_oE10
+ xml_path: assets/xml/objects/object_oE10.xml
+- name: objects/object_oE11
+ xml_path: assets/xml/objects/object_oE11.xml
+- name: objects/object_oE12
+ xml_path: assets/xml/objects/object_oE12.xml
+- name: objects/object_oE_anime
+ xml_path: assets/xml/objects/object_oE_anime.xml
+- name: objects/object_oF1d_map
+ xml_path: assets/xml/objects/object_oF1d_map.xml
+- name: objects/object_oF1s
+ xml_path: assets/xml/objects/object_oF1s.xml
+- name: objects/object_okuta
+ xml_path: assets/xml/objects/object_okuta.xml
+- name: objects/object_opening_demo1
+ xml_path: assets/xml/objects/object_opening_demo1.xml
+- name: objects/object_os
+ xml_path: assets/xml/objects/object_os.xml
+- name: objects/object_os_anime
+ xml_path: assets/xml/objects/object_os_anime.xml
+- name: objects/object_ossan
+ xml_path: assets/xml/objects/object_ossan.xml
+- name: objects/object_ouke_haka
+ xml_path: assets/xml/objects/object_ouke_haka.xml
+- name: objects/object_owl
+ xml_path: assets/xml/objects/object_owl.xml
+- name: objects/object_peehat
+ xml_path: assets/xml/objects/object_peehat.xml
+- name: objects/object_po_composer
+ xml_path: assets/xml/objects/object_po_composer.xml
+- name: objects/object_po_field
+ xml_path: assets/xml/objects/object_po_field.xml
+- name: objects/object_po_sisters
+ xml_path: assets/xml/objects/object_po_sisters.xml
+- name: objects/object_poh
+ xml_path: assets/xml/objects/object_poh.xml
+- name: objects/object_ps
+ xml_path: assets/xml/objects/object_ps.xml
+- name: objects/object_pu_box
+ xml_path: assets/xml/objects/object_pu_box.xml
+- name: objects/object_rd
+ xml_path: assets/xml/objects/object_rd.xml
+- name: objects/object_reeba
+ xml_path: assets/xml/objects/object_reeba.xml
+- name: objects/object_relay_objects
+ xml_path: assets/xml/objects/object_relay_objects.xml
+- name: objects/object_rl
+ xml_path: assets/xml/objects/object_rl.xml
+- name: objects/object_rr
+ xml_path: assets/xml/objects/object_rr.xml
+- name: objects/object_rs
+ xml_path: assets/xml/objects/object_rs.xml
+- name: objects/object_ru1
+ xml_path: assets/xml/objects/object_ru1.xml
+- name: objects/object_ru2
+ xml_path: assets/xml/objects/object_ru2.xml
+- name: objects/object_sa
+ xml_path: assets/xml/objects/object_sa.xml
+- name: objects/object_sb
+ xml_path: assets/xml/objects/object_sb.xml
+- name: objects/object_sd
+ xml_path: assets/xml/objects/object_sd.xml
+- name: objects/object_shop_dungen
+ xml_path: assets/xml/objects/object_shop_dungen.xml
+- name: objects/object_shopnuts
+ xml_path: assets/xml/objects/object_shopnuts.xml
+- name: objects/object_siofuki
+ xml_path: assets/xml/objects/object_siofuki.xml
+- name: objects/object_sk2
+ xml_path: assets/xml/objects/object_sk2.xml
+- name: objects/object_skb
+ xml_path: assets/xml/objects/object_skb.xml
+- name: objects/object_skj
+ xml_path: assets/xml/objects/object_skj.xml
+- name: objects/object_spot00_break
+ xml_path: assets/xml/objects/object_spot00_break.xml
+- name: objects/object_spot00_objects
+ xml_path: assets/xml/objects/object_spot00_objects.xml
+- name: objects/object_spot01_matoya
+ xml_path: assets/xml/objects/object_spot01_matoya.xml
+- name: objects/object_spot01_matoyab
+ xml_path: assets/xml/objects/object_spot01_matoyab.xml
+- name: objects/object_spot01_objects
+ xml_path: assets/xml/objects/object_spot01_objects.xml
+- name: objects/object_spot01_objects2
+ xml_path: assets/xml/objects/object_spot01_objects2.xml
+- name: objects/object_spot02_objects
+ xml_path: assets/xml/objects/object_spot02_objects.xml
+- name: objects/object_spot03_object
+ xml_path: assets/xml/objects/object_spot03_object.xml
+- name: objects/object_spot04_objects
+ xml_path: assets/xml/objects/object_spot04_objects.xml
+- name: objects/object_spot05_objects
+ xml_path: assets/xml/objects/object_spot05_objects.xml
+- name: objects/object_spot06_objects
+ xml_path: assets/xml/objects/object_spot06_objects.xml
+- name: objects/object_spot07_object
+ xml_path: assets/xml/objects/object_spot07_object.xml
+- name: objects/object_spot08_obj
+ xml_path: assets/xml/objects/object_spot08_obj.xml
+- name: objects/object_spot09_obj
+ xml_path: assets/xml/objects/object_spot09_obj.xml
+- name: objects/object_spot11_obj
+ xml_path: assets/xml/objects/object_spot11_obj.xml
+- name: objects/object_spot12_obj
+ xml_path: assets/xml/objects/object_spot12_obj.xml
+- name: objects/object_spot15_obj
+ xml_path: assets/xml/objects/object_spot15_obj.xml
+- name: objects/object_spot16_obj
+ xml_path: assets/xml/objects/object_spot16_obj.xml
+- name: objects/object_spot17_obj
+ xml_path: assets/xml/objects/object_spot17_obj.xml
+- name: objects/object_spot18_obj
+ xml_path: assets/xml/objects/object_spot18_obj.xml
+- name: objects/object_ssh
+ xml_path: assets/xml/objects/object_ssh.xml
+- name: objects/object_sst
+ xml_path: assets/xml/objects/object_sst.xml
+- name: objects/object_st
+ xml_path: assets/xml/objects/object_st.xml
+- name: objects/object_stream
+ xml_path: assets/xml/objects/object_stream.xml
+- name: objects/object_syokudai
+ xml_path: assets/xml/objects/object_syokudai.xml
+- name: objects/object_ta
+ xml_path: assets/xml/objects/object_ta.xml
+- name: objects/object_timeblock
+ xml_path: assets/xml/objects/object_timeblock.xml
+- name: objects/object_tite
+ xml_path: assets/xml/objects/object_tite.xml
+- name: objects/object_tk
+ xml_path: assets/xml/objects/object_tk.xml
+- name: objects/object_toki_objects
+ xml_path: assets/xml/objects/object_toki_objects.xml
+- name: objects/object_torch2
+ xml_path: assets/xml/objects/object_torch2.xml
+- name: objects/object_toryo
+ xml_path: assets/xml/objects/object_toryo.xml
+- name: objects/object_tp
+ xml_path: assets/xml/objects/object_tp.xml
+- name: objects/object_tr
+ xml_path: assets/xml/objects/object_tr.xml
+- name: objects/object_trap
+ xml_path: assets/xml/objects/object_trap.xml
+- name: objects/object_triforce_spot
+ xml_path: assets/xml/objects/object_triforce_spot.xml
+- name: objects/object_ts
+ xml_path: assets/xml/objects/object_ts.xml
+- name: objects/object_tsubo
+ xml_path: assets/xml/objects/object_tsubo.xml
+- name: objects/object_tw
+ xml_path: assets/xml/objects/object_tw.xml
+- name: objects/object_umajump
+ xml_path: assets/xml/objects/object_umajump.xml
+- name: objects/object_vali
+ xml_path: assets/xml/objects/object_vali.xml
+- name: objects/object_vase
+ xml_path: assets/xml/objects/object_vase.xml
+- name: objects/object_vm
+ xml_path: assets/xml/objects/object_vm.xml
+- name: objects/object_wallmaster
+ xml_path: assets/xml/objects/object_wallmaster.xml
+- name: objects/object_warp1
+ xml_path: assets/xml/objects/object_warp1.xml
+- name: objects/object_warp2
+ xml_path: assets/xml/objects/object_warp2.xml
+- name: objects/object_wf
+ xml_path: assets/xml/objects/object_wf.xml
+- name: objects/object_wood02
+ xml_path: assets/xml/objects/object_wood02.xml
+- name: objects/object_xc
+ xml_path: assets/xml/objects/object_xc.xml
+- name: objects/object_yabusame_point
+ xml_path: assets/xml/objects/object_yabusame_point.xml
+- name: objects/object_ydan_objects
+ xml_path: assets/xml/objects/object_ydan_objects.xml
+- name: objects/object_yukabyun
+ xml_path: assets/xml/objects/object_yukabyun.xml
+- name: objects/object_zf
+ xml_path: assets/xml/objects/object_zf.xml
+- name: objects/object_zg
+ xml_path: assets/xml/objects/object_zg.xml
+- name: objects/object_zl1
+ xml_path: assets/xml/objects/object_zl1.xml
+- name: objects/object_zl2
+ xml_path: assets/xml/objects/object_zl2.xml
+- name: objects/object_zl2_anime1
+ xml_path: assets/xml/objects/object_zl2_anime1.xml
+- name: objects/object_zl2_anime2
+ xml_path: assets/xml/objects/object_zl2_anime2.xml
+- name: objects/object_zl4
+ xml_path: assets/xml/objects/object_zl4.xml
+- name: objects/object_zo
+ xml_path: assets/xml/objects/object_zo.xml
+- name: overlays/ovl_Arrow_Fire
+ xml_path: assets/xml/overlays/ovl_Arrow_Fire.xml
+ start_offset: 0x9D0
+ end_offset: 0x1DF0
+- name: overlays/ovl_Arrow_Ice
+ xml_path: assets/xml/overlays/ovl_Arrow_Ice.xml
+ start_offset: 0x9F0
+ end_offset: 0x1E10
+- name: overlays/ovl_Arrow_Light
+ xml_path: assets/xml/overlays/ovl_Arrow_Light.xml
+ start_offset: 0xA00
+ end_offset: 0x1E20
+- name: overlays/ovl_Bg_Ganon_Otyuka
+ xml_path: assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
+ start_offset: 0x11C0
+ end_offset: 0x259C
+- name: overlays/ovl_Bg_Jya_Cobra
+ xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
+ start_offset: 0x1980
+ end_offset: 0x19F8
+- name: overlays/ovl_Boss_Dodongo
+ xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml
+ start_offset: 0x6238
+ end_offset: 0x9238
+- name: overlays/ovl_Boss_Ganon
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon.xml
+ start_offset: 0xE6B8
+ end_offset: 0x211D8
+- name: overlays/ovl_Boss_Ganon2
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon2.xml
+ start_offset: 0xA2C8
+ end_offset: 0x10778
+- name: overlays/ovl_Boss_Sst
+ xml_path: assets/xml/overlays/ovl_Boss_Sst.xml
+ start_offset: 0xA3C0
+ end_offset: 0xAD70
+- name: overlays/ovl_Demo_Shd
+ xml_path: assets/xml/overlays/ovl_Demo_Shd.xml
+ start_offset: 0x450
+ end_offset: 0x23D0
+- name: overlays/ovl_Effect_Ss_Fhg_Flash
+ xml_path: assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
+ start_offset: 0xA60
+ end_offset: 0xF18
+- name: overlays/ovl_Elf_Msg
+ xml_path: assets/xml/overlays/ovl_Elf_Msg.xml
+ start_offset: 0x758
+ end_offset: 0x9D8
+- name: overlays/ovl_Elf_Msg2
+ xml_path: assets/xml/overlays/ovl_Elf_Msg2.xml
+ start_offset: 0x538
+ end_offset: 0x638
+- name: overlays/ovl_En_Bili
+ xml_path: assets/xml/overlays/ovl_En_Bili.xml
+ start_offset: 0x1E50
+ end_offset: 0x1E70
+- name: overlays/ovl_En_Clear_Tag
+ xml_path: assets/xml/overlays/ovl_En_Clear_Tag.xml
+ start_offset: 0x26F0
+ end_offset: 0x89F0
+- name: overlays/ovl_En_Ganon_Mant
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Mant.xml
+ start_offset: 0x1218
+ end_offset: 0x4118
+- name: overlays/ovl_En_Ganon_Organ
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Organ.xml
+ start_offset: 0x3E8
+ end_offset: 0x6F70
+- name: overlays/ovl_En_Holl
+ xml_path: assets/xml/overlays/ovl_En_Holl.xml
+ start_offset: 0xE78
+ end_offset: 0xEE0
+- name: overlays/ovl_En_Jsjutan
+ xml_path: assets/xml/overlays/ovl_En_Jsjutan.xml
+ start_offset: 0x12F8
+ end_offset: 0x4C90
+- name: overlays/ovl_En_Kanban
+ xml_path: assets/xml/overlays/ovl_En_Kanban.xml
+ start_offset: 0x2F80
+ end_offset: 0x3040
+- name: overlays/ovl_En_Sda
+ xml_path: assets/xml/overlays/ovl_En_Sda.xml
+ start_offset: 0x1578
+ end_offset: 0x1608
+- name: overlays/ovl_En_Ssh
+ xml_path: assets/xml/overlays/ovl_En_Ssh.xml
+ start_offset: 0x2150
+ end_offset: 0x21E0
+- name: overlays/ovl_En_St
+ xml_path: assets/xml/overlays/ovl_En_St.xml
+ start_offset: 0x26B0
+ end_offset: 0x2740
+- name: overlays/ovl_En_Sth
+ xml_path: assets/xml/overlays/ovl_En_Sth.xml
+ start_offset: 0xEF0
+ end_offset: 0x3EC4
+- name: overlays/ovl_End_Title
+ xml_path: assets/xml/overlays/ovl_End_Title.xml
+ start_offset: 0x780
+ end_offset: 0x4128
+- name: overlays/ovl_file_choose
+ xml_path: assets/xml/overlays/ovl_file_choose.xml
+ start_offset: 0xDE70
+ end_offset: 0xE6B0
+- name: overlays/ovl_Magic_Dark
+ xml_path: assets/xml/overlays/ovl_Magic_Dark.xml
+ start_offset: 0xD10
+ end_offset: 0x1740
+- name: overlays/ovl_Magic_Fire
+ xml_path: assets/xml/overlays/ovl_Magic_Fire.xml
+ start_offset: 0xB90
+ end_offset: 0x21E0
+- name: overlays/ovl_Magic_Wind
+ xml_path: assets/xml/overlays/ovl_Magic_Wind.xml
+ start_offset: 0x780
+ end_offset: 0x1C98
+- name: overlays/ovl_Oceff_Spot
+ xml_path: assets/xml/overlays/ovl_Oceff_Spot.xml
+ start_offset: 0x7F0
+ end_offset: 0xEC8
+- name: overlays/ovl_Oceff_Storm
+ xml_path: assets/xml/overlays/ovl_Oceff_Storm.xml
+ start_offset: 0x7B0
+ end_offset: 0x1B40
+- name: overlays/ovl_Oceff_Wipe
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe.xml
+ start_offset: 0x550
+ end_offset: 0xD10
+- name: overlays/ovl_Oceff_Wipe2
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe2.xml
+ start_offset: 0x480
+ end_offset: 0x16E8
+- name: overlays/ovl_Oceff_Wipe3
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe3.xml
+ start_offset: 0x480
+ end_offset: 0x16C8
+- name: overlays/ovl_Oceff_Wipe4
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe4.xml
+ start_offset: 0x460
+ end_offset: 0xF48
+- name: scenes/dungeons/bdan
+ xml_path: assets/xml/scenes/dungeons/bdan_mq.xml
+- name: scenes/dungeons/bdan_boss
+ xml_path: assets/xml/scenes/dungeons/bdan_boss.xml
+- name: scenes/dungeons/Bmori1
+ xml_path: assets/xml/scenes/dungeons/Bmori1_mq.xml
+- name: scenes/dungeons/ddan
+ xml_path: assets/xml/scenes/dungeons/ddan_mq.xml
+- name: scenes/dungeons/ddan_boss
+ xml_path: assets/xml/scenes/dungeons/ddan_boss.xml
+- name: scenes/dungeons/FIRE_bs
+ xml_path: assets/xml/scenes/dungeons/FIRE_bs.xml
+- name: scenes/dungeons/ganon
+ xml_path: assets/xml/scenes/dungeons/ganon.xml
+- name: scenes/dungeons/ganon_boss
+ xml_path: assets/xml/scenes/dungeons/ganon_boss.xml
+- name: scenes/dungeons/ganon_demo
+ xml_path: assets/xml/scenes/dungeons/ganon_demo.xml
+- name: scenes/dungeons/ganon_final
+ xml_path: assets/xml/scenes/dungeons/ganon_final.xml
+- name: scenes/dungeons/ganon_sonogo
+ xml_path: assets/xml/scenes/dungeons/ganon_sonogo.xml
+- name: scenes/dungeons/ganontika
+ xml_path: assets/xml/scenes/dungeons/ganontika_mq.xml
+- name: scenes/dungeons/ganontikasonogo
+ xml_path: assets/xml/scenes/dungeons/ganontikasonogo.xml
+- name: scenes/dungeons/gerudoway
+ xml_path: assets/xml/scenes/dungeons/gerudoway.xml
+- name: scenes/dungeons/HAKAdan
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_mq.xml
+- name: scenes/dungeons/HAKAdan_bs
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_bs.xml
+- name: scenes/dungeons/HAKAdanCH
+ xml_path: assets/xml/scenes/dungeons/HAKAdanCH_mq.xml
+- name: scenes/dungeons/HIDAN
+ xml_path: assets/xml/scenes/dungeons/HIDAN_mq.xml
+- name: scenes/dungeons/ice_doukutu
+ xml_path: assets/xml/scenes/dungeons/ice_doukutu_mq.xml
+- name: scenes/dungeons/jyasinboss
+ xml_path: assets/xml/scenes/dungeons/jyasinboss.xml
+- name: scenes/dungeons/jyasinzou
+ xml_path: assets/xml/scenes/dungeons/jyasinzou_mq.xml
+- name: scenes/dungeons/men
+ xml_path: assets/xml/scenes/dungeons/men_mq.xml
+- name: scenes/dungeons/MIZUsin
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_mq.xml
+- name: scenes/dungeons/MIZUsin_bs
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_bs.xml
+- name: scenes/dungeons/moribossroom
+ xml_path: assets/xml/scenes/dungeons/moribossroom.xml
+- name: scenes/dungeons/ydan
+ xml_path: assets/xml/scenes/dungeons/ydan_mq.xml
+- name: scenes/dungeons/ydan_boss
+ xml_path: assets/xml/scenes/dungeons/ydan_boss.xml
+- name: scenes/indoors/bowling
+ xml_path: assets/xml/scenes/indoors/bowling.xml
+- name: scenes/indoors/daiyousei_izumi
+ xml_path: assets/xml/scenes/indoors/daiyousei_izumi.xml
+- name: scenes/indoors/hairal_niwa
+ xml_path: assets/xml/scenes/indoors/hairal_niwa.xml
+- name: scenes/indoors/hairal_niwa2
+ xml_path: assets/xml/scenes/indoors/hairal_niwa2.xml
+- name: scenes/indoors/hairal_niwa_n
+ xml_path: assets/xml/scenes/indoors/hairal_niwa_n.xml
+- name: scenes/indoors/hakasitarelay
+ xml_path: assets/xml/scenes/indoors/hakasitarelay.xml
+- name: scenes/indoors/hut
+ xml_path: assets/xml/scenes/indoors/hut.xml
+- name: scenes/indoors/hylia_labo
+ xml_path: assets/xml/scenes/indoors/hylia_labo.xml
+- name: scenes/indoors/impa
+ xml_path: assets/xml/scenes/indoors/impa.xml
+- name: scenes/indoors/kakariko
+ xml_path: assets/xml/scenes/indoors/kakariko.xml
+- name: scenes/indoors/kenjyanoma
+ xml_path: assets/xml/scenes/indoors/kenjyanoma.xml
+- name: scenes/indoors/kokiri_home
+ xml_path: assets/xml/scenes/indoors/kokiri_home.xml
+- name: scenes/indoors/kokiri_home3
+ xml_path: assets/xml/scenes/indoors/kokiri_home3.xml
+- name: scenes/indoors/kokiri_home4
+ xml_path: assets/xml/scenes/indoors/kokiri_home4.xml
+- name: scenes/indoors/kokiri_home5
+ xml_path: assets/xml/scenes/indoors/kokiri_home5.xml
+- name: scenes/indoors/labo
+ xml_path: assets/xml/scenes/indoors/labo.xml
+- name: scenes/indoors/link_home
+ xml_path: assets/xml/scenes/indoors/link_home.xml
+- name: scenes/indoors/mahouya
+ xml_path: assets/xml/scenes/indoors/mahouya.xml
+- name: scenes/indoors/malon_stable
+ xml_path: assets/xml/scenes/indoors/malon_stable.xml
+- name: scenes/indoors/miharigoya
+ xml_path: assets/xml/scenes/indoors/miharigoya.xml
+- name: scenes/indoors/nakaniwa
+ xml_path: assets/xml/scenes/indoors/nakaniwa.xml
+- name: scenes/indoors/souko
+ xml_path: assets/xml/scenes/indoors/souko.xml
+- name: scenes/indoors/syatekijyou
+ xml_path: assets/xml/scenes/indoors/syatekijyou.xml
+- name: scenes/indoors/takaraya
+ xml_path: assets/xml/scenes/indoors/takaraya.xml
+- name: scenes/indoors/tent
+ xml_path: assets/xml/scenes/indoors/tent.xml
+- name: scenes/indoors/tokinoma
+ xml_path: assets/xml/scenes/indoors/tokinoma.xml
+- name: scenes/indoors/yousei_izumi_tate
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_tate.xml
+- name: scenes/indoors/yousei_izumi_yoko
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_yoko.xml
+- name: scenes/misc/enrui
+ xml_path: assets/xml/scenes/misc/enrui.xml
+- name: scenes/misc/entra
+ xml_path: assets/xml/scenes/misc/entra.xml
+- name: scenes/misc/entra_n
+ xml_path: assets/xml/scenes/misc/entra_n.xml
+- name: scenes/misc/hakaana
+ xml_path: assets/xml/scenes/misc/hakaana.xml
+- name: scenes/misc/hakaana2
+ xml_path: assets/xml/scenes/misc/hakaana2.xml
+- name: scenes/misc/hakaana_ouke
+ xml_path: assets/xml/scenes/misc/hakaana_ouke.xml
+- name: scenes/misc/hiral_demo
+ xml_path: assets/xml/scenes/misc/hiral_demo.xml
+- name: scenes/misc/kakariko3
+ xml_path: assets/xml/scenes/misc/kakariko3.xml
+- name: scenes/misc/kakusiana
+ xml_path: assets/xml/scenes/misc/kakusiana.xml
+- name: scenes/misc/kinsuta
+ xml_path: assets/xml/scenes/misc/kinsuta.xml
+- name: scenes/misc/market_alley
+ xml_path: assets/xml/scenes/misc/market_alley.xml
+- name: scenes/misc/market_alley_n
+ xml_path: assets/xml/scenes/misc/market_alley_n.xml
+- name: scenes/misc/market_day
+ xml_path: assets/xml/scenes/misc/market_day.xml
+- name: scenes/misc/market_night
+ xml_path: assets/xml/scenes/misc/market_night.xml
+- name: scenes/misc/market_ruins
+ xml_path: assets/xml/scenes/misc/market_ruins.xml
+- name: scenes/misc/shrine
+ xml_path: assets/xml/scenes/misc/shrine.xml
+- name: scenes/misc/shrine_n
+ xml_path: assets/xml/scenes/misc/shrine_n.xml
+- name: scenes/misc/shrine_r
+ xml_path: assets/xml/scenes/misc/shrine_r.xml
+- name: scenes/misc/turibori
+ xml_path: assets/xml/scenes/misc/turibori.xml
+- name: scenes/overworld/ganon_tou
+ xml_path: assets/xml/scenes/overworld/ganon_tou.xml
+- name: scenes/overworld/spot00
+ xml_path: assets/xml/scenes/overworld/spot00.xml
+- name: scenes/overworld/spot01
+ xml_path: assets/xml/scenes/overworld/spot01.xml
+- name: scenes/overworld/spot02
+ xml_path: assets/xml/scenes/overworld/spot02.xml
+- name: scenes/overworld/spot03
+ xml_path: assets/xml/scenes/overworld/spot03.xml
+- name: scenes/overworld/spot04
+ xml_path: assets/xml/scenes/overworld/spot04.xml
+- name: scenes/overworld/spot05
+ xml_path: assets/xml/scenes/overworld/spot05.xml
+- name: scenes/overworld/spot06
+ xml_path: assets/xml/scenes/overworld/spot06.xml
+- name: scenes/overworld/spot07
+ xml_path: assets/xml/scenes/overworld/spot07.xml
+- name: scenes/overworld/spot08
+ xml_path: assets/xml/scenes/overworld/spot08.xml
+- name: scenes/overworld/spot09
+ xml_path: assets/xml/scenes/overworld/spot09.xml
+- name: scenes/overworld/spot10
+ xml_path: assets/xml/scenes/overworld/spot10.xml
+- name: scenes/overworld/spot11
+ xml_path: assets/xml/scenes/overworld/spot11.xml
+- name: scenes/overworld/spot12
+ xml_path: assets/xml/scenes/overworld/spot12.xml
+- name: scenes/overworld/spot13
+ xml_path: assets/xml/scenes/overworld/spot13.xml
+- name: scenes/overworld/spot15
+ xml_path: assets/xml/scenes/overworld/spot15.xml
+- name: scenes/overworld/spot16
+ xml_path: assets/xml/scenes/overworld/spot16.xml
+- name: scenes/overworld/spot17
+ xml_path: assets/xml/scenes/overworld/spot17.xml
+- name: scenes/overworld/spot18
+ xml_path: assets/xml/scenes/overworld/spot18.xml
+- name: scenes/overworld/spot20
+ xml_path: assets/xml/scenes/overworld/spot20.xml
+- name: scenes/shops/alley_shop
+ xml_path: assets/xml/scenes/shops/alley_shop.xml
+- name: scenes/shops/drag
+ xml_path: assets/xml/scenes/shops/drag.xml
+- name: scenes/shops/face_shop
+ xml_path: assets/xml/scenes/shops/face_shop.xml
+- name: scenes/shops/golon
+ xml_path: assets/xml/scenes/shops/golon.xml
+- name: scenes/shops/kokiri_shop
+ xml_path: assets/xml/scenes/shops/kokiri_shop.xml
+- name: scenes/shops/night_shop
+ xml_path: assets/xml/scenes/shops/night_shop.xml
+- name: scenes/shops/shop1
+ xml_path: assets/xml/scenes/shops/shop1.xml
+- name: scenes/shops/zoora
+ xml_path: assets/xml/scenes/shops/zoora.xml
+- name: scenes/test_levels/besitu
+ xml_path: assets/xml/scenes/test_levels/besitu.xml
+- name: scenes/test_levels/depth_test
+ xml_path: assets/xml/scenes/test_levels/depth_test.xml
+- name: scenes/test_levels/sasatest
+ xml_path: assets/xml/scenes/test_levels/sasatest.xml
+- name: scenes/test_levels/sutaru
+ xml_path: assets/xml/scenes/test_levels/sutaru.xml
+- name: scenes/test_levels/syotes
+ xml_path: assets/xml/scenes/test_levels/syotes.xml
+- name: scenes/test_levels/syotes2
+ xml_path: assets/xml/scenes/test_levels/syotes2.xml
+- name: scenes/test_levels/test01
+ xml_path: assets/xml/scenes/test_levels/test01.xml
+- name: scenes/test_levels/testroom
+ xml_path: assets/xml/scenes/test_levels/testroom.xml
+- name: textures/backgrounds
+ xml_path: assets/xml/textures/backgrounds.xml
+- name: textures/do_action_static
+ xml_path: assets/xml/textures/do_action_static.xml
+- name: textures/icon_item_24_static
+ xml_path: assets/xml/textures/icon_item_24_static.xml
+- name: textures/icon_item_dungeon_static
+ xml_path: assets/xml/textures/icon_item_dungeon_static.xml
+- name: textures/icon_item_field_static
+ xml_path: assets/xml/textures/icon_item_field_static.xml
+- name: textures/icon_item_fra_static
+ xml_path: assets/xml/textures/icon_item_fra_static.xml
+- name: textures/icon_item_gameover_static
+ xml_path: assets/xml/textures/icon_item_gameover_static.xml
+- name: textures/icon_item_ger_static
+ xml_path: assets/xml/textures/icon_item_ger_static.xml
+- name: textures/icon_item_nes_static
+ xml_path: assets/xml/textures/icon_item_nes_static.xml
+- name: textures/icon_item_static
+ xml_path: assets/xml/textures/icon_item_static.xml
+- name: textures/item_name_static
+ xml_path: assets/xml/textures/item_name_static.xml
+- name: textures/map_48x85_static
+ xml_path: assets/xml/textures/map_48x85_static.xml
+- name: textures/map_grand_static
+ xml_path: assets/xml/textures/map_grand_static.xml
+- name: textures/map_i_static
+ xml_path: assets/xml/textures/map_i_static.xml
+- name: textures/map_name_static
+ xml_path: assets/xml/textures/map_name_static.xml
+- name: textures/message_static
+ xml_path: assets/xml/textures/message_static.xml
+- name: textures/message_texture_static
+ xml_path: assets/xml/textures/message_texture_static.xml
+- name: textures/nes_font_static
+ xml_path: assets/xml/textures/nes_font_static.xml
+- name: textures/nintendo_rogo_static
+ xml_path: assets/xml/textures/nintendo_rogo_static.xml
+- name: textures/parameter_static
+ xml_path: assets/xml/textures/parameter_static.xml
+- name: textures/place_title_cards
+ xml_path: assets/xml/textures/place_title_cards.xml
+- name: textures/skyboxes
+ xml_path: assets/xml/textures/skyboxes.xml
+- name: textures/title_static
+ xml_path: assets/xml/textures/title_static.xml
diff --git a/baseroms/gc-eu-mq/config.yml b/baseroms/gc-eu-mq/config.yml
index 18c23a377..69d531bd0 100644
--- a/baseroms/gc-eu-mq/config.yml
+++ b/baseroms/gc-eu-mq/config.yml
@@ -5,3 +5,1163 @@ variables:
sGerMessageEntryTable: 0x8010BA18
sFraMessageEntryTable: 0x8010DB28
sStaffMessageEntryTable: 0x8010FC38
+ sShadowTex: 0x80A72FA0
+assets:
+- name: code/fbdemo_circle
+ xml_path: assets/xml/code/fbdemo_circle.xml
+ start_offset: 0xE90A8
+ end_offset: 0xEA2C8
+- name: code/fbdemo_triforce
+ xml_path: assets/xml/code/fbdemo_triforce.xml
+ start_offset: 0xE8530
+ end_offset: 0xE8600
+- name: code/fbdemo_wipe1
+ xml_path: assets/xml/code/fbdemo_wipe1.xml
+ start_offset: 0xE8600
+ end_offset: 0xE8F90
+- name: misc/link_animetion
+ xml_path: assets/xml/misc/link_animetion.xml
+- name: misc/z_select_static
+ xml_path: assets/xml/misc/z_select_static.xml
+- name: objects/gameplay_dangeon_keep
+ xml_path: assets/xml/objects/gameplay_dangeon_keep.xml
+- name: objects/gameplay_field_keep
+ xml_path: assets/xml/objects/gameplay_field_keep.xml
+- name: objects/gameplay_keep
+ xml_path: assets/xml/objects/gameplay_keep.xml
+- name: objects/object_ahg
+ xml_path: assets/xml/objects/object_ahg.xml
+- name: objects/object_am
+ xml_path: assets/xml/objects/object_am.xml
+- name: objects/object_ane
+ xml_path: assets/xml/objects/object_ane.xml
+- name: objects/object_ani
+ xml_path: assets/xml/objects/object_ani.xml
+- name: objects/object_anubice
+ xml_path: assets/xml/objects/object_anubice.xml
+- name: objects/object_aob
+ xml_path: assets/xml/objects/object_aob.xml
+- name: objects/object_b_heart
+ xml_path: assets/xml/objects/object_b_heart.xml
+- name: objects/object_Bb
+ xml_path: assets/xml/objects/object_Bb.xml
+- name: objects/object_bba
+ xml_path: assets/xml/objects/object_bba.xml
+- name: objects/object_bdan_objects
+ xml_path: assets/xml/objects/object_bdan_objects.xml
+- name: objects/object_bdoor
+ xml_path: assets/xml/objects/object_bdoor.xml
+- name: objects/object_bg
+ xml_path: assets/xml/objects/object_bg.xml
+- name: objects/object_bigokuta
+ xml_path: assets/xml/objects/object_bigokuta.xml
+- name: objects/object_bird
+ xml_path: assets/xml/objects/object_bird.xml
+- name: objects/object_bji
+ xml_path: assets/xml/objects/object_bji.xml
+- name: objects/object_bl
+ xml_path: assets/xml/objects/object_bl.xml
+- name: objects/object_blkobj
+ xml_path: assets/xml/objects/object_blkobj.xml
+- name: objects/object_bob
+ xml_path: assets/xml/objects/object_bob.xml
+- name: objects/object_boj
+ xml_path: assets/xml/objects/object_boj.xml
+- name: objects/object_bombf
+ xml_path: assets/xml/objects/object_bombf.xml
+- name: objects/object_bombiwa
+ xml_path: assets/xml/objects/object_bombiwa.xml
+- name: objects/object_bowl
+ xml_path: assets/xml/objects/object_bowl.xml
+- name: objects/object_box
+ xml_path: assets/xml/objects/object_box.xml
+- name: objects/object_brob
+ xml_path: assets/xml/objects/object_brob.xml
+- name: objects/object_bubble
+ xml_path: assets/xml/objects/object_bubble.xml
+- name: objects/object_bv
+ xml_path: assets/xml/objects/object_bv.xml
+- name: objects/object_bw
+ xml_path: assets/xml/objects/object_bw.xml
+- name: objects/object_bwall
+ xml_path: assets/xml/objects/object_bwall.xml
+- name: objects/object_bxa
+ xml_path: assets/xml/objects/object_bxa.xml
+- name: objects/object_cne
+ xml_path: assets/xml/objects/object_cne.xml
+- name: objects/object_cob
+ xml_path: assets/xml/objects/object_cob.xml
+- name: objects/object_cow
+ xml_path: assets/xml/objects/object_cow.xml
+- name: objects/object_crow
+ xml_path: assets/xml/objects/object_crow.xml
+- name: objects/object_cs
+ xml_path: assets/xml/objects/object_cs.xml
+- name: objects/object_d_elevator
+ xml_path: assets/xml/objects/object_d_elevator.xml
+- name: objects/object_d_hsblock
+ xml_path: assets/xml/objects/object_d_hsblock.xml
+- name: objects/object_d_lift
+ xml_path: assets/xml/objects/object_d_lift.xml
+- name: objects/object_daiku
+ xml_path: assets/xml/objects/object_daiku.xml
+- name: objects/object_ddan_objects
+ xml_path: assets/xml/objects/object_ddan_objects.xml
+- name: objects/object_dekubaba
+ xml_path: assets/xml/objects/object_dekubaba.xml
+- name: objects/object_dekujr
+ xml_path: assets/xml/objects/object_dekujr.xml
+- name: objects/object_dekunuts
+ xml_path: assets/xml/objects/object_dekunuts.xml
+- name: objects/object_demo_6k
+ xml_path: assets/xml/objects/object_demo_6k.xml
+- name: objects/object_demo_kekkai
+ xml_path: assets/xml/objects/object_demo_kekkai.xml
+- name: objects/object_demo_tre_lgt
+ xml_path: assets/xml/objects/object_demo_tre_lgt.xml
+- name: objects/object_dh
+ xml_path: assets/xml/objects/object_dh.xml
+- name: objects/object_dnk
+ xml_path: assets/xml/objects/object_dnk.xml
+- name: objects/object_dns
+ xml_path: assets/xml/objects/object_dns.xml
+- name: objects/object_dodojr
+ xml_path: assets/xml/objects/object_dodojr.xml
+- name: objects/object_dodongo
+ xml_path: assets/xml/objects/object_dodongo.xml
+- name: objects/object_dog
+ xml_path: assets/xml/objects/object_dog.xml
+- name: objects/object_door_gerudo
+ xml_path: assets/xml/objects/object_door_gerudo.xml
+- name: objects/object_door_killer
+ xml_path: assets/xml/objects/object_door_killer.xml
+- name: objects/object_ds
+ xml_path: assets/xml/objects/object_ds.xml
+- name: objects/object_ds2
+ xml_path: assets/xml/objects/object_ds2.xml
+- name: objects/object_du
+ xml_path: assets/xml/objects/object_du.xml
+- name: objects/object_dy_obj
+ xml_path: assets/xml/objects/object_dy_obj.xml
+- name: objects/object_ec
+ xml_path: assets/xml/objects/object_ec.xml
+- name: objects/object_efc_crystal_light
+ xml_path: assets/xml/objects/object_efc_crystal_light.xml
+- name: objects/object_efc_doughnut
+ xml_path: assets/xml/objects/object_efc_doughnut.xml
+- name: objects/object_efc_erupc
+ xml_path: assets/xml/objects/object_efc_erupc.xml
+- name: objects/object_efc_fire_ball
+ xml_path: assets/xml/objects/object_efc_fire_ball.xml
+- name: objects/object_efc_flash
+ xml_path: assets/xml/objects/object_efc_flash.xml
+- name: objects/object_efc_lgt_shower
+ xml_path: assets/xml/objects/object_efc_lgt_shower.xml
+- name: objects/object_efc_star_field
+ xml_path: assets/xml/objects/object_efc_star_field.xml
+- name: objects/object_efc_tw
+ xml_path: assets/xml/objects/object_efc_tw.xml
+- name: objects/object_ei
+ xml_path: assets/xml/objects/object_ei.xml
+- name: objects/object_fa
+ xml_path: assets/xml/objects/object_fa.xml
+- name: objects/object_fd
+ xml_path: assets/xml/objects/object_fd.xml
+- name: objects/object_fd2
+ xml_path: assets/xml/objects/object_fd2.xml
+- name: objects/object_fhg
+ xml_path: assets/xml/objects/object_fhg.xml
+- name: objects/object_fire
+ xml_path: assets/xml/objects/object_fire.xml
+- name: objects/object_firefly
+ xml_path: assets/xml/objects/object_firefly.xml
+- name: objects/object_fish
+ xml_path: assets/xml/objects/object_fish.xml
+- name: objects/object_fr
+ xml_path: assets/xml/objects/object_fr.xml
+- name: objects/object_fu
+ xml_path: assets/xml/objects/object_fu.xml
+- name: objects/object_fw
+ xml_path: assets/xml/objects/object_fw.xml
+- name: objects/object_fz
+ xml_path: assets/xml/objects/object_fz.xml
+- name: objects/object_ganon
+ xml_path: assets/xml/objects/object_ganon.xml
+- name: objects/object_ganon2
+ xml_path: assets/xml/objects/object_ganon2.xml
+- name: objects/object_ganon_anime1
+ xml_path: assets/xml/objects/object_ganon_anime1.xml
+- name: objects/object_ganon_anime2
+ xml_path: assets/xml/objects/object_ganon_anime2.xml
+- name: objects/object_ganon_anime3
+ xml_path: assets/xml/objects/object_ganon_anime3.xml
+- name: objects/object_ganon_objects
+ xml_path: assets/xml/objects/object_ganon_objects.xml
+- name: objects/object_ge1
+ xml_path: assets/xml/objects/object_ge1.xml
+- name: objects/object_geff
+ xml_path: assets/xml/objects/object_geff.xml
+- name: objects/object_geldb
+ xml_path: assets/xml/objects/object_geldb.xml
+- name: objects/object_gi_arrow
+ xml_path: assets/xml/objects/object_gi_arrow.xml
+- name: objects/object_gi_arrowcase
+ xml_path: assets/xml/objects/object_gi_arrowcase.xml
+- name: objects/object_gi_bean
+ xml_path: assets/xml/objects/object_gi_bean.xml
+- name: objects/object_gi_bomb_1
+ xml_path: assets/xml/objects/object_gi_bomb_1.xml
+- name: objects/object_gi_bomb_2
+ xml_path: assets/xml/objects/object_gi_bomb_2.xml
+- name: objects/object_gi_bombpouch
+ xml_path: assets/xml/objects/object_gi_bombpouch.xml
+- name: objects/object_gi_boomerang
+ xml_path: assets/xml/objects/object_gi_boomerang.xml
+- name: objects/object_gi_boots_2
+ xml_path: assets/xml/objects/object_gi_boots_2.xml
+- name: objects/object_gi_bosskey
+ xml_path: assets/xml/objects/object_gi_bosskey.xml
+- name: objects/object_gi_bottle
+ xml_path: assets/xml/objects/object_gi_bottle.xml
+- name: objects/object_gi_bottle_letter
+ xml_path: assets/xml/objects/object_gi_bottle_letter.xml
+- name: objects/object_gi_bow
+ xml_path: assets/xml/objects/object_gi_bow.xml
+- name: objects/object_gi_bracelet
+ xml_path: assets/xml/objects/object_gi_bracelet.xml
+- name: objects/object_gi_brokensword
+ xml_path: assets/xml/objects/object_gi_brokensword.xml
+- name: objects/object_gi_butterfly
+ xml_path: assets/xml/objects/object_gi_butterfly.xml
+- name: objects/object_gi_clothes
+ xml_path: assets/xml/objects/object_gi_clothes.xml
+- name: objects/object_gi_coin
+ xml_path: assets/xml/objects/object_gi_coin.xml
+- name: objects/object_gi_compass
+ xml_path: assets/xml/objects/object_gi_compass.xml
+- name: objects/object_gi_dekupouch
+ xml_path: assets/xml/objects/object_gi_dekupouch.xml
+- name: objects/object_gi_egg
+ xml_path: assets/xml/objects/object_gi_egg.xml
+- name: objects/object_gi_eye_lotion
+ xml_path: assets/xml/objects/object_gi_eye_lotion.xml
+- name: objects/object_gi_fire
+ xml_path: assets/xml/objects/object_gi_fire.xml
+- name: objects/object_gi_fish
+ xml_path: assets/xml/objects/object_gi_fish.xml
+- name: objects/object_gi_frog
+ xml_path: assets/xml/objects/object_gi_frog.xml
+- name: objects/object_gi_gerudo
+ xml_path: assets/xml/objects/object_gi_gerudo.xml
+- name: objects/object_gi_gerudomask
+ xml_path: assets/xml/objects/object_gi_gerudomask.xml
+- name: objects/object_gi_ghost
+ xml_path: assets/xml/objects/object_gi_ghost.xml
+- name: objects/object_gi_glasses
+ xml_path: assets/xml/objects/object_gi_glasses.xml
+- name: objects/object_gi_gloves
+ xml_path: assets/xml/objects/object_gi_gloves.xml
+- name: objects/object_gi_goddess
+ xml_path: assets/xml/objects/object_gi_goddess.xml
+- name: objects/object_gi_golonmask
+ xml_path: assets/xml/objects/object_gi_golonmask.xml
+- name: objects/object_gi_grass
+ xml_path: assets/xml/objects/object_gi_grass.xml
+- name: objects/object_gi_hammer
+ xml_path: assets/xml/objects/object_gi_hammer.xml
+- name: objects/object_gi_heart
+ xml_path: assets/xml/objects/object_gi_heart.xml
+- name: objects/object_gi_hearts
+ xml_path: assets/xml/objects/object_gi_hearts.xml
+- name: objects/object_gi_hookshot
+ xml_path: assets/xml/objects/object_gi_hookshot.xml
+- name: objects/object_gi_hoverboots
+ xml_path: assets/xml/objects/object_gi_hoverboots.xml
+- name: objects/object_gi_insect
+ xml_path: assets/xml/objects/object_gi_insect.xml
+- name: objects/object_gi_jewel
+ xml_path: assets/xml/objects/object_gi_jewel.xml
+- name: objects/object_gi_key
+ xml_path: assets/xml/objects/object_gi_key.xml
+- name: objects/object_gi_ki_tan_mask
+ xml_path: assets/xml/objects/object_gi_ki_tan_mask.xml
+- name: objects/object_gi_letter
+ xml_path: assets/xml/objects/object_gi_letter.xml
+- name: objects/object_gi_liquid
+ xml_path: assets/xml/objects/object_gi_liquid.xml
+- name: objects/object_gi_longsword
+ xml_path: assets/xml/objects/object_gi_longsword.xml
+- name: objects/object_gi_m_arrow
+ xml_path: assets/xml/objects/object_gi_m_arrow.xml
+- name: objects/object_gi_magicpot
+ xml_path: assets/xml/objects/object_gi_magicpot.xml
+- name: objects/object_gi_map
+ xml_path: assets/xml/objects/object_gi_map.xml
+- name: objects/object_gi_medal
+ xml_path: assets/xml/objects/object_gi_medal.xml
+- name: objects/object_gi_melody
+ xml_path: assets/xml/objects/object_gi_melody.xml
+- name: objects/object_gi_milk
+ xml_path: assets/xml/objects/object_gi_milk.xml
+- name: objects/object_gi_mushroom
+ xml_path: assets/xml/objects/object_gi_mushroom.xml
+- name: objects/object_gi_niwatori
+ xml_path: assets/xml/objects/object_gi_niwatori.xml
+- name: objects/object_gi_nuts
+ xml_path: assets/xml/objects/object_gi_nuts.xml
+- name: objects/object_gi_ocarina
+ xml_path: assets/xml/objects/object_gi_ocarina.xml
+- name: objects/object_gi_ocarina_0
+ xml_path: assets/xml/objects/object_gi_ocarina_0.xml
+- name: objects/object_gi_pachinko
+ xml_path: assets/xml/objects/object_gi_pachinko.xml
+- name: objects/object_gi_powder
+ xml_path: assets/xml/objects/object_gi_powder.xml
+- name: objects/object_gi_prescription
+ xml_path: assets/xml/objects/object_gi_prescription.xml
+- name: objects/object_gi_purse
+ xml_path: assets/xml/objects/object_gi_purse.xml
+- name: objects/object_gi_rabit_mask
+ xml_path: assets/xml/objects/object_gi_rabit_mask.xml
+- name: objects/object_gi_redead_mask
+ xml_path: assets/xml/objects/object_gi_redead_mask.xml
+- name: objects/object_gi_rupy
+ xml_path: assets/xml/objects/object_gi_rupy.xml
+- name: objects/object_gi_saw
+ xml_path: assets/xml/objects/object_gi_saw.xml
+- name: objects/object_gi_scale
+ xml_path: assets/xml/objects/object_gi_scale.xml
+- name: objects/object_gi_seed
+ xml_path: assets/xml/objects/object_gi_seed.xml
+- name: objects/object_gi_shield_1
+ xml_path: assets/xml/objects/object_gi_shield_1.xml
+- name: objects/object_gi_shield_2
+ xml_path: assets/xml/objects/object_gi_shield_2.xml
+- name: objects/object_gi_shield_3
+ xml_path: assets/xml/objects/object_gi_shield_3.xml
+- name: objects/object_gi_skj_mask
+ xml_path: assets/xml/objects/object_gi_skj_mask.xml
+- name: objects/object_gi_soldout
+ xml_path: assets/xml/objects/object_gi_soldout.xml
+- name: objects/object_gi_soul
+ xml_path: assets/xml/objects/object_gi_soul.xml
+- name: objects/object_gi_stick
+ xml_path: assets/xml/objects/object_gi_stick.xml
+- name: objects/object_gi_sutaru
+ xml_path: assets/xml/objects/object_gi_sutaru.xml
+- name: objects/object_gi_sword_1
+ xml_path: assets/xml/objects/object_gi_sword_1.xml
+- name: objects/object_gi_ticketstone
+ xml_path: assets/xml/objects/object_gi_ticketstone.xml
+- name: objects/object_gi_truth_mask
+ xml_path: assets/xml/objects/object_gi_truth_mask.xml
+- name: objects/object_gi_zoramask
+ xml_path: assets/xml/objects/object_gi_zoramask.xml
+- name: objects/object_gj
+ xml_path: assets/xml/objects/object_gj.xml
+- name: objects/object_gjyo_objects
+ xml_path: assets/xml/objects/object_gjyo_objects.xml
+- name: objects/object_gla
+ xml_path: assets/xml/objects/object_gla.xml
+- name: objects/object_gm
+ xml_path: assets/xml/objects/object_gm.xml
+- name: objects/object_gnd
+ xml_path: assets/xml/objects/object_gnd.xml
+- name: objects/object_gnd_magic
+ xml_path: assets/xml/objects/object_gnd_magic.xml
+- name: objects/object_gndd
+ xml_path: assets/xml/objects/object_gndd.xml
+- name: objects/object_god_lgt
+ xml_path: assets/xml/objects/object_god_lgt.xml
+- name: objects/object_gol
+ xml_path: assets/xml/objects/object_gol.xml
+- name: objects/object_goma
+ xml_path: assets/xml/objects/object_goma.xml
+- name: objects/object_goroiwa
+ xml_path: assets/xml/objects/object_goroiwa.xml
+- name: objects/object_gr
+ xml_path: assets/xml/objects/object_gr.xml
+- name: objects/object_gs
+ xml_path: assets/xml/objects/object_gs.xml
+- name: objects/object_gt
+ xml_path: assets/xml/objects/object_gt.xml
+- name: objects/object_haka
+ xml_path: assets/xml/objects/object_haka.xml
+- name: objects/object_haka_door
+ xml_path: assets/xml/objects/object_haka_door.xml
+- name: objects/object_haka_objects
+ xml_path: assets/xml/objects/object_haka_objects.xml
+- name: objects/object_hakach_objects
+ xml_path: assets/xml/objects/object_hakach_objects.xml
+- name: objects/object_hata
+ xml_path: assets/xml/objects/object_hata.xml
+- name: objects/object_heavy_object
+ xml_path: assets/xml/objects/object_heavy_object.xml
+- name: objects/object_hidan_objects
+ xml_path: assets/xml/objects/object_hidan_objects.xml
+- name: objects/object_hintnuts
+ xml_path: assets/xml/objects/object_hintnuts.xml
+- name: objects/object_hni
+ xml_path: assets/xml/objects/object_hni.xml
+- name: objects/object_horse
+ xml_path: assets/xml/objects/object_horse.xml
+- name: objects/object_horse_ganon
+ xml_path: assets/xml/objects/object_horse_ganon.xml
+- name: objects/object_horse_link_child
+ xml_path: assets/xml/objects/object_horse_link_child.xml
+- name: objects/object_horse_normal
+ xml_path: assets/xml/objects/object_horse_normal.xml
+- name: objects/object_horse_zelda
+ xml_path: assets/xml/objects/object_horse_zelda.xml
+- name: objects/object_hs
+ xml_path: assets/xml/objects/object_hs.xml
+- name: objects/object_human
+ xml_path: assets/xml/objects/object_human.xml
+- name: objects/object_ice_objects
+ xml_path: assets/xml/objects/object_ice_objects.xml
+- name: objects/object_ik
+ xml_path: assets/xml/objects/object_ik.xml
+- name: objects/object_im
+ xml_path: assets/xml/objects/object_im.xml
+- name: objects/object_in
+ xml_path: assets/xml/objects/object_in.xml
+- name: objects/object_ingate
+ xml_path: assets/xml/objects/object_ingate.xml
+- name: objects/object_jj
+ xml_path: assets/xml/objects/object_jj.xml
+- name: objects/object_js
+ xml_path: assets/xml/objects/object_js.xml
+- name: objects/object_jya_door
+ xml_path: assets/xml/objects/object_jya_door.xml
+- name: objects/object_jya_iron
+ xml_path: assets/xml/objects/object_jya_iron.xml
+- name: objects/object_jya_obj
+ xml_path: assets/xml/objects/object_jya_obj.xml
+- name: objects/object_ka
+ xml_path: assets/xml/objects/object_ka.xml
+- name: objects/object_kanban
+ xml_path: assets/xml/objects/object_kanban.xml
+- name: objects/object_kibako2
+ xml_path: assets/xml/objects/object_kibako2.xml
+- name: objects/object_kingdodongo
+ xml_path: assets/xml/objects/object_kingdodongo.xml
+- name: objects/object_km1
+ xml_path: assets/xml/objects/object_km1.xml
+- name: objects/object_kusa
+ xml_path: assets/xml/objects/object_kusa.xml
+- name: objects/object_kw1
+ xml_path: assets/xml/objects/object_kw1.xml
+- name: objects/object_kz
+ xml_path: assets/xml/objects/object_kz.xml
+- name: objects/object_light_ring
+ xml_path: assets/xml/objects/object_light_ring.xml
+- name: objects/object_lightbox
+ xml_path: assets/xml/objects/object_lightbox.xml
+- name: objects/object_lightswitch
+ xml_path: assets/xml/objects/object_lightswitch.xml
+- name: objects/object_link_boy
+ xml_path: assets/xml/objects/object_link_boy.xml
+- name: objects/object_link_child
+ xml_path: assets/xml/objects/object_link_child.xml
+- name: objects/object_ma1
+ xml_path: assets/xml/objects/object_ma1.xml
+- name: objects/object_ma2
+ xml_path: assets/xml/objects/object_ma2.xml
+- name: objects/object_mag
+ xml_path: assets/xml/objects/object_mag_mq.xml
+- name: objects/object_mamenoki
+ xml_path: assets/xml/objects/object_mamenoki.xml
+- name: objects/object_mastergolon
+ xml_path: assets/xml/objects/object_mastergolon.xml
+- name: objects/object_masterkokiri
+ xml_path: assets/xml/objects/object_masterkokiri.xml
+- name: objects/object_masterkokirihead
+ xml_path: assets/xml/objects/object_masterkokirihead.xml
+- name: objects/object_masterzoora
+ xml_path: assets/xml/objects/object_masterzoora.xml
+- name: objects/object_mb
+ xml_path: assets/xml/objects/object_mb.xml
+- name: objects/object_md
+ xml_path: assets/xml/objects/object_md.xml
+- name: objects/object_medal
+ xml_path: assets/xml/objects/object_medal.xml
+- name: objects/object_menkuri_objects
+ xml_path: assets/xml/objects/object_menkuri_objects.xml
+- name: objects/object_mir_ray
+ xml_path: assets/xml/objects/object_mir_ray.xml
+- name: objects/object_mizu_objects
+ xml_path: assets/xml/objects/object_mizu_objects.xml
+- name: objects/object_mjin
+ xml_path: assets/xml/objects/object_mjin.xml
+- name: objects/object_mjin_dark
+ xml_path: assets/xml/objects/object_mjin_dark.xml
+- name: objects/object_mjin_flame
+ xml_path: assets/xml/objects/object_mjin_flame.xml
+- name: objects/object_mjin_flash
+ xml_path: assets/xml/objects/object_mjin_flash.xml
+- name: objects/object_mjin_ice
+ xml_path: assets/xml/objects/object_mjin_ice.xml
+- name: objects/object_mjin_oka
+ xml_path: assets/xml/objects/object_mjin_oka.xml
+- name: objects/object_mjin_soul
+ xml_path: assets/xml/objects/object_mjin_soul.xml
+- name: objects/object_mjin_wind
+ xml_path: assets/xml/objects/object_mjin_wind.xml
+- name: objects/object_mk
+ xml_path: assets/xml/objects/object_mk.xml
+- name: objects/object_mm
+ xml_path: assets/xml/objects/object_mm.xml
+- name: objects/object_mo
+ xml_path: assets/xml/objects/object_mo.xml
+- name: objects/object_mori_hineri1
+ xml_path: assets/xml/objects/object_mori_hineri1.xml
+- name: objects/object_mori_hineri1a
+ xml_path: assets/xml/objects/object_mori_hineri1a.xml
+- name: objects/object_mori_hineri2
+ xml_path: assets/xml/objects/object_mori_hineri2.xml
+- name: objects/object_mori_hineri2a
+ xml_path: assets/xml/objects/object_mori_hineri2a.xml
+- name: objects/object_mori_objects
+ xml_path: assets/xml/objects/object_mori_objects.xml
+- name: objects/object_mori_tex
+ xml_path: assets/xml/objects/object_mori_tex.xml
+- name: objects/object_ms
+ xml_path: assets/xml/objects/object_ms.xml
+- name: objects/object_mu
+ xml_path: assets/xml/objects/object_mu.xml
+- name: objects/object_nb
+ xml_path: assets/xml/objects/object_nb.xml
+- name: objects/object_niw
+ xml_path: assets/xml/objects/object_niw.xml
+- name: objects/object_nwc
+ xml_path: assets/xml/objects/object_nwc.xml
+- name: objects/object_ny
+ xml_path: assets/xml/objects/object_ny.xml
+- name: objects/object_o_anime
+ xml_path: assets/xml/objects/object_o_anime.xml
+- name: objects/object_oA1
+ xml_path: assets/xml/objects/object_oA1.xml
+- name: objects/object_oA2
+ xml_path: assets/xml/objects/object_oA2.xml
+- name: objects/object_oA3
+ xml_path: assets/xml/objects/object_oA3.xml
+- name: objects/object_oA4
+ xml_path: assets/xml/objects/object_oA4.xml
+- name: objects/object_oA5
+ xml_path: assets/xml/objects/object_oA5.xml
+- name: objects/object_oA6
+ xml_path: assets/xml/objects/object_oA6.xml
+- name: objects/object_oA7
+ xml_path: assets/xml/objects/object_oA7.xml
+- name: objects/object_oA8
+ xml_path: assets/xml/objects/object_oA8.xml
+- name: objects/object_oA9
+ xml_path: assets/xml/objects/object_oA9.xml
+- name: objects/object_oA10
+ xml_path: assets/xml/objects/object_oA10.xml
+- name: objects/object_oA11
+ xml_path: assets/xml/objects/object_oA11.xml
+- name: objects/object_oB1
+ xml_path: assets/xml/objects/object_oB1.xml
+- name: objects/object_oB2
+ xml_path: assets/xml/objects/object_oB2.xml
+- name: objects/object_oB3
+ xml_path: assets/xml/objects/object_oB3.xml
+- name: objects/object_oB4
+ xml_path: assets/xml/objects/object_oB4.xml
+- name: objects/object_oE1
+ xml_path: assets/xml/objects/object_oE1.xml
+- name: objects/object_oE1s
+ xml_path: assets/xml/objects/object_oE1s.xml
+- name: objects/object_oE2
+ xml_path: assets/xml/objects/object_oE2.xml
+- name: objects/object_oE3
+ xml_path: assets/xml/objects/object_oE3.xml
+- name: objects/object_oE4
+ xml_path: assets/xml/objects/object_oE4.xml
+- name: objects/object_oE4s
+ xml_path: assets/xml/objects/object_oE4s.xml
+- name: objects/object_oE5
+ xml_path: assets/xml/objects/object_oE5.xml
+- name: objects/object_oE6
+ xml_path: assets/xml/objects/object_oE6.xml
+- name: objects/object_oE7
+ xml_path: assets/xml/objects/object_oE7.xml
+- name: objects/object_oE8
+ xml_path: assets/xml/objects/object_oE8.xml
+- name: objects/object_oE9
+ xml_path: assets/xml/objects/object_oE9.xml
+- name: objects/object_oE10
+ xml_path: assets/xml/objects/object_oE10.xml
+- name: objects/object_oE11
+ xml_path: assets/xml/objects/object_oE11.xml
+- name: objects/object_oE12
+ xml_path: assets/xml/objects/object_oE12.xml
+- name: objects/object_oE_anime
+ xml_path: assets/xml/objects/object_oE_anime.xml
+- name: objects/object_oF1d_map
+ xml_path: assets/xml/objects/object_oF1d_map.xml
+- name: objects/object_oF1s
+ xml_path: assets/xml/objects/object_oF1s.xml
+- name: objects/object_okuta
+ xml_path: assets/xml/objects/object_okuta.xml
+- name: objects/object_opening_demo1
+ xml_path: assets/xml/objects/object_opening_demo1.xml
+- name: objects/object_os
+ xml_path: assets/xml/objects/object_os.xml
+- name: objects/object_os_anime
+ xml_path: assets/xml/objects/object_os_anime.xml
+- name: objects/object_ossan
+ xml_path: assets/xml/objects/object_ossan.xml
+- name: objects/object_ouke_haka
+ xml_path: assets/xml/objects/object_ouke_haka.xml
+- name: objects/object_owl
+ xml_path: assets/xml/objects/object_owl.xml
+- name: objects/object_peehat
+ xml_path: assets/xml/objects/object_peehat.xml
+- name: objects/object_po_composer
+ xml_path: assets/xml/objects/object_po_composer.xml
+- name: objects/object_po_field
+ xml_path: assets/xml/objects/object_po_field.xml
+- name: objects/object_po_sisters
+ xml_path: assets/xml/objects/object_po_sisters.xml
+- name: objects/object_poh
+ xml_path: assets/xml/objects/object_poh.xml
+- name: objects/object_ps
+ xml_path: assets/xml/objects/object_ps.xml
+- name: objects/object_pu_box
+ xml_path: assets/xml/objects/object_pu_box.xml
+- name: objects/object_rd
+ xml_path: assets/xml/objects/object_rd.xml
+- name: objects/object_reeba
+ xml_path: assets/xml/objects/object_reeba.xml
+- name: objects/object_relay_objects
+ xml_path: assets/xml/objects/object_relay_objects.xml
+- name: objects/object_rl
+ xml_path: assets/xml/objects/object_rl.xml
+- name: objects/object_rr
+ xml_path: assets/xml/objects/object_rr.xml
+- name: objects/object_rs
+ xml_path: assets/xml/objects/object_rs.xml
+- name: objects/object_ru1
+ xml_path: assets/xml/objects/object_ru1.xml
+- name: objects/object_ru2
+ xml_path: assets/xml/objects/object_ru2.xml
+- name: objects/object_sa
+ xml_path: assets/xml/objects/object_sa.xml
+- name: objects/object_sb
+ xml_path: assets/xml/objects/object_sb.xml
+- name: objects/object_sd
+ xml_path: assets/xml/objects/object_sd.xml
+- name: objects/object_shop_dungen
+ xml_path: assets/xml/objects/object_shop_dungen.xml
+- name: objects/object_shopnuts
+ xml_path: assets/xml/objects/object_shopnuts.xml
+- name: objects/object_siofuki
+ xml_path: assets/xml/objects/object_siofuki.xml
+- name: objects/object_sk2
+ xml_path: assets/xml/objects/object_sk2.xml
+- name: objects/object_skb
+ xml_path: assets/xml/objects/object_skb.xml
+- name: objects/object_skj
+ xml_path: assets/xml/objects/object_skj.xml
+- name: objects/object_spot00_break
+ xml_path: assets/xml/objects/object_spot00_break.xml
+- name: objects/object_spot00_objects
+ xml_path: assets/xml/objects/object_spot00_objects.xml
+- name: objects/object_spot01_matoya
+ xml_path: assets/xml/objects/object_spot01_matoya.xml
+- name: objects/object_spot01_matoyab
+ xml_path: assets/xml/objects/object_spot01_matoyab.xml
+- name: objects/object_spot01_objects
+ xml_path: assets/xml/objects/object_spot01_objects.xml
+- name: objects/object_spot01_objects2
+ xml_path: assets/xml/objects/object_spot01_objects2.xml
+- name: objects/object_spot02_objects
+ xml_path: assets/xml/objects/object_spot02_objects.xml
+- name: objects/object_spot03_object
+ xml_path: assets/xml/objects/object_spot03_object.xml
+- name: objects/object_spot04_objects
+ xml_path: assets/xml/objects/object_spot04_objects.xml
+- name: objects/object_spot05_objects
+ xml_path: assets/xml/objects/object_spot05_objects.xml
+- name: objects/object_spot06_objects
+ xml_path: assets/xml/objects/object_spot06_objects.xml
+- name: objects/object_spot07_object
+ xml_path: assets/xml/objects/object_spot07_object.xml
+- name: objects/object_spot08_obj
+ xml_path: assets/xml/objects/object_spot08_obj.xml
+- name: objects/object_spot09_obj
+ xml_path: assets/xml/objects/object_spot09_obj.xml
+- name: objects/object_spot11_obj
+ xml_path: assets/xml/objects/object_spot11_obj.xml
+- name: objects/object_spot12_obj
+ xml_path: assets/xml/objects/object_spot12_obj.xml
+- name: objects/object_spot15_obj
+ xml_path: assets/xml/objects/object_spot15_obj.xml
+- name: objects/object_spot16_obj
+ xml_path: assets/xml/objects/object_spot16_obj.xml
+- name: objects/object_spot17_obj
+ xml_path: assets/xml/objects/object_spot17_obj.xml
+- name: objects/object_spot18_obj
+ xml_path: assets/xml/objects/object_spot18_obj.xml
+- name: objects/object_ssh
+ xml_path: assets/xml/objects/object_ssh.xml
+- name: objects/object_sst
+ xml_path: assets/xml/objects/object_sst.xml
+- name: objects/object_st
+ xml_path: assets/xml/objects/object_st.xml
+- name: objects/object_stream
+ xml_path: assets/xml/objects/object_stream.xml
+- name: objects/object_syokudai
+ xml_path: assets/xml/objects/object_syokudai.xml
+- name: objects/object_ta
+ xml_path: assets/xml/objects/object_ta.xml
+- name: objects/object_timeblock
+ xml_path: assets/xml/objects/object_timeblock.xml
+- name: objects/object_tite
+ xml_path: assets/xml/objects/object_tite.xml
+- name: objects/object_tk
+ xml_path: assets/xml/objects/object_tk.xml
+- name: objects/object_toki_objects
+ xml_path: assets/xml/objects/object_toki_objects.xml
+- name: objects/object_torch2
+ xml_path: assets/xml/objects/object_torch2.xml
+- name: objects/object_toryo
+ xml_path: assets/xml/objects/object_toryo.xml
+- name: objects/object_tp
+ xml_path: assets/xml/objects/object_tp.xml
+- name: objects/object_tr
+ xml_path: assets/xml/objects/object_tr.xml
+- name: objects/object_trap
+ xml_path: assets/xml/objects/object_trap.xml
+- name: objects/object_triforce_spot
+ xml_path: assets/xml/objects/object_triforce_spot.xml
+- name: objects/object_ts
+ xml_path: assets/xml/objects/object_ts.xml
+- name: objects/object_tsubo
+ xml_path: assets/xml/objects/object_tsubo.xml
+- name: objects/object_tw
+ xml_path: assets/xml/objects/object_tw.xml
+- name: objects/object_umajump
+ xml_path: assets/xml/objects/object_umajump.xml
+- name: objects/object_vali
+ xml_path: assets/xml/objects/object_vali.xml
+- name: objects/object_vase
+ xml_path: assets/xml/objects/object_vase.xml
+- name: objects/object_vm
+ xml_path: assets/xml/objects/object_vm.xml
+- name: objects/object_wallmaster
+ xml_path: assets/xml/objects/object_wallmaster.xml
+- name: objects/object_warp1
+ xml_path: assets/xml/objects/object_warp1.xml
+- name: objects/object_warp2
+ xml_path: assets/xml/objects/object_warp2.xml
+- name: objects/object_wf
+ xml_path: assets/xml/objects/object_wf.xml
+- name: objects/object_wood02
+ xml_path: assets/xml/objects/object_wood02.xml
+- name: objects/object_xc
+ xml_path: assets/xml/objects/object_xc.xml
+- name: objects/object_yabusame_point
+ xml_path: assets/xml/objects/object_yabusame_point.xml
+- name: objects/object_ydan_objects
+ xml_path: assets/xml/objects/object_ydan_objects.xml
+- name: objects/object_yukabyun
+ xml_path: assets/xml/objects/object_yukabyun.xml
+- name: objects/object_zf
+ xml_path: assets/xml/objects/object_zf.xml
+- name: objects/object_zg
+ xml_path: assets/xml/objects/object_zg.xml
+- name: objects/object_zl1
+ xml_path: assets/xml/objects/object_zl1.xml
+- name: objects/object_zl2
+ xml_path: assets/xml/objects/object_zl2.xml
+- name: objects/object_zl2_anime1
+ xml_path: assets/xml/objects/object_zl2_anime1.xml
+- name: objects/object_zl2_anime2
+ xml_path: assets/xml/objects/object_zl2_anime2.xml
+- name: objects/object_zl4
+ xml_path: assets/xml/objects/object_zl4.xml
+- name: objects/object_zo
+ xml_path: assets/xml/objects/object_zo.xml
+- name: overlays/ovl_Arrow_Fire
+ xml_path: assets/xml/overlays/ovl_Arrow_Fire.xml
+ start_offset: 0x980
+ end_offset: 0x1DA0
+- name: overlays/ovl_Arrow_Ice
+ xml_path: assets/xml/overlays/ovl_Arrow_Ice.xml
+ start_offset: 0x9A0
+ end_offset: 0x1DC0
+- name: overlays/ovl_Arrow_Light
+ xml_path: assets/xml/overlays/ovl_Arrow_Light.xml
+ start_offset: 0x9B0
+ end_offset: 0x1DD0
+- name: overlays/ovl_Bg_Ganon_Otyuka
+ xml_path: assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
+ start_offset: 0x1100
+ end_offset: 0x24DC
+- name: overlays/ovl_Bg_Jya_Cobra
+ xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
+ start_offset: 0x1850
+ end_offset: 0x18C8
+- name: overlays/ovl_Boss_Dodongo
+ xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml
+ start_offset: 0x61E8
+ end_offset: 0x91E8
+- name: overlays/ovl_Boss_Ganon
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon.xml
+ start_offset: 0xE3C8
+ end_offset: 0x20EE8
+- name: overlays/ovl_Boss_Ganon2
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon2.xml
+ start_offset: 0x9F88
+ end_offset: 0x10438
+- name: overlays/ovl_Boss_Sst
+ xml_path: assets/xml/overlays/ovl_Boss_Sst.xml
+ start_offset: 0xA380
+ end_offset: 0xAD30
+- name: overlays/ovl_Demo_Shd
+ xml_path: assets/xml/overlays/ovl_Demo_Shd.xml
+ start_offset: 0x410
+ end_offset: 0x2390
+- name: overlays/ovl_Effect_Ss_Fhg_Flash
+ xml_path: assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
+ start_offset: 0x9F0
+ end_offset: 0xEA8
+- name: overlays/ovl_En_Bili
+ xml_path: assets/xml/overlays/ovl_En_Bili.xml
+ start_offset: 0x1E40
+ end_offset: 0x1E60
+- name: overlays/ovl_En_Clear_Tag
+ xml_path: assets/xml/overlays/ovl_En_Clear_Tag.xml
+ start_offset: 0x2600
+ end_offset: 0x8900
+- name: overlays/ovl_En_Ganon_Mant
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Mant.xml
+ start_offset: 0x11F8
+ end_offset: 0x40F8
+- name: overlays/ovl_En_Ganon_Organ
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Organ.xml
+ start_offset: 0x368
+ end_offset: 0x6EF0
+- name: overlays/ovl_En_Holl
+ xml_path: assets/xml/overlays/ovl_En_Holl.xml
+ start_offset: 0xE68
+ end_offset: 0xED0
+- name: overlays/ovl_En_Jsjutan
+ xml_path: assets/xml/overlays/ovl_En_Jsjutan.xml
+ start_offset: 0x12C8
+ end_offset: 0x4C60
+- name: overlays/ovl_En_Kanban
+ xml_path: assets/xml/overlays/ovl_En_Kanban.xml
+ start_offset: 0x2E70
+ end_offset: 0x2F30
+- name: overlays/ovl_En_Sda
+ xml_path: assets/xml/overlays/ovl_En_Sda.xml
+ start_offset: 0x1498
+ end_offset: 0x1528
+- name: overlays/ovl_En_Ssh
+ xml_path: assets/xml/overlays/ovl_En_Ssh.xml
+ start_offset: 0x2150
+ end_offset: 0x21E0
+- name: overlays/ovl_En_St
+ xml_path: assets/xml/overlays/ovl_En_St.xml
+ start_offset: 0x26A0
+ end_offset: 0x2730
+- name: overlays/ovl_En_Sth
+ xml_path: assets/xml/overlays/ovl_En_Sth.xml
+ start_offset: 0xE70
+ end_offset: 0x3E44
+- name: overlays/ovl_End_Title
+ xml_path: assets/xml/overlays/ovl_End_Title.xml
+ start_offset: 0x6E0
+ end_offset: 0x4088
+- name: overlays/ovl_file_choose
+ xml_path: assets/xml/overlays/ovl_file_choose.xml
+ start_offset: 0xD740
+ end_offset: 0xDF80
+- name: overlays/ovl_Magic_Dark
+ xml_path: assets/xml/overlays/ovl_Magic_Dark.xml
+ start_offset: 0xC90
+ end_offset: 0x16C0
+- name: overlays/ovl_Magic_Fire
+ xml_path: assets/xml/overlays/ovl_Magic_Fire.xml
+ start_offset: 0xB50
+ end_offset: 0x21A0
+- name: overlays/ovl_Magic_Wind
+ xml_path: assets/xml/overlays/ovl_Magic_Wind.xml
+ start_offset: 0x6A0
+ end_offset: 0x1BB8
+- name: overlays/ovl_Oceff_Spot
+ xml_path: assets/xml/overlays/ovl_Oceff_Spot.xml
+ start_offset: 0x780
+ end_offset: 0xE58
+- name: overlays/ovl_Oceff_Storm
+ xml_path: assets/xml/overlays/ovl_Oceff_Storm.xml
+ start_offset: 0x750
+ end_offset: 0x1AE0
+- name: overlays/ovl_Oceff_Wipe
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe.xml
+ start_offset: 0x520
+ end_offset: 0xCE0
+- name: overlays/ovl_Oceff_Wipe2
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe2.xml
+ start_offset: 0x430
+ end_offset: 0x1698
+- name: overlays/ovl_Oceff_Wipe3
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe3.xml
+ start_offset: 0x430
+ end_offset: 0x1678
+- name: overlays/ovl_Oceff_Wipe4
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe4.xml
+ start_offset: 0x410
+ end_offset: 0xEF8
+- name: scenes/dungeons/bdan
+ xml_path: assets/xml/scenes/dungeons/bdan_mq.xml
+- name: scenes/dungeons/bdan_boss
+ xml_path: assets/xml/scenes/dungeons/bdan_boss.xml
+- name: scenes/dungeons/Bmori1
+ xml_path: assets/xml/scenes/dungeons/Bmori1_mq.xml
+- name: scenes/dungeons/ddan
+ xml_path: assets/xml/scenes/dungeons/ddan_mq.xml
+- name: scenes/dungeons/ddan_boss
+ xml_path: assets/xml/scenes/dungeons/ddan_boss.xml
+- name: scenes/dungeons/FIRE_bs
+ xml_path: assets/xml/scenes/dungeons/FIRE_bs.xml
+- name: scenes/dungeons/ganon
+ xml_path: assets/xml/scenes/dungeons/ganon.xml
+- name: scenes/dungeons/ganon_boss
+ xml_path: assets/xml/scenes/dungeons/ganon_boss.xml
+- name: scenes/dungeons/ganon_demo
+ xml_path: assets/xml/scenes/dungeons/ganon_demo.xml
+- name: scenes/dungeons/ganon_final
+ xml_path: assets/xml/scenes/dungeons/ganon_final.xml
+- name: scenes/dungeons/ganon_sonogo
+ xml_path: assets/xml/scenes/dungeons/ganon_sonogo.xml
+- name: scenes/dungeons/ganontika
+ xml_path: assets/xml/scenes/dungeons/ganontika_mq.xml
+- name: scenes/dungeons/ganontikasonogo
+ xml_path: assets/xml/scenes/dungeons/ganontikasonogo.xml
+- name: scenes/dungeons/gerudoway
+ xml_path: assets/xml/scenes/dungeons/gerudoway.xml
+- name: scenes/dungeons/HAKAdan
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_mq.xml
+- name: scenes/dungeons/HAKAdan_bs
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_bs.xml
+- name: scenes/dungeons/HAKAdanCH
+ xml_path: assets/xml/scenes/dungeons/HAKAdanCH_mq.xml
+- name: scenes/dungeons/HIDAN
+ xml_path: assets/xml/scenes/dungeons/HIDAN_mq.xml
+- name: scenes/dungeons/ice_doukutu
+ xml_path: assets/xml/scenes/dungeons/ice_doukutu_mq.xml
+- name: scenes/dungeons/jyasinboss
+ xml_path: assets/xml/scenes/dungeons/jyasinboss.xml
+- name: scenes/dungeons/jyasinzou
+ xml_path: assets/xml/scenes/dungeons/jyasinzou_mq.xml
+- name: scenes/dungeons/men
+ xml_path: assets/xml/scenes/dungeons/men_mq.xml
+- name: scenes/dungeons/MIZUsin
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_mq.xml
+- name: scenes/dungeons/MIZUsin_bs
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_bs.xml
+- name: scenes/dungeons/moribossroom
+ xml_path: assets/xml/scenes/dungeons/moribossroom.xml
+- name: scenes/dungeons/ydan
+ xml_path: assets/xml/scenes/dungeons/ydan_mq.xml
+- name: scenes/dungeons/ydan_boss
+ xml_path: assets/xml/scenes/dungeons/ydan_boss.xml
+- name: scenes/indoors/bowling
+ xml_path: assets/xml/scenes/indoors/bowling.xml
+- name: scenes/indoors/daiyousei_izumi
+ xml_path: assets/xml/scenes/indoors/daiyousei_izumi.xml
+- name: scenes/indoors/hairal_niwa
+ xml_path: assets/xml/scenes/indoors/hairal_niwa.xml
+- name: scenes/indoors/hairal_niwa_n
+ xml_path: assets/xml/scenes/indoors/hairal_niwa_n.xml
+- name: scenes/indoors/hakasitarelay
+ xml_path: assets/xml/scenes/indoors/hakasitarelay.xml
+- name: scenes/indoors/hut
+ xml_path: assets/xml/scenes/indoors/hut.xml
+- name: scenes/indoors/hylia_labo
+ xml_path: assets/xml/scenes/indoors/hylia_labo.xml
+- name: scenes/indoors/impa
+ xml_path: assets/xml/scenes/indoors/impa.xml
+- name: scenes/indoors/kakariko
+ xml_path: assets/xml/scenes/indoors/kakariko.xml
+- name: scenes/indoors/kenjyanoma
+ xml_path: assets/xml/scenes/indoors/kenjyanoma.xml
+- name: scenes/indoors/kokiri_home
+ xml_path: assets/xml/scenes/indoors/kokiri_home.xml
+- name: scenes/indoors/kokiri_home3
+ xml_path: assets/xml/scenes/indoors/kokiri_home3.xml
+- name: scenes/indoors/kokiri_home4
+ xml_path: assets/xml/scenes/indoors/kokiri_home4.xml
+- name: scenes/indoors/kokiri_home5
+ xml_path: assets/xml/scenes/indoors/kokiri_home5.xml
+- name: scenes/indoors/labo
+ xml_path: assets/xml/scenes/indoors/labo.xml
+- name: scenes/indoors/link_home
+ xml_path: assets/xml/scenes/indoors/link_home.xml
+- name: scenes/indoors/mahouya
+ xml_path: assets/xml/scenes/indoors/mahouya.xml
+- name: scenes/indoors/malon_stable
+ xml_path: assets/xml/scenes/indoors/malon_stable.xml
+- name: scenes/indoors/miharigoya
+ xml_path: assets/xml/scenes/indoors/miharigoya.xml
+- name: scenes/indoors/nakaniwa
+ xml_path: assets/xml/scenes/indoors/nakaniwa.xml
+- name: scenes/indoors/souko
+ xml_path: assets/xml/scenes/indoors/souko.xml
+- name: scenes/indoors/syatekijyou
+ xml_path: assets/xml/scenes/indoors/syatekijyou.xml
+- name: scenes/indoors/takaraya
+ xml_path: assets/xml/scenes/indoors/takaraya.xml
+- name: scenes/indoors/tent
+ xml_path: assets/xml/scenes/indoors/tent.xml
+- name: scenes/indoors/tokinoma
+ xml_path: assets/xml/scenes/indoors/tokinoma.xml
+- name: scenes/indoors/yousei_izumi_tate
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_tate.xml
+- name: scenes/indoors/yousei_izumi_yoko
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_yoko.xml
+- name: scenes/misc/enrui
+ xml_path: assets/xml/scenes/misc/enrui.xml
+- name: scenes/misc/entra
+ xml_path: assets/xml/scenes/misc/entra.xml
+- name: scenes/misc/entra_n
+ xml_path: assets/xml/scenes/misc/entra_n.xml
+- name: scenes/misc/hakaana
+ xml_path: assets/xml/scenes/misc/hakaana.xml
+- name: scenes/misc/hakaana2
+ xml_path: assets/xml/scenes/misc/hakaana2.xml
+- name: scenes/misc/hakaana_ouke
+ xml_path: assets/xml/scenes/misc/hakaana_ouke.xml
+- name: scenes/misc/hiral_demo
+ xml_path: assets/xml/scenes/misc/hiral_demo.xml
+- name: scenes/misc/kakariko3
+ xml_path: assets/xml/scenes/misc/kakariko3.xml
+- name: scenes/misc/kakusiana
+ xml_path: assets/xml/scenes/misc/kakusiana.xml
+- name: scenes/misc/kinsuta
+ xml_path: assets/xml/scenes/misc/kinsuta.xml
+- name: scenes/misc/market_alley
+ xml_path: assets/xml/scenes/misc/market_alley.xml
+- name: scenes/misc/market_alley_n
+ xml_path: assets/xml/scenes/misc/market_alley_n.xml
+- name: scenes/misc/market_day
+ xml_path: assets/xml/scenes/misc/market_day.xml
+- name: scenes/misc/market_night
+ xml_path: assets/xml/scenes/misc/market_night.xml
+- name: scenes/misc/market_ruins
+ xml_path: assets/xml/scenes/misc/market_ruins.xml
+- name: scenes/misc/shrine
+ xml_path: assets/xml/scenes/misc/shrine.xml
+- name: scenes/misc/shrine_n
+ xml_path: assets/xml/scenes/misc/shrine_n.xml
+- name: scenes/misc/shrine_r
+ xml_path: assets/xml/scenes/misc/shrine_r.xml
+- name: scenes/misc/turibori
+ xml_path: assets/xml/scenes/misc/turibori.xml
+- name: scenes/overworld/ganon_tou
+ xml_path: assets/xml/scenes/overworld/ganon_tou.xml
+- name: scenes/overworld/spot00
+ xml_path: assets/xml/scenes/overworld/spot00.xml
+- name: scenes/overworld/spot01
+ xml_path: assets/xml/scenes/overworld/spot01.xml
+- name: scenes/overworld/spot02
+ xml_path: assets/xml/scenes/overworld/spot02.xml
+- name: scenes/overworld/spot03
+ xml_path: assets/xml/scenes/overworld/spot03.xml
+- name: scenes/overworld/spot04
+ xml_path: assets/xml/scenes/overworld/spot04.xml
+- name: scenes/overworld/spot05
+ xml_path: assets/xml/scenes/overworld/spot05.xml
+- name: scenes/overworld/spot06
+ xml_path: assets/xml/scenes/overworld/spot06.xml
+- name: scenes/overworld/spot07
+ xml_path: assets/xml/scenes/overworld/spot07.xml
+- name: scenes/overworld/spot08
+ xml_path: assets/xml/scenes/overworld/spot08.xml
+- name: scenes/overworld/spot09
+ xml_path: assets/xml/scenes/overworld/spot09.xml
+- name: scenes/overworld/spot10
+ xml_path: assets/xml/scenes/overworld/spot10.xml
+- name: scenes/overworld/spot11
+ xml_path: assets/xml/scenes/overworld/spot11.xml
+- name: scenes/overworld/spot12
+ xml_path: assets/xml/scenes/overworld/spot12.xml
+- name: scenes/overworld/spot13
+ xml_path: assets/xml/scenes/overworld/spot13.xml
+- name: scenes/overworld/spot15
+ xml_path: assets/xml/scenes/overworld/spot15.xml
+- name: scenes/overworld/spot16
+ xml_path: assets/xml/scenes/overworld/spot16.xml
+- name: scenes/overworld/spot17
+ xml_path: assets/xml/scenes/overworld/spot17.xml
+- name: scenes/overworld/spot18
+ xml_path: assets/xml/scenes/overworld/spot18.xml
+- name: scenes/overworld/spot20
+ xml_path: assets/xml/scenes/overworld/spot20.xml
+- name: scenes/shops/alley_shop
+ xml_path: assets/xml/scenes/shops/alley_shop.xml
+- name: scenes/shops/drag
+ xml_path: assets/xml/scenes/shops/drag.xml
+- name: scenes/shops/face_shop
+ xml_path: assets/xml/scenes/shops/face_shop.xml
+- name: scenes/shops/golon
+ xml_path: assets/xml/scenes/shops/golon.xml
+- name: scenes/shops/kokiri_shop
+ xml_path: assets/xml/scenes/shops/kokiri_shop.xml
+- name: scenes/shops/night_shop
+ xml_path: assets/xml/scenes/shops/night_shop.xml
+- name: scenes/shops/shop1
+ xml_path: assets/xml/scenes/shops/shop1.xml
+- name: scenes/shops/zoora
+ xml_path: assets/xml/scenes/shops/zoora.xml
+- name: textures/backgrounds
+ xml_path: assets/xml/textures/backgrounds.xml
+- name: textures/do_action_static
+ xml_path: assets/xml/textures/do_action_static.xml
+- name: textures/icon_item_24_static
+ xml_path: assets/xml/textures/icon_item_24_static.xml
+- name: textures/icon_item_dungeon_static
+ xml_path: assets/xml/textures/icon_item_dungeon_static.xml
+- name: textures/icon_item_field_static
+ xml_path: assets/xml/textures/icon_item_field_static.xml
+- name: textures/icon_item_fra_static
+ xml_path: assets/xml/textures/icon_item_fra_static.xml
+- name: textures/icon_item_gameover_static
+ xml_path: assets/xml/textures/icon_item_gameover_static.xml
+- name: textures/icon_item_ger_static
+ xml_path: assets/xml/textures/icon_item_ger_static.xml
+- name: textures/icon_item_nes_static
+ xml_path: assets/xml/textures/icon_item_nes_static.xml
+- name: textures/icon_item_static
+ xml_path: assets/xml/textures/icon_item_static.xml
+- name: textures/item_name_static
+ xml_path: assets/xml/textures/item_name_static.xml
+- name: textures/map_48x85_static
+ xml_path: assets/xml/textures/map_48x85_static.xml
+- name: textures/map_grand_static
+ xml_path: assets/xml/textures/map_grand_static.xml
+- name: textures/map_i_static
+ xml_path: assets/xml/textures/map_i_static.xml
+- name: textures/map_name_static
+ xml_path: assets/xml/textures/map_name_static.xml
+- name: textures/message_static
+ xml_path: assets/xml/textures/message_static.xml
+- name: textures/message_texture_static
+ xml_path: assets/xml/textures/message_texture_static.xml
+- name: textures/nes_font_static
+ xml_path: assets/xml/textures/nes_font_static.xml
+- name: textures/nintendo_rogo_static
+ xml_path: assets/xml/textures/nintendo_rogo_static.xml
+- name: textures/parameter_static
+ xml_path: assets/xml/textures/parameter_static.xml
+- name: textures/place_title_cards
+ xml_path: assets/xml/textures/place_title_cards.xml
+- name: textures/skyboxes
+ xml_path: assets/xml/textures/skyboxes.xml
+- name: textures/title_static
+ xml_path: assets/xml/textures/title_static.xml
diff --git a/baseroms/gc-eu/config.yml b/baseroms/gc-eu/config.yml
index 795a423ad..219632a22 100644
--- a/baseroms/gc-eu/config.yml
+++ b/baseroms/gc-eu/config.yml
@@ -5,3 +5,1163 @@ variables:
sGerMessageEntryTable: 0x8010BA38
sFraMessageEntryTable: 0x8010DB48
sStaffMessageEntryTable: 0x8010FC58
+ sShadowTex: 0x80A73020
+assets:
+- name: code/fbdemo_circle
+ xml_path: assets/xml/code/fbdemo_circle.xml
+ start_offset: 0xE90C8
+ end_offset: 0xEA2E8
+- name: code/fbdemo_triforce
+ xml_path: assets/xml/code/fbdemo_triforce.xml
+ start_offset: 0xE8550
+ end_offset: 0xE8620
+- name: code/fbdemo_wipe1
+ xml_path: assets/xml/code/fbdemo_wipe1.xml
+ start_offset: 0xE8620
+ end_offset: 0xE8FB0
+- name: misc/link_animetion
+ xml_path: assets/xml/misc/link_animetion.xml
+- name: misc/z_select_static
+ xml_path: assets/xml/misc/z_select_static.xml
+- name: objects/gameplay_dangeon_keep
+ xml_path: assets/xml/objects/gameplay_dangeon_keep.xml
+- name: objects/gameplay_field_keep
+ xml_path: assets/xml/objects/gameplay_field_keep.xml
+- name: objects/gameplay_keep
+ xml_path: assets/xml/objects/gameplay_keep.xml
+- name: objects/object_ahg
+ xml_path: assets/xml/objects/object_ahg.xml
+- name: objects/object_am
+ xml_path: assets/xml/objects/object_am.xml
+- name: objects/object_ane
+ xml_path: assets/xml/objects/object_ane.xml
+- name: objects/object_ani
+ xml_path: assets/xml/objects/object_ani.xml
+- name: objects/object_anubice
+ xml_path: assets/xml/objects/object_anubice.xml
+- name: objects/object_aob
+ xml_path: assets/xml/objects/object_aob.xml
+- name: objects/object_b_heart
+ xml_path: assets/xml/objects/object_b_heart.xml
+- name: objects/object_Bb
+ xml_path: assets/xml/objects/object_Bb.xml
+- name: objects/object_bba
+ xml_path: assets/xml/objects/object_bba.xml
+- name: objects/object_bdan_objects
+ xml_path: assets/xml/objects/object_bdan_objects.xml
+- name: objects/object_bdoor
+ xml_path: assets/xml/objects/object_bdoor.xml
+- name: objects/object_bg
+ xml_path: assets/xml/objects/object_bg.xml
+- name: objects/object_bigokuta
+ xml_path: assets/xml/objects/object_bigokuta.xml
+- name: objects/object_bird
+ xml_path: assets/xml/objects/object_bird.xml
+- name: objects/object_bji
+ xml_path: assets/xml/objects/object_bji.xml
+- name: objects/object_bl
+ xml_path: assets/xml/objects/object_bl.xml
+- name: objects/object_blkobj
+ xml_path: assets/xml/objects/object_blkobj.xml
+- name: objects/object_bob
+ xml_path: assets/xml/objects/object_bob.xml
+- name: objects/object_boj
+ xml_path: assets/xml/objects/object_boj.xml
+- name: objects/object_bombf
+ xml_path: assets/xml/objects/object_bombf.xml
+- name: objects/object_bombiwa
+ xml_path: assets/xml/objects/object_bombiwa.xml
+- name: objects/object_bowl
+ xml_path: assets/xml/objects/object_bowl.xml
+- name: objects/object_box
+ xml_path: assets/xml/objects/object_box.xml
+- name: objects/object_brob
+ xml_path: assets/xml/objects/object_brob.xml
+- name: objects/object_bubble
+ xml_path: assets/xml/objects/object_bubble.xml
+- name: objects/object_bv
+ xml_path: assets/xml/objects/object_bv.xml
+- name: objects/object_bw
+ xml_path: assets/xml/objects/object_bw.xml
+- name: objects/object_bwall
+ xml_path: assets/xml/objects/object_bwall.xml
+- name: objects/object_bxa
+ xml_path: assets/xml/objects/object_bxa.xml
+- name: objects/object_cne
+ xml_path: assets/xml/objects/object_cne.xml
+- name: objects/object_cob
+ xml_path: assets/xml/objects/object_cob.xml
+- name: objects/object_cow
+ xml_path: assets/xml/objects/object_cow.xml
+- name: objects/object_crow
+ xml_path: assets/xml/objects/object_crow.xml
+- name: objects/object_cs
+ xml_path: assets/xml/objects/object_cs.xml
+- name: objects/object_d_elevator
+ xml_path: assets/xml/objects/object_d_elevator.xml
+- name: objects/object_d_hsblock
+ xml_path: assets/xml/objects/object_d_hsblock.xml
+- name: objects/object_d_lift
+ xml_path: assets/xml/objects/object_d_lift.xml
+- name: objects/object_daiku
+ xml_path: assets/xml/objects/object_daiku.xml
+- name: objects/object_ddan_objects
+ xml_path: assets/xml/objects/object_ddan_objects.xml
+- name: objects/object_dekubaba
+ xml_path: assets/xml/objects/object_dekubaba.xml
+- name: objects/object_dekujr
+ xml_path: assets/xml/objects/object_dekujr.xml
+- name: objects/object_dekunuts
+ xml_path: assets/xml/objects/object_dekunuts.xml
+- name: objects/object_demo_6k
+ xml_path: assets/xml/objects/object_demo_6k.xml
+- name: objects/object_demo_kekkai
+ xml_path: assets/xml/objects/object_demo_kekkai.xml
+- name: objects/object_demo_tre_lgt
+ xml_path: assets/xml/objects/object_demo_tre_lgt.xml
+- name: objects/object_dh
+ xml_path: assets/xml/objects/object_dh.xml
+- name: objects/object_dnk
+ xml_path: assets/xml/objects/object_dnk.xml
+- name: objects/object_dns
+ xml_path: assets/xml/objects/object_dns.xml
+- name: objects/object_dodojr
+ xml_path: assets/xml/objects/object_dodojr.xml
+- name: objects/object_dodongo
+ xml_path: assets/xml/objects/object_dodongo.xml
+- name: objects/object_dog
+ xml_path: assets/xml/objects/object_dog.xml
+- name: objects/object_door_gerudo
+ xml_path: assets/xml/objects/object_door_gerudo.xml
+- name: objects/object_door_killer
+ xml_path: assets/xml/objects/object_door_killer.xml
+- name: objects/object_ds
+ xml_path: assets/xml/objects/object_ds.xml
+- name: objects/object_ds2
+ xml_path: assets/xml/objects/object_ds2.xml
+- name: objects/object_du
+ xml_path: assets/xml/objects/object_du.xml
+- name: objects/object_dy_obj
+ xml_path: assets/xml/objects/object_dy_obj.xml
+- name: objects/object_ec
+ xml_path: assets/xml/objects/object_ec.xml
+- name: objects/object_efc_crystal_light
+ xml_path: assets/xml/objects/object_efc_crystal_light.xml
+- name: objects/object_efc_doughnut
+ xml_path: assets/xml/objects/object_efc_doughnut.xml
+- name: objects/object_efc_erupc
+ xml_path: assets/xml/objects/object_efc_erupc.xml
+- name: objects/object_efc_fire_ball
+ xml_path: assets/xml/objects/object_efc_fire_ball.xml
+- name: objects/object_efc_flash
+ xml_path: assets/xml/objects/object_efc_flash.xml
+- name: objects/object_efc_lgt_shower
+ xml_path: assets/xml/objects/object_efc_lgt_shower.xml
+- name: objects/object_efc_star_field
+ xml_path: assets/xml/objects/object_efc_star_field.xml
+- name: objects/object_efc_tw
+ xml_path: assets/xml/objects/object_efc_tw.xml
+- name: objects/object_ei
+ xml_path: assets/xml/objects/object_ei.xml
+- name: objects/object_fa
+ xml_path: assets/xml/objects/object_fa.xml
+- name: objects/object_fd
+ xml_path: assets/xml/objects/object_fd.xml
+- name: objects/object_fd2
+ xml_path: assets/xml/objects/object_fd2.xml
+- name: objects/object_fhg
+ xml_path: assets/xml/objects/object_fhg.xml
+- name: objects/object_fire
+ xml_path: assets/xml/objects/object_fire.xml
+- name: objects/object_firefly
+ xml_path: assets/xml/objects/object_firefly.xml
+- name: objects/object_fish
+ xml_path: assets/xml/objects/object_fish.xml
+- name: objects/object_fr
+ xml_path: assets/xml/objects/object_fr.xml
+- name: objects/object_fu
+ xml_path: assets/xml/objects/object_fu.xml
+- name: objects/object_fw
+ xml_path: assets/xml/objects/object_fw.xml
+- name: objects/object_fz
+ xml_path: assets/xml/objects/object_fz.xml
+- name: objects/object_ganon
+ xml_path: assets/xml/objects/object_ganon.xml
+- name: objects/object_ganon2
+ xml_path: assets/xml/objects/object_ganon2.xml
+- name: objects/object_ganon_anime1
+ xml_path: assets/xml/objects/object_ganon_anime1.xml
+- name: objects/object_ganon_anime2
+ xml_path: assets/xml/objects/object_ganon_anime2.xml
+- name: objects/object_ganon_anime3
+ xml_path: assets/xml/objects/object_ganon_anime3.xml
+- name: objects/object_ganon_objects
+ xml_path: assets/xml/objects/object_ganon_objects.xml
+- name: objects/object_ge1
+ xml_path: assets/xml/objects/object_ge1.xml
+- name: objects/object_geff
+ xml_path: assets/xml/objects/object_geff.xml
+- name: objects/object_geldb
+ xml_path: assets/xml/objects/object_geldb.xml
+- name: objects/object_gi_arrow
+ xml_path: assets/xml/objects/object_gi_arrow.xml
+- name: objects/object_gi_arrowcase
+ xml_path: assets/xml/objects/object_gi_arrowcase.xml
+- name: objects/object_gi_bean
+ xml_path: assets/xml/objects/object_gi_bean.xml
+- name: objects/object_gi_bomb_1
+ xml_path: assets/xml/objects/object_gi_bomb_1.xml
+- name: objects/object_gi_bomb_2
+ xml_path: assets/xml/objects/object_gi_bomb_2.xml
+- name: objects/object_gi_bombpouch
+ xml_path: assets/xml/objects/object_gi_bombpouch.xml
+- name: objects/object_gi_boomerang
+ xml_path: assets/xml/objects/object_gi_boomerang.xml
+- name: objects/object_gi_boots_2
+ xml_path: assets/xml/objects/object_gi_boots_2.xml
+- name: objects/object_gi_bosskey
+ xml_path: assets/xml/objects/object_gi_bosskey.xml
+- name: objects/object_gi_bottle
+ xml_path: assets/xml/objects/object_gi_bottle.xml
+- name: objects/object_gi_bottle_letter
+ xml_path: assets/xml/objects/object_gi_bottle_letter.xml
+- name: objects/object_gi_bow
+ xml_path: assets/xml/objects/object_gi_bow.xml
+- name: objects/object_gi_bracelet
+ xml_path: assets/xml/objects/object_gi_bracelet.xml
+- name: objects/object_gi_brokensword
+ xml_path: assets/xml/objects/object_gi_brokensword.xml
+- name: objects/object_gi_butterfly
+ xml_path: assets/xml/objects/object_gi_butterfly.xml
+- name: objects/object_gi_clothes
+ xml_path: assets/xml/objects/object_gi_clothes.xml
+- name: objects/object_gi_coin
+ xml_path: assets/xml/objects/object_gi_coin.xml
+- name: objects/object_gi_compass
+ xml_path: assets/xml/objects/object_gi_compass.xml
+- name: objects/object_gi_dekupouch
+ xml_path: assets/xml/objects/object_gi_dekupouch.xml
+- name: objects/object_gi_egg
+ xml_path: assets/xml/objects/object_gi_egg.xml
+- name: objects/object_gi_eye_lotion
+ xml_path: assets/xml/objects/object_gi_eye_lotion.xml
+- name: objects/object_gi_fire
+ xml_path: assets/xml/objects/object_gi_fire.xml
+- name: objects/object_gi_fish
+ xml_path: assets/xml/objects/object_gi_fish.xml
+- name: objects/object_gi_frog
+ xml_path: assets/xml/objects/object_gi_frog.xml
+- name: objects/object_gi_gerudo
+ xml_path: assets/xml/objects/object_gi_gerudo.xml
+- name: objects/object_gi_gerudomask
+ xml_path: assets/xml/objects/object_gi_gerudomask.xml
+- name: objects/object_gi_ghost
+ xml_path: assets/xml/objects/object_gi_ghost.xml
+- name: objects/object_gi_glasses
+ xml_path: assets/xml/objects/object_gi_glasses.xml
+- name: objects/object_gi_gloves
+ xml_path: assets/xml/objects/object_gi_gloves.xml
+- name: objects/object_gi_goddess
+ xml_path: assets/xml/objects/object_gi_goddess.xml
+- name: objects/object_gi_golonmask
+ xml_path: assets/xml/objects/object_gi_golonmask.xml
+- name: objects/object_gi_grass
+ xml_path: assets/xml/objects/object_gi_grass.xml
+- name: objects/object_gi_hammer
+ xml_path: assets/xml/objects/object_gi_hammer.xml
+- name: objects/object_gi_heart
+ xml_path: assets/xml/objects/object_gi_heart.xml
+- name: objects/object_gi_hearts
+ xml_path: assets/xml/objects/object_gi_hearts.xml
+- name: objects/object_gi_hookshot
+ xml_path: assets/xml/objects/object_gi_hookshot.xml
+- name: objects/object_gi_hoverboots
+ xml_path: assets/xml/objects/object_gi_hoverboots.xml
+- name: objects/object_gi_insect
+ xml_path: assets/xml/objects/object_gi_insect.xml
+- name: objects/object_gi_jewel
+ xml_path: assets/xml/objects/object_gi_jewel.xml
+- name: objects/object_gi_key
+ xml_path: assets/xml/objects/object_gi_key.xml
+- name: objects/object_gi_ki_tan_mask
+ xml_path: assets/xml/objects/object_gi_ki_tan_mask.xml
+- name: objects/object_gi_letter
+ xml_path: assets/xml/objects/object_gi_letter.xml
+- name: objects/object_gi_liquid
+ xml_path: assets/xml/objects/object_gi_liquid.xml
+- name: objects/object_gi_longsword
+ xml_path: assets/xml/objects/object_gi_longsword.xml
+- name: objects/object_gi_m_arrow
+ xml_path: assets/xml/objects/object_gi_m_arrow.xml
+- name: objects/object_gi_magicpot
+ xml_path: assets/xml/objects/object_gi_magicpot.xml
+- name: objects/object_gi_map
+ xml_path: assets/xml/objects/object_gi_map.xml
+- name: objects/object_gi_medal
+ xml_path: assets/xml/objects/object_gi_medal.xml
+- name: objects/object_gi_melody
+ xml_path: assets/xml/objects/object_gi_melody.xml
+- name: objects/object_gi_milk
+ xml_path: assets/xml/objects/object_gi_milk.xml
+- name: objects/object_gi_mushroom
+ xml_path: assets/xml/objects/object_gi_mushroom.xml
+- name: objects/object_gi_niwatori
+ xml_path: assets/xml/objects/object_gi_niwatori.xml
+- name: objects/object_gi_nuts
+ xml_path: assets/xml/objects/object_gi_nuts.xml
+- name: objects/object_gi_ocarina
+ xml_path: assets/xml/objects/object_gi_ocarina.xml
+- name: objects/object_gi_ocarina_0
+ xml_path: assets/xml/objects/object_gi_ocarina_0.xml
+- name: objects/object_gi_pachinko
+ xml_path: assets/xml/objects/object_gi_pachinko.xml
+- name: objects/object_gi_powder
+ xml_path: assets/xml/objects/object_gi_powder.xml
+- name: objects/object_gi_prescription
+ xml_path: assets/xml/objects/object_gi_prescription.xml
+- name: objects/object_gi_purse
+ xml_path: assets/xml/objects/object_gi_purse.xml
+- name: objects/object_gi_rabit_mask
+ xml_path: assets/xml/objects/object_gi_rabit_mask.xml
+- name: objects/object_gi_redead_mask
+ xml_path: assets/xml/objects/object_gi_redead_mask.xml
+- name: objects/object_gi_rupy
+ xml_path: assets/xml/objects/object_gi_rupy.xml
+- name: objects/object_gi_saw
+ xml_path: assets/xml/objects/object_gi_saw.xml
+- name: objects/object_gi_scale
+ xml_path: assets/xml/objects/object_gi_scale.xml
+- name: objects/object_gi_seed
+ xml_path: assets/xml/objects/object_gi_seed.xml
+- name: objects/object_gi_shield_1
+ xml_path: assets/xml/objects/object_gi_shield_1.xml
+- name: objects/object_gi_shield_2
+ xml_path: assets/xml/objects/object_gi_shield_2.xml
+- name: objects/object_gi_shield_3
+ xml_path: assets/xml/objects/object_gi_shield_3.xml
+- name: objects/object_gi_skj_mask
+ xml_path: assets/xml/objects/object_gi_skj_mask.xml
+- name: objects/object_gi_soldout
+ xml_path: assets/xml/objects/object_gi_soldout.xml
+- name: objects/object_gi_soul
+ xml_path: assets/xml/objects/object_gi_soul.xml
+- name: objects/object_gi_stick
+ xml_path: assets/xml/objects/object_gi_stick.xml
+- name: objects/object_gi_sutaru
+ xml_path: assets/xml/objects/object_gi_sutaru.xml
+- name: objects/object_gi_sword_1
+ xml_path: assets/xml/objects/object_gi_sword_1.xml
+- name: objects/object_gi_ticketstone
+ xml_path: assets/xml/objects/object_gi_ticketstone.xml
+- name: objects/object_gi_truth_mask
+ xml_path: assets/xml/objects/object_gi_truth_mask.xml
+- name: objects/object_gi_zoramask
+ xml_path: assets/xml/objects/object_gi_zoramask.xml
+- name: objects/object_gj
+ xml_path: assets/xml/objects/object_gj.xml
+- name: objects/object_gjyo_objects
+ xml_path: assets/xml/objects/object_gjyo_objects.xml
+- name: objects/object_gla
+ xml_path: assets/xml/objects/object_gla.xml
+- name: objects/object_gm
+ xml_path: assets/xml/objects/object_gm.xml
+- name: objects/object_gnd
+ xml_path: assets/xml/objects/object_gnd.xml
+- name: objects/object_gnd_magic
+ xml_path: assets/xml/objects/object_gnd_magic.xml
+- name: objects/object_gndd
+ xml_path: assets/xml/objects/object_gndd.xml
+- name: objects/object_god_lgt
+ xml_path: assets/xml/objects/object_god_lgt.xml
+- name: objects/object_gol
+ xml_path: assets/xml/objects/object_gol.xml
+- name: objects/object_goma
+ xml_path: assets/xml/objects/object_goma.xml
+- name: objects/object_goroiwa
+ xml_path: assets/xml/objects/object_goroiwa.xml
+- name: objects/object_gr
+ xml_path: assets/xml/objects/object_gr.xml
+- name: objects/object_gs
+ xml_path: assets/xml/objects/object_gs.xml
+- name: objects/object_gt
+ xml_path: assets/xml/objects/object_gt.xml
+- name: objects/object_haka
+ xml_path: assets/xml/objects/object_haka.xml
+- name: objects/object_haka_door
+ xml_path: assets/xml/objects/object_haka_door.xml
+- name: objects/object_haka_objects
+ xml_path: assets/xml/objects/object_haka_objects.xml
+- name: objects/object_hakach_objects
+ xml_path: assets/xml/objects/object_hakach_objects.xml
+- name: objects/object_hata
+ xml_path: assets/xml/objects/object_hata.xml
+- name: objects/object_heavy_object
+ xml_path: assets/xml/objects/object_heavy_object.xml
+- name: objects/object_hidan_objects
+ xml_path: assets/xml/objects/object_hidan_objects.xml
+- name: objects/object_hintnuts
+ xml_path: assets/xml/objects/object_hintnuts.xml
+- name: objects/object_hni
+ xml_path: assets/xml/objects/object_hni.xml
+- name: objects/object_horse
+ xml_path: assets/xml/objects/object_horse.xml
+- name: objects/object_horse_ganon
+ xml_path: assets/xml/objects/object_horse_ganon.xml
+- name: objects/object_horse_link_child
+ xml_path: assets/xml/objects/object_horse_link_child.xml
+- name: objects/object_horse_normal
+ xml_path: assets/xml/objects/object_horse_normal.xml
+- name: objects/object_horse_zelda
+ xml_path: assets/xml/objects/object_horse_zelda.xml
+- name: objects/object_hs
+ xml_path: assets/xml/objects/object_hs.xml
+- name: objects/object_human
+ xml_path: assets/xml/objects/object_human.xml
+- name: objects/object_ice_objects
+ xml_path: assets/xml/objects/object_ice_objects.xml
+- name: objects/object_ik
+ xml_path: assets/xml/objects/object_ik.xml
+- name: objects/object_im
+ xml_path: assets/xml/objects/object_im.xml
+- name: objects/object_in
+ xml_path: assets/xml/objects/object_in.xml
+- name: objects/object_ingate
+ xml_path: assets/xml/objects/object_ingate.xml
+- name: objects/object_jj
+ xml_path: assets/xml/objects/object_jj.xml
+- name: objects/object_js
+ xml_path: assets/xml/objects/object_js.xml
+- name: objects/object_jya_door
+ xml_path: assets/xml/objects/object_jya_door.xml
+- name: objects/object_jya_iron
+ xml_path: assets/xml/objects/object_jya_iron.xml
+- name: objects/object_jya_obj
+ xml_path: assets/xml/objects/object_jya_obj.xml
+- name: objects/object_ka
+ xml_path: assets/xml/objects/object_ka.xml
+- name: objects/object_kanban
+ xml_path: assets/xml/objects/object_kanban.xml
+- name: objects/object_kibako2
+ xml_path: assets/xml/objects/object_kibako2.xml
+- name: objects/object_kingdodongo
+ xml_path: assets/xml/objects/object_kingdodongo.xml
+- name: objects/object_km1
+ xml_path: assets/xml/objects/object_km1.xml
+- name: objects/object_kusa
+ xml_path: assets/xml/objects/object_kusa.xml
+- name: objects/object_kw1
+ xml_path: assets/xml/objects/object_kw1.xml
+- name: objects/object_kz
+ xml_path: assets/xml/objects/object_kz.xml
+- name: objects/object_light_ring
+ xml_path: assets/xml/objects/object_light_ring.xml
+- name: objects/object_lightbox
+ xml_path: assets/xml/objects/object_lightbox.xml
+- name: objects/object_lightswitch
+ xml_path: assets/xml/objects/object_lightswitch.xml
+- name: objects/object_link_boy
+ xml_path: assets/xml/objects/object_link_boy.xml
+- name: objects/object_link_child
+ xml_path: assets/xml/objects/object_link_child.xml
+- name: objects/object_ma1
+ xml_path: assets/xml/objects/object_ma1.xml
+- name: objects/object_ma2
+ xml_path: assets/xml/objects/object_ma2.xml
+- name: objects/object_mag
+ xml_path: assets/xml/objects/object_mag.xml
+- name: objects/object_mamenoki
+ xml_path: assets/xml/objects/object_mamenoki.xml
+- name: objects/object_mastergolon
+ xml_path: assets/xml/objects/object_mastergolon.xml
+- name: objects/object_masterkokiri
+ xml_path: assets/xml/objects/object_masterkokiri.xml
+- name: objects/object_masterkokirihead
+ xml_path: assets/xml/objects/object_masterkokirihead.xml
+- name: objects/object_masterzoora
+ xml_path: assets/xml/objects/object_masterzoora.xml
+- name: objects/object_mb
+ xml_path: assets/xml/objects/object_mb.xml
+- name: objects/object_md
+ xml_path: assets/xml/objects/object_md.xml
+- name: objects/object_medal
+ xml_path: assets/xml/objects/object_medal.xml
+- name: objects/object_menkuri_objects
+ xml_path: assets/xml/objects/object_menkuri_objects.xml
+- name: objects/object_mir_ray
+ xml_path: assets/xml/objects/object_mir_ray.xml
+- name: objects/object_mizu_objects
+ xml_path: assets/xml/objects/object_mizu_objects.xml
+- name: objects/object_mjin
+ xml_path: assets/xml/objects/object_mjin.xml
+- name: objects/object_mjin_dark
+ xml_path: assets/xml/objects/object_mjin_dark.xml
+- name: objects/object_mjin_flame
+ xml_path: assets/xml/objects/object_mjin_flame.xml
+- name: objects/object_mjin_flash
+ xml_path: assets/xml/objects/object_mjin_flash.xml
+- name: objects/object_mjin_ice
+ xml_path: assets/xml/objects/object_mjin_ice.xml
+- name: objects/object_mjin_oka
+ xml_path: assets/xml/objects/object_mjin_oka.xml
+- name: objects/object_mjin_soul
+ xml_path: assets/xml/objects/object_mjin_soul.xml
+- name: objects/object_mjin_wind
+ xml_path: assets/xml/objects/object_mjin_wind.xml
+- name: objects/object_mk
+ xml_path: assets/xml/objects/object_mk.xml
+- name: objects/object_mm
+ xml_path: assets/xml/objects/object_mm.xml
+- name: objects/object_mo
+ xml_path: assets/xml/objects/object_mo.xml
+- name: objects/object_mori_hineri1
+ xml_path: assets/xml/objects/object_mori_hineri1.xml
+- name: objects/object_mori_hineri1a
+ xml_path: assets/xml/objects/object_mori_hineri1a.xml
+- name: objects/object_mori_hineri2
+ xml_path: assets/xml/objects/object_mori_hineri2.xml
+- name: objects/object_mori_hineri2a
+ xml_path: assets/xml/objects/object_mori_hineri2a.xml
+- name: objects/object_mori_objects
+ xml_path: assets/xml/objects/object_mori_objects.xml
+- name: objects/object_mori_tex
+ xml_path: assets/xml/objects/object_mori_tex.xml
+- name: objects/object_ms
+ xml_path: assets/xml/objects/object_ms.xml
+- name: objects/object_mu
+ xml_path: assets/xml/objects/object_mu.xml
+- name: objects/object_nb
+ xml_path: assets/xml/objects/object_nb.xml
+- name: objects/object_niw
+ xml_path: assets/xml/objects/object_niw.xml
+- name: objects/object_nwc
+ xml_path: assets/xml/objects/object_nwc.xml
+- name: objects/object_ny
+ xml_path: assets/xml/objects/object_ny.xml
+- name: objects/object_o_anime
+ xml_path: assets/xml/objects/object_o_anime.xml
+- name: objects/object_oA1
+ xml_path: assets/xml/objects/object_oA1.xml
+- name: objects/object_oA2
+ xml_path: assets/xml/objects/object_oA2.xml
+- name: objects/object_oA3
+ xml_path: assets/xml/objects/object_oA3.xml
+- name: objects/object_oA4
+ xml_path: assets/xml/objects/object_oA4.xml
+- name: objects/object_oA5
+ xml_path: assets/xml/objects/object_oA5.xml
+- name: objects/object_oA6
+ xml_path: assets/xml/objects/object_oA6.xml
+- name: objects/object_oA7
+ xml_path: assets/xml/objects/object_oA7.xml
+- name: objects/object_oA8
+ xml_path: assets/xml/objects/object_oA8.xml
+- name: objects/object_oA9
+ xml_path: assets/xml/objects/object_oA9.xml
+- name: objects/object_oA10
+ xml_path: assets/xml/objects/object_oA10.xml
+- name: objects/object_oA11
+ xml_path: assets/xml/objects/object_oA11.xml
+- name: objects/object_oB1
+ xml_path: assets/xml/objects/object_oB1.xml
+- name: objects/object_oB2
+ xml_path: assets/xml/objects/object_oB2.xml
+- name: objects/object_oB3
+ xml_path: assets/xml/objects/object_oB3.xml
+- name: objects/object_oB4
+ xml_path: assets/xml/objects/object_oB4.xml
+- name: objects/object_oE1
+ xml_path: assets/xml/objects/object_oE1.xml
+- name: objects/object_oE1s
+ xml_path: assets/xml/objects/object_oE1s.xml
+- name: objects/object_oE2
+ xml_path: assets/xml/objects/object_oE2.xml
+- name: objects/object_oE3
+ xml_path: assets/xml/objects/object_oE3.xml
+- name: objects/object_oE4
+ xml_path: assets/xml/objects/object_oE4.xml
+- name: objects/object_oE4s
+ xml_path: assets/xml/objects/object_oE4s.xml
+- name: objects/object_oE5
+ xml_path: assets/xml/objects/object_oE5.xml
+- name: objects/object_oE6
+ xml_path: assets/xml/objects/object_oE6.xml
+- name: objects/object_oE7
+ xml_path: assets/xml/objects/object_oE7.xml
+- name: objects/object_oE8
+ xml_path: assets/xml/objects/object_oE8.xml
+- name: objects/object_oE9
+ xml_path: assets/xml/objects/object_oE9.xml
+- name: objects/object_oE10
+ xml_path: assets/xml/objects/object_oE10.xml
+- name: objects/object_oE11
+ xml_path: assets/xml/objects/object_oE11.xml
+- name: objects/object_oE12
+ xml_path: assets/xml/objects/object_oE12.xml
+- name: objects/object_oE_anime
+ xml_path: assets/xml/objects/object_oE_anime.xml
+- name: objects/object_oF1d_map
+ xml_path: assets/xml/objects/object_oF1d_map.xml
+- name: objects/object_oF1s
+ xml_path: assets/xml/objects/object_oF1s.xml
+- name: objects/object_okuta
+ xml_path: assets/xml/objects/object_okuta.xml
+- name: objects/object_opening_demo1
+ xml_path: assets/xml/objects/object_opening_demo1.xml
+- name: objects/object_os
+ xml_path: assets/xml/objects/object_os.xml
+- name: objects/object_os_anime
+ xml_path: assets/xml/objects/object_os_anime.xml
+- name: objects/object_ossan
+ xml_path: assets/xml/objects/object_ossan.xml
+- name: objects/object_ouke_haka
+ xml_path: assets/xml/objects/object_ouke_haka.xml
+- name: objects/object_owl
+ xml_path: assets/xml/objects/object_owl.xml
+- name: objects/object_peehat
+ xml_path: assets/xml/objects/object_peehat.xml
+- name: objects/object_po_composer
+ xml_path: assets/xml/objects/object_po_composer.xml
+- name: objects/object_po_field
+ xml_path: assets/xml/objects/object_po_field.xml
+- name: objects/object_po_sisters
+ xml_path: assets/xml/objects/object_po_sisters.xml
+- name: objects/object_poh
+ xml_path: assets/xml/objects/object_poh.xml
+- name: objects/object_ps
+ xml_path: assets/xml/objects/object_ps.xml
+- name: objects/object_pu_box
+ xml_path: assets/xml/objects/object_pu_box.xml
+- name: objects/object_rd
+ xml_path: assets/xml/objects/object_rd.xml
+- name: objects/object_reeba
+ xml_path: assets/xml/objects/object_reeba.xml
+- name: objects/object_relay_objects
+ xml_path: assets/xml/objects/object_relay_objects.xml
+- name: objects/object_rl
+ xml_path: assets/xml/objects/object_rl.xml
+- name: objects/object_rr
+ xml_path: assets/xml/objects/object_rr.xml
+- name: objects/object_rs
+ xml_path: assets/xml/objects/object_rs.xml
+- name: objects/object_ru1
+ xml_path: assets/xml/objects/object_ru1.xml
+- name: objects/object_ru2
+ xml_path: assets/xml/objects/object_ru2.xml
+- name: objects/object_sa
+ xml_path: assets/xml/objects/object_sa.xml
+- name: objects/object_sb
+ xml_path: assets/xml/objects/object_sb.xml
+- name: objects/object_sd
+ xml_path: assets/xml/objects/object_sd.xml
+- name: objects/object_shop_dungen
+ xml_path: assets/xml/objects/object_shop_dungen.xml
+- name: objects/object_shopnuts
+ xml_path: assets/xml/objects/object_shopnuts.xml
+- name: objects/object_siofuki
+ xml_path: assets/xml/objects/object_siofuki.xml
+- name: objects/object_sk2
+ xml_path: assets/xml/objects/object_sk2.xml
+- name: objects/object_skb
+ xml_path: assets/xml/objects/object_skb.xml
+- name: objects/object_skj
+ xml_path: assets/xml/objects/object_skj.xml
+- name: objects/object_spot00_break
+ xml_path: assets/xml/objects/object_spot00_break.xml
+- name: objects/object_spot00_objects
+ xml_path: assets/xml/objects/object_spot00_objects.xml
+- name: objects/object_spot01_matoya
+ xml_path: assets/xml/objects/object_spot01_matoya.xml
+- name: objects/object_spot01_matoyab
+ xml_path: assets/xml/objects/object_spot01_matoyab.xml
+- name: objects/object_spot01_objects
+ xml_path: assets/xml/objects/object_spot01_objects.xml
+- name: objects/object_spot01_objects2
+ xml_path: assets/xml/objects/object_spot01_objects2.xml
+- name: objects/object_spot02_objects
+ xml_path: assets/xml/objects/object_spot02_objects.xml
+- name: objects/object_spot03_object
+ xml_path: assets/xml/objects/object_spot03_object.xml
+- name: objects/object_spot04_objects
+ xml_path: assets/xml/objects/object_spot04_objects.xml
+- name: objects/object_spot05_objects
+ xml_path: assets/xml/objects/object_spot05_objects.xml
+- name: objects/object_spot06_objects
+ xml_path: assets/xml/objects/object_spot06_objects.xml
+- name: objects/object_spot07_object
+ xml_path: assets/xml/objects/object_spot07_object.xml
+- name: objects/object_spot08_obj
+ xml_path: assets/xml/objects/object_spot08_obj.xml
+- name: objects/object_spot09_obj
+ xml_path: assets/xml/objects/object_spot09_obj.xml
+- name: objects/object_spot11_obj
+ xml_path: assets/xml/objects/object_spot11_obj.xml
+- name: objects/object_spot12_obj
+ xml_path: assets/xml/objects/object_spot12_obj.xml
+- name: objects/object_spot15_obj
+ xml_path: assets/xml/objects/object_spot15_obj.xml
+- name: objects/object_spot16_obj
+ xml_path: assets/xml/objects/object_spot16_obj.xml
+- name: objects/object_spot17_obj
+ xml_path: assets/xml/objects/object_spot17_obj.xml
+- name: objects/object_spot18_obj
+ xml_path: assets/xml/objects/object_spot18_obj.xml
+- name: objects/object_ssh
+ xml_path: assets/xml/objects/object_ssh.xml
+- name: objects/object_sst
+ xml_path: assets/xml/objects/object_sst.xml
+- name: objects/object_st
+ xml_path: assets/xml/objects/object_st.xml
+- name: objects/object_stream
+ xml_path: assets/xml/objects/object_stream.xml
+- name: objects/object_syokudai
+ xml_path: assets/xml/objects/object_syokudai.xml
+- name: objects/object_ta
+ xml_path: assets/xml/objects/object_ta.xml
+- name: objects/object_timeblock
+ xml_path: assets/xml/objects/object_timeblock.xml
+- name: objects/object_tite
+ xml_path: assets/xml/objects/object_tite.xml
+- name: objects/object_tk
+ xml_path: assets/xml/objects/object_tk.xml
+- name: objects/object_toki_objects
+ xml_path: assets/xml/objects/object_toki_objects.xml
+- name: objects/object_torch2
+ xml_path: assets/xml/objects/object_torch2.xml
+- name: objects/object_toryo
+ xml_path: assets/xml/objects/object_toryo.xml
+- name: objects/object_tp
+ xml_path: assets/xml/objects/object_tp.xml
+- name: objects/object_tr
+ xml_path: assets/xml/objects/object_tr.xml
+- name: objects/object_trap
+ xml_path: assets/xml/objects/object_trap.xml
+- name: objects/object_triforce_spot
+ xml_path: assets/xml/objects/object_triforce_spot.xml
+- name: objects/object_ts
+ xml_path: assets/xml/objects/object_ts.xml
+- name: objects/object_tsubo
+ xml_path: assets/xml/objects/object_tsubo.xml
+- name: objects/object_tw
+ xml_path: assets/xml/objects/object_tw.xml
+- name: objects/object_umajump
+ xml_path: assets/xml/objects/object_umajump.xml
+- name: objects/object_vali
+ xml_path: assets/xml/objects/object_vali.xml
+- name: objects/object_vase
+ xml_path: assets/xml/objects/object_vase.xml
+- name: objects/object_vm
+ xml_path: assets/xml/objects/object_vm.xml
+- name: objects/object_wallmaster
+ xml_path: assets/xml/objects/object_wallmaster.xml
+- name: objects/object_warp1
+ xml_path: assets/xml/objects/object_warp1.xml
+- name: objects/object_warp2
+ xml_path: assets/xml/objects/object_warp2.xml
+- name: objects/object_wf
+ xml_path: assets/xml/objects/object_wf.xml
+- name: objects/object_wood02
+ xml_path: assets/xml/objects/object_wood02.xml
+- name: objects/object_xc
+ xml_path: assets/xml/objects/object_xc.xml
+- name: objects/object_yabusame_point
+ xml_path: assets/xml/objects/object_yabusame_point.xml
+- name: objects/object_ydan_objects
+ xml_path: assets/xml/objects/object_ydan_objects.xml
+- name: objects/object_yukabyun
+ xml_path: assets/xml/objects/object_yukabyun.xml
+- name: objects/object_zf
+ xml_path: assets/xml/objects/object_zf.xml
+- name: objects/object_zg
+ xml_path: assets/xml/objects/object_zg.xml
+- name: objects/object_zl1
+ xml_path: assets/xml/objects/object_zl1.xml
+- name: objects/object_zl2
+ xml_path: assets/xml/objects/object_zl2.xml
+- name: objects/object_zl2_anime1
+ xml_path: assets/xml/objects/object_zl2_anime1.xml
+- name: objects/object_zl2_anime2
+ xml_path: assets/xml/objects/object_zl2_anime2.xml
+- name: objects/object_zl4
+ xml_path: assets/xml/objects/object_zl4.xml
+- name: objects/object_zo
+ xml_path: assets/xml/objects/object_zo.xml
+- name: overlays/ovl_Arrow_Fire
+ xml_path: assets/xml/overlays/ovl_Arrow_Fire.xml
+ start_offset: 0x980
+ end_offset: 0x1DA0
+- name: overlays/ovl_Arrow_Ice
+ xml_path: assets/xml/overlays/ovl_Arrow_Ice.xml
+ start_offset: 0x9A0
+ end_offset: 0x1DC0
+- name: overlays/ovl_Arrow_Light
+ xml_path: assets/xml/overlays/ovl_Arrow_Light.xml
+ start_offset: 0x9B0
+ end_offset: 0x1DD0
+- name: overlays/ovl_Bg_Ganon_Otyuka
+ xml_path: assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
+ start_offset: 0x1100
+ end_offset: 0x24DC
+- name: overlays/ovl_Bg_Jya_Cobra
+ xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
+ start_offset: 0x1850
+ end_offset: 0x18C8
+- name: overlays/ovl_Boss_Dodongo
+ xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml
+ start_offset: 0x61E8
+ end_offset: 0x91E8
+- name: overlays/ovl_Boss_Ganon
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon.xml
+ start_offset: 0xE3C8
+ end_offset: 0x20EE8
+- name: overlays/ovl_Boss_Ganon2
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon2.xml
+ start_offset: 0x9F88
+ end_offset: 0x10438
+- name: overlays/ovl_Boss_Sst
+ xml_path: assets/xml/overlays/ovl_Boss_Sst.xml
+ start_offset: 0xA380
+ end_offset: 0xAD30
+- name: overlays/ovl_Demo_Shd
+ xml_path: assets/xml/overlays/ovl_Demo_Shd.xml
+ start_offset: 0x410
+ end_offset: 0x2390
+- name: overlays/ovl_Effect_Ss_Fhg_Flash
+ xml_path: assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
+ start_offset: 0x9F0
+ end_offset: 0xEA8
+- name: overlays/ovl_En_Bili
+ xml_path: assets/xml/overlays/ovl_En_Bili.xml
+ start_offset: 0x1E40
+ end_offset: 0x1E60
+- name: overlays/ovl_En_Clear_Tag
+ xml_path: assets/xml/overlays/ovl_En_Clear_Tag.xml
+ start_offset: 0x2600
+ end_offset: 0x8900
+- name: overlays/ovl_En_Ganon_Mant
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Mant.xml
+ start_offset: 0x11F8
+ end_offset: 0x40F8
+- name: overlays/ovl_En_Ganon_Organ
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Organ.xml
+ start_offset: 0x368
+ end_offset: 0x6EF0
+- name: overlays/ovl_En_Holl
+ xml_path: assets/xml/overlays/ovl_En_Holl.xml
+ start_offset: 0xE68
+ end_offset: 0xED0
+- name: overlays/ovl_En_Jsjutan
+ xml_path: assets/xml/overlays/ovl_En_Jsjutan.xml
+ start_offset: 0x12C8
+ end_offset: 0x4C60
+- name: overlays/ovl_En_Kanban
+ xml_path: assets/xml/overlays/ovl_En_Kanban.xml
+ start_offset: 0x2E70
+ end_offset: 0x2F30
+- name: overlays/ovl_En_Sda
+ xml_path: assets/xml/overlays/ovl_En_Sda.xml
+ start_offset: 0x1498
+ end_offset: 0x1528
+- name: overlays/ovl_En_Ssh
+ xml_path: assets/xml/overlays/ovl_En_Ssh.xml
+ start_offset: 0x2150
+ end_offset: 0x21E0
+- name: overlays/ovl_En_St
+ xml_path: assets/xml/overlays/ovl_En_St.xml
+ start_offset: 0x26A0
+ end_offset: 0x2730
+- name: overlays/ovl_En_Sth
+ xml_path: assets/xml/overlays/ovl_En_Sth.xml
+ start_offset: 0xE70
+ end_offset: 0x3E44
+- name: overlays/ovl_End_Title
+ xml_path: assets/xml/overlays/ovl_End_Title.xml
+ start_offset: 0x6E0
+ end_offset: 0x4088
+- name: overlays/ovl_file_choose
+ xml_path: assets/xml/overlays/ovl_file_choose.xml
+ start_offset: 0xD740
+ end_offset: 0xDF80
+- name: overlays/ovl_Magic_Dark
+ xml_path: assets/xml/overlays/ovl_Magic_Dark.xml
+ start_offset: 0xC90
+ end_offset: 0x16C0
+- name: overlays/ovl_Magic_Fire
+ xml_path: assets/xml/overlays/ovl_Magic_Fire.xml
+ start_offset: 0xB50
+ end_offset: 0x21A0
+- name: overlays/ovl_Magic_Wind
+ xml_path: assets/xml/overlays/ovl_Magic_Wind.xml
+ start_offset: 0x6A0
+ end_offset: 0x1BB8
+- name: overlays/ovl_Oceff_Spot
+ xml_path: assets/xml/overlays/ovl_Oceff_Spot.xml
+ start_offset: 0x780
+ end_offset: 0xE58
+- name: overlays/ovl_Oceff_Storm
+ xml_path: assets/xml/overlays/ovl_Oceff_Storm.xml
+ start_offset: 0x750
+ end_offset: 0x1AE0
+- name: overlays/ovl_Oceff_Wipe
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe.xml
+ start_offset: 0x520
+ end_offset: 0xCE0
+- name: overlays/ovl_Oceff_Wipe2
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe2.xml
+ start_offset: 0x430
+ end_offset: 0x1698
+- name: overlays/ovl_Oceff_Wipe3
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe3.xml
+ start_offset: 0x430
+ end_offset: 0x1678
+- name: overlays/ovl_Oceff_Wipe4
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe4.xml
+ start_offset: 0x410
+ end_offset: 0xEF8
+- name: scenes/dungeons/bdan
+ xml_path: assets/xml/scenes/dungeons/bdan.xml
+- name: scenes/dungeons/bdan_boss
+ xml_path: assets/xml/scenes/dungeons/bdan_boss.xml
+- name: scenes/dungeons/Bmori1
+ xml_path: assets/xml/scenes/dungeons/Bmori1.xml
+- name: scenes/dungeons/ddan
+ xml_path: assets/xml/scenes/dungeons/ddan.xml
+- name: scenes/dungeons/ddan_boss
+ xml_path: assets/xml/scenes/dungeons/ddan_boss.xml
+- name: scenes/dungeons/FIRE_bs
+ xml_path: assets/xml/scenes/dungeons/FIRE_bs.xml
+- name: scenes/dungeons/ganon
+ xml_path: assets/xml/scenes/dungeons/ganon.xml
+- name: scenes/dungeons/ganon_boss
+ xml_path: assets/xml/scenes/dungeons/ganon_boss.xml
+- name: scenes/dungeons/ganon_demo
+ xml_path: assets/xml/scenes/dungeons/ganon_demo.xml
+- name: scenes/dungeons/ganon_final
+ xml_path: assets/xml/scenes/dungeons/ganon_final.xml
+- name: scenes/dungeons/ganon_sonogo
+ xml_path: assets/xml/scenes/dungeons/ganon_sonogo.xml
+- name: scenes/dungeons/ganontika
+ xml_path: assets/xml/scenes/dungeons/ganontika.xml
+- name: scenes/dungeons/ganontikasonogo
+ xml_path: assets/xml/scenes/dungeons/ganontikasonogo.xml
+- name: scenes/dungeons/gerudoway
+ xml_path: assets/xml/scenes/dungeons/gerudoway.xml
+- name: scenes/dungeons/HAKAdan
+ xml_path: assets/xml/scenes/dungeons/HAKAdan.xml
+- name: scenes/dungeons/HAKAdan_bs
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_bs.xml
+- name: scenes/dungeons/HAKAdanCH
+ xml_path: assets/xml/scenes/dungeons/HAKAdanCH.xml
+- name: scenes/dungeons/HIDAN
+ xml_path: assets/xml/scenes/dungeons/HIDAN.xml
+- name: scenes/dungeons/ice_doukutu
+ xml_path: assets/xml/scenes/dungeons/ice_doukutu.xml
+- name: scenes/dungeons/jyasinboss
+ xml_path: assets/xml/scenes/dungeons/jyasinboss.xml
+- name: scenes/dungeons/jyasinzou
+ xml_path: assets/xml/scenes/dungeons/jyasinzou.xml
+- name: scenes/dungeons/men
+ xml_path: assets/xml/scenes/dungeons/men.xml
+- name: scenes/dungeons/MIZUsin
+ xml_path: assets/xml/scenes/dungeons/MIZUsin.xml
+- name: scenes/dungeons/MIZUsin_bs
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_bs.xml
+- name: scenes/dungeons/moribossroom
+ xml_path: assets/xml/scenes/dungeons/moribossroom.xml
+- name: scenes/dungeons/ydan
+ xml_path: assets/xml/scenes/dungeons/ydan.xml
+- name: scenes/dungeons/ydan_boss
+ xml_path: assets/xml/scenes/dungeons/ydan_boss.xml
+- name: scenes/indoors/bowling
+ xml_path: assets/xml/scenes/indoors/bowling.xml
+- name: scenes/indoors/daiyousei_izumi
+ xml_path: assets/xml/scenes/indoors/daiyousei_izumi.xml
+- name: scenes/indoors/hairal_niwa
+ xml_path: assets/xml/scenes/indoors/hairal_niwa.xml
+- name: scenes/indoors/hairal_niwa_n
+ xml_path: assets/xml/scenes/indoors/hairal_niwa_n.xml
+- name: scenes/indoors/hakasitarelay
+ xml_path: assets/xml/scenes/indoors/hakasitarelay.xml
+- name: scenes/indoors/hut
+ xml_path: assets/xml/scenes/indoors/hut.xml
+- name: scenes/indoors/hylia_labo
+ xml_path: assets/xml/scenes/indoors/hylia_labo.xml
+- name: scenes/indoors/impa
+ xml_path: assets/xml/scenes/indoors/impa.xml
+- name: scenes/indoors/kakariko
+ xml_path: assets/xml/scenes/indoors/kakariko.xml
+- name: scenes/indoors/kenjyanoma
+ xml_path: assets/xml/scenes/indoors/kenjyanoma.xml
+- name: scenes/indoors/kokiri_home
+ xml_path: assets/xml/scenes/indoors/kokiri_home.xml
+- name: scenes/indoors/kokiri_home3
+ xml_path: assets/xml/scenes/indoors/kokiri_home3.xml
+- name: scenes/indoors/kokiri_home4
+ xml_path: assets/xml/scenes/indoors/kokiri_home4.xml
+- name: scenes/indoors/kokiri_home5
+ xml_path: assets/xml/scenes/indoors/kokiri_home5.xml
+- name: scenes/indoors/labo
+ xml_path: assets/xml/scenes/indoors/labo.xml
+- name: scenes/indoors/link_home
+ xml_path: assets/xml/scenes/indoors/link_home.xml
+- name: scenes/indoors/mahouya
+ xml_path: assets/xml/scenes/indoors/mahouya.xml
+- name: scenes/indoors/malon_stable
+ xml_path: assets/xml/scenes/indoors/malon_stable.xml
+- name: scenes/indoors/miharigoya
+ xml_path: assets/xml/scenes/indoors/miharigoya.xml
+- name: scenes/indoors/nakaniwa
+ xml_path: assets/xml/scenes/indoors/nakaniwa.xml
+- name: scenes/indoors/souko
+ xml_path: assets/xml/scenes/indoors/souko.xml
+- name: scenes/indoors/syatekijyou
+ xml_path: assets/xml/scenes/indoors/syatekijyou.xml
+- name: scenes/indoors/takaraya
+ xml_path: assets/xml/scenes/indoors/takaraya.xml
+- name: scenes/indoors/tent
+ xml_path: assets/xml/scenes/indoors/tent.xml
+- name: scenes/indoors/tokinoma
+ xml_path: assets/xml/scenes/indoors/tokinoma.xml
+- name: scenes/indoors/yousei_izumi_tate
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_tate.xml
+- name: scenes/indoors/yousei_izumi_yoko
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_yoko.xml
+- name: scenes/misc/enrui
+ xml_path: assets/xml/scenes/misc/enrui.xml
+- name: scenes/misc/entra
+ xml_path: assets/xml/scenes/misc/entra.xml
+- name: scenes/misc/entra_n
+ xml_path: assets/xml/scenes/misc/entra_n.xml
+- name: scenes/misc/hakaana
+ xml_path: assets/xml/scenes/misc/hakaana.xml
+- name: scenes/misc/hakaana2
+ xml_path: assets/xml/scenes/misc/hakaana2.xml
+- name: scenes/misc/hakaana_ouke
+ xml_path: assets/xml/scenes/misc/hakaana_ouke.xml
+- name: scenes/misc/hiral_demo
+ xml_path: assets/xml/scenes/misc/hiral_demo.xml
+- name: scenes/misc/kakariko3
+ xml_path: assets/xml/scenes/misc/kakariko3.xml
+- name: scenes/misc/kakusiana
+ xml_path: assets/xml/scenes/misc/kakusiana.xml
+- name: scenes/misc/kinsuta
+ xml_path: assets/xml/scenes/misc/kinsuta.xml
+- name: scenes/misc/market_alley
+ xml_path: assets/xml/scenes/misc/market_alley.xml
+- name: scenes/misc/market_alley_n
+ xml_path: assets/xml/scenes/misc/market_alley_n.xml
+- name: scenes/misc/market_day
+ xml_path: assets/xml/scenes/misc/market_day.xml
+- name: scenes/misc/market_night
+ xml_path: assets/xml/scenes/misc/market_night.xml
+- name: scenes/misc/market_ruins
+ xml_path: assets/xml/scenes/misc/market_ruins.xml
+- name: scenes/misc/shrine
+ xml_path: assets/xml/scenes/misc/shrine.xml
+- name: scenes/misc/shrine_n
+ xml_path: assets/xml/scenes/misc/shrine_n.xml
+- name: scenes/misc/shrine_r
+ xml_path: assets/xml/scenes/misc/shrine_r.xml
+- name: scenes/misc/turibori
+ xml_path: assets/xml/scenes/misc/turibori.xml
+- name: scenes/overworld/ganon_tou
+ xml_path: assets/xml/scenes/overworld/ganon_tou.xml
+- name: scenes/overworld/spot00
+ xml_path: assets/xml/scenes/overworld/spot00.xml
+- name: scenes/overworld/spot01
+ xml_path: assets/xml/scenes/overworld/spot01.xml
+- name: scenes/overworld/spot02
+ xml_path: assets/xml/scenes/overworld/spot02.xml
+- name: scenes/overworld/spot03
+ xml_path: assets/xml/scenes/overworld/spot03.xml
+- name: scenes/overworld/spot04
+ xml_path: assets/xml/scenes/overworld/spot04.xml
+- name: scenes/overworld/spot05
+ xml_path: assets/xml/scenes/overworld/spot05.xml
+- name: scenes/overworld/spot06
+ xml_path: assets/xml/scenes/overworld/spot06.xml
+- name: scenes/overworld/spot07
+ xml_path: assets/xml/scenes/overworld/spot07.xml
+- name: scenes/overworld/spot08
+ xml_path: assets/xml/scenes/overworld/spot08.xml
+- name: scenes/overworld/spot09
+ xml_path: assets/xml/scenes/overworld/spot09.xml
+- name: scenes/overworld/spot10
+ xml_path: assets/xml/scenes/overworld/spot10.xml
+- name: scenes/overworld/spot11
+ xml_path: assets/xml/scenes/overworld/spot11.xml
+- name: scenes/overworld/spot12
+ xml_path: assets/xml/scenes/overworld/spot12.xml
+- name: scenes/overworld/spot13
+ xml_path: assets/xml/scenes/overworld/spot13.xml
+- name: scenes/overworld/spot15
+ xml_path: assets/xml/scenes/overworld/spot15.xml
+- name: scenes/overworld/spot16
+ xml_path: assets/xml/scenes/overworld/spot16.xml
+- name: scenes/overworld/spot17
+ xml_path: assets/xml/scenes/overworld/spot17.xml
+- name: scenes/overworld/spot18
+ xml_path: assets/xml/scenes/overworld/spot18.xml
+- name: scenes/overworld/spot20
+ xml_path: assets/xml/scenes/overworld/spot20.xml
+- name: scenes/shops/alley_shop
+ xml_path: assets/xml/scenes/shops/alley_shop.xml
+- name: scenes/shops/drag
+ xml_path: assets/xml/scenes/shops/drag.xml
+- name: scenes/shops/face_shop
+ xml_path: assets/xml/scenes/shops/face_shop.xml
+- name: scenes/shops/golon
+ xml_path: assets/xml/scenes/shops/golon.xml
+- name: scenes/shops/kokiri_shop
+ xml_path: assets/xml/scenes/shops/kokiri_shop.xml
+- name: scenes/shops/night_shop
+ xml_path: assets/xml/scenes/shops/night_shop.xml
+- name: scenes/shops/shop1
+ xml_path: assets/xml/scenes/shops/shop1.xml
+- name: scenes/shops/zoora
+ xml_path: assets/xml/scenes/shops/zoora.xml
+- name: textures/backgrounds
+ xml_path: assets/xml/textures/backgrounds.xml
+- name: textures/do_action_static
+ xml_path: assets/xml/textures/do_action_static.xml
+- name: textures/icon_item_24_static
+ xml_path: assets/xml/textures/icon_item_24_static.xml
+- name: textures/icon_item_dungeon_static
+ xml_path: assets/xml/textures/icon_item_dungeon_static.xml
+- name: textures/icon_item_field_static
+ xml_path: assets/xml/textures/icon_item_field_static.xml
+- name: textures/icon_item_fra_static
+ xml_path: assets/xml/textures/icon_item_fra_static.xml
+- name: textures/icon_item_gameover_static
+ xml_path: assets/xml/textures/icon_item_gameover_static.xml
+- name: textures/icon_item_ger_static
+ xml_path: assets/xml/textures/icon_item_ger_static.xml
+- name: textures/icon_item_nes_static
+ xml_path: assets/xml/textures/icon_item_nes_static.xml
+- name: textures/icon_item_static
+ xml_path: assets/xml/textures/icon_item_static.xml
+- name: textures/item_name_static
+ xml_path: assets/xml/textures/item_name_static.xml
+- name: textures/map_48x85_static
+ xml_path: assets/xml/textures/map_48x85_static.xml
+- name: textures/map_grand_static
+ xml_path: assets/xml/textures/map_grand_static.xml
+- name: textures/map_i_static
+ xml_path: assets/xml/textures/map_i_static.xml
+- name: textures/map_name_static
+ xml_path: assets/xml/textures/map_name_static.xml
+- name: textures/message_static
+ xml_path: assets/xml/textures/message_static.xml
+- name: textures/message_texture_static
+ xml_path: assets/xml/textures/message_texture_static.xml
+- name: textures/nes_font_static
+ xml_path: assets/xml/textures/nes_font_static.xml
+- name: textures/nintendo_rogo_static
+ xml_path: assets/xml/textures/nintendo_rogo_static.xml
+- name: textures/parameter_static
+ xml_path: assets/xml/textures/parameter_static.xml
+- name: textures/place_title_cards
+ xml_path: assets/xml/textures/place_title_cards.xml
+- name: textures/skyboxes
+ xml_path: assets/xml/textures/skyboxes.xml
+- name: textures/title_static
+ xml_path: assets/xml/textures/title_static.xml
diff --git a/baseroms/gc-eu/dmadata_names.txt b/baseroms/gc-eu/dmadata_names.txt
deleted file mode 100644
index cfe5c4689..000000000
--- a/baseroms/gc-eu/dmadata_names.txt
+++ /dev/null
@@ -1,1510 +0,0 @@
-makerom
-boot
-dmadata
-Audiobank
-Audioseq
-Audiotable
-link_animetion
-icon_item_static
-icon_item_24_static
-icon_item_field_static
-icon_item_dungeon_static
-icon_item_gameover_static
-icon_item_nes_static
-icon_item_ger_static
-icon_item_fra_static
-item_name_static
-map_name_static
-do_action_static
-message_static
-message_texture_static
-nes_font_static
-nes_message_data_static
-ger_message_data_static
-fra_message_data_static
-staff_message_data_static
-map_grand_static
-map_48x85_static
-map_i_static
-code
-ovl_title
-ovl_select
-ovl_opening
-ovl_file_choose
-ovl_kaleido_scope
-ovl_player_actor
-ovl_map_mark_data
-ovl_En_Test
-ovl_Arms_Hook
-ovl_Arrow_Fire
-ovl_Arrow_Ice
-ovl_Arrow_Light
-ovl_Bg_Bdan_Objects
-ovl_Bg_Bdan_Switch
-ovl_Bg_Bom_Guard
-ovl_Bg_Bombwall
-ovl_Bg_Bowl_Wall
-ovl_Bg_Breakwall
-ovl_Bg_Ddan_Jd
-ovl_Bg_Ddan_Kd
-ovl_Bg_Dodoago
-ovl_Bg_Dy_Yoseizo
-ovl_Bg_Ganon_Otyuka
-ovl_Bg_Gate_Shutter
-ovl_Bg_Gjyo_Bridge
-ovl_Bg_Gnd_Darkmeiro
-ovl_Bg_Gnd_Firemeiro
-ovl_Bg_Gnd_Iceblock
-ovl_Bg_Gnd_Nisekabe
-ovl_Bg_Gnd_Soulmeiro
-ovl_Bg_Haka
-ovl_Bg_Haka_Gate
-ovl_Bg_Haka_Huta
-ovl_Bg_Haka_Megane
-ovl_Bg_Haka_MeganeBG
-ovl_Bg_Haka_Sgami
-ovl_Bg_Haka_Ship
-ovl_Bg_Haka_Trap
-ovl_Bg_Haka_Tubo
-ovl_Bg_Haka_Water
-ovl_Bg_Haka_Zou
-ovl_Bg_Heavy_Block
-ovl_Bg_Hidan_Curtain
-ovl_Bg_Hidan_Dalm
-ovl_Bg_Hidan_Firewall
-ovl_Bg_Hidan_Fslift
-ovl_Bg_Hidan_Fwbig
-ovl_Bg_Hidan_Hamstep
-ovl_Bg_Hidan_Hrock
-ovl_Bg_Hidan_Kousi
-ovl_Bg_Hidan_Kowarerukabe
-ovl_Bg_Hidan_Rock
-ovl_Bg_Hidan_Rsekizou
-ovl_Bg_Hidan_Sekizou
-ovl_Bg_Hidan_Sima
-ovl_Bg_Hidan_Syoku
-ovl_Bg_Ice_Objects
-ovl_Bg_Ice_Shelter
-ovl_Bg_Ice_Shutter
-ovl_Bg_Ice_Turara
-ovl_Bg_Ingate
-ovl_Bg_Jya_1flift
-ovl_Bg_Jya_Amishutter
-ovl_Bg_Jya_Bigmirror
-ovl_Bg_Jya_Block
-ovl_Bg_Jya_Bombchuiwa
-ovl_Bg_Jya_Bombiwa
-ovl_Bg_Jya_Cobra
-ovl_Bg_Jya_Goroiwa
-ovl_Bg_Jya_Haheniron
-ovl_Bg_Jya_Ironobj
-ovl_Bg_Jya_Kanaami
-ovl_Bg_Jya_Lift
-ovl_Bg_Jya_Megami
-ovl_Bg_Jya_Zurerukabe
-ovl_Bg_Menkuri_Eye
-ovl_Bg_Menkuri_Kaiten
-ovl_Bg_Menkuri_Nisekabe
-ovl_Bg_Mizu_Bwall
-ovl_Bg_Mizu_Movebg
-ovl_Bg_Mizu_Shutter
-ovl_Bg_Mizu_Uzu
-ovl_Bg_Mizu_Water
-ovl_Bg_Mjin
-ovl_Bg_Mori_Bigst
-ovl_Bg_Mori_Elevator
-ovl_Bg_Mori_Hashigo
-ovl_Bg_Mori_Hashira4
-ovl_Bg_Mori_Hineri
-ovl_Bg_Mori_Idomizu
-ovl_Bg_Mori_Kaitenkabe
-ovl_Bg_Mori_Rakkatenjo
-ovl_Bg_Po_Event
-ovl_Bg_Po_Syokudai
-ovl_Bg_Pushbox
-ovl_Bg_Relay_Objects
-ovl_Bg_Spot00_Break
-ovl_Bg_Spot00_Hanebasi
-ovl_Bg_Spot01_Fusya
-ovl_Bg_Spot01_Idohashira
-ovl_Bg_Spot01_Idomizu
-ovl_Bg_Spot01_Idosoko
-ovl_Bg_Spot01_Objects2
-ovl_Bg_Spot02_Objects
-ovl_Bg_Spot03_Taki
-ovl_Bg_Spot05_Soko
-ovl_Bg_Spot06_Objects
-ovl_Bg_Spot07_Taki
-ovl_Bg_Spot08_Bakudankabe
-ovl_Bg_Spot08_Iceblock
-ovl_Bg_Spot09_Obj
-ovl_Bg_Spot11_Bakudankabe
-ovl_Bg_Spot11_Oasis
-ovl_Bg_Spot12_Gate
-ovl_Bg_Spot12_Saku
-ovl_Bg_Spot15_Rrbox
-ovl_Bg_Spot15_Saku
-ovl_Bg_Spot16_Bombstone
-ovl_Bg_Spot16_Doughnut
-ovl_Bg_Spot17_Bakudankabe
-ovl_Bg_Spot17_Funen
-ovl_Bg_Spot18_Basket
-ovl_Bg_Spot18_Futa
-ovl_Bg_Spot18_Obj
-ovl_Bg_Spot18_Shutter
-ovl_Bg_Sst_Floor
-ovl_Bg_Toki_Hikari
-ovl_Bg_Toki_Swd
-ovl_Bg_Treemouth
-ovl_Bg_Umajump
-ovl_Bg_Vb_Sima
-ovl_Bg_Ydan_Hasi
-ovl_Bg_Ydan_Maruta
-ovl_Bg_Ydan_Sp
-ovl_Bg_Zg
-ovl_Boss_Dodongo
-ovl_Boss_Fd
-ovl_Boss_Fd2
-ovl_Boss_Ganon
-ovl_Boss_Ganon2
-ovl_Boss_Ganondrof
-ovl_Boss_Goma
-ovl_Boss_Mo
-ovl_Boss_Sst
-ovl_Boss_Tw
-ovl_Boss_Va
-ovl_Demo_6K
-ovl_Demo_Du
-ovl_Demo_Ec
-ovl_Demo_Effect
-ovl_Demo_Ext
-ovl_Demo_Geff
-ovl_Demo_Gj
-ovl_Demo_Go
-ovl_Demo_Gt
-ovl_Demo_Ik
-ovl_Demo_Im
-ovl_Demo_Kankyo
-ovl_Demo_Kekkai
-ovl_Demo_Sa
-ovl_Demo_Shd
-ovl_Demo_Tre_Lgt
-ovl_Door_Ana
-ovl_Door_Gerudo
-ovl_Door_Killer
-ovl_Door_Shutter
-ovl_Door_Toki
-ovl_Door_Warp1
-ovl_Efc_Erupc
-ovl_Eff_Dust
-ovl_Effect_Ss_Blast
-ovl_Effect_Ss_Bomb
-ovl_Effect_Ss_Bomb2
-ovl_Effect_Ss_Bubble
-ovl_Effect_Ss_D_Fire
-ovl_Effect_Ss_Dead_Db
-ovl_Effect_Ss_Dead_Dd
-ovl_Effect_Ss_Dead_Ds
-ovl_Effect_Ss_Dead_Sound
-ovl_Effect_Ss_Dt_Bubble
-ovl_Effect_Ss_Dust
-ovl_Effect_Ss_En_Fire
-ovl_Effect_Ss_En_Ice
-ovl_Effect_Ss_Extra
-ovl_Effect_Ss_Fcircle
-ovl_Effect_Ss_Fhg_Flash
-ovl_Effect_Ss_Fire_Tail
-ovl_Effect_Ss_G_Fire
-ovl_Effect_Ss_G_Magma
-ovl_Effect_Ss_G_Magma2
-ovl_Effect_Ss_G_Ripple
-ovl_Effect_Ss_G_Spk
-ovl_Effect_Ss_G_Splash
-ovl_Effect_Ss_Hahen
-ovl_Effect_Ss_HitMark
-ovl_Effect_Ss_Ice_Piece
-ovl_Effect_Ss_Ice_Smoke
-ovl_Effect_Ss_K_Fire
-ovl_Effect_Ss_Kakera
-ovl_Effect_Ss_KiraKira
-ovl_Effect_Ss_Lightning
-ovl_Effect_Ss_Sibuki
-ovl_Effect_Ss_Sibuki2
-ovl_Effect_Ss_Solder_Srch_Ball
-ovl_Effect_Ss_Stick
-ovl_Effect_Ss_Stone1
-ovl_Elf_Msg
-ovl_Elf_Msg2
-ovl_En_Am
-ovl_En_Ani
-ovl_En_Anubice
-ovl_En_Anubice_Fire
-ovl_En_Anubice_Tag
-ovl_En_Arow_Trap
-ovl_En_Arrow
-ovl_En_Attack_Niw
-ovl_En_Ba
-ovl_En_Bb
-ovl_En_Bdfire
-ovl_En_Bigokuta
-ovl_En_Bili
-ovl_En_Bird
-ovl_En_Blkobj
-ovl_En_Bom
-ovl_En_Bom_Bowl_Man
-ovl_En_Bom_Bowl_Pit
-ovl_En_Bom_Chu
-ovl_En_Bombf
-ovl_En_Boom
-ovl_En_Box
-ovl_En_Brob
-ovl_En_Bubble
-ovl_En_Butte
-ovl_En_Bw
-ovl_En_Bx
-ovl_En_Changer
-ovl_En_Clear_Tag
-ovl_En_Cow
-ovl_En_Crow
-ovl_En_Cs
-ovl_En_Daiku
-ovl_En_Daiku_Kakariko
-ovl_En_Dekubaba
-ovl_En_Dekunuts
-ovl_En_Dh
-ovl_En_Dha
-ovl_En_Diving_Game
-ovl_En_Dns
-ovl_En_Dnt_Demo
-ovl_En_Dnt_Jiji
-ovl_En_Dnt_Nomal
-ovl_En_Dodojr
-ovl_En_Dodongo
-ovl_En_Dog
-ovl_En_Door
-ovl_En_Ds
-ovl_En_Du
-ovl_En_Dy_Extra
-ovl_En_Eg
-ovl_En_Eiyer
-ovl_En_Elf
-ovl_En_Encount1
-ovl_En_Encount2
-ovl_En_Ex_Item
-ovl_En_Ex_Ruppy
-ovl_En_Fd
-ovl_En_Fd_Fire
-ovl_En_Fhg_Fire
-ovl_En_Fire_Rock
-ovl_En_Firefly
-ovl_En_Fish
-ovl_En_Floormas
-ovl_En_Fr
-ovl_En_Fu
-ovl_En_Fw
-ovl_En_Fz
-ovl_En_G_Switch
-ovl_En_Ganon_Mant
-ovl_En_Ganon_Organ
-ovl_En_Gb
-ovl_En_Ge1
-ovl_En_Ge2
-ovl_En_Ge3
-ovl_En_GeldB
-ovl_En_GirlA
-ovl_En_Gm
-ovl_En_Go
-ovl_En_Go2
-ovl_En_Goma
-ovl_En_Goroiwa
-ovl_En_Gs
-ovl_En_Guest
-ovl_En_Hata
-ovl_En_Heishi1
-ovl_En_Heishi2
-ovl_En_Heishi3
-ovl_En_Heishi4
-ovl_En_Hintnuts
-ovl_En_Holl
-ovl_En_Honotrap
-ovl_En_Horse
-ovl_En_Horse_Game_Check
-ovl_En_Horse_Ganon
-ovl_En_Horse_Link_Child
-ovl_En_Horse_Normal
-ovl_En_Horse_Zelda
-ovl_En_Hs
-ovl_En_Hs2
-ovl_En_Hy
-ovl_En_Ice_Hono
-ovl_En_Ik
-ovl_En_In
-ovl_En_Insect
-ovl_En_Ishi
-ovl_En_It
-ovl_En_Jj
-ovl_En_Js
-ovl_En_Jsjutan
-ovl_En_Kakasi
-ovl_En_Kakasi2
-ovl_En_Kakasi3
-ovl_En_Kanban
-ovl_En_Karebaba
-ovl_En_Ko
-ovl_En_Kusa
-ovl_En_Kz
-ovl_En_Light
-ovl_En_Lightbox
-ovl_En_M_Fire1
-ovl_En_M_Thunder
-ovl_En_Ma1
-ovl_En_Ma2
-ovl_En_Ma3
-ovl_En_Mag
-ovl_En_Mb
-ovl_En_Md
-ovl_En_Mk
-ovl_En_Mm
-ovl_En_Mm2
-ovl_En_Ms
-ovl_En_Mu
-ovl_En_Nb
-ovl_En_Niw
-ovl_En_Niw_Girl
-ovl_En_Niw_Lady
-ovl_En_Nutsball
-ovl_En_Nwc
-ovl_En_Ny
-ovl_En_OE2
-ovl_En_Okarina_Effect
-ovl_En_Okarina_Tag
-ovl_En_Okuta
-ovl_En_Ossan
-ovl_En_Owl
-ovl_En_Part
-ovl_En_Peehat
-ovl_En_Po_Desert
-ovl_En_Po_Field
-ovl_En_Po_Relay
-ovl_En_Po_Sisters
-ovl_En_Poh
-ovl_En_Pu_box
-ovl_En_Rd
-ovl_En_Reeba
-ovl_En_River_Sound
-ovl_En_Rl
-ovl_En_Rr
-ovl_En_Ru1
-ovl_En_Ru2
-ovl_En_Sa
-ovl_En_Sb
-ovl_En_Scene_Change
-ovl_En_Sda
-ovl_En_Shopnuts
-ovl_En_Si
-ovl_En_Siofuki
-ovl_En_Skb
-ovl_En_Skj
-ovl_En_Skjneedle
-ovl_En_Ssh
-ovl_En_St
-ovl_En_Sth
-ovl_En_Stream
-ovl_En_Sw
-ovl_En_Syateki_Itm
-ovl_En_Syateki_Man
-ovl_En_Syateki_Niw
-ovl_En_Ta
-ovl_En_Takara_Man
-ovl_En_Tana
-ovl_En_Tg
-ovl_En_Tite
-ovl_En_Tk
-ovl_En_Torch
-ovl_En_Torch2
-ovl_En_Toryo
-ovl_En_Tp
-ovl_En_Tr
-ovl_En_Trap
-ovl_En_Tubo_Trap
-ovl_En_Vali
-ovl_En_Vase
-ovl_En_Vb_Ball
-ovl_En_Viewer
-ovl_En_Vm
-ovl_En_Wall_Tubo
-ovl_En_Wallmas
-ovl_En_Weather_Tag
-ovl_En_Weiyer
-ovl_En_Wf
-ovl_En_Wonder_Item
-ovl_En_Wonder_Talk
-ovl_En_Wonder_Talk2
-ovl_En_Wood02
-ovl_En_Xc
-ovl_En_Yabusame_Mark
-ovl_En_Yukabyun
-ovl_En_Zf
-ovl_En_Zl1
-ovl_En_Zl2
-ovl_En_Zl3
-ovl_En_Zl4
-ovl_En_Zo
-ovl_En_fHG
-ovl_End_Title
-ovl_Fishing
-ovl_Item_B_Heart
-ovl_Item_Etcetera
-ovl_Item_Inbox
-ovl_Item_Ocarina
-ovl_Item_Shield
-ovl_Magic_Dark
-ovl_Magic_Fire
-ovl_Magic_Wind
-ovl_Mir_Ray
-ovl_Obj_Bean
-ovl_Obj_Blockstop
-ovl_Obj_Bombiwa
-ovl_Obj_Comb
-ovl_Obj_Dekujr
-ovl_Obj_Elevator
-ovl_Obj_Hamishi
-ovl_Obj_Hana
-ovl_Obj_Hsblock
-ovl_Obj_Ice_Poly
-ovl_Obj_Kibako
-ovl_Obj_Kibako2
-ovl_Obj_Lift
-ovl_Obj_Lightswitch
-ovl_Obj_Makekinsuta
-ovl_Obj_Makeoshihiki
-ovl_Obj_Mure
-ovl_Obj_Mure2
-ovl_Obj_Mure3
-ovl_Obj_Oshihiki
-ovl_Obj_Roomtimer
-ovl_Obj_Switch
-ovl_Obj_Syokudai
-ovl_Obj_Timeblock
-ovl_Obj_Tsubo
-ovl_Obj_Warp2block
-ovl_Object_Kankyo
-ovl_Oceff_Spot
-ovl_Oceff_Storm
-ovl_Oceff_Wipe
-ovl_Oceff_Wipe2
-ovl_Oceff_Wipe3
-ovl_Oceff_Wipe4
-ovl_Shot_Sun
-gameplay_keep
-gameplay_field_keep
-gameplay_dangeon_keep
-gameplay_object_exchange_static
-object_link_boy
-object_link_child
-object_box
-object_human
-object_okuta
-object_poh
-object_wallmaster
-object_dy_obj
-object_firefly
-object_dodongo
-object_fire
-object_niw
-object_tite
-object_reeba
-object_peehat
-object_kingdodongo
-object_horse
-object_zf
-object_goma
-object_zl1
-object_gol
-object_bubble
-object_dodojr
-object_torch2
-object_bl
-object_tp
-object_oA1
-object_st
-object_bw
-object_ei
-object_horse_normal
-object_oB1
-object_o_anime
-object_spot04_objects
-object_ddan_objects
-object_hidan_objects
-object_horse_ganon
-object_oA2
-object_spot00_objects
-object_mb
-object_bombf
-object_sk2
-object_oE1
-object_oE_anime
-object_oE2
-object_ydan_objects
-object_gnd
-object_am
-object_dekubaba
-object_oA3
-object_oA4
-object_oA5
-object_oA6
-object_oA7
-object_jj
-object_oA8
-object_oA9
-object_oB2
-object_oB3
-object_oB4
-object_horse_zelda
-object_opening_demo1
-object_warp1
-object_b_heart
-object_dekunuts
-object_oE3
-object_oE4
-object_menkuri_objects
-object_oE5
-object_oE6
-object_oE7
-object_oE8
-object_oE9
-object_oE10
-object_oE11
-object_oE12
-object_vali
-object_oA10
-object_oA11
-object_mizu_objects
-object_fhg
-object_ossan
-object_mori_hineri1
-object_Bb
-object_toki_objects
-object_yukabyun
-object_zl2
-object_mjin
-object_mjin_flash
-object_mjin_dark
-object_mjin_flame
-object_mjin_ice
-object_mjin_soul
-object_mjin_wind
-object_mjin_oka
-object_haka_objects
-object_spot06_objects
-object_ice_objects
-object_relay_objects
-object_mori_hineri1a
-object_mori_hineri2
-object_mori_hineri2a
-object_mori_objects
-object_mori_tex
-object_spot08_obj
-object_warp2
-object_hata
-object_bird
-object_wood02
-object_lightbox
-object_pu_box
-object_trap
-object_vase
-object_im
-object_ta
-object_tk
-object_xc
-object_vm
-object_bv
-object_hakach_objects
-object_efc_crystal_light
-object_efc_fire_ball
-object_efc_flash
-object_efc_lgt_shower
-object_efc_star_field
-object_god_lgt
-object_light_ring
-object_triforce_spot
-object_medal
-object_bdan_objects
-object_sd
-object_rd
-object_po_sisters
-object_heavy_object
-object_gndd
-object_fd
-object_du
-object_fw
-object_horse_link_child
-object_spot02_objects
-object_haka
-object_ru1
-object_syokudai
-object_fd2
-object_dh
-object_rl
-object_efc_tw
-object_demo_tre_lgt
-object_gi_key
-object_mir_ray
-object_brob
-object_gi_jewel
-object_spot09_obj
-object_spot18_obj
-object_bdoor
-object_spot17_obj
-object_shop_dungen
-object_nb
-object_mo
-object_sb
-object_gi_melody
-object_gi_heart
-object_gi_compass
-object_gi_bosskey
-object_gi_medal
-object_gi_nuts
-object_sa
-object_gi_hearts
-object_gi_arrowcase
-object_gi_bombpouch
-object_in
-object_tr
-object_spot16_obj
-object_oE1s
-object_oE4s
-object_os_anime
-object_gi_bottle
-object_gi_stick
-object_gi_map
-object_oF1d_map
-object_ru2
-object_gi_shield_1
-object_dekujr
-object_gi_magicpot
-object_gi_bomb_1
-object_oF1s
-object_ma2
-object_gi_purse
-object_hni
-object_tw
-object_rr
-object_bxa
-object_anubice
-object_gi_gerudo
-object_gi_arrow
-object_gi_bomb_2
-object_gi_egg
-object_gi_scale
-object_gi_shield_2
-object_gi_hookshot
-object_gi_ocarina
-object_gi_milk
-object_ma1
-object_ganon
-object_sst
-object_ny
-object_fr
-object_gi_pachinko
-object_gi_boomerang
-object_gi_bow
-object_gi_glasses
-object_gi_liquid
-object_ani
-object_demo_6k
-object_gi_shield_3
-object_gi_letter
-object_spot15_obj
-object_jya_obj
-object_gi_clothes
-object_gi_bean
-object_gi_fish
-object_gi_saw
-object_gi_hammer
-object_gi_grass
-object_gi_longsword
-object_spot01_objects
-object_md
-object_km1
-object_kw1
-object_zo
-object_kz
-object_umajump
-object_masterkokiri
-object_masterkokirihead
-object_mastergolon
-object_masterzoora
-object_aob
-object_ik
-object_ahg
-object_cne
-object_gi_niwatori
-object_skj
-object_gi_bottle_letter
-object_bji
-object_bba
-object_gi_ocarina_0
-object_ds
-object_ane
-object_boj
-object_spot03_object
-object_spot07_object
-object_fz
-object_bob
-object_ge1
-object_yabusame_point
-object_gi_boots_2
-object_gi_seed
-object_gnd_magic
-object_d_elevator
-object_d_hsblock
-object_d_lift
-object_mamenoki
-object_goroiwa
-object_toryo
-object_daiku
-object_nwc
-object_blkobj
-object_gm
-object_ms
-object_hs
-object_ingate
-object_lightswitch
-object_kusa
-object_tsubo
-object_gi_gloves
-object_gi_coin
-object_kanban
-object_gjyo_objects
-object_owl
-object_mk
-object_fu
-object_gi_ki_tan_mask
-object_gi_redead_mask
-object_gi_skj_mask
-object_gi_rabit_mask
-object_gi_truth_mask
-object_ganon_objects
-object_siofuki
-object_stream
-object_mm
-object_fa
-object_os
-object_gi_eye_lotion
-object_gi_powder
-object_gi_mushroom
-object_gi_ticketstone
-object_gi_brokensword
-object_js
-object_cs
-object_gi_prescription
-object_gi_bracelet
-object_gi_soldout
-object_gi_frog
-object_mag
-object_door_gerudo
-object_gt
-object_efc_erupc
-object_zl2_anime1
-object_zl2_anime2
-object_gi_golonmask
-object_gi_zoramask
-object_gi_gerudomask
-object_ganon2
-object_ka
-object_ts
-object_zg
-object_gi_hoverboots
-object_gi_m_arrow
-object_ds2
-object_ec
-object_fish
-object_gi_sutaru
-object_gi_goddess
-object_ssh
-object_bigokuta
-object_bg
-object_spot05_objects
-object_spot12_obj
-object_bombiwa
-object_hintnuts
-object_rs
-object_spot00_break
-object_gla
-object_shopnuts
-object_geldb
-object_gr
-object_dog
-object_jya_iron
-object_jya_door
-object_spot01_objects2
-object_spot11_obj
-object_kibako2
-object_dns
-object_dnk
-object_gi_fire
-object_gi_insect
-object_gi_butterfly
-object_gi_ghost
-object_gi_soul
-object_bowl
-object_po_field
-object_demo_kekkai
-object_efc_doughnut
-object_gi_dekupouch
-object_ganon_anime1
-object_ganon_anime2
-object_ganon_anime3
-object_gi_rupy
-object_spot01_matoya
-object_spot01_matoyab
-object_po_composer
-object_mu
-object_wf
-object_skb
-object_gj
-object_geff
-object_haka_door
-object_gs
-object_ps
-object_bwall
-object_crow
-object_cow
-object_cob
-object_gi_sword_1
-object_door_killer
-object_ouke_haka
-object_timeblock
-object_zl4
-g_pn_01
-g_pn_02
-g_pn_03
-g_pn_04
-g_pn_05
-g_pn_06
-g_pn_07
-g_pn_08
-g_pn_09
-g_pn_10
-g_pn_11
-g_pn_12
-g_pn_13
-g_pn_14
-g_pn_15
-g_pn_16
-g_pn_17
-g_pn_18
-g_pn_19
-g_pn_20
-g_pn_21
-g_pn_22
-g_pn_23
-g_pn_24
-g_pn_25
-g_pn_26
-g_pn_27
-g_pn_28
-g_pn_29
-g_pn_30
-g_pn_31
-g_pn_32
-g_pn_33
-g_pn_34
-g_pn_35
-g_pn_36
-g_pn_37
-g_pn_38
-g_pn_39
-g_pn_40
-g_pn_41
-g_pn_42
-g_pn_43
-g_pn_44
-g_pn_45
-g_pn_46
-g_pn_47
-g_pn_48
-g_pn_49
-g_pn_50
-g_pn_51
-g_pn_52
-g_pn_53
-g_pn_54
-g_pn_55
-g_pn_56
-g_pn_57
-z_select_static
-nintendo_rogo_static
-title_static
-parameter_static
-vr_fine0_static
-vr_fine0_pal_static
-vr_fine1_static
-vr_fine1_pal_static
-vr_fine2_static
-vr_fine2_pal_static
-vr_fine3_static
-vr_fine3_pal_static
-vr_cloud0_static
-vr_cloud0_pal_static
-vr_cloud1_static
-vr_cloud1_pal_static
-vr_cloud2_static
-vr_cloud2_pal_static
-vr_cloud3_static
-vr_cloud3_pal_static
-vr_holy0_static
-vr_holy0_pal_static
-vr_holy1_static
-vr_holy1_pal_static
-vr_MDVR_static
-vr_MDVR_pal_static
-vr_MNVR_static
-vr_MNVR_pal_static
-vr_RUVR_static
-vr_RUVR_pal_static
-vr_LHVR_static
-vr_LHVR_pal_static
-vr_KHVR_static
-vr_KHVR_pal_static
-vr_K3VR_static
-vr_K3VR_pal_static
-vr_K4VR_static
-vr_K4VR_pal_static
-vr_K5VR_static
-vr_K5VR_pal_static
-vr_SP1a_static
-vr_SP1a_pal_static
-vr_MLVR_static
-vr_MLVR_pal_static
-vr_KKRVR_static
-vr_KKRVR_pal_static
-vr_KR3VR_static
-vr_KR3VR_pal_static
-vr_IPVR_static
-vr_IPVR_pal_static
-vr_KSVR_static
-vr_KSVR_pal_static
-vr_GLVR_static
-vr_GLVR_pal_static
-vr_ZRVR_static
-vr_ZRVR_pal_static
-vr_DGVR_static
-vr_DGVR_pal_static
-vr_ALVR_static
-vr_ALVR_pal_static
-vr_NSVR_static
-vr_NSVR_pal_static
-vr_LBVR_static
-vr_LBVR_pal_static
-vr_TTVR_static
-vr_TTVR_pal_static
-vr_FCVR_static
-vr_FCVR_pal_static
-elf_message_field
-elf_message_ydan
-ydan_scene
-ydan_room_0
-ydan_room_1
-ydan_room_2
-ydan_room_3
-ydan_room_4
-ydan_room_5
-ydan_room_6
-ydan_room_7
-ydan_room_8
-ydan_room_9
-ydan_room_10
-ydan_room_11
-ddan_scene
-ddan_room_0
-ddan_room_1
-ddan_room_2
-ddan_room_3
-ddan_room_4
-ddan_room_5
-ddan_room_6
-ddan_room_7
-ddan_room_8
-ddan_room_9
-ddan_room_10
-ddan_room_11
-ddan_room_12
-ddan_room_13
-ddan_room_14
-ddan_room_15
-ddan_room_16
-bdan_scene
-bdan_room_0
-bdan_room_1
-bdan_room_2
-bdan_room_3
-bdan_room_4
-bdan_room_5
-bdan_room_6
-bdan_room_7
-bdan_room_8
-bdan_room_9
-bdan_room_10
-bdan_room_11
-bdan_room_12
-bdan_room_13
-bdan_room_14
-bdan_room_15
-Bmori1_scene
-Bmori1_room_0
-Bmori1_room_1
-Bmori1_room_2
-Bmori1_room_3
-Bmori1_room_4
-Bmori1_room_5
-Bmori1_room_6
-Bmori1_room_7
-Bmori1_room_8
-Bmori1_room_9
-Bmori1_room_10
-Bmori1_room_11
-Bmori1_room_12
-Bmori1_room_13
-Bmori1_room_14
-Bmori1_room_15
-Bmori1_room_16
-Bmori1_room_17
-Bmori1_room_18
-Bmori1_room_19
-Bmori1_room_20
-Bmori1_room_21
-Bmori1_room_22
-HIDAN_scene
-HIDAN_room_0
-HIDAN_room_1
-HIDAN_room_2
-HIDAN_room_3
-HIDAN_room_4
-HIDAN_room_5
-HIDAN_room_6
-HIDAN_room_7
-HIDAN_room_8
-HIDAN_room_9
-HIDAN_room_10
-HIDAN_room_11
-HIDAN_room_12
-HIDAN_room_13
-HIDAN_room_14
-HIDAN_room_15
-HIDAN_room_16
-HIDAN_room_17
-HIDAN_room_18
-HIDAN_room_19
-HIDAN_room_20
-HIDAN_room_21
-HIDAN_room_22
-HIDAN_room_23
-HIDAN_room_24
-HIDAN_room_25
-HIDAN_room_26
-MIZUsin_scene
-MIZUsin_room_0
-MIZUsin_room_1
-MIZUsin_room_2
-MIZUsin_room_3
-MIZUsin_room_4
-MIZUsin_room_5
-MIZUsin_room_6
-MIZUsin_room_7
-MIZUsin_room_8
-MIZUsin_room_9
-MIZUsin_room_10
-MIZUsin_room_11
-MIZUsin_room_12
-MIZUsin_room_13
-MIZUsin_room_14
-MIZUsin_room_15
-MIZUsin_room_16
-MIZUsin_room_17
-MIZUsin_room_18
-MIZUsin_room_19
-MIZUsin_room_20
-MIZUsin_room_21
-MIZUsin_room_22
-jyasinzou_scene
-jyasinzou_room_0
-jyasinzou_room_1
-jyasinzou_room_2
-jyasinzou_room_3
-jyasinzou_room_4
-jyasinzou_room_5
-jyasinzou_room_6
-jyasinzou_room_7
-jyasinzou_room_8
-jyasinzou_room_9
-jyasinzou_room_10
-jyasinzou_room_11
-jyasinzou_room_12
-jyasinzou_room_13
-jyasinzou_room_14
-jyasinzou_room_15
-jyasinzou_room_16
-jyasinzou_room_17
-jyasinzou_room_18
-jyasinzou_room_19
-jyasinzou_room_20
-jyasinzou_room_21
-jyasinzou_room_22
-jyasinzou_room_23
-jyasinzou_room_24
-jyasinzou_room_25
-jyasinzou_room_26
-jyasinzou_room_27
-jyasinzou_room_28
-HAKAdan_scene
-HAKAdan_room_0
-HAKAdan_room_1
-HAKAdan_room_2
-HAKAdan_room_3
-HAKAdan_room_4
-HAKAdan_room_5
-HAKAdan_room_6
-HAKAdan_room_7
-HAKAdan_room_8
-HAKAdan_room_9
-HAKAdan_room_10
-HAKAdan_room_11
-HAKAdan_room_12
-HAKAdan_room_13
-HAKAdan_room_14
-HAKAdan_room_15
-HAKAdan_room_16
-HAKAdan_room_17
-HAKAdan_room_18
-HAKAdan_room_19
-HAKAdan_room_20
-HAKAdan_room_21
-HAKAdan_room_22
-HAKAdanCH_scene
-HAKAdanCH_room_0
-HAKAdanCH_room_1
-HAKAdanCH_room_2
-HAKAdanCH_room_3
-HAKAdanCH_room_4
-HAKAdanCH_room_5
-HAKAdanCH_room_6
-ice_doukutu_scene
-ice_doukutu_room_0
-ice_doukutu_room_1
-ice_doukutu_room_2
-ice_doukutu_room_3
-ice_doukutu_room_4
-ice_doukutu_room_5
-ice_doukutu_room_6
-ice_doukutu_room_7
-ice_doukutu_room_8
-ice_doukutu_room_9
-ice_doukutu_room_10
-ice_doukutu_room_11
-men_scene
-men_room_0
-men_room_1
-men_room_2
-men_room_3
-men_room_4
-men_room_5
-men_room_6
-men_room_7
-men_room_8
-men_room_9
-men_room_10
-ganontika_scene
-ganontika_room_0
-ganontika_room_1
-ganontika_room_2
-ganontika_room_3
-ganontika_room_4
-ganontika_room_5
-ganontika_room_6
-ganontika_room_7
-ganontika_room_8
-ganontika_room_9
-ganontika_room_10
-ganontika_room_11
-ganontika_room_12
-ganontika_room_13
-ganontika_room_14
-ganontika_room_15
-ganontika_room_16
-ganontika_room_17
-ganontika_room_18
-ganontika_room_19
-spot00_scene
-spot00_room_0
-spot01_scene
-spot01_room_0
-spot02_scene
-spot02_room_0
-spot02_room_1
-spot03_scene
-spot03_room_0
-spot03_room_1
-spot04_scene
-spot04_room_0
-spot04_room_1
-spot04_room_2
-spot05_scene
-spot05_room_0
-spot06_scene
-spot06_room_0
-spot07_scene
-spot07_room_0
-spot07_room_1
-spot08_scene
-spot08_room_0
-spot09_scene
-spot09_room_0
-spot10_scene
-spot10_room_0
-spot10_room_1
-spot10_room_2
-spot10_room_3
-spot10_room_4
-spot10_room_5
-spot10_room_6
-spot10_room_7
-spot10_room_8
-spot10_room_9
-spot11_scene
-spot11_room_0
-spot12_scene
-spot12_room_0
-spot12_room_1
-spot13_scene
-spot13_room_0
-spot13_room_1
-spot15_scene
-spot15_room_0
-spot16_scene
-spot16_room_0
-spot17_scene
-spot17_room_0
-spot17_room_1
-spot18_scene
-spot18_room_0
-spot18_room_1
-spot18_room_2
-spot18_room_3
-market_day_scene
-market_day_room_0
-market_night_scene
-market_night_room_0
-kenjyanoma_scene
-kenjyanoma_room_0
-tokinoma_scene
-tokinoma_room_0
-tokinoma_room_1
-link_home_scene
-link_home_room_0
-kokiri_shop_scene
-kokiri_shop_room_0
-kokiri_home_scene
-kokiri_home_room_0
-kakusiana_scene
-kakusiana_room_0
-kakusiana_room_1
-kakusiana_room_2
-kakusiana_room_3
-kakusiana_room_4
-kakusiana_room_5
-kakusiana_room_6
-kakusiana_room_7
-kakusiana_room_8
-kakusiana_room_9
-kakusiana_room_10
-kakusiana_room_11
-kakusiana_room_12
-kakusiana_room_13
-entra_scene
-entra_room_0
-moribossroom_scene
-moribossroom_room_0
-moribossroom_room_1
-syatekijyou_scene
-syatekijyou_room_0
-shop1_scene
-shop1_room_0
-hairal_niwa_scene
-hairal_niwa_room_0
-ganon_tou_scene
-ganon_tou_room_0
-market_alley_scene
-market_alley_room_0
-spot20_scene
-spot20_room_0
-market_ruins_scene
-market_ruins_room_0
-entra_n_scene
-entra_n_room_0
-enrui_scene
-enrui_room_0
-market_alley_n_scene
-market_alley_n_room_0
-hiral_demo_scene
-hiral_demo_room_0
-kokiri_home3_scene
-kokiri_home3_room_0
-malon_stable_scene
-malon_stable_room_0
-kakariko_scene
-kakariko_room_0
-bdan_boss_scene
-bdan_boss_room_0
-bdan_boss_room_1
-FIRE_bs_scene
-FIRE_bs_room_0
-FIRE_bs_room_1
-hut_scene
-hut_room_0
-daiyousei_izumi_scene
-daiyousei_izumi_room_0
-hakaana_scene
-hakaana_room_0
-yousei_izumi_tate_scene
-yousei_izumi_tate_room_0
-yousei_izumi_yoko_scene
-yousei_izumi_yoko_room_0
-golon_scene
-golon_room_0
-zoora_scene
-zoora_room_0
-drag_scene
-drag_room_0
-alley_shop_scene
-alley_shop_room_0
-night_shop_scene
-night_shop_room_0
-impa_scene
-impa_room_0
-labo_scene
-labo_room_0
-tent_scene
-tent_room_0
-nakaniwa_scene
-nakaniwa_room_0
-ddan_boss_scene
-ddan_boss_room_0
-ddan_boss_room_1
-ydan_boss_scene
-ydan_boss_room_0
-ydan_boss_room_1
-HAKAdan_bs_scene
-HAKAdan_bs_room_0
-HAKAdan_bs_room_1
-MIZUsin_bs_scene
-MIZUsin_bs_room_0
-MIZUsin_bs_room_1
-ganon_scene
-ganon_room_0
-ganon_room_1
-ganon_room_2
-ganon_room_3
-ganon_room_4
-ganon_room_5
-ganon_room_6
-ganon_room_7
-ganon_room_8
-ganon_room_9
-ganon_boss_scene
-ganon_boss_room_0
-jyasinboss_scene
-jyasinboss_room_0
-jyasinboss_room_1
-jyasinboss_room_2
-jyasinboss_room_3
-kokiri_home4_scene
-kokiri_home4_room_0
-kokiri_home5_scene
-kokiri_home5_room_0
-ganon_final_scene
-ganon_final_room_0
-kakariko3_scene
-kakariko3_room_0
-hakasitarelay_scene
-hakasitarelay_room_0
-hakasitarelay_room_1
-hakasitarelay_room_2
-hakasitarelay_room_3
-hakasitarelay_room_4
-hakasitarelay_room_5
-hakasitarelay_room_6
-shrine_scene
-shrine_room_0
-turibori_scene
-turibori_room_0
-shrine_n_scene
-shrine_n_room_0
-shrine_r_scene
-shrine_r_room_0
-hakaana2_scene
-hakaana2_room_0
-gerudoway_scene
-gerudoway_room_0
-gerudoway_room_1
-gerudoway_room_2
-gerudoway_room_3
-gerudoway_room_4
-gerudoway_room_5
-hairal_niwa_n_scene
-hairal_niwa_n_room_0
-bowling_scene
-bowling_room_0
-hakaana_ouke_scene
-hakaana_ouke_room_0
-hakaana_ouke_room_1
-hakaana_ouke_room_2
-hylia_labo_scene
-hylia_labo_room_0
-souko_scene
-souko_room_0
-souko_room_1
-souko_room_2
-miharigoya_scene
-miharigoya_room_0
-mahouya_scene
-mahouya_room_0
-takaraya_scene
-takaraya_room_0
-takaraya_room_1
-takaraya_room_2
-takaraya_room_3
-takaraya_room_4
-takaraya_room_5
-takaraya_room_6
-ganon_sonogo_scene
-ganon_sonogo_room_0
-ganon_sonogo_room_1
-ganon_sonogo_room_2
-ganon_sonogo_room_3
-ganon_sonogo_room_4
-ganon_demo_scene
-ganon_demo_room_0
-face_shop_scene
-face_shop_room_0
-kinsuta_scene
-kinsuta_room_0
-ganontikasonogo_scene
-ganontikasonogo_room_0
-ganontikasonogo_room_1
-bump_texture_static
-anime_model_1_static
-anime_model_2_static
-anime_model_3_static
-anime_model_4_static
-anime_model_5_static
-anime_model_6_static
-anime_texture_1_static
-anime_texture_2_static
-anime_texture_3_static
-anime_texture_4_static
-anime_texture_5_static
-anime_texture_6_static
-softsprite_matrix_static
diff --git a/baseroms/gc-eu/dmadata_start.txt b/baseroms/gc-eu/dmadata_start.txt
deleted file mode 100644
index 08515b6d6..000000000
--- a/baseroms/gc-eu/dmadata_start.txt
+++ /dev/null
@@ -1 +0,0 @@
-0x07170
diff --git a/baseroms/hackeroot-mq/config.yml b/baseroms/hackeroot-mq/config.yml
index add24c911..52f36a53b 100644
--- a/baseroms/hackeroot-mq/config.yml
+++ b/baseroms/hackeroot-mq/config.yml
@@ -5,3 +5,1189 @@ variables:
sGerMessageEntryTable: 0x8014F548
sFraMessageEntryTable: 0x80151658
sStaffMessageEntryTable: 0x80153768
+ sShadowTex: 0x80A8E610
+assets:
+- name: code/fbdemo_circle
+ xml_path: assets/xml/code/fbdemo_circle.xml
+ start_offset: 0x10ED48
+ end_offset: 0x10FF68
+- name: code/fbdemo_triforce
+ xml_path: assets/xml/code/fbdemo_triforce.xml
+ start_offset: 0x10E1D0
+ end_offset: 0x10E2A0
+- name: code/fbdemo_wipe1
+ xml_path: assets/xml/code/fbdemo_wipe1.xml
+ start_offset: 0x10E2A0
+ end_offset: 0x10EC30
+- name: misc/link_animetion
+ xml_path: assets/xml/misc/link_animetion.xml
+- name: misc/z_select_static
+ xml_path: assets/xml/misc/z_select_static.xml
+- name: objects/gameplay_dangeon_keep
+ xml_path: assets/xml/objects/gameplay_dangeon_keep.xml
+- name: objects/gameplay_field_keep
+ xml_path: assets/xml/objects/gameplay_field_keep.xml
+- name: objects/gameplay_keep
+ xml_path: assets/xml/objects/gameplay_keep.xml
+- name: objects/object_ahg
+ xml_path: assets/xml/objects/object_ahg.xml
+- name: objects/object_am
+ xml_path: assets/xml/objects/object_am.xml
+- name: objects/object_ane
+ xml_path: assets/xml/objects/object_ane.xml
+- name: objects/object_ani
+ xml_path: assets/xml/objects/object_ani.xml
+- name: objects/object_anubice
+ xml_path: assets/xml/objects/object_anubice.xml
+- name: objects/object_aob
+ xml_path: assets/xml/objects/object_aob.xml
+- name: objects/object_b_heart
+ xml_path: assets/xml/objects/object_b_heart.xml
+- name: objects/object_Bb
+ xml_path: assets/xml/objects/object_Bb.xml
+- name: objects/object_bba
+ xml_path: assets/xml/objects/object_bba.xml
+- name: objects/object_bdan_objects
+ xml_path: assets/xml/objects/object_bdan_objects.xml
+- name: objects/object_bdoor
+ xml_path: assets/xml/objects/object_bdoor.xml
+- name: objects/object_bg
+ xml_path: assets/xml/objects/object_bg.xml
+- name: objects/object_bigokuta
+ xml_path: assets/xml/objects/object_bigokuta.xml
+- name: objects/object_bird
+ xml_path: assets/xml/objects/object_bird.xml
+- name: objects/object_bji
+ xml_path: assets/xml/objects/object_bji.xml
+- name: objects/object_bl
+ xml_path: assets/xml/objects/object_bl.xml
+- name: objects/object_blkobj
+ xml_path: assets/xml/objects/object_blkobj.xml
+- name: objects/object_bob
+ xml_path: assets/xml/objects/object_bob.xml
+- name: objects/object_boj
+ xml_path: assets/xml/objects/object_boj.xml
+- name: objects/object_bombf
+ xml_path: assets/xml/objects/object_bombf.xml
+- name: objects/object_bombiwa
+ xml_path: assets/xml/objects/object_bombiwa.xml
+- name: objects/object_bowl
+ xml_path: assets/xml/objects/object_bowl.xml
+- name: objects/object_box
+ xml_path: assets/xml/objects/object_box.xml
+- name: objects/object_brob
+ xml_path: assets/xml/objects/object_brob.xml
+- name: objects/object_bubble
+ xml_path: assets/xml/objects/object_bubble.xml
+- name: objects/object_bv
+ xml_path: assets/xml/objects/object_bv.xml
+- name: objects/object_bw
+ xml_path: assets/xml/objects/object_bw.xml
+- name: objects/object_bwall
+ xml_path: assets/xml/objects/object_bwall.xml
+- name: objects/object_bxa
+ xml_path: assets/xml/objects/object_bxa.xml
+- name: objects/object_cne
+ xml_path: assets/xml/objects/object_cne.xml
+- name: objects/object_cob
+ xml_path: assets/xml/objects/object_cob.xml
+- name: objects/object_cow
+ xml_path: assets/xml/objects/object_cow.xml
+- name: objects/object_crow
+ xml_path: assets/xml/objects/object_crow.xml
+- name: objects/object_cs
+ xml_path: assets/xml/objects/object_cs.xml
+- name: objects/object_d_elevator
+ xml_path: assets/xml/objects/object_d_elevator.xml
+- name: objects/object_d_hsblock
+ xml_path: assets/xml/objects/object_d_hsblock.xml
+- name: objects/object_d_lift
+ xml_path: assets/xml/objects/object_d_lift.xml
+- name: objects/object_daiku
+ xml_path: assets/xml/objects/object_daiku.xml
+- name: objects/object_ddan_objects
+ xml_path: assets/xml/objects/object_ddan_objects.xml
+- name: objects/object_dekubaba
+ xml_path: assets/xml/objects/object_dekubaba.xml
+- name: objects/object_dekujr
+ xml_path: assets/xml/objects/object_dekujr.xml
+- name: objects/object_dekunuts
+ xml_path: assets/xml/objects/object_dekunuts.xml
+- name: objects/object_demo_6k
+ xml_path: assets/xml/objects/object_demo_6k.xml
+- name: objects/object_demo_kekkai
+ xml_path: assets/xml/objects/object_demo_kekkai.xml
+- name: objects/object_demo_tre_lgt
+ xml_path: assets/xml/objects/object_demo_tre_lgt.xml
+- name: objects/object_dh
+ xml_path: assets/xml/objects/object_dh.xml
+- name: objects/object_dnk
+ xml_path: assets/xml/objects/object_dnk.xml
+- name: objects/object_dns
+ xml_path: assets/xml/objects/object_dns.xml
+- name: objects/object_dodojr
+ xml_path: assets/xml/objects/object_dodojr.xml
+- name: objects/object_dodongo
+ xml_path: assets/xml/objects/object_dodongo.xml
+- name: objects/object_dog
+ xml_path: assets/xml/objects/object_dog.xml
+- name: objects/object_door_gerudo
+ xml_path: assets/xml/objects/object_door_gerudo.xml
+- name: objects/object_door_killer
+ xml_path: assets/xml/objects/object_door_killer.xml
+- name: objects/object_ds
+ xml_path: assets/xml/objects/object_ds.xml
+- name: objects/object_ds2
+ xml_path: assets/xml/objects/object_ds2.xml
+- name: objects/object_du
+ xml_path: assets/xml/objects/object_du.xml
+- name: objects/object_dy_obj
+ xml_path: assets/xml/objects/object_dy_obj.xml
+- name: objects/object_ec
+ xml_path: assets/xml/objects/object_ec.xml
+- name: objects/object_efc_crystal_light
+ xml_path: assets/xml/objects/object_efc_crystal_light.xml
+- name: objects/object_efc_doughnut
+ xml_path: assets/xml/objects/object_efc_doughnut.xml
+- name: objects/object_efc_erupc
+ xml_path: assets/xml/objects/object_efc_erupc.xml
+- name: objects/object_efc_fire_ball
+ xml_path: assets/xml/objects/object_efc_fire_ball.xml
+- name: objects/object_efc_flash
+ xml_path: assets/xml/objects/object_efc_flash.xml
+- name: objects/object_efc_lgt_shower
+ xml_path: assets/xml/objects/object_efc_lgt_shower.xml
+- name: objects/object_efc_star_field
+ xml_path: assets/xml/objects/object_efc_star_field.xml
+- name: objects/object_efc_tw
+ xml_path: assets/xml/objects/object_efc_tw.xml
+- name: objects/object_ei
+ xml_path: assets/xml/objects/object_ei.xml
+- name: objects/object_fa
+ xml_path: assets/xml/objects/object_fa.xml
+- name: objects/object_fd
+ xml_path: assets/xml/objects/object_fd.xml
+- name: objects/object_fd2
+ xml_path: assets/xml/objects/object_fd2.xml
+- name: objects/object_fhg
+ xml_path: assets/xml/objects/object_fhg.xml
+- name: objects/object_fire
+ xml_path: assets/xml/objects/object_fire.xml
+- name: objects/object_firefly
+ xml_path: assets/xml/objects/object_firefly.xml
+- name: objects/object_fish
+ xml_path: assets/xml/objects/object_fish.xml
+- name: objects/object_fr
+ xml_path: assets/xml/objects/object_fr.xml
+- name: objects/object_fu
+ xml_path: assets/xml/objects/object_fu.xml
+- name: objects/object_fw
+ xml_path: assets/xml/objects/object_fw.xml
+- name: objects/object_fz
+ xml_path: assets/xml/objects/object_fz.xml
+- name: objects/object_ganon
+ xml_path: assets/xml/objects/object_ganon.xml
+- name: objects/object_ganon2
+ xml_path: assets/xml/objects/object_ganon2.xml
+- name: objects/object_ganon_anime1
+ xml_path: assets/xml/objects/object_ganon_anime1.xml
+- name: objects/object_ganon_anime2
+ xml_path: assets/xml/objects/object_ganon_anime2.xml
+- name: objects/object_ganon_anime3
+ xml_path: assets/xml/objects/object_ganon_anime3.xml
+- name: objects/object_ganon_objects
+ xml_path: assets/xml/objects/object_ganon_objects.xml
+- name: objects/object_ge1
+ xml_path: assets/xml/objects/object_ge1.xml
+- name: objects/object_geff
+ xml_path: assets/xml/objects/object_geff.xml
+- name: objects/object_geldb
+ xml_path: assets/xml/objects/object_geldb.xml
+- name: objects/object_gi_arrow
+ xml_path: assets/xml/objects/object_gi_arrow.xml
+- name: objects/object_gi_arrowcase
+ xml_path: assets/xml/objects/object_gi_arrowcase.xml
+- name: objects/object_gi_bean
+ xml_path: assets/xml/objects/object_gi_bean.xml
+- name: objects/object_gi_bomb_1
+ xml_path: assets/xml/objects/object_gi_bomb_1.xml
+- name: objects/object_gi_bomb_2
+ xml_path: assets/xml/objects/object_gi_bomb_2.xml
+- name: objects/object_gi_bombpouch
+ xml_path: assets/xml/objects/object_gi_bombpouch.xml
+- name: objects/object_gi_boomerang
+ xml_path: assets/xml/objects/object_gi_boomerang.xml
+- name: objects/object_gi_boots_2
+ xml_path: assets/xml/objects/object_gi_boots_2.xml
+- name: objects/object_gi_bosskey
+ xml_path: assets/xml/objects/object_gi_bosskey.xml
+- name: objects/object_gi_bottle
+ xml_path: assets/xml/objects/object_gi_bottle.xml
+- name: objects/object_gi_bottle_letter
+ xml_path: assets/xml/objects/object_gi_bottle_letter.xml
+- name: objects/object_gi_bow
+ xml_path: assets/xml/objects/object_gi_bow.xml
+- name: objects/object_gi_bracelet
+ xml_path: assets/xml/objects/object_gi_bracelet.xml
+- name: objects/object_gi_brokensword
+ xml_path: assets/xml/objects/object_gi_brokensword.xml
+- name: objects/object_gi_butterfly
+ xml_path: assets/xml/objects/object_gi_butterfly.xml
+- name: objects/object_gi_clothes
+ xml_path: assets/xml/objects/object_gi_clothes.xml
+- name: objects/object_gi_coin
+ xml_path: assets/xml/objects/object_gi_coin.xml
+- name: objects/object_gi_compass
+ xml_path: assets/xml/objects/object_gi_compass.xml
+- name: objects/object_gi_dekupouch
+ xml_path: assets/xml/objects/object_gi_dekupouch.xml
+- name: objects/object_gi_egg
+ xml_path: assets/xml/objects/object_gi_egg.xml
+- name: objects/object_gi_eye_lotion
+ xml_path: assets/xml/objects/object_gi_eye_lotion.xml
+- name: objects/object_gi_fire
+ xml_path: assets/xml/objects/object_gi_fire.xml
+- name: objects/object_gi_fish
+ xml_path: assets/xml/objects/object_gi_fish.xml
+- name: objects/object_gi_frog
+ xml_path: assets/xml/objects/object_gi_frog.xml
+- name: objects/object_gi_gerudo
+ xml_path: assets/xml/objects/object_gi_gerudo.xml
+- name: objects/object_gi_gerudomask
+ xml_path: assets/xml/objects/object_gi_gerudomask.xml
+- name: objects/object_gi_ghost
+ xml_path: assets/xml/objects/object_gi_ghost.xml
+- name: objects/object_gi_glasses
+ xml_path: assets/xml/objects/object_gi_glasses.xml
+- name: objects/object_gi_gloves
+ xml_path: assets/xml/objects/object_gi_gloves.xml
+- name: objects/object_gi_goddess
+ xml_path: assets/xml/objects/object_gi_goddess.xml
+- name: objects/object_gi_golonmask
+ xml_path: assets/xml/objects/object_gi_golonmask.xml
+- name: objects/object_gi_grass
+ xml_path: assets/xml/objects/object_gi_grass.xml
+- name: objects/object_gi_hammer
+ xml_path: assets/xml/objects/object_gi_hammer.xml
+- name: objects/object_gi_heart
+ xml_path: assets/xml/objects/object_gi_heart.xml
+- name: objects/object_gi_hearts
+ xml_path: assets/xml/objects/object_gi_hearts.xml
+- name: objects/object_gi_hookshot
+ xml_path: assets/xml/objects/object_gi_hookshot.xml
+- name: objects/object_gi_hoverboots
+ xml_path: assets/xml/objects/object_gi_hoverboots.xml
+- name: objects/object_gi_insect
+ xml_path: assets/xml/objects/object_gi_insect.xml
+- name: objects/object_gi_jewel
+ xml_path: assets/xml/objects/object_gi_jewel.xml
+- name: objects/object_gi_key
+ xml_path: assets/xml/objects/object_gi_key.xml
+- name: objects/object_gi_ki_tan_mask
+ xml_path: assets/xml/objects/object_gi_ki_tan_mask.xml
+- name: objects/object_gi_letter
+ xml_path: assets/xml/objects/object_gi_letter.xml
+- name: objects/object_gi_liquid
+ xml_path: assets/xml/objects/object_gi_liquid.xml
+- name: objects/object_gi_longsword
+ xml_path: assets/xml/objects/object_gi_longsword.xml
+- name: objects/object_gi_m_arrow
+ xml_path: assets/xml/objects/object_gi_m_arrow.xml
+- name: objects/object_gi_magicpot
+ xml_path: assets/xml/objects/object_gi_magicpot.xml
+- name: objects/object_gi_map
+ xml_path: assets/xml/objects/object_gi_map.xml
+- name: objects/object_gi_medal
+ xml_path: assets/xml/objects/object_gi_medal.xml
+- name: objects/object_gi_melody
+ xml_path: assets/xml/objects/object_gi_melody.xml
+- name: objects/object_gi_milk
+ xml_path: assets/xml/objects/object_gi_milk.xml
+- name: objects/object_gi_mushroom
+ xml_path: assets/xml/objects/object_gi_mushroom.xml
+- name: objects/object_gi_niwatori
+ xml_path: assets/xml/objects/object_gi_niwatori.xml
+- name: objects/object_gi_nuts
+ xml_path: assets/xml/objects/object_gi_nuts.xml
+- name: objects/object_gi_ocarina
+ xml_path: assets/xml/objects/object_gi_ocarina.xml
+- name: objects/object_gi_ocarina_0
+ xml_path: assets/xml/objects/object_gi_ocarina_0.xml
+- name: objects/object_gi_pachinko
+ xml_path: assets/xml/objects/object_gi_pachinko.xml
+- name: objects/object_gi_powder
+ xml_path: assets/xml/objects/object_gi_powder.xml
+- name: objects/object_gi_prescription
+ xml_path: assets/xml/objects/object_gi_prescription.xml
+- name: objects/object_gi_purse
+ xml_path: assets/xml/objects/object_gi_purse.xml
+- name: objects/object_gi_rabit_mask
+ xml_path: assets/xml/objects/object_gi_rabit_mask.xml
+- name: objects/object_gi_redead_mask
+ xml_path: assets/xml/objects/object_gi_redead_mask.xml
+- name: objects/object_gi_rupy
+ xml_path: assets/xml/objects/object_gi_rupy.xml
+- name: objects/object_gi_saw
+ xml_path: assets/xml/objects/object_gi_saw.xml
+- name: objects/object_gi_scale
+ xml_path: assets/xml/objects/object_gi_scale.xml
+- name: objects/object_gi_seed
+ xml_path: assets/xml/objects/object_gi_seed.xml
+- name: objects/object_gi_shield_1
+ xml_path: assets/xml/objects/object_gi_shield_1.xml
+- name: objects/object_gi_shield_2
+ xml_path: assets/xml/objects/object_gi_shield_2.xml
+- name: objects/object_gi_shield_3
+ xml_path: assets/xml/objects/object_gi_shield_3.xml
+- name: objects/object_gi_skj_mask
+ xml_path: assets/xml/objects/object_gi_skj_mask.xml
+- name: objects/object_gi_soldout
+ xml_path: assets/xml/objects/object_gi_soldout.xml
+- name: objects/object_gi_soul
+ xml_path: assets/xml/objects/object_gi_soul.xml
+- name: objects/object_gi_stick
+ xml_path: assets/xml/objects/object_gi_stick.xml
+- name: objects/object_gi_sutaru
+ xml_path: assets/xml/objects/object_gi_sutaru.xml
+- name: objects/object_gi_sword_1
+ xml_path: assets/xml/objects/object_gi_sword_1.xml
+- name: objects/object_gi_ticketstone
+ xml_path: assets/xml/objects/object_gi_ticketstone.xml
+- name: objects/object_gi_truth_mask
+ xml_path: assets/xml/objects/object_gi_truth_mask.xml
+- name: objects/object_gi_zoramask
+ xml_path: assets/xml/objects/object_gi_zoramask.xml
+- name: objects/object_gj
+ xml_path: assets/xml/objects/object_gj.xml
+- name: objects/object_gjyo_objects
+ xml_path: assets/xml/objects/object_gjyo_objects.xml
+- name: objects/object_gla
+ xml_path: assets/xml/objects/object_gla.xml
+- name: objects/object_gm
+ xml_path: assets/xml/objects/object_gm.xml
+- name: objects/object_gnd
+ xml_path: assets/xml/objects/object_gnd.xml
+- name: objects/object_gnd_magic
+ xml_path: assets/xml/objects/object_gnd_magic.xml
+- name: objects/object_gndd
+ xml_path: assets/xml/objects/object_gndd.xml
+- name: objects/object_god_lgt
+ xml_path: assets/xml/objects/object_god_lgt.xml
+- name: objects/object_gol
+ xml_path: assets/xml/objects/object_gol.xml
+- name: objects/object_goma
+ xml_path: assets/xml/objects/object_goma.xml
+- name: objects/object_goroiwa
+ xml_path: assets/xml/objects/object_goroiwa.xml
+- name: objects/object_gr
+ xml_path: assets/xml/objects/object_gr.xml
+- name: objects/object_gs
+ xml_path: assets/xml/objects/object_gs.xml
+- name: objects/object_gt
+ xml_path: assets/xml/objects/object_gt.xml
+- name: objects/object_haka
+ xml_path: assets/xml/objects/object_haka.xml
+- name: objects/object_haka_door
+ xml_path: assets/xml/objects/object_haka_door.xml
+- name: objects/object_haka_objects
+ xml_path: assets/xml/objects/object_haka_objects.xml
+- name: objects/object_hakach_objects
+ xml_path: assets/xml/objects/object_hakach_objects.xml
+- name: objects/object_hata
+ xml_path: assets/xml/objects/object_hata.xml
+- name: objects/object_heavy_object
+ xml_path: assets/xml/objects/object_heavy_object.xml
+- name: objects/object_hidan_objects
+ xml_path: assets/xml/objects/object_hidan_objects.xml
+- name: objects/object_hintnuts
+ xml_path: assets/xml/objects/object_hintnuts.xml
+- name: objects/object_hni
+ xml_path: assets/xml/objects/object_hni.xml
+- name: objects/object_horse
+ xml_path: assets/xml/objects/object_horse.xml
+- name: objects/object_horse_ganon
+ xml_path: assets/xml/objects/object_horse_ganon.xml
+- name: objects/object_horse_link_child
+ xml_path: assets/xml/objects/object_horse_link_child.xml
+- name: objects/object_horse_normal
+ xml_path: assets/xml/objects/object_horse_normal.xml
+- name: objects/object_horse_zelda
+ xml_path: assets/xml/objects/object_horse_zelda.xml
+- name: objects/object_hs
+ xml_path: assets/xml/objects/object_hs.xml
+- name: objects/object_human
+ xml_path: assets/xml/objects/object_human.xml
+- name: objects/object_ice_objects
+ xml_path: assets/xml/objects/object_ice_objects.xml
+- name: objects/object_ik
+ xml_path: assets/xml/objects/object_ik.xml
+- name: objects/object_im
+ xml_path: assets/xml/objects/object_im.xml
+- name: objects/object_in
+ xml_path: assets/xml/objects/object_in.xml
+- name: objects/object_ingate
+ xml_path: assets/xml/objects/object_ingate.xml
+- name: objects/object_jj
+ xml_path: assets/xml/objects/object_jj.xml
+- name: objects/object_js
+ xml_path: assets/xml/objects/object_js.xml
+- name: objects/object_jya_door
+ xml_path: assets/xml/objects/object_jya_door.xml
+- name: objects/object_jya_iron
+ xml_path: assets/xml/objects/object_jya_iron.xml
+- name: objects/object_jya_obj
+ xml_path: assets/xml/objects/object_jya_obj.xml
+- name: objects/object_ka
+ xml_path: assets/xml/objects/object_ka.xml
+- name: objects/object_kanban
+ xml_path: assets/xml/objects/object_kanban.xml
+- name: objects/object_kibako2
+ xml_path: assets/xml/objects/object_kibako2.xml
+- name: objects/object_kingdodongo
+ xml_path: assets/xml/objects/object_kingdodongo.xml
+- name: objects/object_km1
+ xml_path: assets/xml/objects/object_km1.xml
+- name: objects/object_kusa
+ xml_path: assets/xml/objects/object_kusa.xml
+- name: objects/object_kw1
+ xml_path: assets/xml/objects/object_kw1.xml
+- name: objects/object_kz
+ xml_path: assets/xml/objects/object_kz.xml
+- name: objects/object_light_ring
+ xml_path: assets/xml/objects/object_light_ring.xml
+- name: objects/object_lightbox
+ xml_path: assets/xml/objects/object_lightbox.xml
+- name: objects/object_lightswitch
+ xml_path: assets/xml/objects/object_lightswitch.xml
+- name: objects/object_link_boy
+ xml_path: assets/xml/objects/object_link_boy.xml
+- name: objects/object_link_child
+ xml_path: assets/xml/objects/object_link_child.xml
+- name: objects/object_ma1
+ xml_path: assets/xml/objects/object_ma1.xml
+- name: objects/object_ma2
+ xml_path: assets/xml/objects/object_ma2.xml
+- name: objects/object_mag
+ xml_path: assets/xml/objects/object_mag_mq.xml
+- name: objects/object_mamenoki
+ xml_path: assets/xml/objects/object_mamenoki.xml
+- name: objects/object_mastergolon
+ xml_path: assets/xml/objects/object_mastergolon.xml
+- name: objects/object_masterkokiri
+ xml_path: assets/xml/objects/object_masterkokiri.xml
+- name: objects/object_masterkokirihead
+ xml_path: assets/xml/objects/object_masterkokirihead.xml
+- name: objects/object_masterzoora
+ xml_path: assets/xml/objects/object_masterzoora.xml
+- name: objects/object_mb
+ xml_path: assets/xml/objects/object_mb.xml
+- name: objects/object_md
+ xml_path: assets/xml/objects/object_md.xml
+- name: objects/object_medal
+ xml_path: assets/xml/objects/object_medal.xml
+- name: objects/object_menkuri_objects
+ xml_path: assets/xml/objects/object_menkuri_objects.xml
+- name: objects/object_mir_ray
+ xml_path: assets/xml/objects/object_mir_ray.xml
+- name: objects/object_mizu_objects
+ xml_path: assets/xml/objects/object_mizu_objects.xml
+- name: objects/object_mjin
+ xml_path: assets/xml/objects/object_mjin.xml
+- name: objects/object_mjin_dark
+ xml_path: assets/xml/objects/object_mjin_dark.xml
+- name: objects/object_mjin_flame
+ xml_path: assets/xml/objects/object_mjin_flame.xml
+- name: objects/object_mjin_flash
+ xml_path: assets/xml/objects/object_mjin_flash.xml
+- name: objects/object_mjin_ice
+ xml_path: assets/xml/objects/object_mjin_ice.xml
+- name: objects/object_mjin_oka
+ xml_path: assets/xml/objects/object_mjin_oka.xml
+- name: objects/object_mjin_soul
+ xml_path: assets/xml/objects/object_mjin_soul.xml
+- name: objects/object_mjin_wind
+ xml_path: assets/xml/objects/object_mjin_wind.xml
+- name: objects/object_mk
+ xml_path: assets/xml/objects/object_mk.xml
+- name: objects/object_mm
+ xml_path: assets/xml/objects/object_mm.xml
+- name: objects/object_mo
+ xml_path: assets/xml/objects/object_mo.xml
+- name: objects/object_mori_hineri1
+ xml_path: assets/xml/objects/object_mori_hineri1.xml
+- name: objects/object_mori_hineri1a
+ xml_path: assets/xml/objects/object_mori_hineri1a.xml
+- name: objects/object_mori_hineri2
+ xml_path: assets/xml/objects/object_mori_hineri2.xml
+- name: objects/object_mori_hineri2a
+ xml_path: assets/xml/objects/object_mori_hineri2a.xml
+- name: objects/object_mori_objects
+ xml_path: assets/xml/objects/object_mori_objects.xml
+- name: objects/object_mori_tex
+ xml_path: assets/xml/objects/object_mori_tex.xml
+- name: objects/object_ms
+ xml_path: assets/xml/objects/object_ms.xml
+- name: objects/object_mu
+ xml_path: assets/xml/objects/object_mu.xml
+- name: objects/object_nb
+ xml_path: assets/xml/objects/object_nb.xml
+- name: objects/object_niw
+ xml_path: assets/xml/objects/object_niw.xml
+- name: objects/object_nwc
+ xml_path: assets/xml/objects/object_nwc.xml
+- name: objects/object_ny
+ xml_path: assets/xml/objects/object_ny.xml
+- name: objects/object_o_anime
+ xml_path: assets/xml/objects/object_o_anime.xml
+- name: objects/object_oA1
+ xml_path: assets/xml/objects/object_oA1.xml
+- name: objects/object_oA2
+ xml_path: assets/xml/objects/object_oA2.xml
+- name: objects/object_oA3
+ xml_path: assets/xml/objects/object_oA3.xml
+- name: objects/object_oA4
+ xml_path: assets/xml/objects/object_oA4.xml
+- name: objects/object_oA5
+ xml_path: assets/xml/objects/object_oA5.xml
+- name: objects/object_oA6
+ xml_path: assets/xml/objects/object_oA6.xml
+- name: objects/object_oA7
+ xml_path: assets/xml/objects/object_oA7.xml
+- name: objects/object_oA8
+ xml_path: assets/xml/objects/object_oA8.xml
+- name: objects/object_oA9
+ xml_path: assets/xml/objects/object_oA9.xml
+- name: objects/object_oA10
+ xml_path: assets/xml/objects/object_oA10.xml
+- name: objects/object_oA11
+ xml_path: assets/xml/objects/object_oA11.xml
+- name: objects/object_oB1
+ xml_path: assets/xml/objects/object_oB1.xml
+- name: objects/object_oB2
+ xml_path: assets/xml/objects/object_oB2.xml
+- name: objects/object_oB3
+ xml_path: assets/xml/objects/object_oB3.xml
+- name: objects/object_oB4
+ xml_path: assets/xml/objects/object_oB4.xml
+- name: objects/object_oE1
+ xml_path: assets/xml/objects/object_oE1.xml
+- name: objects/object_oE1s
+ xml_path: assets/xml/objects/object_oE1s.xml
+- name: objects/object_oE2
+ xml_path: assets/xml/objects/object_oE2.xml
+- name: objects/object_oE3
+ xml_path: assets/xml/objects/object_oE3.xml
+- name: objects/object_oE4
+ xml_path: assets/xml/objects/object_oE4.xml
+- name: objects/object_oE4s
+ xml_path: assets/xml/objects/object_oE4s.xml
+- name: objects/object_oE5
+ xml_path: assets/xml/objects/object_oE5.xml
+- name: objects/object_oE6
+ xml_path: assets/xml/objects/object_oE6.xml
+- name: objects/object_oE7
+ xml_path: assets/xml/objects/object_oE7.xml
+- name: objects/object_oE8
+ xml_path: assets/xml/objects/object_oE8.xml
+- name: objects/object_oE9
+ xml_path: assets/xml/objects/object_oE9.xml
+- name: objects/object_oE10
+ xml_path: assets/xml/objects/object_oE10.xml
+- name: objects/object_oE11
+ xml_path: assets/xml/objects/object_oE11.xml
+- name: objects/object_oE12
+ xml_path: assets/xml/objects/object_oE12.xml
+- name: objects/object_oE_anime
+ xml_path: assets/xml/objects/object_oE_anime.xml
+- name: objects/object_oF1d_map
+ xml_path: assets/xml/objects/object_oF1d_map.xml
+- name: objects/object_oF1s
+ xml_path: assets/xml/objects/object_oF1s.xml
+- name: objects/object_okuta
+ xml_path: assets/xml/objects/object_okuta.xml
+- name: objects/object_opening_demo1
+ xml_path: assets/xml/objects/object_opening_demo1.xml
+- name: objects/object_os
+ xml_path: assets/xml/objects/object_os.xml
+- name: objects/object_os_anime
+ xml_path: assets/xml/objects/object_os_anime.xml
+- name: objects/object_ossan
+ xml_path: assets/xml/objects/object_ossan.xml
+- name: objects/object_ouke_haka
+ xml_path: assets/xml/objects/object_ouke_haka.xml
+- name: objects/object_owl
+ xml_path: assets/xml/objects/object_owl.xml
+- name: objects/object_peehat
+ xml_path: assets/xml/objects/object_peehat.xml
+- name: objects/object_po_composer
+ xml_path: assets/xml/objects/object_po_composer.xml
+- name: objects/object_po_field
+ xml_path: assets/xml/objects/object_po_field.xml
+- name: objects/object_po_sisters
+ xml_path: assets/xml/objects/object_po_sisters.xml
+- name: objects/object_poh
+ xml_path: assets/xml/objects/object_poh.xml
+- name: objects/object_ps
+ xml_path: assets/xml/objects/object_ps.xml
+- name: objects/object_pu_box
+ xml_path: assets/xml/objects/object_pu_box.xml
+- name: objects/object_rd
+ xml_path: assets/xml/objects/object_rd.xml
+- name: objects/object_reeba
+ xml_path: assets/xml/objects/object_reeba.xml
+- name: objects/object_relay_objects
+ xml_path: assets/xml/objects/object_relay_objects.xml
+- name: objects/object_rl
+ xml_path: assets/xml/objects/object_rl.xml
+- name: objects/object_rr
+ xml_path: assets/xml/objects/object_rr.xml
+- name: objects/object_rs
+ xml_path: assets/xml/objects/object_rs.xml
+- name: objects/object_ru1
+ xml_path: assets/xml/objects/object_ru1.xml
+- name: objects/object_ru2
+ xml_path: assets/xml/objects/object_ru2.xml
+- name: objects/object_sa
+ xml_path: assets/xml/objects/object_sa.xml
+- name: objects/object_sb
+ xml_path: assets/xml/objects/object_sb.xml
+- name: objects/object_sd
+ xml_path: assets/xml/objects/object_sd.xml
+- name: objects/object_shop_dungen
+ xml_path: assets/xml/objects/object_shop_dungen.xml
+- name: objects/object_shopnuts
+ xml_path: assets/xml/objects/object_shopnuts.xml
+- name: objects/object_siofuki
+ xml_path: assets/xml/objects/object_siofuki.xml
+- name: objects/object_sk2
+ xml_path: assets/xml/objects/object_sk2.xml
+- name: objects/object_skb
+ xml_path: assets/xml/objects/object_skb.xml
+- name: objects/object_skj
+ xml_path: assets/xml/objects/object_skj.xml
+- name: objects/object_spot00_break
+ xml_path: assets/xml/objects/object_spot00_break.xml
+- name: objects/object_spot00_objects
+ xml_path: assets/xml/objects/object_spot00_objects.xml
+- name: objects/object_spot01_matoya
+ xml_path: assets/xml/objects/object_spot01_matoya.xml
+- name: objects/object_spot01_matoyab
+ xml_path: assets/xml/objects/object_spot01_matoyab.xml
+- name: objects/object_spot01_objects
+ xml_path: assets/xml/objects/object_spot01_objects.xml
+- name: objects/object_spot01_objects2
+ xml_path: assets/xml/objects/object_spot01_objects2.xml
+- name: objects/object_spot02_objects
+ xml_path: assets/xml/objects/object_spot02_objects.xml
+- name: objects/object_spot03_object
+ xml_path: assets/xml/objects/object_spot03_object.xml
+- name: objects/object_spot04_objects
+ xml_path: assets/xml/objects/object_spot04_objects.xml
+- name: objects/object_spot05_objects
+ xml_path: assets/xml/objects/object_spot05_objects.xml
+- name: objects/object_spot06_objects
+ xml_path: assets/xml/objects/object_spot06_objects.xml
+- name: objects/object_spot07_object
+ xml_path: assets/xml/objects/object_spot07_object.xml
+- name: objects/object_spot08_obj
+ xml_path: assets/xml/objects/object_spot08_obj.xml
+- name: objects/object_spot09_obj
+ xml_path: assets/xml/objects/object_spot09_obj.xml
+- name: objects/object_spot11_obj
+ xml_path: assets/xml/objects/object_spot11_obj.xml
+- name: objects/object_spot12_obj
+ xml_path: assets/xml/objects/object_spot12_obj.xml
+- name: objects/object_spot15_obj
+ xml_path: assets/xml/objects/object_spot15_obj.xml
+- name: objects/object_spot16_obj
+ xml_path: assets/xml/objects/object_spot16_obj.xml
+- name: objects/object_spot17_obj
+ xml_path: assets/xml/objects/object_spot17_obj.xml
+- name: objects/object_spot18_obj
+ xml_path: assets/xml/objects/object_spot18_obj.xml
+- name: objects/object_ssh
+ xml_path: assets/xml/objects/object_ssh.xml
+- name: objects/object_sst
+ xml_path: assets/xml/objects/object_sst.xml
+- name: objects/object_st
+ xml_path: assets/xml/objects/object_st.xml
+- name: objects/object_stream
+ xml_path: assets/xml/objects/object_stream.xml
+- name: objects/object_syokudai
+ xml_path: assets/xml/objects/object_syokudai.xml
+- name: objects/object_ta
+ xml_path: assets/xml/objects/object_ta.xml
+- name: objects/object_timeblock
+ xml_path: assets/xml/objects/object_timeblock.xml
+- name: objects/object_tite
+ xml_path: assets/xml/objects/object_tite.xml
+- name: objects/object_tk
+ xml_path: assets/xml/objects/object_tk.xml
+- name: objects/object_toki_objects
+ xml_path: assets/xml/objects/object_toki_objects.xml
+- name: objects/object_torch2
+ xml_path: assets/xml/objects/object_torch2.xml
+- name: objects/object_toryo
+ xml_path: assets/xml/objects/object_toryo.xml
+- name: objects/object_tp
+ xml_path: assets/xml/objects/object_tp.xml
+- name: objects/object_tr
+ xml_path: assets/xml/objects/object_tr.xml
+- name: objects/object_trap
+ xml_path: assets/xml/objects/object_trap.xml
+- name: objects/object_triforce_spot
+ xml_path: assets/xml/objects/object_triforce_spot.xml
+- name: objects/object_ts
+ xml_path: assets/xml/objects/object_ts.xml
+- name: objects/object_tsubo
+ xml_path: assets/xml/objects/object_tsubo.xml
+- name: objects/object_tw
+ xml_path: assets/xml/objects/object_tw.xml
+- name: objects/object_umajump
+ xml_path: assets/xml/objects/object_umajump.xml
+- name: objects/object_vali
+ xml_path: assets/xml/objects/object_vali.xml
+- name: objects/object_vase
+ xml_path: assets/xml/objects/object_vase.xml
+- name: objects/object_vm
+ xml_path: assets/xml/objects/object_vm.xml
+- name: objects/object_wallmaster
+ xml_path: assets/xml/objects/object_wallmaster.xml
+- name: objects/object_warp1
+ xml_path: assets/xml/objects/object_warp1.xml
+- name: objects/object_warp2
+ xml_path: assets/xml/objects/object_warp2.xml
+- name: objects/object_wf
+ xml_path: assets/xml/objects/object_wf.xml
+- name: objects/object_wood02
+ xml_path: assets/xml/objects/object_wood02.xml
+- name: objects/object_xc
+ xml_path: assets/xml/objects/object_xc.xml
+- name: objects/object_yabusame_point
+ xml_path: assets/xml/objects/object_yabusame_point.xml
+- name: objects/object_ydan_objects
+ xml_path: assets/xml/objects/object_ydan_objects.xml
+- name: objects/object_yukabyun
+ xml_path: assets/xml/objects/object_yukabyun.xml
+- name: objects/object_zf
+ xml_path: assets/xml/objects/object_zf.xml
+- name: objects/object_zg
+ xml_path: assets/xml/objects/object_zg.xml
+- name: objects/object_zl1
+ xml_path: assets/xml/objects/object_zl1.xml
+- name: objects/object_zl2
+ xml_path: assets/xml/objects/object_zl2.xml
+- name: objects/object_zl2_anime1
+ xml_path: assets/xml/objects/object_zl2_anime1.xml
+- name: objects/object_zl2_anime2
+ xml_path: assets/xml/objects/object_zl2_anime2.xml
+- name: objects/object_zl4
+ xml_path: assets/xml/objects/object_zl4.xml
+- name: objects/object_zo
+ xml_path: assets/xml/objects/object_zo.xml
+- name: overlays/ovl_Arrow_Fire
+ xml_path: assets/xml/overlays/ovl_Arrow_Fire.xml
+ start_offset: 0x9D0
+ end_offset: 0x1DF0
+- name: overlays/ovl_Arrow_Ice
+ xml_path: assets/xml/overlays/ovl_Arrow_Ice.xml
+ start_offset: 0x9F0
+ end_offset: 0x1E10
+- name: overlays/ovl_Arrow_Light
+ xml_path: assets/xml/overlays/ovl_Arrow_Light.xml
+ start_offset: 0xA00
+ end_offset: 0x1E20
+- name: overlays/ovl_Bg_Ganon_Otyuka
+ xml_path: assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
+ start_offset: 0x11C0
+ end_offset: 0x259C
+- name: overlays/ovl_Bg_Jya_Cobra
+ xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
+ start_offset: 0x1980
+ end_offset: 0x19F8
+- name: overlays/ovl_Boss_Dodongo
+ xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml
+ start_offset: 0x6238
+ end_offset: 0x9238
+- name: overlays/ovl_Boss_Ganon
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon.xml
+ start_offset: 0xE6B8
+ end_offset: 0x211D8
+- name: overlays/ovl_Boss_Ganon2
+ xml_path: assets/xml/overlays/ovl_Boss_Ganon2.xml
+ start_offset: 0xA2C8
+ end_offset: 0x10778
+- name: overlays/ovl_Boss_Sst
+ xml_path: assets/xml/overlays/ovl_Boss_Sst.xml
+ start_offset: 0xA3C0
+ end_offset: 0xAD70
+- name: overlays/ovl_Demo_Shd
+ xml_path: assets/xml/overlays/ovl_Demo_Shd.xml
+ start_offset: 0x450
+ end_offset: 0x23D0
+- name: overlays/ovl_Effect_Ss_Fhg_Flash
+ xml_path: assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
+ start_offset: 0xA60
+ end_offset: 0xF18
+- name: overlays/ovl_Elf_Msg
+ xml_path: assets/xml/overlays/ovl_Elf_Msg.xml
+ start_offset: 0x758
+ end_offset: 0x9D8
+- name: overlays/ovl_Elf_Msg2
+ xml_path: assets/xml/overlays/ovl_Elf_Msg2.xml
+ start_offset: 0x538
+ end_offset: 0x638
+- name: overlays/ovl_En_Bili
+ xml_path: assets/xml/overlays/ovl_En_Bili.xml
+ start_offset: 0x1E50
+ end_offset: 0x1E70
+- name: overlays/ovl_En_Clear_Tag
+ xml_path: assets/xml/overlays/ovl_En_Clear_Tag.xml
+ start_offset: 0x26F0
+ end_offset: 0x89F0
+- name: overlays/ovl_En_Ganon_Mant
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Mant.xml
+ start_offset: 0x1218
+ end_offset: 0x4118
+- name: overlays/ovl_En_Ganon_Organ
+ xml_path: assets/xml/overlays/ovl_En_Ganon_Organ.xml
+ start_offset: 0x3E8
+ end_offset: 0x6F70
+- name: overlays/ovl_En_Holl
+ xml_path: assets/xml/overlays/ovl_En_Holl.xml
+ start_offset: 0xE78
+ end_offset: 0xEE0
+- name: overlays/ovl_En_Jsjutan
+ xml_path: assets/xml/overlays/ovl_En_Jsjutan.xml
+ start_offset: 0x12F8
+ end_offset: 0x4C90
+- name: overlays/ovl_En_Kanban
+ xml_path: assets/xml/overlays/ovl_En_Kanban.xml
+ start_offset: 0x2F80
+ end_offset: 0x3040
+- name: overlays/ovl_En_Sda
+ xml_path: assets/xml/overlays/ovl_En_Sda.xml
+ start_offset: 0x1578
+ end_offset: 0x1608
+- name: overlays/ovl_En_Ssh
+ xml_path: assets/xml/overlays/ovl_En_Ssh.xml
+ start_offset: 0x2150
+ end_offset: 0x21E0
+- name: overlays/ovl_En_St
+ xml_path: assets/xml/overlays/ovl_En_St.xml
+ start_offset: 0x26B0
+ end_offset: 0x2740
+- name: overlays/ovl_En_Sth
+ xml_path: assets/xml/overlays/ovl_En_Sth.xml
+ start_offset: 0xEF0
+ end_offset: 0x3EC4
+- name: overlays/ovl_End_Title
+ xml_path: assets/xml/overlays/ovl_End_Title.xml
+ start_offset: 0x780
+ end_offset: 0x4128
+- name: overlays/ovl_file_choose
+ xml_path: assets/xml/overlays/ovl_file_choose.xml
+ start_offset: 0xDE70
+ end_offset: 0xE6B0
+- name: overlays/ovl_Magic_Dark
+ xml_path: assets/xml/overlays/ovl_Magic_Dark.xml
+ start_offset: 0xD10
+ end_offset: 0x1740
+- name: overlays/ovl_Magic_Fire
+ xml_path: assets/xml/overlays/ovl_Magic_Fire.xml
+ start_offset: 0xB90
+ end_offset: 0x21E0
+- name: overlays/ovl_Magic_Wind
+ xml_path: assets/xml/overlays/ovl_Magic_Wind.xml
+ start_offset: 0x780
+ end_offset: 0x1C98
+- name: overlays/ovl_Oceff_Spot
+ xml_path: assets/xml/overlays/ovl_Oceff_Spot.xml
+ start_offset: 0x7F0
+ end_offset: 0xEC8
+- name: overlays/ovl_Oceff_Storm
+ xml_path: assets/xml/overlays/ovl_Oceff_Storm.xml
+ start_offset: 0x7B0
+ end_offset: 0x1B40
+- name: overlays/ovl_Oceff_Wipe
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe.xml
+ start_offset: 0x550
+ end_offset: 0xD10
+- name: overlays/ovl_Oceff_Wipe2
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe2.xml
+ start_offset: 0x480
+ end_offset: 0x16E8
+- name: overlays/ovl_Oceff_Wipe3
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe3.xml
+ start_offset: 0x480
+ end_offset: 0x16C8
+- name: overlays/ovl_Oceff_Wipe4
+ xml_path: assets/xml/overlays/ovl_Oceff_Wipe4.xml
+ start_offset: 0x460
+ end_offset: 0xF48
+- name: scenes/dungeons/bdan
+ xml_path: assets/xml/scenes/dungeons/bdan_mq.xml
+- name: scenes/dungeons/bdan_boss
+ xml_path: assets/xml/scenes/dungeons/bdan_boss.xml
+- name: scenes/dungeons/Bmori1
+ xml_path: assets/xml/scenes/dungeons/Bmori1_mq.xml
+- name: scenes/dungeons/ddan
+ xml_path: assets/xml/scenes/dungeons/ddan_mq.xml
+- name: scenes/dungeons/ddan_boss
+ xml_path: assets/xml/scenes/dungeons/ddan_boss.xml
+- name: scenes/dungeons/FIRE_bs
+ xml_path: assets/xml/scenes/dungeons/FIRE_bs.xml
+- name: scenes/dungeons/ganon
+ xml_path: assets/xml/scenes/dungeons/ganon.xml
+- name: scenes/dungeons/ganon_boss
+ xml_path: assets/xml/scenes/dungeons/ganon_boss.xml
+- name: scenes/dungeons/ganon_demo
+ xml_path: assets/xml/scenes/dungeons/ganon_demo.xml
+- name: scenes/dungeons/ganon_final
+ xml_path: assets/xml/scenes/dungeons/ganon_final.xml
+- name: scenes/dungeons/ganon_sonogo
+ xml_path: assets/xml/scenes/dungeons/ganon_sonogo.xml
+- name: scenes/dungeons/ganontika
+ xml_path: assets/xml/scenes/dungeons/ganontika_mq.xml
+- name: scenes/dungeons/ganontikasonogo
+ xml_path: assets/xml/scenes/dungeons/ganontikasonogo.xml
+- name: scenes/dungeons/gerudoway
+ xml_path: assets/xml/scenes/dungeons/gerudoway.xml
+- name: scenes/dungeons/HAKAdan
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_mq.xml
+- name: scenes/dungeons/HAKAdan_bs
+ xml_path: assets/xml/scenes/dungeons/HAKAdan_bs.xml
+- name: scenes/dungeons/HAKAdanCH
+ xml_path: assets/xml/scenes/dungeons/HAKAdanCH_mq.xml
+- name: scenes/dungeons/HIDAN
+ xml_path: assets/xml/scenes/dungeons/HIDAN_mq.xml
+- name: scenes/dungeons/ice_doukutu
+ xml_path: assets/xml/scenes/dungeons/ice_doukutu_mq.xml
+- name: scenes/dungeons/jyasinboss
+ xml_path: assets/xml/scenes/dungeons/jyasinboss.xml
+- name: scenes/dungeons/jyasinzou
+ xml_path: assets/xml/scenes/dungeons/jyasinzou_mq.xml
+- name: scenes/dungeons/men
+ xml_path: assets/xml/scenes/dungeons/men_mq.xml
+- name: scenes/dungeons/MIZUsin
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_mq.xml
+- name: scenes/dungeons/MIZUsin_bs
+ xml_path: assets/xml/scenes/dungeons/MIZUsin_bs.xml
+- name: scenes/dungeons/moribossroom
+ xml_path: assets/xml/scenes/dungeons/moribossroom.xml
+- name: scenes/dungeons/ydan
+ xml_path: assets/xml/scenes/dungeons/ydan_mq.xml
+- name: scenes/dungeons/ydan_boss
+ xml_path: assets/xml/scenes/dungeons/ydan_boss.xml
+- name: scenes/indoors/bowling
+ xml_path: assets/xml/scenes/indoors/bowling.xml
+- name: scenes/indoors/daiyousei_izumi
+ xml_path: assets/xml/scenes/indoors/daiyousei_izumi.xml
+- name: scenes/indoors/hairal_niwa
+ xml_path: assets/xml/scenes/indoors/hairal_niwa.xml
+- name: scenes/indoors/hairal_niwa2
+ xml_path: assets/xml/scenes/indoors/hairal_niwa2.xml
+- name: scenes/indoors/hairal_niwa_n
+ xml_path: assets/xml/scenes/indoors/hairal_niwa_n.xml
+- name: scenes/indoors/hakasitarelay
+ xml_path: assets/xml/scenes/indoors/hakasitarelay.xml
+- name: scenes/indoors/hut
+ xml_path: assets/xml/scenes/indoors/hut.xml
+- name: scenes/indoors/hylia_labo
+ xml_path: assets/xml/scenes/indoors/hylia_labo.xml
+- name: scenes/indoors/impa
+ xml_path: assets/xml/scenes/indoors/impa.xml
+- name: scenes/indoors/kakariko
+ xml_path: assets/xml/scenes/indoors/kakariko.xml
+- name: scenes/indoors/kenjyanoma
+ xml_path: assets/xml/scenes/indoors/kenjyanoma.xml
+- name: scenes/indoors/kokiri_home
+ xml_path: assets/xml/scenes/indoors/kokiri_home.xml
+- name: scenes/indoors/kokiri_home3
+ xml_path: assets/xml/scenes/indoors/kokiri_home3.xml
+- name: scenes/indoors/kokiri_home4
+ xml_path: assets/xml/scenes/indoors/kokiri_home4.xml
+- name: scenes/indoors/kokiri_home5
+ xml_path: assets/xml/scenes/indoors/kokiri_home5.xml
+- name: scenes/indoors/labo
+ xml_path: assets/xml/scenes/indoors/labo.xml
+- name: scenes/indoors/link_home
+ xml_path: assets/xml/scenes/indoors/link_home.xml
+- name: scenes/indoors/mahouya
+ xml_path: assets/xml/scenes/indoors/mahouya.xml
+- name: scenes/indoors/malon_stable
+ xml_path: assets/xml/scenes/indoors/malon_stable.xml
+- name: scenes/indoors/miharigoya
+ xml_path: assets/xml/scenes/indoors/miharigoya.xml
+- name: scenes/indoors/nakaniwa
+ xml_path: assets/xml/scenes/indoors/nakaniwa.xml
+- name: scenes/indoors/souko
+ xml_path: assets/xml/scenes/indoors/souko.xml
+- name: scenes/indoors/syatekijyou
+ xml_path: assets/xml/scenes/indoors/syatekijyou.xml
+- name: scenes/indoors/takaraya
+ xml_path: assets/xml/scenes/indoors/takaraya.xml
+- name: scenes/indoors/tent
+ xml_path: assets/xml/scenes/indoors/tent.xml
+- name: scenes/indoors/tokinoma
+ xml_path: assets/xml/scenes/indoors/tokinoma.xml
+- name: scenes/indoors/yousei_izumi_tate
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_tate.xml
+- name: scenes/indoors/yousei_izumi_yoko
+ xml_path: assets/xml/scenes/indoors/yousei_izumi_yoko.xml
+- name: scenes/misc/enrui
+ xml_path: assets/xml/scenes/misc/enrui.xml
+- name: scenes/misc/entra
+ xml_path: assets/xml/scenes/misc/entra.xml
+- name: scenes/misc/entra_n
+ xml_path: assets/xml/scenes/misc/entra_n.xml
+- name: scenes/misc/hakaana
+ xml_path: assets/xml/scenes/misc/hakaana.xml
+- name: scenes/misc/hakaana2
+ xml_path: assets/xml/scenes/misc/hakaana2.xml
+- name: scenes/misc/hakaana_ouke
+ xml_path: assets/xml/scenes/misc/hakaana_ouke.xml
+- name: scenes/misc/hiral_demo
+ xml_path: assets/xml/scenes/misc/hiral_demo.xml
+- name: scenes/misc/kakariko3
+ xml_path: assets/xml/scenes/misc/kakariko3.xml
+- name: scenes/misc/kakusiana
+ xml_path: assets/xml/scenes/misc/kakusiana.xml
+- name: scenes/misc/kinsuta
+ xml_path: assets/xml/scenes/misc/kinsuta.xml
+- name: scenes/misc/market_alley
+ xml_path: assets/xml/scenes/misc/market_alley.xml
+- name: scenes/misc/market_alley_n
+ xml_path: assets/xml/scenes/misc/market_alley_n.xml
+- name: scenes/misc/market_day
+ xml_path: assets/xml/scenes/misc/market_day.xml
+- name: scenes/misc/market_night
+ xml_path: assets/xml/scenes/misc/market_night.xml
+- name: scenes/misc/market_ruins
+ xml_path: assets/xml/scenes/misc/market_ruins.xml
+- name: scenes/misc/shrine
+ xml_path: assets/xml/scenes/misc/shrine.xml
+- name: scenes/misc/shrine_n
+ xml_path: assets/xml/scenes/misc/shrine_n.xml
+- name: scenes/misc/shrine_r
+ xml_path: assets/xml/scenes/misc/shrine_r.xml
+- name: scenes/misc/turibori
+ xml_path: assets/xml/scenes/misc/turibori.xml
+- name: scenes/overworld/ganon_tou
+ xml_path: assets/xml/scenes/overworld/ganon_tou.xml
+- name: scenes/overworld/spot00
+ xml_path: assets/xml/scenes/overworld/spot00.xml
+- name: scenes/overworld/spot01
+ xml_path: assets/xml/scenes/overworld/spot01.xml
+- name: scenes/overworld/spot02
+ xml_path: assets/xml/scenes/overworld/spot02.xml
+- name: scenes/overworld/spot03
+ xml_path: assets/xml/scenes/overworld/spot03.xml
+- name: scenes/overworld/spot04
+ xml_path: assets/xml/scenes/overworld/spot04.xml
+- name: scenes/overworld/spot05
+ xml_path: assets/xml/scenes/overworld/spot05.xml
+- name: scenes/overworld/spot06
+ xml_path: assets/xml/scenes/overworld/spot06.xml
+- name: scenes/overworld/spot07
+ xml_path: assets/xml/scenes/overworld/spot07.xml
+- name: scenes/overworld/spot08
+ xml_path: assets/xml/scenes/overworld/spot08.xml
+- name: scenes/overworld/spot09
+ xml_path: assets/xml/scenes/overworld/spot09.xml
+- name: scenes/overworld/spot10
+ xml_path: assets/xml/scenes/overworld/spot10.xml
+- name: scenes/overworld/spot11
+ xml_path: assets/xml/scenes/overworld/spot11.xml
+- name: scenes/overworld/spot12
+ xml_path: assets/xml/scenes/overworld/spot12.xml
+- name: scenes/overworld/spot13
+ xml_path: assets/xml/scenes/overworld/spot13.xml
+- name: scenes/overworld/spot15
+ xml_path: assets/xml/scenes/overworld/spot15.xml
+- name: scenes/overworld/spot16
+ xml_path: assets/xml/scenes/overworld/spot16.xml
+- name: scenes/overworld/spot17
+ xml_path: assets/xml/scenes/overworld/spot17.xml
+- name: scenes/overworld/spot18
+ xml_path: assets/xml/scenes/overworld/spot18.xml
+- name: scenes/overworld/spot20
+ xml_path: assets/xml/scenes/overworld/spot20.xml
+- name: scenes/shops/alley_shop
+ xml_path: assets/xml/scenes/shops/alley_shop.xml
+- name: scenes/shops/drag
+ xml_path: assets/xml/scenes/shops/drag.xml
+- name: scenes/shops/face_shop
+ xml_path: assets/xml/scenes/shops/face_shop.xml
+- name: scenes/shops/golon
+ xml_path: assets/xml/scenes/shops/golon.xml
+- name: scenes/shops/kokiri_shop
+ xml_path: assets/xml/scenes/shops/kokiri_shop.xml
+- name: scenes/shops/night_shop
+ xml_path: assets/xml/scenes/shops/night_shop.xml
+- name: scenes/shops/shop1
+ xml_path: assets/xml/scenes/shops/shop1.xml
+- name: scenes/shops/zoora
+ xml_path: assets/xml/scenes/shops/zoora.xml
+- name: scenes/test_levels/besitu
+ xml_path: assets/xml/scenes/test_levels/besitu.xml
+- name: scenes/test_levels/depth_test
+ xml_path: assets/xml/scenes/test_levels/depth_test.xml
+- name: scenes/test_levels/sasatest
+ xml_path: assets/xml/scenes/test_levels/sasatest.xml
+- name: scenes/test_levels/sutaru
+ xml_path: assets/xml/scenes/test_levels/sutaru.xml
+- name: scenes/test_levels/syotes
+ xml_path: assets/xml/scenes/test_levels/syotes.xml
+- name: scenes/test_levels/syotes2
+ xml_path: assets/xml/scenes/test_levels/syotes2.xml
+- name: scenes/test_levels/test01
+ xml_path: assets/xml/scenes/test_levels/test01.xml
+- name: scenes/test_levels/testroom
+ xml_path: assets/xml/scenes/test_levels/testroom.xml
+- name: textures/backgrounds
+ xml_path: assets/xml/textures/backgrounds.xml
+- name: textures/do_action_static
+ xml_path: assets/xml/textures/do_action_static.xml
+- name: textures/icon_item_24_static
+ xml_path: assets/xml/textures/icon_item_24_static.xml
+- name: textures/icon_item_dungeon_static
+ xml_path: assets/xml/textures/icon_item_dungeon_static.xml
+- name: textures/icon_item_field_static
+ xml_path: assets/xml/textures/icon_item_field_static.xml
+- name: textures/icon_item_fra_static
+ xml_path: assets/xml/textures/icon_item_fra_static.xml
+- name: textures/icon_item_gameover_static
+ xml_path: assets/xml/textures/icon_item_gameover_static.xml
+- name: textures/icon_item_ger_static
+ xml_path: assets/xml/textures/icon_item_ger_static.xml
+- name: textures/icon_item_nes_static
+ xml_path: assets/xml/textures/icon_item_nes_static.xml
+- name: textures/icon_item_static
+ xml_path: assets/xml/textures/icon_item_static.xml
+- name: textures/item_name_static
+ xml_path: assets/xml/textures/item_name_static.xml
+- name: textures/map_48x85_static
+ xml_path: assets/xml/textures/map_48x85_static.xml
+- name: textures/map_grand_static
+ xml_path: assets/xml/textures/map_grand_static.xml
+- name: textures/map_i_static
+ xml_path: assets/xml/textures/map_i_static.xml
+- name: textures/map_name_static
+ xml_path: assets/xml/textures/map_name_static.xml
+- name: textures/message_static
+ xml_path: assets/xml/textures/message_static.xml
+- name: textures/message_texture_static
+ xml_path: assets/xml/textures/message_texture_static.xml
+- name: textures/nes_font_static
+ xml_path: assets/xml/textures/nes_font_static.xml
+- name: textures/nintendo_rogo_static
+ xml_path: assets/xml/textures/nintendo_rogo_static.xml
+- name: textures/parameter_static
+ xml_path: assets/xml/textures/parameter_static.xml
+- name: textures/place_title_cards
+ xml_path: assets/xml/textures/place_title_cards.xml
+- name: textures/skyboxes
+ xml_path: assets/xml/textures/skyboxes.xml
+- name: textures/title_static
+ xml_path: assets/xml/textures/title_static.xml
diff --git a/extract_assets.py b/extract_assets.py
index b514cc073..fb1b3b664 100755
--- a/extract_assets.py
+++ b/extract_assets.py
@@ -8,9 +8,7 @@ import time
import multiprocessing
from pathlib import Path
-
-EXTRACTED_ASSETS_NAMEFILE = ".extracted-assets.json"
-VERSION = ""
+from tools import version_config
def SignalHandler(sig, frame):
@@ -18,20 +16,33 @@ def SignalHandler(sig, frame):
mainAbort.set()
# Don't exit immediately to update the extracted assets file.
-def ExtractFile(xmlPath, outputPath, outputSourcePath):
+def ExtractFile(assetConfig: version_config.AssetConfig, outputPath: Path, outputSourcePath: Path):
+ xmlPath = assetConfig.xml_path
+ version = globalVersionConfig.version
if globalAbort.is_set():
# Don't extract if another file wasn't extracted properly.
return
zapdPath = Path("tools") / "ZAPD" / "ZAPD.out"
- configPath = Path("tools") / "ZAPDConfigs" / "MqDbg" / "Config.xml"
+ configPath = Path("tools") / "ZAPDConfigs" / version / "Config.xml"
- Path(outputPath).mkdir(parents=True, exist_ok=True)
- Path(outputSourcePath).mkdir(parents=True, exist_ok=True)
+ outputPath.mkdir(parents=True, exist_ok=True)
+ outputSourcePath.mkdir(parents=True, exist_ok=True)
- execStr = f"{zapdPath} e -eh -i {xmlPath} -b extracted/{VERSION}/baserom -o {outputPath} -osf {outputSourcePath} -gsf 1 -rconf {configPath} --cs-float both {ZAPDArgs}"
+ execStr = f"{zapdPath} e -eh -i {xmlPath} -b extracted/{version}/baserom -o {outputPath} -osf {outputSourcePath} -gsf 1 -rconf {configPath} --cs-float both {ZAPDArgs}"
- if "overlays" in xmlPath:
+ if "code" in xmlPath.parts or "overlays" in xmlPath.parts:
+ assert assetConfig.start_offset is not None
+ assert assetConfig.end_offset is not None
+
+ execStr += f" --start-offset 0x{assetConfig.start_offset:X}"
+ execStr += f" --end-offset 0x{assetConfig.end_offset:X}"
+
+ if "overlays" in xmlPath.parts:
+ overlayName = xmlPath.stem
+ baseAddress = globalVersionConfig.dmadata_segments[overlayName].vram + assetConfig.start_offset
+
+ execStr += f" --base-address 0x{baseAddress:X}"
execStr += " --static"
if globalUnaccounted:
@@ -46,35 +57,39 @@ def ExtractFile(xmlPath, outputPath, outputSourcePath):
print("Aborting...", file=os.sys.stderr)
print("\n")
-def ExtractFunc(fullPath):
- *pathList, xmlName = fullPath.split(os.sep)
- objectName = os.path.splitext(xmlName)[0]
+def ExtractFunc(assetConfig: version_config.AssetConfig):
+ objectName = assetConfig.name
+ xml_path = assetConfig.xml_path
+ xml_path_str = str(xml_path)
- outPath = os.path.join("assets", *pathList[2:], objectName)
+ version = globalVersionConfig.version
+ outPath = Path("extracted") / version / "assets" / objectName
outSourcePath = outPath
- if fullPath in globalExtractedAssetsTracker:
- timestamp = globalExtractedAssetsTracker[fullPath]["timestamp"]
- modificationTime = int(os.path.getmtime(fullPath))
+ if xml_path_str in globalExtractedAssetsTracker:
+ timestamp = globalExtractedAssetsTracker[xml_path_str]["timestamp"]
+ modificationTime = int(os.path.getmtime(xml_path))
if modificationTime < timestamp:
# XML has not been modified since last extraction.
return
currentTimeStamp = int(time.time())
- ExtractFile(fullPath, outPath, outSourcePath)
+ ExtractFile(assetConfig, outPath, outSourcePath)
if not globalAbort.is_set():
# Only update timestamp on succesful extractions
- if fullPath not in globalExtractedAssetsTracker:
- globalExtractedAssetsTracker[fullPath] = globalManager.dict()
- globalExtractedAssetsTracker[fullPath]["timestamp"] = currentTimeStamp
+ if xml_path_str not in globalExtractedAssetsTracker:
+ globalExtractedAssetsTracker[xml_path_str] = globalManager.dict()
+ globalExtractedAssetsTracker[xml_path_str]["timestamp"] = currentTimeStamp
-def initializeWorker(abort, unaccounted: bool, extractedAssetsTracker: dict, manager):
+def initializeWorker(versionConfig: version_config.VersionConfig, abort, unaccounted: bool, extractedAssetsTracker: dict, manager):
+ global globalVersionConfig
global globalAbort
global globalUnaccounted
global globalExtractedAssetsTracker
global globalManager
+ globalVersionConfig = versionConfig
globalAbort = abort
globalUnaccounted = unaccounted
globalExtractedAssetsTracker = extractedAssetsTracker
@@ -96,7 +111,8 @@ def processZAPDArgs(argsZ):
def main():
parser = argparse.ArgumentParser(description="baserom asset extractor")
- parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep")
+ parser.add_argument("-v", "--oot-version", dest="oot_version", help="OOT game version", default="gc-eu-mq-dbg")
+ parser.add_argument("-s", "--single", help="Extract a single asset by name, e.g. objects/gameplay_keep")
parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones (overwriting current files).", action="store_true")
parser.add_argument("-j", "--jobs", help="Number of cpu cores to extract with.")
parser.add_argument("-u", "--unaccounted", help="Enables ZAPD unaccounted detector warning system.", action="store_true")
@@ -104,8 +120,8 @@ def main():
parser.add_argument("-v", "--version", help="OoT Version", choices=["gc-eu-mq-dbg", "hackeroot-mq"])
args = parser.parse_args()
- global VERSION
- VERSION = args.version
+ version: str = args.oot_version
+ versionConfig = version_config.load_version_config(version)
global ZAPDArgs
ZAPDArgs = processZAPDArgs(args.Z) if args.Z else ""
@@ -115,31 +131,30 @@ def main():
manager = multiprocessing.Manager()
signal.signal(signal.SIGINT, SignalHandler)
+ extraction_times_p = Path("extracted") / version / "assets_extraction_times.json"
extractedAssetsTracker = manager.dict()
- if os.path.exists(EXTRACTED_ASSETS_NAMEFILE) and not args.force:
- with open(EXTRACTED_ASSETS_NAMEFILE, encoding='utf-8') as f:
+ if extraction_times_p.exists() and not args.force:
+ with extraction_times_p.open(encoding='utf-8') as f:
extractedAssetsTracker.update(json.load(f, object_hook=manager.dict))
- asset_path = args.single
- if asset_path is not None:
- fullPath = os.path.join("assets", "xml", asset_path + ".xml")
- if not os.path.exists(fullPath):
- print(f"Error. File {fullPath} does not exist.", file=os.sys.stderr)
+ singleAssetName = args.single
+ if singleAssetName is not None:
+ assetConfig = None
+ for asset in versionConfig.assets:
+ if asset.name == singleAssetName:
+ assetConfig = asset
+ break
+ else:
+ print(f"Error. Asset {singleAssetName} not found in config.", file=os.sys.stderr)
exit(1)
- initializeWorker(mainAbort, args.unaccounted, extractedAssetsTracker, manager)
+ initializeWorker(versionConfig, mainAbort, args.unaccounted, extractedAssetsTracker, manager)
# Always extract if -s is used.
+ fullPath = assetConfig.xml_path
if fullPath in extractedAssetsTracker:
del extractedAssetsTracker[fullPath]
- ExtractFunc(fullPath)
+ ExtractFunc(assetConfig)
else:
- xmlFiles = []
- for currentPath, _, files in os.walk(os.path.join("assets", "xml")):
- for file in files:
- fullPath = os.path.join(currentPath, file)
- if file.endswith(".xml"):
- xmlFiles.append(fullPath)
-
class CannotMultiprocessError(Exception):
pass
@@ -152,17 +167,17 @@ def main():
mp_context = multiprocessing.get_context("fork")
except ValueError as e:
raise CannotMultiprocessError() from e
- with mp_context.Pool(numCores, initializer=initializeWorker, initargs=(mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p:
- p.map(ExtractFunc, xmlFiles)
+ with mp_context.Pool(numCores, initializer=initializeWorker, initargs=(versionConfig, mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p:
+ p.map(ExtractFunc, versionConfig.assets)
except (multiprocessing.ProcessError, TypeError, CannotMultiprocessError):
print("Warning: Multiprocessing exception ocurred.", file=os.sys.stderr)
print("Disabling mutliprocessing.", file=os.sys.stderr)
- initializeWorker(mainAbort, args.unaccounted, extractedAssetsTracker, manager)
- for singlePath in xmlFiles:
- ExtractFunc(singlePath)
+ initializeWorker(versionConfig, mainAbort, args.unaccounted, extractedAssetsTracker, manager)
+ for assetConfig in versionConfig.assets:
+ ExtractFunc(assetConfig)
- with open(EXTRACTED_ASSETS_NAMEFILE, 'w', encoding='utf-8') as f:
+ with extraction_times_p.open('w', encoding='utf-8') as f:
serializableDict = dict()
for xml, data in extractedAssetsTracker.items():
serializableDict[xml] = dict(data)
diff --git a/spec b/spec
index 2148c140f..791ffe1d9 100644
--- a/spec
+++ b/spec
@@ -264,12 +264,7 @@ endseg
beginseg
name "nes_font_static"
romalign 0x1000
-#if IS_DEBUG
include "$(BUILD_DIR)/assets/textures/nes_font_static/nes_font_static.o"
-#else
- // TODO: Remove this hack once assets are extracted from gc-eu-mq
- include "$(BUILD_DIR)/baserom/nes_font_static.o"
-#endif
number 10
endseg
diff --git a/src/code/z_scene_table.c b/src/code/z_scene_table.c
index 393e60898..329cbbeff 100644
--- a/src/code/z_scene_table.c
+++ b/src/code/z_scene_table.c
@@ -11,6 +11,9 @@
#include "assets/scenes/indoors/miharigoya/miharigoya_scene.h"
#include "assets/scenes/indoors/souko/souko_scene.h"
+#include "assets/scenes/indoors/miharigoya/miharigoya_scene.h"
+#include "assets/scenes/indoors/souko/souko_scene.h"
+
#include "assets/scenes/overworld/spot00/spot00_scene.h"
#include "assets/scenes/overworld/spot00/spot00_room_0.h"
#include "assets/scenes/overworld/spot01/spot01_scene.h"
diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c
index ccc64727d..186878b0e 100644
--- a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c
+++ b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c
@@ -1,7 +1,7 @@
#include "file_select.h"
#include "terminal.h"
#include "assets/textures/title_static/title_static.h"
-#include "assets/overlays/ovl_File_Choose/ovl_file_choose.h"
+#include "assets/overlays/ovl_file_choose/ovl_file_choose.h"
static s16 D_808124C0[] = {
0x0002, 0x0003, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0002, 0x0000, 0x0001,
diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_data.c b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_data.c
index 2fa7cd78f..d6bc09c28 100644
--- a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_data.c
+++ b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_data.c
@@ -1,6 +1,6 @@
#include "file_select.h"
-#include "assets/overlays/ovl_File_Choose/ovl_file_choose.c"
+#include "assets/overlays/ovl_file_choose/ovl_file_choose.c"
s16 D_808123F0[] = {
0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016,
diff --git a/tools/ZAPD/.gitrepo b/tools/ZAPD/.gitrepo
index 9b6f9bb9b..35d013491 100644
--- a/tools/ZAPD/.gitrepo
+++ b/tools/ZAPD/.gitrepo
@@ -6,7 +6,7 @@
[subrepo]
remote = https://github.com/zeldaret/ZAPD.git
branch = master
- commit = 1300a4f36584627aa784cbc252d1c8ecd7b40e68
- parent = 4522ee2cae12b2d23b7ef0134f24f7c3e26935f0
+ commit = 0285e11f0a5937f60db023bfe5db273f2223fcf4
+ parent = afd82230e1bd6e043eabe613f5b31f6e96f0f88c
method = merge
cmdver = 0.4.6
diff --git a/tools/ZAPD/README.md b/tools/ZAPD/README.md
index d51dd0558..5006f8d4b 100644
--- a/tools/ZAPD/README.md
+++ b/tools/ZAPD/README.md
@@ -119,9 +119,14 @@ ZAPD also accepts the following list of extra parameters:
- This behaviour can be overridden per asset using `Static=` in the respective XML node.
- `--cs-float` : How cutscene floats should be extracted.
- Valid values:
- - `hex`
- - `float`
- - `both`
+ - `hex`: `0x42280000`
+ - `float`: `42.0f`
+ - `both`: `CS_FLOAT(0x42280000, 42.0f)`
+ - `hex-commented-left`: `/* 42.0f */ 0x42280000`
+ - `hex-commented-right`: `0x42280000 /* 42.0f */`
+- `--base-address ADDRESS`: Override base virtual address for input files.
+- `--start-offset OFFSET`: Override start offset for input files.
+- `--end-offset OFFSET`: Override end offset for input files.
- `-W...`: warning flags, see below
Additionally, you can pass the flag `--version` to see the current ZAPD version. If that flag is passed, ZAPD will ignore any other parameter passed.
diff --git a/tools/ZAPD/ZAPD/Globals.h b/tools/ZAPD/ZAPD/Globals.h
index 14bd06584..2cc9c2d4d 100644
--- a/tools/ZAPD/ZAPD/Globals.h
+++ b/tools/ZAPD/ZAPD/Globals.h
@@ -21,6 +21,8 @@ enum class CsFloatType
HexOnly,
FloatOnly,
HexAndFloat,
+ HexAndCommentedFloatLeft,
+ HexAndCommentedFloatRight,
};
class Globals
@@ -39,6 +41,9 @@ public:
fs::path baseRomPath, inputPath, outputPath, sourceOutputPath, cfgPath;
TextureType texType;
CsFloatType floatType = CsFloatType::FloatOnly;
+ int64_t baseAddress = -1;
+ int64_t startOffset = -1;
+ int64_t endOffset = -1;
ZGame game;
GameConfig cfg;
bool verboseUnaccounted = false;
diff --git a/tools/ZAPD/ZAPD/Main.cpp b/tools/ZAPD/ZAPD/Main.cpp
index eb1737d64..19d10d7d9 100644
--- a/tools/ZAPD/ZAPD/Main.cpp
+++ b/tools/ZAPD/ZAPD/Main.cpp
@@ -37,11 +37,14 @@ void Arg_EnableGCCCompat(int& i, char* argv[]);
void Arg_ForceStatic(int& i, char* argv[]);
void Arg_ForceUnaccountedStatic(int& i, char* argv[]);
void Arg_CsFloatMode(int& i, char* argv[]);
+void Arg_BaseAddress(int& i, char* argv[]);
+void Arg_StartOffset(int& i, char* argv[]);
+void Arg_EndOffset(int& i, char* argv[]);
int main(int argc, char* argv[]);
bool Parse(const fs::path& xmlFilePath, const fs::path& basePath, const fs::path& outPath,
- ZFileMode fileMode);
+ ZFileMode fileMode);
void ParseArgs(int& argc, char* argv[]);
@@ -115,7 +118,7 @@ int main(int argc, char* argv[])
returnCode = HandleExtract(fileMode, exporterSet);
else if (fileMode == ZFileMode::BuildTexture)
BuildAssetTexture(Globals::Instance->inputPath, Globals::Instance->texType,
- Globals::Instance->outputPath);
+ Globals::Instance->outputPath);
else if (fileMode == ZFileMode::BuildBackground)
BuildAssetBackground(Globals::Instance->inputPath, Globals::Instance->outputPath);
else if (fileMode == ZFileMode::BuildBlob)
@@ -126,7 +129,7 @@ int main(int argc, char* argv[])
}
bool Parse(const fs::path& xmlFilePath, const fs::path& basePath, const fs::path& outPath,
- ZFileMode fileMode)
+ ZFileMode fileMode)
{
tinyxml2::XMLDocument doc;
tinyxml2::XMLError eResult = doc.LoadFile(xmlFilePath.string().c_str());
@@ -135,7 +138,7 @@ bool Parse(const fs::path& xmlFilePath, const fs::path& basePath, const fs::path
{
// TODO: use XMLDocument::ErrorIDToName to get more specific error messages here
HANDLE_ERROR(WarningType::InvalidXML,
- StringHelper::Sprintf("invalid XML file: '%s'", xmlFilePath.c_str()), "");
+ StringHelper::Sprintf("invalid XML file: '%s'", xmlFilePath.c_str()), "");
return false;
}
@@ -150,7 +153,7 @@ bool Parse(const fs::path& xmlFilePath, const fs::path& basePath, const fs::path
}
for (tinyxml2::XMLElement* child = root->FirstChildElement(); child != NULL;
- child = child->NextSiblingElement())
+ child = child->NextSiblingElement())
{
if (std::string_view(child->Name()) == "File")
{
@@ -254,6 +257,9 @@ void ParseArgs(int& argc, char* argv[])
{"-us", &Arg_ForceUnaccountedStatic},
{"--unaccounted-static", &Arg_ForceUnaccountedStatic},
{"--cs-float", &Arg_CsFloatMode},
+ {"--base-address", &Arg_BaseAddress},
+ {"--start-offset", &Arg_StartOffset},
+ {"--end-offset", &Arg_EndOffset},
};
for (int32_t i = 2; i < argc; i++)
@@ -409,17 +415,47 @@ void Arg_CsFloatMode([[maybe_unused]] int& i, [[maybe_unused]] char* argv[])
{
Globals::Instance->floatType = CsFloatType::HexAndFloat;
}
+ else if (std::strcmp(argv[i], "hex-commented-left") == 0)
+ {
+ Globals::Instance->floatType = CsFloatType::HexAndCommentedFloatLeft;
+ }
+ else if (std::strcmp(argv[i], "hex-commented-right") == 0)
+ {
+ Globals::Instance->floatType = CsFloatType::HexAndCommentedFloatRight;
+ }
else
{
Globals::Instance->floatType = CsFloatType::FloatOnly;
HANDLE_WARNING(
WarningType::Always, "Invalid CS Float Type",
- StringHelper::Sprintf("Invalid CS float type entered. Expected \"hex\", \"float\", or "
- "\"both\". Got %s.\n Defaulting to \"float\".",
- argv[i]));
+ StringHelper::Sprintf("Invalid CS float type entered. Expected \"hex\", \"float\", "
+ "\"both\", \"hex-commented-left\" or \"hex-commented-right\". "
+ "Got %s.\n Defaulting to \"float\".",
+ argv[i]));
}
}
+uint32_t ParseU32Hex(char* str)
+{
+ static_assert(sizeof(uint32_t) <= sizeof(unsigned long));
+ return (uint32_t)std::stoul(str, nullptr, 16);
+}
+
+void Arg_BaseAddress(int& i, char* argv[])
+{
+ Globals::Instance->baseAddress = ParseU32Hex(argv[++i]);
+}
+
+void Arg_StartOffset(int& i, char* argv[])
+{
+ Globals::Instance->startOffset = ParseU32Hex(argv[++i]);
+}
+
+void Arg_EndOffset(int& i, char* argv[])
+{
+ Globals::Instance->endOffset = ParseU32Hex(argv[++i]);
+}
+
int HandleExtract(ZFileMode fileMode, ExporterSet* exporterSet)
{
bool procFileModeSuccess = false;
@@ -440,14 +476,14 @@ int HandleExtract(ZFileMode fileMode, ExporterSet* exporterSet)
printf("Parsing external file from config: '%s'\n", externalXmlFilePath.c_str());
parseSuccessful = Parse(externalXmlFilePath, Globals::Instance->baseRomPath,
- extFile.outPath, ZFileMode::ExternalFile);
+ extFile.outPath, ZFileMode::ExternalFile);
if (!parseSuccessful)
return 1;
}
parseSuccessful = Parse(Globals::Instance->inputPath, Globals::Instance->baseRomPath,
- Globals::Instance->outputPath, fileMode);
+ Globals::Instance->outputPath, fileMode);
if (!parseSuccessful)
return 1;
}
diff --git a/tools/ZAPD/ZAPD/ZCutscene.cpp b/tools/ZAPD/ZAPD/ZCutscene.cpp
index 0bf0363df..7ae431eba 100644
--- a/tools/ZAPD/ZAPD/ZCutscene.cpp
+++ b/tools/ZAPD/ZAPD/ZCutscene.cpp
@@ -375,33 +375,22 @@ ZResourceType ZCutscene::GetResourceType() const
std::string ZCutscene::GetCsEncodedFloat(float f, CsFloatType type, bool useSciNotation)
{
+ uint32_t i;
+ std::memcpy(&i, &f, sizeof(i));
+
switch (type)
{
default:
// This default case will NEVER be reached, but GCC still gives a warning.
case CsFloatType::HexOnly:
- {
- uint32_t i;
- std::memcpy(&i, &f, sizeof(i));
return StringHelper::Sprintf("0x%08X", i);
- }
case CsFloatType::FloatOnly:
- {
- if (useSciNotation)
- {
- return StringHelper::Sprintf("%.8ef", f);
- }
- return StringHelper::Sprintf("%ff", f);
- }
+ return StringHelper::Sprintf(useSciNotation ? "%.8ef" : "%ff", f);
case CsFloatType::HexAndFloat:
- {
- uint32_t i;
- std::memcpy(&i, &f, sizeof(i));
- if (useSciNotation)
- {
- return StringHelper::Sprintf("CS_FLOAT(0x%08X, %.8ef)", i, f);
- }
- return StringHelper::Sprintf("CS_FLOAT(0x%08X, %ff)", i, f);
- }
+ return StringHelper::Sprintf(useSciNotation ? "CS_FLOAT(0x%08X, %.8ef)" : "CS_FLOAT(0x%08X, %ff)", i, f);
+ case CsFloatType::HexAndCommentedFloatLeft:
+ return StringHelper::Sprintf(useSciNotation ? "/* %.8ef */ 0x%08X" : "/* %ff */ 0x%08X", f, i);
+ case CsFloatType::HexAndCommentedFloatRight:
+ return StringHelper::Sprintf(useSciNotation ? "0x%08X /* %.8ef */" : "0x%08X /* %ff */", i, f);
}
}
diff --git a/tools/ZAPD/ZAPD/ZFile.cpp b/tools/ZAPD/ZAPD/ZFile.cpp
index 0b2a4d631..db2d251a5 100644
--- a/tools/ZAPD/ZAPD/ZFile.cpp
+++ b/tools/ZAPD/ZAPD/ZFile.cpp
@@ -120,6 +120,9 @@ void ZFile::ParseXML(tinyxml2::XMLElement* reader, const std::string& filename)
if (reader->Attribute("BaseAddress") != nullptr)
baseAddress = StringHelper::StrToL(reader->Attribute("BaseAddress"), 16);
+ if (mode == ZFileMode::Extract && Globals::Instance->baseAddress != -1)
+ baseAddress = Globals::Instance->baseAddress;
+
if (reader->Attribute("RangeStart") != nullptr)
rangeStart = StringHelper::StrToL(reader->Attribute("RangeStart"), 16);
@@ -197,6 +200,9 @@ void ZFile::ParseXML(tinyxml2::XMLElement* reader, const std::string& filename)
}
rawData = File::ReadAllBytes((basePath / name).string());
+ if (mode == ZFileMode::Extract && Globals::Instance->startOffset != -1 && Globals::Instance->endOffset != -1)
+ rawData = std::vector(rawData.begin() + Globals::Instance->startOffset,
+ rawData.begin() + Globals::Instance->endOffset);
if (reader->Attribute("RangeEnd") == nullptr)
rangeEnd = rawData.size();
@@ -585,6 +591,12 @@ Declaration* ZFile::AddDeclarationIncludeArray(offset_t address, std::string& in
includePath = "assets/" + StringHelper::Split(includePath, "assets/extracted/")[1];
if (StringHelper::StartsWith(includePath, "assets/custom/"))
includePath = "assets/" + StringHelper::Split(includePath, "assets/custom/")[1];
+ // Hack for OOT: don't prefix include paths with extracted/VERSION/
+ if (StringHelper::StartsWith(includePath, "extracted/")) {
+ std::vector parts = StringHelper::Split(includePath, "/");
+ parts.erase(parts.begin(), parts.begin() + 2);
+ includePath = StringHelper::Join(parts, "/");
+ }
Declaration* decl = GetDeclaration(address);
if (decl == nullptr)
@@ -621,6 +633,12 @@ Declaration* ZFile::AddDeclarationIncludeArray(offset_t address, std::string& in
includePath = "assets/" + StringHelper::Split(includePath, "assets/extracted/")[1];
if (StringHelper::StartsWith(includePath, "assets/custom/"))
includePath = "assets/" + StringHelper::Split(includePath, "assets/custom/")[1];
+ // Hack for OOT: don't prefix include paths with extracted/VERSION/
+ if (StringHelper::StartsWith(includePath, "extracted/")) {
+ std::vector parts = StringHelper::Split(includePath, "/");
+ parts.erase(parts.begin(), parts.begin() + 2);
+ includePath = StringHelper::Join(parts, "/");
+ }
Declaration* decl = GetDeclaration(address);
if (decl == nullptr)
diff --git a/tools/ZAPD/ZAPDUtils/Utils/StringHelper.h b/tools/ZAPD/ZAPDUtils/Utils/StringHelper.h
index c4e012eb0..942d0bcc9 100644
--- a/tools/ZAPD/ZAPDUtils/Utils/StringHelper.h
+++ b/tools/ZAPD/ZAPDUtils/Utils/StringHelper.h
@@ -30,6 +30,21 @@ public:
return result;
}
+ static std::string Join(const std::vector parts, const std::string& delimiter)
+ {
+ std::string result;
+
+ for (size_t i = 0; i < parts.size(); i++)
+ {
+ result += parts[i];
+
+ if (i != parts.size() - 1)
+ result += delimiter;
+ }
+
+ return result;
+ }
+
static std::string Strip(std::string s, const std::string& delimiter)
{
size_t pos = 0;
diff --git a/tools/ZAPDConfigs/MqDbg/ActorList_OoTMqDbg.txt b/tools/ZAPDConfigs/ActorList.txt
similarity index 100%
rename from tools/ZAPDConfigs/MqDbg/ActorList_OoTMqDbg.txt
rename to tools/ZAPDConfigs/ActorList.txt
diff --git a/tools/ZAPDConfigs/MqDbg/EntranceList_OoTMqDbg.txt b/tools/ZAPDConfigs/EntranceList.txt
similarity index 100%
rename from tools/ZAPDConfigs/MqDbg/EntranceList_OoTMqDbg.txt
rename to tools/ZAPDConfigs/EntranceList.txt
diff --git a/tools/ZAPDConfigs/MqDbg/EnumData.xml b/tools/ZAPDConfigs/EnumData.xml
similarity index 100%
rename from tools/ZAPDConfigs/MqDbg/EnumData.xml
rename to tools/ZAPDConfigs/EnumData.xml
diff --git a/tools/ZAPDConfigs/MqDbg/Config.xml b/tools/ZAPDConfigs/MqDbg/Config.xml
deleted file mode 100644
index f9660f90b..000000000
--- a/tools/ZAPDConfigs/MqDbg/Config.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/tools/ZAPDConfigs/MqDbg/SymbolMap_OoTMqDbg.txt b/tools/ZAPDConfigs/MqDbg/SymbolMap_OoTMqDbg.txt
deleted file mode 100644
index 015e7e88a..000000000
--- a/tools/ZAPDConfigs/MqDbg/SymbolMap_OoTMqDbg.txt
+++ /dev/null
@@ -1 +0,0 @@
-8012DB20 gMtxClear
\ No newline at end of file
diff --git a/tools/ZAPDConfigs/MqDbg/ObjectList_OoTMqDbg.txt b/tools/ZAPDConfigs/ObjectList.txt
similarity index 100%
rename from tools/ZAPDConfigs/MqDbg/ObjectList_OoTMqDbg.txt
rename to tools/ZAPDConfigs/ObjectList.txt
diff --git a/tools/ZAPDConfigs/MqDbg/SpecialEntranceList_OoTMqDbg.txt b/tools/ZAPDConfigs/SpecialEntranceList.txt
similarity index 100%
rename from tools/ZAPDConfigs/MqDbg/SpecialEntranceList_OoTMqDbg.txt
rename to tools/ZAPDConfigs/SpecialEntranceList.txt
diff --git a/tools/ZAPDConfigs/gc-eu-mq-dbg/Config.xml b/tools/ZAPDConfigs/gc-eu-mq-dbg/Config.xml
new file mode 100644
index 000000000..9960b22de
--- /dev/null
+++ b/tools/ZAPDConfigs/gc-eu-mq-dbg/Config.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tools/ZAPDConfigs/gc-eu-mq-dbg/SymbolMap.txt b/tools/ZAPDConfigs/gc-eu-mq-dbg/SymbolMap.txt
new file mode 100644
index 000000000..99b4bad0a
--- /dev/null
+++ b/tools/ZAPDConfigs/gc-eu-mq-dbg/SymbolMap.txt
@@ -0,0 +1,2 @@
+8012DB20 gMtxClear
+80A8E610 sShadowTex
diff --git a/tools/ZAPDConfigs/gc-eu-mq/Config.xml b/tools/ZAPDConfigs/gc-eu-mq/Config.xml
new file mode 100644
index 000000000..9960b22de
--- /dev/null
+++ b/tools/ZAPDConfigs/gc-eu-mq/Config.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tools/ZAPDConfigs/gc-eu-mq/SymbolMap.txt b/tools/ZAPDConfigs/gc-eu-mq/SymbolMap.txt
new file mode 100644
index 000000000..70056f6b0
--- /dev/null
+++ b/tools/ZAPDConfigs/gc-eu-mq/SymbolMap.txt
@@ -0,0 +1,2 @@
+800FBC00 gMtxClear
+80A72FA0 sShadowTex
diff --git a/tools/ZAPDConfigs/gc-eu/Config.xml b/tools/ZAPDConfigs/gc-eu/Config.xml
new file mode 100644
index 000000000..9960b22de
--- /dev/null
+++ b/tools/ZAPDConfigs/gc-eu/Config.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tools/ZAPDConfigs/gc-eu/SymbolMap.txt b/tools/ZAPDConfigs/gc-eu/SymbolMap.txt
new file mode 100644
index 000000000..b523f5646
--- /dev/null
+++ b/tools/ZAPDConfigs/gc-eu/SymbolMap.txt
@@ -0,0 +1,2 @@
+800FBC20 gMtxClear
+80A73020 sShadowTex
diff --git a/tools/version_config.py b/tools/version_config.py
index f41bdfc51..eab12b2ad 100644
--- a/tools/version_config.py
+++ b/tools/version_config.py
@@ -18,18 +18,30 @@ PROJECT_ROOT = Path(__file__).parent.parent
@dataclasses.dataclass
class VersionConfig:
+ # Version name
+ version: str
# ROM offset to start of DMA table
dmadata_start: int
# DMA segment information, in ROM order
dmadata_segments: OrderedDict[str, SegmentInfo]
# Addresses of important variables needed for asset extraction
- variables: Dict[str, int]
+ variables: dict[str, int]
+ # Assets to extract
+ assets: list[AssetConfig]
@dataclasses.dataclass
class SegmentInfo:
name: str
- vram: int | None
+ vram: Optional[int]
+
+
+@dataclasses.dataclass
+class AssetConfig:
+ name: str
+ xml_path: Path
+ start_offset: Optional[int]
+ end_offset: Optional[int]
def load_dmadata_segments(version: str) -> OrderedDict[str, SegmentInfo]:
@@ -46,8 +58,19 @@ def load_dmadata_segments(version: str) -> OrderedDict[str, SegmentInfo]:
def load_version_config(version: str) -> VersionConfig:
with open(PROJECT_ROOT / f"baseroms/{version}/config.yml", "r") as f:
config = yaml.load(f, Loader=yaml.Loader)
+
+ assets = []
+ for asset in config["assets"]:
+ name = asset["name"]
+ xml_path = Path(asset["xml_path"])
+ start_offset = asset.get("start_offset", None)
+ end_offset = asset.get("end_offset", None)
+ assets.append(AssetConfig(name, xml_path, start_offset, end_offset))
+
return VersionConfig(
+ version=version,
dmadata_start=config["dmadata_start"],
dmadata_segments=load_dmadata_segments(version),
variables=config["variables"],
+ assets=assets,
)