diff --git a/include/segment_symbols.h b/include/segment_symbols.h index 549709bce9..61e2a3cbb5 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -72,64 +72,6 @@ DECLARE_OVERLAY_SEGMENT(kaleido_scope) DECLARE_OVERLAY_SEGMENT(player_actor) DECLARE_OVERLAY_SEGMENT(map_mark_data) -DECLARE_ROM_SEGMENT(g_pn_01) -DECLARE_ROM_SEGMENT(g_pn_02) -DECLARE_ROM_SEGMENT(g_pn_03) -DECLARE_ROM_SEGMENT(g_pn_04) -DECLARE_ROM_SEGMENT(g_pn_05) -DECLARE_ROM_SEGMENT(g_pn_06) -DECLARE_ROM_SEGMENT(g_pn_07) -DECLARE_ROM_SEGMENT(g_pn_08) -DECLARE_ROM_SEGMENT(g_pn_09) -DECLARE_ROM_SEGMENT(g_pn_10) -DECLARE_ROM_SEGMENT(g_pn_11) -DECLARE_ROM_SEGMENT(g_pn_12) -DECLARE_ROM_SEGMENT(g_pn_13) -DECLARE_ROM_SEGMENT(g_pn_14) -DECLARE_ROM_SEGMENT(g_pn_15) -DECLARE_ROM_SEGMENT(g_pn_16) -DECLARE_ROM_SEGMENT(g_pn_17) -DECLARE_ROM_SEGMENT(g_pn_18) -DECLARE_ROM_SEGMENT(g_pn_19) -DECLARE_ROM_SEGMENT(g_pn_20) -DECLARE_ROM_SEGMENT(g_pn_21) -DECLARE_ROM_SEGMENT(g_pn_22) -DECLARE_ROM_SEGMENT(g_pn_23) -DECLARE_ROM_SEGMENT(g_pn_24) -DECLARE_ROM_SEGMENT(g_pn_25) -DECLARE_ROM_SEGMENT(g_pn_26) -DECLARE_ROM_SEGMENT(g_pn_27) -DECLARE_ROM_SEGMENT(g_pn_28) -DECLARE_ROM_SEGMENT(g_pn_29) -DECLARE_ROM_SEGMENT(g_pn_30) -DECLARE_ROM_SEGMENT(g_pn_31) -DECLARE_ROM_SEGMENT(g_pn_32) -DECLARE_ROM_SEGMENT(g_pn_33) -DECLARE_ROM_SEGMENT(g_pn_34) -DECLARE_ROM_SEGMENT(g_pn_35) -DECLARE_ROM_SEGMENT(g_pn_36) -DECLARE_ROM_SEGMENT(g_pn_37) -DECLARE_ROM_SEGMENT(g_pn_38) -DECLARE_ROM_SEGMENT(g_pn_39) -DECLARE_ROM_SEGMENT(g_pn_40) -DECLARE_ROM_SEGMENT(g_pn_41) -DECLARE_ROM_SEGMENT(g_pn_42) -DECLARE_ROM_SEGMENT(g_pn_43) -DECLARE_ROM_SEGMENT(g_pn_44) -DECLARE_ROM_SEGMENT(g_pn_45) -DECLARE_ROM_SEGMENT(g_pn_46) -DECLARE_ROM_SEGMENT(g_pn_47) -DECLARE_ROM_SEGMENT(g_pn_48) -DECLARE_ROM_SEGMENT(g_pn_49) -DECLARE_ROM_SEGMENT(g_pn_50) -DECLARE_ROM_SEGMENT(g_pn_51) -DECLARE_ROM_SEGMENT(g_pn_52) -DECLARE_ROM_SEGMENT(g_pn_53) -DECLARE_ROM_SEGMENT(g_pn_54) -DECLARE_ROM_SEGMENT(g_pn_55) -DECLARE_ROM_SEGMENT(g_pn_56) -DECLARE_ROM_SEGMENT(g_pn_57) - DECLARE_ROM_SEGMENT(z_select_static) DECLARE_ROM_SEGMENT(nintendo_rogo_static) DECLARE_ROM_SEGMENT(title_static) @@ -201,8 +143,6 @@ DECLARE_ROM_SEGMENT(vr_FCVR_pal_static) DECLARE_ROM_SEGMENT(elf_message_field) DECLARE_ROM_SEGMENT(elf_message_ydan) -// SCENES AND ROOMS -DECLARE_ROM_SEGMENT(ydan_scene) DECLARE_ROM_SEGMENT(ydan_room_0) DECLARE_ROM_SEGMENT(ydan_room_1) DECLARE_ROM_SEGMENT(ydan_room_2) @@ -216,7 +156,6 @@ DECLARE_ROM_SEGMENT(ydan_room_9) DECLARE_ROM_SEGMENT(ydan_room_10) DECLARE_ROM_SEGMENT(ydan_room_11) -DECLARE_ROM_SEGMENT(ddan_scene) DECLARE_ROM_SEGMENT(ddan_room_0) DECLARE_ROM_SEGMENT(ddan_room_1) DECLARE_ROM_SEGMENT(ddan_room_2) @@ -235,7 +174,6 @@ DECLARE_ROM_SEGMENT(ddan_room_14) DECLARE_ROM_SEGMENT(ddan_room_15) DECLARE_ROM_SEGMENT(ddan_room_16) -DECLARE_ROM_SEGMENT(bdan_scene) DECLARE_ROM_SEGMENT(bdan_room_0) DECLARE_ROM_SEGMENT(bdan_room_1) DECLARE_ROM_SEGMENT(bdan_room_2) @@ -253,7 +191,6 @@ DECLARE_ROM_SEGMENT(bdan_room_13) DECLARE_ROM_SEGMENT(bdan_room_14) DECLARE_ROM_SEGMENT(bdan_room_15) -DECLARE_ROM_SEGMENT(Bmori1_scene) DECLARE_ROM_SEGMENT(Bmori1_room_0) DECLARE_ROM_SEGMENT(Bmori1_room_1) DECLARE_ROM_SEGMENT(Bmori1_room_2) @@ -278,7 +215,6 @@ DECLARE_ROM_SEGMENT(Bmori1_room_20) DECLARE_ROM_SEGMENT(Bmori1_room_21) DECLARE_ROM_SEGMENT(Bmori1_room_22) -DECLARE_ROM_SEGMENT(HIDAN_scene) DECLARE_ROM_SEGMENT(HIDAN_room_0) DECLARE_ROM_SEGMENT(HIDAN_room_1) DECLARE_ROM_SEGMENT(HIDAN_room_2) @@ -307,7 +243,6 @@ DECLARE_ROM_SEGMENT(HIDAN_room_24) DECLARE_ROM_SEGMENT(HIDAN_room_25) DECLARE_ROM_SEGMENT(HIDAN_room_26) -DECLARE_ROM_SEGMENT(MIZUsin_scene) DECLARE_ROM_SEGMENT(MIZUsin_room_0) DECLARE_ROM_SEGMENT(MIZUsin_room_1) DECLARE_ROM_SEGMENT(MIZUsin_room_2) @@ -332,7 +267,6 @@ DECLARE_ROM_SEGMENT(MIZUsin_room_20) DECLARE_ROM_SEGMENT(MIZUsin_room_21) DECLARE_ROM_SEGMENT(MIZUsin_room_22) -DECLARE_ROM_SEGMENT(jyasinzou_scene) DECLARE_ROM_SEGMENT(jyasinzou_room_0) DECLARE_ROM_SEGMENT(jyasinzou_room_1) DECLARE_ROM_SEGMENT(jyasinzou_room_2) @@ -363,7 +297,6 @@ DECLARE_ROM_SEGMENT(jyasinzou_room_26) DECLARE_ROM_SEGMENT(jyasinzou_room_27) DECLARE_ROM_SEGMENT(jyasinzou_room_28) -DECLARE_ROM_SEGMENT(HAKAdan_scene) DECLARE_ROM_SEGMENT(HAKAdan_room_0) DECLARE_ROM_SEGMENT(HAKAdan_room_1) DECLARE_ROM_SEGMENT(HAKAdan_room_2) @@ -388,7 +321,6 @@ DECLARE_ROM_SEGMENT(HAKAdan_room_20) DECLARE_ROM_SEGMENT(HAKAdan_room_21) DECLARE_ROM_SEGMENT(HAKAdan_room_22) -DECLARE_ROM_SEGMENT(HAKAdanCH_scene) DECLARE_ROM_SEGMENT(HAKAdanCH_room_0) DECLARE_ROM_SEGMENT(HAKAdanCH_room_1) DECLARE_ROM_SEGMENT(HAKAdanCH_room_2) @@ -397,7 +329,6 @@ DECLARE_ROM_SEGMENT(HAKAdanCH_room_4) DECLARE_ROM_SEGMENT(HAKAdanCH_room_5) DECLARE_ROM_SEGMENT(HAKAdanCH_room_6) -DECLARE_ROM_SEGMENT(ice_doukutu_scene) DECLARE_ROM_SEGMENT(ice_doukutu_room_0) DECLARE_ROM_SEGMENT(ice_doukutu_room_1) DECLARE_ROM_SEGMENT(ice_doukutu_room_2) @@ -411,7 +342,6 @@ DECLARE_ROM_SEGMENT(ice_doukutu_room_9) DECLARE_ROM_SEGMENT(ice_doukutu_room_10) DECLARE_ROM_SEGMENT(ice_doukutu_room_11) -DECLARE_ROM_SEGMENT(ganon_scene) DECLARE_ROM_SEGMENT(ganon_room_0) DECLARE_ROM_SEGMENT(ganon_room_1) DECLARE_ROM_SEGMENT(ganon_room_2) @@ -423,7 +353,6 @@ DECLARE_ROM_SEGMENT(ganon_room_7) DECLARE_ROM_SEGMENT(ganon_room_8) DECLARE_ROM_SEGMENT(ganon_room_9) -DECLARE_ROM_SEGMENT(men_scene) DECLARE_ROM_SEGMENT(men_room_0) DECLARE_ROM_SEGMENT(men_room_1) DECLARE_ROM_SEGMENT(men_room_2) @@ -436,7 +365,6 @@ DECLARE_ROM_SEGMENT(men_room_8) DECLARE_ROM_SEGMENT(men_room_9) DECLARE_ROM_SEGMENT(men_room_10) -DECLARE_ROM_SEGMENT(gerudoway_scene) DECLARE_ROM_SEGMENT(gerudoway_room_0) DECLARE_ROM_SEGMENT(gerudoway_room_1) DECLARE_ROM_SEGMENT(gerudoway_room_2) @@ -444,7 +372,6 @@ DECLARE_ROM_SEGMENT(gerudoway_room_3) DECLARE_ROM_SEGMENT(gerudoway_room_4) DECLARE_ROM_SEGMENT(gerudoway_room_5) -DECLARE_ROM_SEGMENT(ganontika_scene) DECLARE_ROM_SEGMENT(ganontika_room_0) DECLARE_ROM_SEGMENT(ganontika_room_1) DECLARE_ROM_SEGMENT(ganontika_room_2) @@ -466,18 +393,15 @@ DECLARE_ROM_SEGMENT(ganontika_room_17) DECLARE_ROM_SEGMENT(ganontika_room_18) DECLARE_ROM_SEGMENT(ganontika_room_19) -DECLARE_ROM_SEGMENT(ganon_sonogo_scene) DECLARE_ROM_SEGMENT(ganon_sonogo_room_0) DECLARE_ROM_SEGMENT(ganon_sonogo_room_1) DECLARE_ROM_SEGMENT(ganon_sonogo_room_2) DECLARE_ROM_SEGMENT(ganon_sonogo_room_3) DECLARE_ROM_SEGMENT(ganon_sonogo_room_4) -DECLARE_ROM_SEGMENT(ganontikasonogo_scene) DECLARE_ROM_SEGMENT(ganontikasonogo_room_0) DECLARE_ROM_SEGMENT(ganontikasonogo_room_1) -DECLARE_ROM_SEGMENT(takaraya_scene) DECLARE_ROM_SEGMENT(takaraya_room_0) DECLARE_ROM_SEGMENT(takaraya_room_1) DECLARE_ROM_SEGMENT(takaraya_room_2) @@ -486,152 +410,106 @@ DECLARE_ROM_SEGMENT(takaraya_room_4) DECLARE_ROM_SEGMENT(takaraya_room_5) DECLARE_ROM_SEGMENT(takaraya_room_6) -DECLARE_ROM_SEGMENT(ydan_boss_scene) DECLARE_ROM_SEGMENT(ydan_boss_room_0) DECLARE_ROM_SEGMENT(ydan_boss_room_1) -DECLARE_ROM_SEGMENT(ddan_boss_scene) DECLARE_ROM_SEGMENT(ddan_boss_room_0) DECLARE_ROM_SEGMENT(ddan_boss_room_1) -DECLARE_ROM_SEGMENT(bdan_boss_scene) DECLARE_ROM_SEGMENT(bdan_boss_room_0) DECLARE_ROM_SEGMENT(bdan_boss_room_1) -DECLARE_ROM_SEGMENT(moribossroom_scene) DECLARE_ROM_SEGMENT(moribossroom_room_0) DECLARE_ROM_SEGMENT(moribossroom_room_1) -DECLARE_ROM_SEGMENT(FIRE_bs_scene) DECLARE_ROM_SEGMENT(FIRE_bs_room_0) DECLARE_ROM_SEGMENT(FIRE_bs_room_1) -DECLARE_ROM_SEGMENT(MIZUsin_bs_scene) DECLARE_ROM_SEGMENT(MIZUsin_bs_room_0) DECLARE_ROM_SEGMENT(MIZUsin_bs_room_1) -DECLARE_ROM_SEGMENT(jyasinboss_scene) DECLARE_ROM_SEGMENT(jyasinboss_room_0) DECLARE_ROM_SEGMENT(jyasinboss_room_1) DECLARE_ROM_SEGMENT(jyasinboss_room_2) DECLARE_ROM_SEGMENT(jyasinboss_room_3) -DECLARE_ROM_SEGMENT(HAKAdan_bs_scene) DECLARE_ROM_SEGMENT(HAKAdan_bs_room_0) DECLARE_ROM_SEGMENT(HAKAdan_bs_room_1) -DECLARE_ROM_SEGMENT(ganon_boss_scene) DECLARE_ROM_SEGMENT(ganon_boss_room_0) -DECLARE_ROM_SEGMENT(ganon_final_scene) DECLARE_ROM_SEGMENT(ganon_final_room_0) -DECLARE_ROM_SEGMENT(entra_scene) DECLARE_ROM_SEGMENT(entra_room_0) -DECLARE_ROM_SEGMENT(entra_n_scene) DECLARE_ROM_SEGMENT(entra_n_room_0) -DECLARE_ROM_SEGMENT(enrui_scene) DECLARE_ROM_SEGMENT(enrui_room_0) -DECLARE_ROM_SEGMENT(market_alley_scene) DECLARE_ROM_SEGMENT(market_alley_room_0) -DECLARE_ROM_SEGMENT(market_alley_n_scene) DECLARE_ROM_SEGMENT(market_alley_n_room_0) -DECLARE_ROM_SEGMENT(market_day_scene) DECLARE_ROM_SEGMENT(market_day_room_0) -DECLARE_ROM_SEGMENT(market_night_scene) DECLARE_ROM_SEGMENT(market_night_room_0) -DECLARE_ROM_SEGMENT(market_ruins_scene) DECLARE_ROM_SEGMENT(market_ruins_room_0) -DECLARE_ROM_SEGMENT(shrine_scene) DECLARE_ROM_SEGMENT(shrine_room_0) -DECLARE_ROM_SEGMENT(shrine_n_scene) DECLARE_ROM_SEGMENT(shrine_n_room_0) -DECLARE_ROM_SEGMENT(shrine_r_scene) DECLARE_ROM_SEGMENT(shrine_r_room_0) -DECLARE_ROM_SEGMENT(kokiri_home_scene) DECLARE_ROM_SEGMENT(kokiri_home_room_0) -DECLARE_ROM_SEGMENT(kokiri_home3_scene) DECLARE_ROM_SEGMENT(kokiri_home3_room_0) -DECLARE_ROM_SEGMENT(kokiri_home4_scene) DECLARE_ROM_SEGMENT(kokiri_home4_room_0) -DECLARE_ROM_SEGMENT(kokiri_home5_scene) DECLARE_ROM_SEGMENT(kokiri_home5_room_0) -DECLARE_ROM_SEGMENT(kakariko_scene) DECLARE_ROM_SEGMENT(kakariko_room_0) -DECLARE_ROM_SEGMENT(kakariko3_scene) DECLARE_ROM_SEGMENT(kakariko3_room_0) -DECLARE_ROM_SEGMENT(shop1_scene) DECLARE_ROM_SEGMENT(shop1_room_0) -DECLARE_ROM_SEGMENT(kokiri_shop_scene) DECLARE_ROM_SEGMENT(kokiri_shop_room_0) -DECLARE_ROM_SEGMENT(golon_scene) DECLARE_ROM_SEGMENT(golon_room_0) -DECLARE_ROM_SEGMENT(zoora_scene) DECLARE_ROM_SEGMENT(zoora_room_0) -DECLARE_ROM_SEGMENT(drag_scene) DECLARE_ROM_SEGMENT(drag_room_0) -DECLARE_ROM_SEGMENT(alley_shop_scene) DECLARE_ROM_SEGMENT(alley_shop_room_0) -DECLARE_ROM_SEGMENT(night_shop_scene) DECLARE_ROM_SEGMENT(night_shop_room_0) -DECLARE_ROM_SEGMENT(face_shop_scene) DECLARE_ROM_SEGMENT(face_shop_room_0) -DECLARE_ROM_SEGMENT(link_home_scene) DECLARE_ROM_SEGMENT(link_home_room_0) -DECLARE_ROM_SEGMENT(impa_scene) DECLARE_ROM_SEGMENT(impa_room_0) -DECLARE_ROM_SEGMENT(malon_stable_scene) DECLARE_ROM_SEGMENT(malon_stable_room_0) -DECLARE_ROM_SEGMENT(labo_scene) DECLARE_ROM_SEGMENT(labo_room_0) -DECLARE_ROM_SEGMENT(hylia_labo_scene) DECLARE_ROM_SEGMENT(hylia_labo_room_0) -DECLARE_ROM_SEGMENT(tent_scene) DECLARE_ROM_SEGMENT(tent_room_0) -DECLARE_ROM_SEGMENT(hut_scene) DECLARE_ROM_SEGMENT(hut_room_0) -DECLARE_ROM_SEGMENT(daiyousei_izumi_scene) DECLARE_ROM_SEGMENT(daiyousei_izumi_room_0) -DECLARE_ROM_SEGMENT(yousei_izumi_tate_scene) DECLARE_ROM_SEGMENT(yousei_izumi_tate_room_0) -DECLARE_ROM_SEGMENT(yousei_izumi_yoko_scene) DECLARE_ROM_SEGMENT(yousei_izumi_yoko_room_0) -DECLARE_ROM_SEGMENT(kakusiana_scene) DECLARE_ROM_SEGMENT(kakusiana_room_0) DECLARE_ROM_SEGMENT(kakusiana_room_1) DECLARE_ROM_SEGMENT(kakusiana_room_2) @@ -647,37 +525,27 @@ DECLARE_ROM_SEGMENT(kakusiana_room_11) DECLARE_ROM_SEGMENT(kakusiana_room_12) DECLARE_ROM_SEGMENT(kakusiana_room_13) -DECLARE_ROM_SEGMENT(hakaana_scene) DECLARE_ROM_SEGMENT(hakaana_room_0) -DECLARE_ROM_SEGMENT(hakaana2_scene) DECLARE_ROM_SEGMENT(hakaana2_room_0) -DECLARE_ROM_SEGMENT(hakaana_ouke_scene) DECLARE_ROM_SEGMENT(hakaana_ouke_room_0) DECLARE_ROM_SEGMENT(hakaana_ouke_room_1) DECLARE_ROM_SEGMENT(hakaana_ouke_room_2) -DECLARE_ROM_SEGMENT(syatekijyou_scene) DECLARE_ROM_SEGMENT(syatekijyou_room_0) -DECLARE_ROM_SEGMENT(tokinoma_scene) DECLARE_ROM_SEGMENT(tokinoma_room_0) DECLARE_ROM_SEGMENT(tokinoma_room_1) -DECLARE_ROM_SEGMENT(kenjyanoma_scene) DECLARE_ROM_SEGMENT(kenjyanoma_room_0) -DECLARE_ROM_SEGMENT(hairal_niwa_scene) DECLARE_ROM_SEGMENT(hairal_niwa_room_0) -DECLARE_ROM_SEGMENT(hairal_niwa_n_scene) DECLARE_ROM_SEGMENT(hairal_niwa_n_room_0) -DECLARE_ROM_SEGMENT(hiral_demo_scene) DECLARE_ROM_SEGMENT(hiral_demo_room_0) -DECLARE_ROM_SEGMENT(hakasitarelay_scene) DECLARE_ROM_SEGMENT(hakasitarelay_room_0) DECLARE_ROM_SEGMENT(hakasitarelay_room_1) DECLARE_ROM_SEGMENT(hakasitarelay_room_2) @@ -686,68 +554,49 @@ DECLARE_ROM_SEGMENT(hakasitarelay_room_4) DECLARE_ROM_SEGMENT(hakasitarelay_room_5) DECLARE_ROM_SEGMENT(hakasitarelay_room_6) -DECLARE_ROM_SEGMENT(turibori_scene) DECLARE_ROM_SEGMENT(turibori_room_0) -DECLARE_ROM_SEGMENT(nakaniwa_scene) DECLARE_ROM_SEGMENT(nakaniwa_room_0) -DECLARE_ROM_SEGMENT(bowling_scene) DECLARE_ROM_SEGMENT(bowling_room_0) -DECLARE_ROM_SEGMENT(souko_scene) DECLARE_ROM_SEGMENT(souko_room_0) DECLARE_ROM_SEGMENT(souko_room_1) DECLARE_ROM_SEGMENT(souko_room_2) -DECLARE_ROM_SEGMENT(miharigoya_scene) DECLARE_ROM_SEGMENT(miharigoya_room_0) -DECLARE_ROM_SEGMENT(mahouya_scene) DECLARE_ROM_SEGMENT(mahouya_room_0) -DECLARE_ROM_SEGMENT(ganon_demo_scene) DECLARE_ROM_SEGMENT(ganon_demo_room_0) -DECLARE_ROM_SEGMENT(kinsuta_scene) DECLARE_ROM_SEGMENT(kinsuta_room_0) -DECLARE_ROM_SEGMENT(spot00_scene) DECLARE_ROM_SEGMENT(spot00_room_0) -DECLARE_ROM_SEGMENT(spot01_scene) DECLARE_ROM_SEGMENT(spot01_room_0) -DECLARE_ROM_SEGMENT(spot02_scene) DECLARE_ROM_SEGMENT(spot02_room_0) DECLARE_ROM_SEGMENT(spot02_room_1) -DECLARE_ROM_SEGMENT(spot03_scene) DECLARE_ROM_SEGMENT(spot03_room_0) DECLARE_ROM_SEGMENT(spot03_room_1) -DECLARE_ROM_SEGMENT(spot04_scene) DECLARE_ROM_SEGMENT(spot04_room_0) DECLARE_ROM_SEGMENT(spot04_room_1) DECLARE_ROM_SEGMENT(spot04_room_2) -DECLARE_ROM_SEGMENT(spot05_scene) DECLARE_ROM_SEGMENT(spot05_room_0) -DECLARE_ROM_SEGMENT(spot06_scene) DECLARE_ROM_SEGMENT(spot06_room_0) -DECLARE_ROM_SEGMENT(spot07_scene) DECLARE_ROM_SEGMENT(spot07_room_0) DECLARE_ROM_SEGMENT(spot07_room_1) -DECLARE_ROM_SEGMENT(spot08_scene) DECLARE_ROM_SEGMENT(spot08_room_0) -DECLARE_ROM_SEGMENT(spot09_scene) DECLARE_ROM_SEGMENT(spot09_room_0) -DECLARE_ROM_SEGMENT(spot10_scene) DECLARE_ROM_SEGMENT(spot10_room_0) DECLARE_ROM_SEGMENT(spot10_room_1) DECLARE_ROM_SEGMENT(spot10_room_2) @@ -759,69 +608,50 @@ DECLARE_ROM_SEGMENT(spot10_room_7) DECLARE_ROM_SEGMENT(spot10_room_8) DECLARE_ROM_SEGMENT(spot10_room_9) -DECLARE_ROM_SEGMENT(spot11_scene) DECLARE_ROM_SEGMENT(spot11_room_0) -DECLARE_ROM_SEGMENT(spot12_scene) DECLARE_ROM_SEGMENT(spot12_room_0) DECLARE_ROM_SEGMENT(spot12_room_1) -DECLARE_ROM_SEGMENT(spot13_scene) DECLARE_ROM_SEGMENT(spot13_room_0) DECLARE_ROM_SEGMENT(spot13_room_1) -DECLARE_ROM_SEGMENT(spot15_scene) DECLARE_ROM_SEGMENT(spot15_room_0) -DECLARE_ROM_SEGMENT(spot16_scene) DECLARE_ROM_SEGMENT(spot16_room_0) -DECLARE_ROM_SEGMENT(spot17_scene) DECLARE_ROM_SEGMENT(spot17_room_0) DECLARE_ROM_SEGMENT(spot17_room_1) -DECLARE_ROM_SEGMENT(spot18_scene) DECLARE_ROM_SEGMENT(spot18_room_0) DECLARE_ROM_SEGMENT(spot18_room_1) DECLARE_ROM_SEGMENT(spot18_room_2) DECLARE_ROM_SEGMENT(spot18_room_3) -DECLARE_ROM_SEGMENT(spot20_scene) DECLARE_ROM_SEGMENT(spot20_room_0) -DECLARE_ROM_SEGMENT(ganon_tou_scene) DECLARE_ROM_SEGMENT(ganon_tou_room_0) -DECLARE_ROM_SEGMENT(test01_scene) DECLARE_ROM_SEGMENT(test01_room_0) -DECLARE_ROM_SEGMENT(besitu_scene) DECLARE_ROM_SEGMENT(besitu_room_0) -DECLARE_ROM_SEGMENT(depth_test_scene) DECLARE_ROM_SEGMENT(depth_test_room_0) -DECLARE_ROM_SEGMENT(syotes_scene) DECLARE_ROM_SEGMENT(syotes_room_0) -DECLARE_ROM_SEGMENT(syotes2_scene) DECLARE_ROM_SEGMENT(syotes2_room_0) -DECLARE_ROM_SEGMENT(sutaru_scene) DECLARE_ROM_SEGMENT(sutaru_room_0) -DECLARE_ROM_SEGMENT(hairal_niwa2_scene) DECLARE_ROM_SEGMENT(hairal_niwa2_room_0) -DECLARE_ROM_SEGMENT(sasatest_scene) DECLARE_ROM_SEGMENT(sasatest_room_0) -DECLARE_ROM_SEGMENT(testroom_scene) DECLARE_ROM_SEGMENT(testroom_room_0) DECLARE_ROM_SEGMENT(testroom_room_1) DECLARE_ROM_SEGMENT(testroom_room_2) DECLARE_ROM_SEGMENT(testroom_room_3) DECLARE_ROM_SEGMENT(testroom_room_4) - #endif diff --git a/include/tables/scene_table.h b/include/tables/scene_table.h new file mode 100644 index 0000000000..66076f87c5 --- /dev/null +++ b/include/tables/scene_table.h @@ -0,0 +1,122 @@ +/** + * Scene Table + * + * DEFINE_SCENE should be used for all scenes (with or without a title card, see argument 2) + * - Argument 1: Name of the scene segment in spec + * - Argument 2: Name of the title card segment in spec, or `none` for no title card + * - Argument 3: Enum value for this scene + * - Argument 4: Scene draw config index + * - Argument 5: ? (Unknown) + * - Argument 6: ? (Unknown) + */ +/* 0x00 */ DEFINE_SCENE(ydan_scene, g_pn_06, SCENE_YDAN, 19, 1, 2) +/* 0x01 */ DEFINE_SCENE(ddan_scene, g_pn_08, SCENE_DDAN, 20, 1, 3) +/* 0x02 */ DEFINE_SCENE(bdan_scene, g_pn_07, SCENE_BDAN, 21, 1, 4) +/* 0x03 */ DEFINE_SCENE(Bmori1_scene, g_pn_01, SCENE_BMORI1, 22, 2, 5) +/* 0x04 */ DEFINE_SCENE(HIDAN_scene, g_pn_03, SCENE_HIDAN, 18, 2, 6) +/* 0x05 */ DEFINE_SCENE(MIZUsin_scene, g_pn_04, SCENE_MIZUSIN, 23, 1, 7) +/* 0x06 */ DEFINE_SCENE(jyasinzou_scene, g_pn_05, SCENE_JYASINZOU, 25, 1, 8) +/* 0x07 */ DEFINE_SCENE(HAKAdan_scene, g_pn_02, SCENE_HAKADAN, 24, 2, 9) +/* 0x08 */ DEFINE_SCENE(HAKAdanCH_scene, g_pn_54, SCENE_HAKADANCH, 24, 2, 10) +/* 0x09 */ DEFINE_SCENE(ice_doukutu_scene, g_pn_10, SCENE_ICE_DOUKUTO, 37, 0, 0) +/* 0x0A */ DEFINE_SCENE(ganon_scene, none, SCENE_GANON, 0, 2, 0) +/* 0x0B */ DEFINE_SCENE(men_scene, g_pn_11, SCENE_MEN, 27, 0, 0) +/* 0x0C */ DEFINE_SCENE(gerudoway_scene, g_pn_49, SCENE_GERUDOWAY, 40, 0, 0) +/* 0x0D */ DEFINE_SCENE(ganontika_scene, g_pn_09, SCENE_GANONTIKA, 26, 0, 0) +/* 0x0E */ DEFINE_SCENE(ganon_sonogo_scene, none, SCENE_GANON_SONOGO, 51, 0, 0) +/* 0x0F */ DEFINE_SCENE(ganontikasonogo_scene, none, SCENE_GANONTIKA_SONOGO, 52, 0, 0) +/* 0x10 */ DEFINE_SCENE(takaraya_scene, g_pn_51, SCENE_TAKARAYA, 0, 0, 0) +/* 0x11 */ DEFINE_SCENE(ydan_boss_scene, none, SCENE_YDAN_BOSS, 28, 0, 0) +/* 0x12 */ DEFINE_SCENE(ddan_boss_scene, none, SCENE_DDAN_BOSS, 0, 0, 0) +/* 0x13 */ DEFINE_SCENE(bdan_boss_scene, none, SCENE_BDAN_BOSS, 21, 0, 0) +/* 0x14 */ DEFINE_SCENE(moribossroom_scene, none, SCENE_MORIBOSSROOM, 0, 1, 0) +/* 0x15 */ DEFINE_SCENE(FIRE_bs_scene, none, SCENE_FIRE_BS, 18, 0, 0) +/* 0x16 */ DEFINE_SCENE(MIZUsin_bs_scene, none, SCENE_MIZUSIN_BS, 29, 0, 0) +/* 0x17 */ DEFINE_SCENE(jyasinboss_scene, none, SCENE_JYASINBOSS, 0, 0, 0) +/* 0x18 */ DEFINE_SCENE(HAKAdan_bs_scene, none, SCENE_HAKADAN_BS, 24, 0, 0) +/* 0x19 */ DEFINE_SCENE(ganon_boss_scene, none, SCENE_GANON_BOSS, 0, 0, 0) +/* 0x1A */ DEFINE_SCENE(ganon_final_scene, none, SCENE_GANON_FINAL, 38, 0, 0) +/* 0x1B */ DEFINE_SCENE(entra_scene, none, SCENE_ENTRA, 0, 0, 0) +/* 0x1C */ DEFINE_SCENE(entra_n_scene, none, SCENE_ENTRA_N, 0, 0, 0) +/* 0x1D */ DEFINE_SCENE(enrui_scene, none, SCENE_ENRUI, 0, 0, 0) +/* 0x1E */ DEFINE_SCENE(market_alley_scene, g_pn_18, SCENE_MARKET_ALLEY, 0, 0, 0) +/* 0x1F */ DEFINE_SCENE(market_alley_n_scene, g_pn_18, SCENE_MARKET_ALLEY_N, 0, 0, 0) +/* 0x20 */ DEFINE_SCENE(market_day_scene, g_pn_17, SCENE_MARKET_DAY, 0, 0, 0) +/* 0x21 */ DEFINE_SCENE(market_night_scene, g_pn_17, SCENE_MARKET_NIGHT, 0, 0, 0) +/* 0x22 */ DEFINE_SCENE(market_ruins_scene, g_pn_17, SCENE_MARKET_RUINS, 0, 0, 0) +/* 0x23 */ DEFINE_SCENE(shrine_scene, none, SCENE_SHRINE, 0, 0, 0) +/* 0x24 */ DEFINE_SCENE(shrine_n_scene, none, SCENE_SHRINE_N, 0, 0, 0) +/* 0x25 */ DEFINE_SCENE(shrine_r_scene, none, SCENE_SHRINE_R, 0, 0, 0) +/* 0x26 */ DEFINE_SCENE(kokiri_home_scene, none, SCENE_KOKIRI_HOME, 0, 0, 0) +/* 0x27 */ DEFINE_SCENE(kokiri_home3_scene, none, SCENE_KOKIRI_HOME3, 0, 0, 0) +/* 0x28 */ DEFINE_SCENE(kokiri_home4_scene, none, SCENE_KOKIRI_HOME4, 0, 0, 0) +/* 0x29 */ DEFINE_SCENE(kokiri_home5_scene, none, SCENE_KOKIRI_HOME5, 0, 0, 0) +/* 0x2A */ DEFINE_SCENE(kakariko_scene, none, SCENE_KAKARIKO, 0, 0, 0) +/* 0x2B */ DEFINE_SCENE(kakariko3_scene, none, SCENE_KAKARIKO3, 0, 0, 0) +/* 0x2C */ DEFINE_SCENE(shop1_scene, g_pn_23, SCENE_SHOP1, 0, 0, 0) +/* 0x2D */ DEFINE_SCENE(kokiri_shop_scene, g_pn_19, SCENE_KOKIRI_SHOP, 0, 0, 0) +/* 0x2E */ DEFINE_SCENE(golon_scene, g_pn_20, SCENE_GOLON, 0, 0, 0) +/* 0x2F */ DEFINE_SCENE(zoora_scene, g_pn_21, SCENE_ZOORA, 0, 0, 0) +/* 0x30 */ DEFINE_SCENE(drag_scene, g_pn_24, SCENE_DRAG, 0, 0, 0) +/* 0x31 */ DEFINE_SCENE(alley_shop_scene, g_pn_24, SCENE_ALLEY_SHOP, 0, 0, 0) +/* 0x32 */ DEFINE_SCENE(night_shop_scene, g_pn_56, SCENE_NIGHT_SHOP, 0, 0, 0) +/* 0x33 */ DEFINE_SCENE(face_shop_scene, g_pn_50, SCENE_FACE_SHOP, 0, 0, 0) +/* 0x34 */ DEFINE_SCENE(link_home_scene, none, SCENE_LINK_HOME, 0, 0, 0) +/* 0x35 */ DEFINE_SCENE(impa_scene, none, SCENE_IMPA, 0, 0, 0) +/* 0x36 */ DEFINE_SCENE(malon_stable_scene, g_pn_48, SCENE_MALON_STABLE, 0, 0, 0) +/* 0x37 */ DEFINE_SCENE(labo_scene, none, SCENE_LABO, 0, 0, 0) +/* 0x38 */ DEFINE_SCENE(hylia_labo_scene, g_pn_26, SCENE_HYLIA_LABO, 43, 0, 0) +/* 0x39 */ DEFINE_SCENE(tent_scene, none, SCENE_TENT, 0, 0, 0) +/* 0x3A */ DEFINE_SCENE(hut_scene, g_pn_25, SCENE_HUT, 0, 0, 0) +/* 0x3B */ DEFINE_SCENE(daiyousei_izumi_scene, g_pn_13, SCENE_DAIYOUSEI_IZUMI, 33, 0, 0) +/* 0x3C */ DEFINE_SCENE(yousei_izumi_tate_scene, g_pn_45, SCENE_YOUSEI_IZUMI_TATE, 39, 0, 0) +/* 0x3D */ DEFINE_SCENE(yousei_izumi_yoko_scene, g_pn_13, SCENE_YOUSEI_IZUMI_YOKO, 33, 0, 0) +/* 0x3E */ DEFINE_SCENE(kakusiana_scene, none, SCENE_KAKUSIANA, 31, 0, 0) +/* 0x3F */ DEFINE_SCENE(hakaana_scene, none, SCENE_HAKAANA, 48, 0, 0) +/* 0x40 */ DEFINE_SCENE(hakaana2_scene, none, SCENE_HAKAANA2, 39, 0, 0) +/* 0x41 */ DEFINE_SCENE(hakaana_ouke_scene, g_pn_44, SCENE_HAKAANA_OUKE, 42, 0, 0) +/* 0x42 */ DEFINE_SCENE(syatekijyou_scene, g_pn_15, SCENE_SYATEKIJYOU, 34, 0, 0) +/* 0x43 */ DEFINE_SCENE(tokinoma_scene, g_pn_16, SCENE_TOKINOMA, 30, 0, 0) +/* 0x44 */ DEFINE_SCENE(kenjyanoma_scene, g_pn_14, SCENE_KENJYANOMA, 32, 0, 0) +/* 0x45 */ DEFINE_SCENE(hairal_niwa_scene, g_pn_12, SCENE_HAIRAL_NIWA, 35, 0, 0) +/* 0x46 */ DEFINE_SCENE(hairal_niwa_n_scene, g_pn_12, SCENE_HAIRAL_NIWA_N, 35, 0, 0) +/* 0x47 */ DEFINE_SCENE(hiral_demo_scene, none, SCENE_HIRAL_DEMO, 0, 0, 0) +/* 0x48 */ DEFINE_SCENE(hakasitarelay_scene, g_pn_57, SCENE_HAKASITARELAY, 48, 0, 0) +/* 0x49 */ DEFINE_SCENE(turibori_scene, g_pn_46, SCENE_TURIBORI, 50, 0, 0) +/* 0x4A */ DEFINE_SCENE(nakaniwa_scene, g_pn_12, SCENE_NAKANIWA, 47, 0, 0) +/* 0x4B */ DEFINE_SCENE(bowling_scene, g_pn_47, SCENE_BOWLING, 41, 0, 0) +/* 0x4C */ DEFINE_SCENE(souko_scene, none, SCENE_SOUKO, 44, 0, 0) +/* 0x4D */ DEFINE_SCENE(miharigoya_scene, none, SCENE_MIHARIGOYA, 45, 0, 0) +/* 0x4E */ DEFINE_SCENE(mahouya_scene, g_pn_24, SCENE_MAHOUYA, 46, 0, 0) +/* 0x4F */ DEFINE_SCENE(ganon_demo_scene, none, SCENE_GANON_DEMO, 36, 0, 0) +/* 0x50 */ DEFINE_SCENE(kinsuta_scene, g_pn_22, SCENE_KINSUTA, 0, 0, 0) +/* 0x51 */ DEFINE_SCENE(spot00_scene, g_pn_27, SCENE_SPOT00, 1, 0, 0) +/* 0x52 */ DEFINE_SCENE(spot01_scene, g_pn_28, SCENE_SPOT01, 2, 0, 0) +/* 0x53 */ DEFINE_SCENE(spot02_scene, g_pn_29, SCENE_SPOT02, 0, 0, 0) +/* 0x54 */ DEFINE_SCENE(spot03_scene, g_pn_30, SCENE_SPOT03, 3, 0, 0) +/* 0x55 */ DEFINE_SCENE(spot04_scene, g_pn_31, SCENE_SPOT04, 4, 0, 0) +/* 0x56 */ DEFINE_SCENE(spot05_scene, g_pn_52, SCENE_SPOT05, 47, 0, 0) +/* 0x57 */ DEFINE_SCENE(spot06_scene, g_pn_32, SCENE_SPOT06, 5, 0, 0) +/* 0x58 */ DEFINE_SCENE(spot07_scene, g_pn_33, SCENE_SPOT07, 6, 0, 0) +/* 0x59 */ DEFINE_SCENE(spot08_scene, g_pn_34, SCENE_SPOT08, 7, 0, 0) +/* 0x5A */ DEFINE_SCENE(spot09_scene, g_pn_35, SCENE_SPOT09, 8, 0, 0) +/* 0x5B */ DEFINE_SCENE(spot10_scene, g_pn_36, SCENE_SPOT10, 9, 0, 0) +/* 0x5C */ DEFINE_SCENE(spot11_scene, g_pn_55, SCENE_SPOT11, 10, 0, 0) +/* 0x5D */ DEFINE_SCENE(spot12_scene, g_pn_53, SCENE_SPOT12, 11, 0, 0) +/* 0x5E */ DEFINE_SCENE(spot13_scene, g_pn_37, SCENE_SPOT13, 12, 0, 0) +/* 0x5F */ DEFINE_SCENE(spot15_scene, g_pn_38, SCENE_SPOT15, 13, 0, 0) +/* 0x60 */ DEFINE_SCENE(spot16_scene, g_pn_39, SCENE_SPOT16, 14, 0, 0) +/* 0x61 */ DEFINE_SCENE(spot17_scene, g_pn_40, SCENE_SPOT17, 15, 0, 0) +/* 0x62 */ DEFINE_SCENE(spot18_scene, g_pn_41, SCENE_SPOT18, 16, 0, 0) +/* 0x63 */ DEFINE_SCENE(spot20_scene, g_pn_42, SCENE_SPOT20, 17, 0, 0) +/* 0x64 */ DEFINE_SCENE(ganon_tou_scene, g_pn_43, SCENE_GANON_TOU, 36, 0, 0) +// Debug-only scenes +/* 0x65 */ DEFINE_SCENE(test01_scene, none, SCENE_TEST01, 47, 0, 0) +/* 0x66 */ DEFINE_SCENE(besitu_scene, none, SCENE_BESITU, 49, 0, 0) +/* 0x67 */ DEFINE_SCENE(depth_test_scene, none, SCENE_DEPTH_TEST, 0, 0, 0) +/* 0x68 */ DEFINE_SCENE(syotes_scene, none, SCENE_SYOTES, 0, 0, 0) +/* 0x69 */ DEFINE_SCENE(syotes2_scene, none, SCENE_SYOTES2, 0, 0, 0) +/* 0x6A */ DEFINE_SCENE(sutaru_scene, none, SCENE_SUTARU, 0, 0, 0) +/* 0x6B */ DEFINE_SCENE(hairal_niwa2_scene, g_pn_12, SCENE_HAIRAL_NIWA2, 35, 0, 0) +/* 0x6C */ DEFINE_SCENE(sasatest_scene, none, SCENE_SASATEST, 0, 0, 0) +/* 0x6D */ DEFINE_SCENE(testroom_scene, none, SCENE_TESTROOM, 0, 0, 0) diff --git a/include/z64scene.h b/include/z64scene.h index 601efaf2e8..51f77d7348 100644 --- a/include/z64scene.h +++ b/include/z64scene.h @@ -302,121 +302,15 @@ typedef union { SCmdAltHeaders altHeaders; } SceneCmd; // size = 0x8 +#define DEFINE_SCENE(_0, _1, enum, _3, _4, _5) enum, + typedef enum { - /* 0x00 */ SCENE_YDAN, - /* 0x01 */ SCENE_DDAN, - /* 0x02 */ SCENE_BDAN, - /* 0x03 */ SCENE_BMORI1, - /* 0x04 */ SCENE_HIDAN, - /* 0x05 */ SCENE_MIZUSIN, - /* 0x06 */ SCENE_JYASINZOU, - /* 0x07 */ SCENE_HAKADAN, - /* 0x08 */ SCENE_HAKADANCH, - /* 0x09 */ SCENE_ICE_DOUKUTO, - /* 0x0A */ SCENE_GANON, - /* 0x0B */ SCENE_MEN, - /* 0x0C */ SCENE_GERUDOWAY, - /* 0x0D */ SCENE_GANONTIKA, - /* 0x0E */ SCENE_GANON_SONOGO, - /* 0x0F */ SCENE_GANONTIKA_SONOGO, - /* 0x10 */ SCENE_TAKARAYA, - /* 0x11 */ SCENE_YDAN_BOSS, - /* 0x12 */ SCENE_DDAN_BOSS, - /* 0x13 */ SCENE_BDAN_BOSS, - /* 0x14 */ SCENE_MORIBOSSROOM, - /* 0x15 */ SCENE_FIRE_BS, - /* 0x16 */ SCENE_MIZUSIN_BS, - /* 0x17 */ SCENE_JYASINBOSS, - /* 0x18 */ SCENE_HAKADAN_BS, - /* 0x19 */ SCENE_GANON_BOSS, - /* 0x1A */ SCENE_GANON_FINAL, - /* 0x1B */ SCENE_ENTRA, - /* 0x1C */ SCENE_ENTRA_N, - /* 0x1D */ SCENE_ENRUI, - /* 0x1E */ SCENE_MARKET_ALLEY, - /* 0x1F */ SCENE_MARKET_ALLEY_N, - /* 0x20 */ SCENE_MARKET_DAY, - /* 0x21 */ SCENE_MARKET_NIGHT, - /* 0x22 */ SCENE_MARKET_RUINS, - /* 0x23 */ SCENE_SHRINE, - /* 0x24 */ SCENE_SHRINE_N, - /* 0x25 */ SCENE_SHRINE_R, - /* 0x26 */ SCENE_KOKIRI_HOME, - /* 0x27 */ SCENE_KOKIRI_HOME3, - /* 0x28 */ SCENE_KOKIRI_HOME4, - /* 0x29 */ SCENE_KOKIRI_HOME5, - /* 0x2A */ SCENE_KAKARIKO, - /* 0x2B */ SCENE_KAKARIKO3, - /* 0x2C */ SCENE_SHOP1, - /* 0x2D */ SCENE_KOKIRI_SHOP, - /* 0x2E */ SCENE_GOLON, - /* 0x2F */ SCENE_ZOORA, - /* 0x30 */ SCENE_DRAG, - /* 0x31 */ SCENE_ALLEY_SHOP, - /* 0x32 */ SCENE_NIGHT_SHOP, - /* 0x33 */ SCENE_FACE_SHOP, - /* 0x34 */ SCENE_LINK_HOME, - /* 0x35 */ SCENE_IMPA, - /* 0x36 */ SCENE_MALON_STABLE, - /* 0x37 */ SCENE_LABO, - /* 0x38 */ SCENE_HYLIA_LABO, - /* 0x39 */ SCENE_TENT, - /* 0x3A */ SCENE_HUT, - /* 0x3B */ SCENE_DAIYOUSEI_IZUMI, - /* 0x3C */ SCENE_YOUSEI_IZUMI_TATE, - /* 0x3D */ SCENE_YOUSEI_IZUMI_YOKO, - /* 0x3E */ SCENE_KAKUSIANA, - /* 0x3F */ SCENE_HAKAANA, - /* 0x40 */ SCENE_HAKAANA2, - /* 0x41 */ SCENE_HAKAANA_OUKE, - /* 0x42 */ SCENE_SYATEKIJYOU, - /* 0x43 */ SCENE_TOKINOMA, - /* 0x44 */ SCENE_KENJYANOMA, - /* 0x45 */ SCENE_HAIRAL_NIWA, - /* 0x46 */ SCENE_HAIRAL_NIWA_N, - /* 0x47 */ SCENE_HIRAL_DEMO, - /* 0x48 */ SCENE_HAKASITARELAY, - /* 0x49 */ SCENE_TURIBORI, - /* 0x4A */ SCENE_NAKANIWA, - /* 0x4B */ SCENE_BOWLING, - /* 0x4C */ SCENE_SOUKO, - /* 0x4D */ SCENE_MIHARIGOYA, - /* 0x4E */ SCENE_MAHOUYA, - /* 0x4F */ SCENE_GANON_DEMO, - /* 0x50 */ SCENE_KINSUTA, - /* 0x51 */ SCENE_SPOT00, - /* 0x52 */ SCENE_SPOT01, - /* 0x53 */ SCENE_SPOT02, - /* 0x54 */ SCENE_SPOT03, - /* 0x55 */ SCENE_SPOT04, - /* 0x56 */ SCENE_SPOT05, - /* 0x57 */ SCENE_SPOT06, - /* 0x58 */ SCENE_SPOT07, - /* 0x59 */ SCENE_SPOT08, - /* 0x5A */ SCENE_SPOT09, - /* 0x5B */ SCENE_SPOT10, - /* 0x5C */ SCENE_SPOT11, - /* 0x5D */ SCENE_SPOT12, - /* 0x5E */ SCENE_SPOT13, - /* 0x5F */ SCENE_SPOT15, - /* 0x60 */ SCENE_SPOT16, - /* 0x61 */ SCENE_SPOT17, - /* 0x62 */ SCENE_SPOT18, - /* 0x63 */ SCENE_SPOT20, - /* 0x64 */ SCENE_GANON_TOU, - // Debug only scenes - /* 0x65 */ SCENE_TEST01, - /* 0x66 */ SCENE_BESITU, - /* 0x67 */ SCENE_DEPTH_TEST, - /* 0x68 */ SCENE_SYOTES, - /* 0x69 */ SCENE_SYOTES2, - /* 0x6A */ SCENE_SUTARU, - /* 0x6B */ SCENE_HAIRAL_NIWA2, - /* 0x6C */ SCENE_SASATEST, - /* 0x6D */ SCENE_TESTROOM, + #include "tables/scene_table.h" /* 0x6E */ SCENE_ID_MAX } SceneID; +#undef DEFINE_SCENE + // Scene commands typedef enum { diff --git a/src/code/z_scene_table.c b/src/code/z_scene_table.c index bdfe036510..da0505731c 100644 --- a/src/code/z_scene_table.c +++ b/src/code/z_scene_table.c @@ -810,128 +810,32 @@ EntranceInfo gEntranceTable[] = { ENTRANCE(0x5C, 0x08, 0, 1, 0x03, 0x03), ENTRANCE(0x5C, 0x08, 0, 1, 0x03, 0x03), }; -#define TITLED_SCENE(name, title, unk_10, config, unk_12) \ - { \ - (u32) _##name##SegmentRomStart, (u32)_##name##SegmentRomEnd, (u32)_##title##SegmentRomStart, \ - (u32)_##title##SegmentRomEnd, unk_10, config, unk_12, 0 \ - } +// Linker symbol declarations (used in the table below) +#define DEFINE_SCENE(name, title, _2, _3, _4, _5) \ + DECLARE_ROM_SEGMENT(name) \ + DECLARE_ROM_SEGMENT(title) -#define UNTITLED_SCENE(name, unk_10, config, unk_12) \ - { (u32) _##name##SegmentRomStart, (u32)_##name##SegmentRomEnd, 0, 0, unk_10, config, unk_12, 0 } +#include "tables/scene_table.h" + +#undef DEFINE_SCENE + +// Scene Table definition +#define DEFINE_SCENE(name, title, _2, config, unk_10, unk_12) \ + { ROM_FILE(name), ROM_FILE(title), unk_10, config, unk_12, 0 }, + +// Handle `none` as a special case for scenes without a title card +#define _noneSegmentRomStart NULL +#define _noneSegmentRomEnd NULL SceneTableEntry gSceneTable[] = { - TITLED_SCENE(ydan_scene, g_pn_06, 1, 19, 2), - TITLED_SCENE(ddan_scene, g_pn_08, 1, 20, 3), - TITLED_SCENE(bdan_scene, g_pn_07, 1, 21, 4), - TITLED_SCENE(Bmori1_scene, g_pn_01, 2, 22, 5), - TITLED_SCENE(HIDAN_scene, g_pn_03, 2, 18, 6), - TITLED_SCENE(MIZUsin_scene, g_pn_04, 1, 23, 7), - TITLED_SCENE(jyasinzou_scene, g_pn_05, 1, 25, 8), - TITLED_SCENE(HAKAdan_scene, g_pn_02, 2, 24, 9), - TITLED_SCENE(HAKAdanCH_scene, g_pn_54, 2, 24, 10), - TITLED_SCENE(ice_doukutu_scene, g_pn_10, 0, 37, 0), - UNTITLED_SCENE(ganon_scene, 2, 0, 0), - TITLED_SCENE(men_scene, g_pn_11, 0, 27, 0), - TITLED_SCENE(gerudoway_scene, g_pn_49, 0, 40, 0), - TITLED_SCENE(ganontika_scene, g_pn_09, 0, 26, 0), - UNTITLED_SCENE(ganon_sonogo_scene, 0, 51, 0), - UNTITLED_SCENE(ganontikasonogo_scene, 0, 52, 0), - TITLED_SCENE(takaraya_scene, g_pn_51, 0, 0, 0), - UNTITLED_SCENE(ydan_boss_scene, 0, 28, 0), - UNTITLED_SCENE(ddan_boss_scene, 0, 0, 0), - UNTITLED_SCENE(bdan_boss_scene, 0, 21, 0), - UNTITLED_SCENE(moribossroom_scene, 1, 0, 0), - UNTITLED_SCENE(FIRE_bs_scene, 0, 18, 0), - UNTITLED_SCENE(MIZUsin_bs_scene, 0, 29, 0), - UNTITLED_SCENE(jyasinboss_scene, 0, 0, 0), - UNTITLED_SCENE(HAKAdan_bs_scene, 0, 24, 0), - UNTITLED_SCENE(ganon_boss_scene, 0, 0, 0), - UNTITLED_SCENE(ganon_final_scene, 0, 38, 0), - UNTITLED_SCENE(entra_scene, 0, 0, 0), - UNTITLED_SCENE(entra_n_scene, 0, 0, 0), - UNTITLED_SCENE(enrui_scene, 0, 0, 0), - TITLED_SCENE(market_alley_scene, g_pn_18, 0, 0, 0), - TITLED_SCENE(market_alley_n_scene, g_pn_18, 0, 0, 0), - TITLED_SCENE(market_day_scene, g_pn_17, 0, 0, 0), - TITLED_SCENE(market_night_scene, g_pn_17, 0, 0, 0), - TITLED_SCENE(market_ruins_scene, g_pn_17, 0, 0, 0), - UNTITLED_SCENE(shrine_scene, 0, 0, 0), - UNTITLED_SCENE(shrine_n_scene, 0, 0, 0), - UNTITLED_SCENE(shrine_r_scene, 0, 0, 0), - UNTITLED_SCENE(kokiri_home_scene, 0, 0, 0), - UNTITLED_SCENE(kokiri_home3_scene, 0, 0, 0), - UNTITLED_SCENE(kokiri_home4_scene, 0, 0, 0), - UNTITLED_SCENE(kokiri_home5_scene, 0, 0, 0), - UNTITLED_SCENE(kakariko_scene, 0, 0, 0), - UNTITLED_SCENE(kakariko3_scene, 0, 0, 0), - TITLED_SCENE(shop1_scene, g_pn_23, 0, 0, 0), - TITLED_SCENE(kokiri_shop_scene, g_pn_19, 0, 0, 0), - TITLED_SCENE(golon_scene, g_pn_20, 0, 0, 0), - TITLED_SCENE(zoora_scene, g_pn_21, 0, 0, 0), - TITLED_SCENE(drag_scene, g_pn_24, 0, 0, 0), - TITLED_SCENE(alley_shop_scene, g_pn_24, 0, 0, 0), - TITLED_SCENE(night_shop_scene, g_pn_56, 0, 0, 0), - TITLED_SCENE(face_shop_scene, g_pn_50, 0, 0, 0), - UNTITLED_SCENE(link_home_scene, 0, 0, 0), - UNTITLED_SCENE(impa_scene, 0, 0, 0), - TITLED_SCENE(malon_stable_scene, g_pn_48, 0, 0, 0), - UNTITLED_SCENE(labo_scene, 0, 0, 0), - TITLED_SCENE(hylia_labo_scene, g_pn_26, 0, 43, 0), - UNTITLED_SCENE(tent_scene, 0, 0, 0), - TITLED_SCENE(hut_scene, g_pn_25, 0, 0, 0), - TITLED_SCENE(daiyousei_izumi_scene, g_pn_13, 0, 33, 0), - TITLED_SCENE(yousei_izumi_tate_scene, g_pn_45, 0, 39, 0), - TITLED_SCENE(yousei_izumi_yoko_scene, g_pn_13, 0, 33, 0), - UNTITLED_SCENE(kakusiana_scene, 0, 31, 0), - UNTITLED_SCENE(hakaana_scene, 0, 48, 0), - UNTITLED_SCENE(hakaana2_scene, 0, 39, 0), - TITLED_SCENE(hakaana_ouke_scene, g_pn_44, 0, 42, 0), - TITLED_SCENE(syatekijyou_scene, g_pn_15, 0, 34, 0), - TITLED_SCENE(tokinoma_scene, g_pn_16, 0, 30, 0), - TITLED_SCENE(kenjyanoma_scene, g_pn_14, 0, 32, 0), - TITLED_SCENE(hairal_niwa_scene, g_pn_12, 0, 35, 0), - TITLED_SCENE(hairal_niwa_n_scene, g_pn_12, 0, 35, 0), - UNTITLED_SCENE(hiral_demo_scene, 0, 0, 0), - TITLED_SCENE(hakasitarelay_scene, g_pn_57, 0, 48, 0), - TITLED_SCENE(turibori_scene, g_pn_46, 0, 50, 0), - TITLED_SCENE(nakaniwa_scene, g_pn_12, 0, 47, 0), - TITLED_SCENE(bowling_scene, g_pn_47, 0, 41, 0), - UNTITLED_SCENE(souko_scene, 0, 44, 0), - UNTITLED_SCENE(miharigoya_scene, 0, 45, 0), - TITLED_SCENE(mahouya_scene, g_pn_24, 0, 46, 0), - UNTITLED_SCENE(ganon_demo_scene, 0, 36, 0), - TITLED_SCENE(kinsuta_scene, g_pn_22, 0, 0, 0), - TITLED_SCENE(spot00_scene, g_pn_27, 0, 1, 0), - TITLED_SCENE(spot01_scene, g_pn_28, 0, 2, 0), - TITLED_SCENE(spot02_scene, g_pn_29, 0, 0, 0), - TITLED_SCENE(spot03_scene, g_pn_30, 0, 3, 0), - TITLED_SCENE(spot04_scene, g_pn_31, 0, 4, 0), - TITLED_SCENE(spot05_scene, g_pn_52, 0, 47, 0), - TITLED_SCENE(spot06_scene, g_pn_32, 0, 5, 0), - TITLED_SCENE(spot07_scene, g_pn_33, 0, 6, 0), - TITLED_SCENE(spot08_scene, g_pn_34, 0, 7, 0), - TITLED_SCENE(spot09_scene, g_pn_35, 0, 8, 0), - TITLED_SCENE(spot10_scene, g_pn_36, 0, 9, 0), - TITLED_SCENE(spot11_scene, g_pn_55, 0, 10, 0), - TITLED_SCENE(spot12_scene, g_pn_53, 0, 11, 0), - TITLED_SCENE(spot13_scene, g_pn_37, 0, 12, 0), - TITLED_SCENE(spot15_scene, g_pn_38, 0, 13, 0), - TITLED_SCENE(spot16_scene, g_pn_39, 0, 14, 0), - TITLED_SCENE(spot17_scene, g_pn_40, 0, 15, 0), - TITLED_SCENE(spot18_scene, g_pn_41, 0, 16, 0), - TITLED_SCENE(spot20_scene, g_pn_42, 0, 17, 0), - TITLED_SCENE(ganon_tou_scene, g_pn_43, 0, 36, 0), - UNTITLED_SCENE(test01_scene, 0, 47, 0), - UNTITLED_SCENE(besitu_scene, 0, 49, 0), - UNTITLED_SCENE(depth_test_scene, 0, 0, 0), - UNTITLED_SCENE(syotes_scene, 0, 0, 0), - UNTITLED_SCENE(syotes2_scene, 0, 0, 0), - UNTITLED_SCENE(sutaru_scene, 0, 0, 0), - TITLED_SCENE(hairal_niwa2_scene, g_pn_12, 0, 35, 0), - UNTITLED_SCENE(sasatest_scene, 0, 0, 0), - UNTITLED_SCENE(testroom_scene, 0, 0, 0), +#include "tables/scene_table.h" }; +#undef _noneSegmentRomStart +#undef _noneSegmentRomEnd + +#undef DEFINE_SCENE + Gfx sDefaultDisplayList[] = { gsSPSegment(0x08, gEmptyDL), gsSPSegment(0x09, gEmptyDL),