1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-13 04:39:36 +00:00

Implement the scene table with defines (#1128)

* Implement scene table with a single define

* Format z_scene_table.c

* Apply review suggestions

* Reorder arguments in DEFINE_SCENE
* Use ROM_INFO for the scene table
* Change "Debug only" to "Debug-only"

* Apply more review suggestions

* Use NULL for 'none' rom addresses
* Remove scene declarations from segment_symbols.h
This commit is contained in:
Roman971 2022-02-01 20:36:09 +01:00 committed by GitHub
parent aecd883bbc
commit cd1d08d34f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 148 additions and 398 deletions

View file

@ -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

View file

@ -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)

View file

@ -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 {

View file

@ -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),