1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 12:54:51 +00:00
oot/include/tables/scene_table.h
Roman971 cd1d08d34f
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
2022-02-01 14:36:09 -05:00

123 lines
8.4 KiB
C

/**
* 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)