From 4cdf37e9765dc54e108d386a9ff5f91bc3278e1d Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Thu, 29 May 2025 14:31:11 +0200 Subject: [PATCH] extract Bg_Treemouth cutscenes --- assets/xml/overlays/ovl_Bg_Treemouth.xml | 8 + baseroms/gc-eu-mq-dbg/config.yml | 4 + baseroms/gc-eu-mq/config.yml | 4 + baseroms/gc-eu/config.yml | 4 + baseroms/gc-jp-ce/config.yml | 4 + baseroms/gc-jp-mq/config.yml | 4 + baseroms/gc-jp/config.yml | 4 + baseroms/gc-us-mq/config.yml | 4 + baseroms/gc-us/config.yml | 4 + baseroms/ique-cn/config.yml | 4 + baseroms/ntsc-1.0/config.yml | 4 + baseroms/ntsc-1.1/config.yml | 4 + baseroms/ntsc-1.2/config.yml | 4 + baseroms/pal-1.0/config.yml | 4 + baseroms/pal-1.1/config.yml | 4 + spec/overlays_gc.inc | 2 +- spec/overlays_n64_ique.inc | 2 +- .../actors/ovl_Bg_Treemouth/z_bg_treemouth.c | 6 +- .../z_bg_treemouth_cutscene_data.c | 170 ------------------ tools/assets/extract/extract_xml_z64.py | 1 + tools/assets/extract/write_source.txt | 1 + 21 files changed, 69 insertions(+), 177 deletions(-) create mode 100644 assets/xml/overlays/ovl_Bg_Treemouth.xml delete mode 100644 src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c diff --git a/assets/xml/overlays/ovl_Bg_Treemouth.xml b/assets/xml/overlays/ovl_Bg_Treemouth.xml new file mode 100644 index 0000000000..3c7ffb2764 --- /dev/null +++ b/assets/xml/overlays/ovl_Bg_Treemouth.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/baseroms/gc-eu-mq-dbg/config.yml b/baseroms/gc-eu-mq-dbg/config.yml index 390c8913da..19e213780b 100644 --- a/baseroms/gc-eu-mq-dbg/config.yml +++ b/baseroms/gc-eu-mq-dbg/config.yml @@ -859,6 +859,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1980 end_offset: 0x19F8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x920 + end_offset: 0x1490 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x6238 diff --git a/baseroms/gc-eu-mq/config.yml b/baseroms/gc-eu-mq/config.yml index 7f5712fc05..d43c0c5bee 100644 --- a/baseroms/gc-eu-mq/config.yml +++ b/baseroms/gc-eu-mq/config.yml @@ -851,6 +851,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/gc-eu/config.yml b/baseroms/gc-eu/config.yml index 40fe61eaad..eeed9f58ba 100644 --- a/baseroms/gc-eu/config.yml +++ b/baseroms/gc-eu/config.yml @@ -851,6 +851,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/gc-jp-ce/config.yml b/baseroms/gc-jp-ce/config.yml index eee64bbe04..8c46d058b6 100644 --- a/baseroms/gc-jp-ce/config.yml +++ b/baseroms/gc-jp-ce/config.yml @@ -850,6 +850,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/gc-jp-mq/config.yml b/baseroms/gc-jp-mq/config.yml index 28fd413069..1d0bedcbde 100644 --- a/baseroms/gc-jp-mq/config.yml +++ b/baseroms/gc-jp-mq/config.yml @@ -850,6 +850,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/gc-jp/config.yml b/baseroms/gc-jp/config.yml index 3774fbfe11..187a1ee90e 100644 --- a/baseroms/gc-jp/config.yml +++ b/baseroms/gc-jp/config.yml @@ -850,6 +850,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/gc-us-mq/config.yml b/baseroms/gc-us-mq/config.yml index 59f062ff87..485d06f793 100644 --- a/baseroms/gc-us-mq/config.yml +++ b/baseroms/gc-us-mq/config.yml @@ -850,6 +850,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/gc-us/config.yml b/baseroms/gc-us/config.yml index 2efb233b1e..45f76ef09c 100644 --- a/baseroms/gc-us/config.yml +++ b/baseroms/gc-us/config.yml @@ -850,6 +850,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/ique-cn/config.yml b/baseroms/ique-cn/config.yml index 4b5947f9d0..28e4383245 100644 --- a/baseroms/ique-cn/config.yml +++ b/baseroms/ique-cn/config.yml @@ -850,6 +850,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1850 end_offset: 0x18C8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61E8 diff --git a/baseroms/ntsc-1.0/config.yml b/baseroms/ntsc-1.0/config.yml index 4539005f9f..cdbf81c9ae 100644 --- a/baseroms/ntsc-1.0/config.yml +++ b/baseroms/ntsc-1.0/config.yml @@ -857,6 +857,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1830 end_offset: 0x18A8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8E0 + end_offset: 0x1450 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61C8 diff --git a/baseroms/ntsc-1.1/config.yml b/baseroms/ntsc-1.1/config.yml index d589b6d336..8c177f03a7 100644 --- a/baseroms/ntsc-1.1/config.yml +++ b/baseroms/ntsc-1.1/config.yml @@ -857,6 +857,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1830 end_offset: 0x18A8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8E0 + end_offset: 0x1450 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61C8 diff --git a/baseroms/ntsc-1.2/config.yml b/baseroms/ntsc-1.2/config.yml index 19558c954e..b166df0644 100644 --- a/baseroms/ntsc-1.2/config.yml +++ b/baseroms/ntsc-1.2/config.yml @@ -857,6 +857,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1830 end_offset: 0x18A8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61C8 diff --git a/baseroms/pal-1.0/config.yml b/baseroms/pal-1.0/config.yml index 94c363e353..5d0e2cd635 100644 --- a/baseroms/pal-1.0/config.yml +++ b/baseroms/pal-1.0/config.yml @@ -863,6 +863,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1830 end_offset: 0x18A8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61C8 diff --git a/baseroms/pal-1.1/config.yml b/baseroms/pal-1.1/config.yml index 1321f72a20..58545d2288 100644 --- a/baseroms/pal-1.1/config.yml +++ b/baseroms/pal-1.1/config.yml @@ -863,6 +863,10 @@ assets: xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml start_offset: 0x1830 end_offset: 0x18A8 +- name: overlays/ovl_Bg_Treemouth + xml_path: assets/xml/overlays/ovl_Bg_Treemouth.xml + start_offset: 0x8F0 + end_offset: 0x1460 - name: overlays/ovl_Boss_Dodongo xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml start_offset: 0x61C8 diff --git a/spec/overlays_gc.inc b/spec/overlays_gc.inc index bf54292955..3178e53939 100644 --- a/spec/overlays_gc.inc +++ b/spec/overlays_gc.inc @@ -844,7 +844,7 @@ endseg beginseg name "ovl_Bg_Treemouth" compress - include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.o" + include "$(BUILD_DIR)/assets/overlays/ovl_Bg_Treemouth/ovl_Bg_Treemouth.o" include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.o" include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/ovl_Bg_Treemouth_reloc.o" endseg diff --git a/spec/overlays_n64_ique.inc b/spec/overlays_n64_ique.inc index e4451d668d..bb3b1ac1d5 100644 --- a/spec/overlays_n64_ique.inc +++ b/spec/overlays_n64_ique.inc @@ -296,7 +296,7 @@ endseg beginseg name "ovl_Bg_Treemouth" compress - include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.o" + include "$(BUILD_DIR)/assets/overlays/ovl_Bg_Treemouth/ovl_Bg_Treemouth.o" include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.o" include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/ovl_Bg_Treemouth_reloc.o" endseg diff --git a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c index 5a544c3015..8f75d76cbf 100644 --- a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c +++ b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c @@ -20,6 +20,7 @@ #include "z64save.h" #include "assets/objects/object_spot04_objects/object_spot04_objects.h" +#include "assets/overlays/ovl_Bg_Treemouth/ovl_Bg_Treemouth.h" #define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED) @@ -37,11 +38,6 @@ void func_808BC8B8(BgTreemouth* this, PlayState* play); void func_808BC9EC(BgTreemouth* this, PlayState* play); void func_808BCAF0(BgTreemouth* this, PlayState* play); -extern CutsceneData gDekuTreeMeetingCs[]; -extern CutsceneData gDekuTreeChoiceCs[]; -extern CutsceneData gDekuTreeMouthOpeningCs[]; -extern CutsceneData gDekuTreeAskAgainCs[]; - ActorProfile Bg_Treemouth_Profile = { /**/ ACTOR_BG_TREEMOUTH, /**/ ACTORCAT_BG, diff --git a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c deleted file mode 100644 index c254318d42..0000000000 --- a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c +++ /dev/null @@ -1,170 +0,0 @@ -#include "sequence.h" -#include "z64cutscene_commands.h" -#include "z64player.h" - -// clang-format off -CutsceneData gDekuTreeMeetingCs[] = { - CS_HEADER(12, 3000), - CS_UNK_DATA_LIST(0x00000015, 1), - CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), - CS_PLAYER_CUE_LIST(2), - CS_PLAYER_CUE(PLAYER_CUEID_2, 0, 33, 0x54B2, 0x0000, 0x0000, 2614, 0, -451, 2808, 0, -559, CS_FLOAT(0x40BC1F08, 5.878788f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC0BC1F08, -5.878788f)), - CS_PLAYER_CUE(PLAYER_CUEID_4, 33, 42, 0x5945, 0x0000, 0x0000, 2808, 0, -559, 2857, 0, -594, CS_FLOAT(0x40AE38E4, 5.4444447f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC0AE38E4, -5.4444447f)), - CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x59A8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x20B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x6430), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x0000), - CS_CAM_EYE_SPLINE(60, 1271), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2705, 67, -302, 0x2D9A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x5B80), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x7805), - CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2788, 23, -453, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x2D9A), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x005E), - CS_CAM_AT_SPLINE(60, 1300), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2788, 23, -453, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2777, 72, -378, 0x2D9A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x5B80), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x7805), - CS_TEXT_LIST(4), - CS_TEXT_NONE(0, 40), - CS_TEXT(0x107D, 40, 60, CS_TEXT_NORMAL, 0xFFFF, 0xFFFF), - CS_TEXT_NONE(60, 160), - CS_TEXT(0x1015, 160, 170, CS_TEXT_NORMAL, 0xFFFF, 0xFFFF), - CS_MISC_LIST(1), - CS_MISC(CS_MISC_STOP_CUTSCENE, 180, 200, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFF7, 0xFFFFFFDB, 0x00000000, 0xFFFFFFF7, 0xFFFFFFDB, 0x00000000, 0x00000000, 0x00000000), - CS_ACTOR_CUE_LIST(CS_CMD_ACTOR_CUE_0_6, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -41, -28, 0, -41, -28, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_ACTOR_CUE_LIST(CS_CMD_ACTOR_CUE_8_0, 4), - CS_ACTOR_CUE(0x0001, 0, 1, 0x0000, 0x0000, 0x0000, 2668, 46, -490, 2668, 46, -490, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_ACTOR_CUE(0x0004, 1, 50, 0x5479, 0x0000, 0x0000, 2668, 46, -490, 2890, 43, -612, CS_FLOAT(0x4090FAC7, 4.5306125f), CS_FLOAT(0xBD7AC688, -0.06122449f), CS_FLOAT(0xC090FAC7, -4.5306125f)), - CS_ACTOR_CUE(0x0004, 50, 100, 0x505C, 0x0000, 0x0000, 2890, 43, -612, 3109, 121, -705, CS_FLOAT(0x408C28F6, 4.38f), CS_FLOAT(0x3FC7AE14, 1.56f), CS_FLOAT(0xC08C28F6, -4.38f)), - CS_ACTOR_CUE(0x0001, 100, 2084, 0x0000, 0x0000, 0x0000, 3109, 121, -705, 3109, 121, -705, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_START_SEQ_LIST(1), - CS_START_SEQ(NA_BGM_DEKU_TREE_CS, 140, 141, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFBA, 0x00000094, 0x00000000, 0xFFFFFFBA, 0x00000094), - CS_FADE_OUT_SEQ_LIST(1), - CS_FADE_OUT_SEQ(CS_FADE_OUT_BGM_MAIN, 0, 20, 0x0000, 0x00000000, 0xFFFFFFA2, 0x00000000, 0x00000027, 0xFFFFFFA2, 0x00000000, 0x00000027), - CS_END_OF_SCRIPT(), -}; - -CutsceneData gDekuTreeChoiceCs[] = { - CS_HEADER(9, 3000), - CS_UNK_DATA_LIST(0x00000015, 1), - CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), - CS_MISC_LIST(1), - CS_MISC(CS_MISC_STOP_CUTSCENE, 90, 172, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFE3, 0x00000012, 0x00000000, 0xFFFFFFE3, 0x00000012, 0x00000000, 0x00000000, 0x00000000), - CS_ACTOR_CUE_LIST(CS_CMD_ACTOR_CUE_0_6, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -27, 26, 0, -27, 26, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3740, -141, -530, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x9D94), - CS_CAM_EYE_SPLINE_REL_TO_PLAYER(60, 1151), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x9D94), - CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4223FFED, 40.999928f), 3776, -89, -605, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3776, -89, -605, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3776, -89, -604, 0x9D94), - CS_CAM_AT_SPLINE_REL_TO_PLAYER(60, 1180), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x9D94), - CS_TEXT_LIST(2), - CS_TEXT_NONE(0, 20), - CS_TEXT(0x1016, 20, 80, CS_TEXT_NORMAL, 0xFFFF, 0xFFFF), - CS_START_SEQ_LIST(1), - CS_START_SEQ(NA_BGM_DEKU_TREE_CS, 0, 1, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFAC, 0x0000007E, 0x00000000, 0xFFFFFFAC, 0x0000007E), - CS_END_OF_SCRIPT(), -}; - -CutsceneData gDekuTreeMouthOpeningCs[] = { - CS_HEADER(8, 3000), - CS_UNK_DATA_LIST(0x00000015, 1), - CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), - CS_ACTOR_CUE_LIST(CS_CMD_ACTOR_CUE_0_6, 2), - CS_ACTOR_CUE(0x0001, 0, 20, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_ACTOR_CUE(0x0003, 20, 357, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_CAM_EYE_SPLINE(0, 1151), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3740, -141, -530, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x010C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x0198), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x019A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x01AB), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3739, -141, -530, 0x01BC), - CS_CAM_AT_SPLINE(0, 1180), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x010C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3763, -126, -621, 0x0198), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4223FFED, 40.999928f), 3763, -126, -621, 0x019A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3763, -126, -621, 0x01AB), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3765, -118, -617, 0x01BC), - CS_TEXT_LIST(2), - CS_TEXT_NONE(0, 20), - CS_TEXT(0x1017, 20, 60, CS_TEXT_NORMAL, 0xFFFF, 0xFFFF), - CS_MISC_LIST(1), - CS_MISC(CS_MISC_STOP_CUTSCENE, 100, 150, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFF5, 0x00000010, 0x00000000, 0xFFFFFFF5, 0x00000010, 0x00000000, 0x00000000, 0x00000000), - CS_STOP_SEQ_LIST(1), - CS_STOP_SEQ(NA_BGM_DEKU_TREE_CS, 90, 91, 0x0000, 0x00000000, 0xFFFFFFAC, 0x00000000, 0x00000034, 0xFFFFFFAC, 0x00000000, 0x00000034), - CS_START_SEQ_LIST(1), - CS_START_SEQ(NA_BGM_KOKIRI, 99, 100, 0x0000, 0x00000000, 0xFFFFFFD0, 0x00000000, 0x00000041, 0xFFFFFFD0, 0x00000000, 0x00000041), - CS_END_OF_SCRIPT(), -}; - -CutsceneData gDekuTreeAskAgainCs[] = { - CS_HEADER(8, 3000), - CS_UNK_DATA_LIST(0x00000015, 1), - CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), - CS_ACTOR_CUE_LIST(CS_CMD_ACTOR_CUE_0_6, 1), - CS_ACTOR_CUE(0x0001, 0, 119, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), - CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x54EC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x555C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x55CC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x563C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x56AC), - CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x54EC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x555C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x55CC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x563C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x56AC), - CS_TEXT_LIST(2), - CS_TEXT_NONE(0, 20), - CS_TEXT(0x1018, 20, 60, CS_TEXT_NORMAL, 0xFFFF, 0xFFFF), - CS_MISC_LIST(1), - CS_MISC(CS_MISC_STOP_CUTSCENE, 80, 110, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFEA, 0x00000006, 0x00000000, 0xFFFFFFEA, 0x00000006, 0x00000000, 0x00000000, 0x00000000), - CS_STOP_SEQ_LIST(1), - CS_STOP_SEQ(NA_BGM_DEKU_TREE_CS, 70, 71, 0x0000, 0x00000000, 0xFFFFFFB7, 0x00000000, 0x00000044, 0xFFFFFFB7, 0x00000000, 0x00000044), - CS_START_SEQ_LIST(1), - CS_START_SEQ(NA_BGM_KOKIRI, 79, 80, 0x0000, 0x00000000, 0xFFFFFFE8, 0x00000000, 0x0000003A, 0xFFFFFFE8, 0x00000000, 0x0000003A), - CS_END_OF_SCRIPT(), -}; -// clang-format on diff --git a/tools/assets/extract/extract_xml_z64.py b/tools/assets/extract/extract_xml_z64.py index c896868e6b..5db7e8cb7f 100644 --- a/tools/assets/extract/extract_xml_z64.py +++ b/tools/assets/extract/extract_xml_z64.py @@ -89,6 +89,7 @@ def create_file_resources(rescoll: ResourcesDescCollection, file: File): # not that this is really a required long term feature as it's only relevant # for writing the source files (main .c/.h), not extracting if file.name.startswith("ovl_") and file.name not in { + "ovl_Bg_Treemouth", "ovl_Demo_Kankyo", "ovl_En_Zl1", "ovl_file_choose", diff --git a/tools/assets/extract/write_source.txt b/tools/assets/extract/write_source.txt index 4e4e1ca518..ccb1ed360e 100644 --- a/tools/assets/extract/write_source.txt +++ b/tools/assets/extract/write_source.txt @@ -387,6 +387,7 @@ assets/overlays/ovl_Arrow_Ice/ovl_Arrow_Ice.c assets/overlays/ovl_Arrow_Light/ovl_Arrow_Light.c assets/overlays/ovl_Bg_Ganon_Otyuka/ovl_Bg_Ganon_Otyuka.c assets/overlays/ovl_Bg_Jya_Cobra/ovl_Bg_Jya_Cobra.c +assets/overlays/ovl_Bg_Treemouth/ovl_Bg_Treemouth.c assets/overlays/ovl_Boss_Dodongo/ovl_Boss_Dodongo.c assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.c assets/overlays/ovl_Boss_Ganon/ovl_Boss_Ganon.c