1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Doc pass on scene draw configs: names (#1233)

* Name most scene draw configs

* 0 -> None, 36 -> GanonCastleExterior

* 48 -> GraveExitLightShining

* 47 -> CalmWater

* (0) none -> default

* `SCENE_DRAW_CONFIG_` -> `SDC_`
This commit is contained in:
Dragorn421 2022-05-31 11:19:46 -07:00 committed by GitHub
parent 8f1fd58f22
commit 6eeb217225
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 282 additions and 232 deletions

View File

@ -9,114 +9,114 @@
* - 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)
/* 0x00 */ DEFINE_SCENE(ydan_scene, g_pn_06, SCENE_YDAN, SDC_YDAN, 1, 2)
/* 0x01 */ DEFINE_SCENE(ddan_scene, g_pn_08, SCENE_DDAN, SDC_DDAN, 1, 3)
/* 0x02 */ DEFINE_SCENE(bdan_scene, g_pn_07, SCENE_BDAN, SDC_BDAN, 1, 4)
/* 0x03 */ DEFINE_SCENE(Bmori1_scene, g_pn_01, SCENE_BMORI1, SDC_BMORI1, 2, 5)
/* 0x04 */ DEFINE_SCENE(HIDAN_scene, g_pn_03, SCENE_HIDAN, SDC_HIDAN, 2, 6)
/* 0x05 */ DEFINE_SCENE(MIZUsin_scene, g_pn_04, SCENE_MIZUSIN, SDC_MIZUSIN, 1, 7)
/* 0x06 */ DEFINE_SCENE(jyasinzou_scene, g_pn_05, SCENE_JYASINZOU, SDC_JYASINZOU, 1, 8)
/* 0x07 */ DEFINE_SCENE(HAKAdan_scene, g_pn_02, SCENE_HAKADAN, SDC_HAKADAN, 2, 9)
/* 0x08 */ DEFINE_SCENE(HAKAdanCH_scene, g_pn_54, SCENE_HAKADANCH, SDC_HAKADAN, 2, 10)
/* 0x09 */ DEFINE_SCENE(ice_doukutu_scene, g_pn_10, SCENE_ICE_DOUKUTO, SDC_ICE_DOUKUTO, 0, 0)
/* 0x0A */ DEFINE_SCENE(ganon_scene, none, SCENE_GANON, SDC_DEFAULT, 2, 0)
/* 0x0B */ DEFINE_SCENE(men_scene, g_pn_11, SCENE_MEN, SDC_MEN, 0, 0)
/* 0x0C */ DEFINE_SCENE(gerudoway_scene, g_pn_49, SCENE_GERUDOWAY, SDC_GERUDOWAY, 0, 0)
/* 0x0D */ DEFINE_SCENE(ganontika_scene, g_pn_09, SCENE_GANONTIKA, SDC_GANONTIKA, 0, 0)
/* 0x0E */ DEFINE_SCENE(ganon_sonogo_scene, none, SCENE_GANON_SONOGO, SDC_GANON_SONOGO, 0, 0)
/* 0x0F */ DEFINE_SCENE(ganontikasonogo_scene, none, SCENE_GANONTIKA_SONOGO, SDC_GANONTIKA_SONOGO, 0, 0)
/* 0x10 */ DEFINE_SCENE(takaraya_scene, g_pn_51, SCENE_TAKARAYA, SDC_DEFAULT, 0, 0)
/* 0x11 */ DEFINE_SCENE(ydan_boss_scene, none, SCENE_YDAN_BOSS, SDC_YDAN_BOSS, 0, 0)
/* 0x12 */ DEFINE_SCENE(ddan_boss_scene, none, SCENE_DDAN_BOSS, SDC_DEFAULT, 0, 0)
/* 0x13 */ DEFINE_SCENE(bdan_boss_scene, none, SCENE_BDAN_BOSS, SDC_BDAN, 0, 0)
/* 0x14 */ DEFINE_SCENE(moribossroom_scene, none, SCENE_MORIBOSSROOM, SDC_DEFAULT, 1, 0)
/* 0x15 */ DEFINE_SCENE(FIRE_bs_scene, none, SCENE_FIRE_BS, SDC_HIDAN, 0, 0)
/* 0x16 */ DEFINE_SCENE(MIZUsin_bs_scene, none, SCENE_MIZUSIN_BS, SDC_MIZUSIN_BS, 0, 0)
/* 0x17 */ DEFINE_SCENE(jyasinboss_scene, none, SCENE_JYASINBOSS, SDC_DEFAULT, 0, 0)
/* 0x18 */ DEFINE_SCENE(HAKAdan_bs_scene, none, SCENE_HAKADAN_BS, SDC_HAKADAN, 0, 0)
/* 0x19 */ DEFINE_SCENE(ganon_boss_scene, none, SCENE_GANON_BOSS, SDC_DEFAULT, 0, 0)
/* 0x1A */ DEFINE_SCENE(ganon_final_scene, none, SCENE_GANON_FINAL, SDC_GANON_FINAL, 0, 0)
/* 0x1B */ DEFINE_SCENE(entra_scene, none, SCENE_ENTRA, SDC_DEFAULT, 0, 0)
/* 0x1C */ DEFINE_SCENE(entra_n_scene, none, SCENE_ENTRA_N, SDC_DEFAULT, 0, 0)
/* 0x1D */ DEFINE_SCENE(enrui_scene, none, SCENE_ENRUI, SDC_DEFAULT, 0, 0)
/* 0x1E */ DEFINE_SCENE(market_alley_scene, g_pn_18, SCENE_MARKET_ALLEY, SDC_DEFAULT, 0, 0)
/* 0x1F */ DEFINE_SCENE(market_alley_n_scene, g_pn_18, SCENE_MARKET_ALLEY_N, SDC_DEFAULT, 0, 0)
/* 0x20 */ DEFINE_SCENE(market_day_scene, g_pn_17, SCENE_MARKET_DAY, SDC_DEFAULT, 0, 0)
/* 0x21 */ DEFINE_SCENE(market_night_scene, g_pn_17, SCENE_MARKET_NIGHT, SDC_DEFAULT, 0, 0)
/* 0x22 */ DEFINE_SCENE(market_ruins_scene, g_pn_17, SCENE_MARKET_RUINS, SDC_DEFAULT, 0, 0)
/* 0x23 */ DEFINE_SCENE(shrine_scene, none, SCENE_SHRINE, SDC_DEFAULT, 0, 0)
/* 0x24 */ DEFINE_SCENE(shrine_n_scene, none, SCENE_SHRINE_N, SDC_DEFAULT, 0, 0)
/* 0x25 */ DEFINE_SCENE(shrine_r_scene, none, SCENE_SHRINE_R, SDC_DEFAULT, 0, 0)
/* 0x26 */ DEFINE_SCENE(kokiri_home_scene, none, SCENE_KOKIRI_HOME, SDC_DEFAULT, 0, 0)
/* 0x27 */ DEFINE_SCENE(kokiri_home3_scene, none, SCENE_KOKIRI_HOME3, SDC_DEFAULT, 0, 0)
/* 0x28 */ DEFINE_SCENE(kokiri_home4_scene, none, SCENE_KOKIRI_HOME4, SDC_DEFAULT, 0, 0)
/* 0x29 */ DEFINE_SCENE(kokiri_home5_scene, none, SCENE_KOKIRI_HOME5, SDC_DEFAULT, 0, 0)
/* 0x2A */ DEFINE_SCENE(kakariko_scene, none, SCENE_KAKARIKO, SDC_DEFAULT, 0, 0)
/* 0x2B */ DEFINE_SCENE(kakariko3_scene, none, SCENE_KAKARIKO3, SDC_DEFAULT, 0, 0)
/* 0x2C */ DEFINE_SCENE(shop1_scene, g_pn_23, SCENE_SHOP1, SDC_DEFAULT, 0, 0)
/* 0x2D */ DEFINE_SCENE(kokiri_shop_scene, g_pn_19, SCENE_KOKIRI_SHOP, SDC_DEFAULT, 0, 0)
/* 0x2E */ DEFINE_SCENE(golon_scene, g_pn_20, SCENE_GOLON, SDC_DEFAULT, 0, 0)
/* 0x2F */ DEFINE_SCENE(zoora_scene, g_pn_21, SCENE_ZOORA, SDC_DEFAULT, 0, 0)
/* 0x30 */ DEFINE_SCENE(drag_scene, g_pn_24, SCENE_DRAG, SDC_DEFAULT, 0, 0)
/* 0x31 */ DEFINE_SCENE(alley_shop_scene, g_pn_24, SCENE_ALLEY_SHOP, SDC_DEFAULT, 0, 0)
/* 0x32 */ DEFINE_SCENE(night_shop_scene, g_pn_56, SCENE_NIGHT_SHOP, SDC_DEFAULT, 0, 0)
/* 0x33 */ DEFINE_SCENE(face_shop_scene, g_pn_50, SCENE_FACE_SHOP, SDC_DEFAULT, 0, 0)
/* 0x34 */ DEFINE_SCENE(link_home_scene, none, SCENE_LINK_HOME, SDC_DEFAULT, 0, 0)
/* 0x35 */ DEFINE_SCENE(impa_scene, none, SCENE_IMPA, SDC_DEFAULT, 0, 0)
/* 0x36 */ DEFINE_SCENE(malon_stable_scene, g_pn_48, SCENE_MALON_STABLE, SDC_DEFAULT, 0, 0)
/* 0x37 */ DEFINE_SCENE(labo_scene, none, SCENE_LABO, SDC_DEFAULT, 0, 0)
/* 0x38 */ DEFINE_SCENE(hylia_labo_scene, g_pn_26, SCENE_HYLIA_LABO, SDC_HYLIA_LABO, 0, 0)
/* 0x39 */ DEFINE_SCENE(tent_scene, none, SCENE_TENT, SDC_DEFAULT, 0, 0)
/* 0x3A */ DEFINE_SCENE(hut_scene, g_pn_25, SCENE_HUT, SDC_DEFAULT, 0, 0)
/* 0x3B */ DEFINE_SCENE(daiyousei_izumi_scene, g_pn_13, SCENE_DAIYOUSEI_IZUMI, SDC_GREAT_FAIRY_FOUNTAIN, 0, 0)
/* 0x3C */ DEFINE_SCENE(yousei_izumi_tate_scene, g_pn_45, SCENE_YOUSEI_IZUMI_TATE, SDC_FAIRY_FOUNTAIN, 0, 0)
/* 0x3D */ DEFINE_SCENE(yousei_izumi_yoko_scene, g_pn_13, SCENE_YOUSEI_IZUMI_YOKO, SDC_GREAT_FAIRY_FOUNTAIN, 0, 0)
/* 0x3E */ DEFINE_SCENE(kakusiana_scene, none, SCENE_KAKUSIANA, SDC_KAKUSIANA, 0, 0)
/* 0x3F */ DEFINE_SCENE(hakaana_scene, none, SCENE_HAKAANA, SDC_GRAVE_EXIT_LIGHT_SHINING, 0, 0)
/* 0x40 */ DEFINE_SCENE(hakaana2_scene, none, SCENE_HAKAANA2, SDC_FAIRY_FOUNTAIN, 0, 0)
/* 0x41 */ DEFINE_SCENE(hakaana_ouke_scene, g_pn_44, SCENE_HAKAANA_OUKE, SDC_HAKAANA_OUKE, 0, 0)
/* 0x42 */ DEFINE_SCENE(syatekijyou_scene, g_pn_15, SCENE_SYATEKIJYOU, SDC_SYATEKIJYOU, 0, 0)
/* 0x43 */ DEFINE_SCENE(tokinoma_scene, g_pn_16, SCENE_TOKINOMA, SDC_TOKINOMA, 0, 0)
/* 0x44 */ DEFINE_SCENE(kenjyanoma_scene, g_pn_14, SCENE_KENJYANOMA, SDC_KENJYANOMA, 0, 0)
/* 0x45 */ DEFINE_SCENE(hairal_niwa_scene, g_pn_12, SCENE_HAIRAL_NIWA, SDC_HAIRAL_NIWA, 0, 0)
/* 0x46 */ DEFINE_SCENE(hairal_niwa_n_scene, g_pn_12, SCENE_HAIRAL_NIWA_N, SDC_HAIRAL_NIWA, 0, 0)
/* 0x47 */ DEFINE_SCENE(hiral_demo_scene, none, SCENE_HIRAL_DEMO, SDC_DEFAULT, 0, 0)
/* 0x48 */ DEFINE_SCENE(hakasitarelay_scene, g_pn_57, SCENE_HAKASITARELAY, SDC_GRAVE_EXIT_LIGHT_SHINING, 0, 0)
/* 0x49 */ DEFINE_SCENE(turibori_scene, g_pn_46, SCENE_TURIBORI, SDC_TURIBORI, 0, 0)
/* 0x4A */ DEFINE_SCENE(nakaniwa_scene, g_pn_12, SCENE_NAKANIWA, SDC_CALM_WATER, 0, 0)
/* 0x4B */ DEFINE_SCENE(bowling_scene, g_pn_47, SCENE_BOWLING, SDC_BOWLING, 0, 0)
/* 0x4C */ DEFINE_SCENE(souko_scene, none, SCENE_SOUKO, SDC_SOUKO, 0, 0)
/* 0x4D */ DEFINE_SCENE(miharigoya_scene, none, SCENE_MIHARIGOYA, SDC_MIHARIGOYA, 0, 0)
/* 0x4E */ DEFINE_SCENE(mahouya_scene, g_pn_24, SCENE_MAHOUYA, SDC_MAHOUYA, 0, 0)
/* 0x4F */ DEFINE_SCENE(ganon_demo_scene, none, SCENE_GANON_DEMO, SDC_GANON_CASTLE_EXTERIOR, 0, 0)
/* 0x50 */ DEFINE_SCENE(kinsuta_scene, g_pn_22, SCENE_KINSUTA, SDC_DEFAULT, 0, 0)
/* 0x51 */ DEFINE_SCENE(spot00_scene, g_pn_27, SCENE_SPOT00, SDC_SPOT00, 0, 0)
/* 0x52 */ DEFINE_SCENE(spot01_scene, g_pn_28, SCENE_SPOT01, SDC_SPOT01, 0, 0)
/* 0x53 */ DEFINE_SCENE(spot02_scene, g_pn_29, SCENE_SPOT02, SDC_DEFAULT, 0, 0)
/* 0x54 */ DEFINE_SCENE(spot03_scene, g_pn_30, SCENE_SPOT03, SDC_SPOT03, 0, 0)
/* 0x55 */ DEFINE_SCENE(spot04_scene, g_pn_31, SCENE_SPOT04, SDC_SPOT04, 0, 0)
/* 0x56 */ DEFINE_SCENE(spot05_scene, g_pn_52, SCENE_SPOT05, SDC_CALM_WATER, 0, 0)
/* 0x57 */ DEFINE_SCENE(spot06_scene, g_pn_32, SCENE_SPOT06, SDC_SPOT06, 0, 0)
/* 0x58 */ DEFINE_SCENE(spot07_scene, g_pn_33, SCENE_SPOT07, SDC_SPOT07, 0, 0)
/* 0x59 */ DEFINE_SCENE(spot08_scene, g_pn_34, SCENE_SPOT08, SDC_SPOT08, 0, 0)
/* 0x5A */ DEFINE_SCENE(spot09_scene, g_pn_35, SCENE_SPOT09, SDC_SPOT09, 0, 0)
/* 0x5B */ DEFINE_SCENE(spot10_scene, g_pn_36, SCENE_SPOT10, SDC_SPOT10, 0, 0)
/* 0x5C */ DEFINE_SCENE(spot11_scene, g_pn_55, SCENE_SPOT11, SDC_SPOT11, 0, 0)
/* 0x5D */ DEFINE_SCENE(spot12_scene, g_pn_53, SCENE_SPOT12, SDC_SPOT12, 0, 0)
/* 0x5E */ DEFINE_SCENE(spot13_scene, g_pn_37, SCENE_SPOT13, SDC_SPOT13, 0, 0)
/* 0x5F */ DEFINE_SCENE(spot15_scene, g_pn_38, SCENE_SPOT15, SDC_SPOT15, 0, 0)
/* 0x60 */ DEFINE_SCENE(spot16_scene, g_pn_39, SCENE_SPOT16, SDC_SPOT16, 0, 0)
/* 0x61 */ DEFINE_SCENE(spot17_scene, g_pn_40, SCENE_SPOT17, SDC_SPOT17, 0, 0)
/* 0x62 */ DEFINE_SCENE(spot18_scene, g_pn_41, SCENE_SPOT18, SDC_SPOT18, 0, 0)
/* 0x63 */ DEFINE_SCENE(spot20_scene, g_pn_42, SCENE_SPOT20, SDC_SPOT20, 0, 0)
/* 0x64 */ DEFINE_SCENE(ganon_tou_scene, g_pn_43, SCENE_GANON_TOU, SDC_GANON_CASTLE_EXTERIOR, 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)
/* 0x65 */ DEFINE_SCENE(test01_scene, none, SCENE_TEST01, SDC_CALM_WATER, 0, 0)
/* 0x66 */ DEFINE_SCENE(besitu_scene, none, SCENE_BESITU, SDC_BESITU, 0, 0)
/* 0x67 */ DEFINE_SCENE(depth_test_scene, none, SCENE_DEPTH_TEST, SDC_DEFAULT, 0, 0)
/* 0x68 */ DEFINE_SCENE(syotes_scene, none, SCENE_SYOTES, SDC_DEFAULT, 0, 0)
/* 0x69 */ DEFINE_SCENE(syotes2_scene, none, SCENE_SYOTES2, SDC_DEFAULT, 0, 0)
/* 0x6A */ DEFINE_SCENE(sutaru_scene, none, SCENE_SUTARU, SDC_DEFAULT, 0, 0)
/* 0x6B */ DEFINE_SCENE(hairal_niwa2_scene, g_pn_12, SCENE_HAIRAL_NIWA2, SDC_HAIRAL_NIWA, 0, 0)
/* 0x6C */ DEFINE_SCENE(sasatest_scene, none, SCENE_SASATEST, SDC_DEFAULT, 0, 0)
/* 0x6D */ DEFINE_SCENE(testroom_scene, none, SCENE_TESTROOM, SDC_DEFAULT, 0, 0)

View File

@ -1180,7 +1180,7 @@ typedef struct {
typedef struct PlayState {
/* 0x00000 */ GameState state;
/* 0x000A4 */ s16 sceneNum;
/* 0x000A6 */ u8 sceneConfig;
/* 0x000A6 */ u8 sceneDrawConfig;
/* 0x000A7 */ char unk_A7[0x9];
/* 0x000B0 */ void* sceneSegment;
/* 0x000B8 */ View view;

View File

@ -12,7 +12,7 @@ typedef struct {
/* 0x00 */ RomFile sceneFile;
/* 0x08 */ RomFile titleFile;
/* 0x10 */ u8 unk_10;
/* 0x11 */ u8 config;
/* 0x11 */ u8 drawConfig;
/* 0x12 */ u8 unk_12;
/* 0x13 */ u8 unk_13;
} SceneTableEntry; // size = 0x14
@ -338,6 +338,63 @@ typedef enum {
#undef DEFINE_ENTRANCE
typedef enum {
/* 0 */ SDC_DEFAULT,
/* 1 */ SDC_SPOT00,
/* 2 */ SDC_SPOT01,
/* 3 */ SDC_SPOT03,
/* 4 */ SDC_SPOT04,
/* 5 */ SDC_SPOT06,
/* 6 */ SDC_SPOT07,
/* 7 */ SDC_SPOT08,
/* 8 */ SDC_SPOT09,
/* 9 */ SDC_SPOT10,
/* 10 */ SDC_SPOT11,
/* 11 */ SDC_SPOT12,
/* 12 */ SDC_SPOT13,
/* 13 */ SDC_SPOT15,
/* 14 */ SDC_SPOT16,
/* 15 */ SDC_SPOT17,
/* 16 */ SDC_SPOT18,
/* 17 */ SDC_SPOT20,
/* 18 */ SDC_HIDAN, // used for Fire Temple and its boss scene
/* 19 */ SDC_YDAN,
/* 20 */ SDC_DDAN,
/* 21 */ SDC_BDAN, // used for Jabu-Jabu and its boss scene
/* 22 */ SDC_BMORI1,
/* 23 */ SDC_MIZUSIN,
/* 24 */ SDC_HAKADAN, // used for Bottom Of The Well, Shadow Temple and its boss scene
/* 25 */ SDC_JYASINZOU,
/* 26 */ SDC_GANONTIKA,
/* 27 */ SDC_MEN,
/* 28 */ SDC_YDAN_BOSS,
/* 29 */ SDC_MIZUSIN_BS,
/* 30 */ SDC_TOKINOMA,
/* 31 */ SDC_KAKUSIANA,
/* 32 */ SDC_KENJYANOMA,
/* 33 */ SDC_GREAT_FAIRY_FOUNTAIN, // used for both Great Fairy Fountains scenes
/* 34 */ SDC_SYATEKIJYOU,
/* 35 */ SDC_HAIRAL_NIWA, // used for Castle Courtyard (with the hedges) (day, night and debug scenes)
/* 36 */ SDC_GANON_CASTLE_EXTERIOR, // used for two scenes
/* 37 */ SDC_ICE_DOUKUTO,
/* 38 */ SDC_GANON_FINAL,
/* 39 */ SDC_FAIRY_FOUNTAIN, // used for both Fairy Fountains scenes
/* 40 */ SDC_GERUDOWAY,
/* 41 */ SDC_BOWLING,
/* 42 */ SDC_HAKAANA_OUKE,
/* 43 */ SDC_HYLIA_LABO,
/* 44 */ SDC_SOUKO,
/* 45 */ SDC_MIHARIGOYA,
/* 46 */ SDC_MAHOUYA,
/* 47 */ SDC_CALM_WATER, // used for Castle Courtyard (with Zelda), Sacred Forest Meadow, and debug Jungle Gym
/* 48 */ SDC_GRAVE_EXIT_LIGHT_SHINING, // used for one grave scene and the Dampé race scene
/* 49 */ SDC_BESITU,
/* 50 */ SDC_TURIBORI,
/* 51 */ SDC_GANON_SONOGO,
/* 52 */ SDC_GANONTIKA_SONOGO,
/* 53 */ SDC_MAX
} SceneDrawConfig;
// Scene commands
typedef enum {

View File

@ -1500,7 +1500,7 @@ void Play_SpawnScene(PlayState* this, s32 sceneNum, s32 spawn) {
scene->unk_13 = 0;
this->loadedScene = scene;
this->sceneNum = sceneNum;
this->sceneConfig = scene->config;
this->sceneDrawConfig = scene->drawConfig;
osSyncPrintf("\nSCENE SIZE %fK\n", (scene->sceneFile.vromEnd - scene->sceneFile.vromStart) / 1024.0f);

View File

@ -44,8 +44,8 @@ EntranceInfo gEntranceTable[] = {
#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 },
#define DEFINE_SCENE(name, title, _2, drawConfig, unk_10, unk_12) \
{ ROM_FILE(name), ROM_FILE(title), unk_10, drawConfig, unk_12, 0 },
// Handle `none` as a special case for scenes without a title card
#define _noneSegmentRomStart NULL
@ -93,8 +93,7 @@ void Scene_SetTransitionForNextEntrance(PlayState* play) {
play->transitionType = gEntranceTable[entranceIndex].field & 0x7F; // Fade out
}
// Scene Draw Config 0
void func_80099550(PlayState* play) {
void Scene_DrawConfigDefault(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 4725);
gSPDisplayList(POLY_OPA_DISP++, sDefaultDisplayList);
@ -108,8 +107,7 @@ void* D_8012A2F8[] = {
gYdanTex_00CA18,
};
// Scene Draw Config 19
void func_800995DC(PlayState* play) {
void Scene_DrawConfigYdan(PlayState* play) {
u32 gameplayFrames = play->gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 4763);
@ -126,8 +124,7 @@ void func_800995DC(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 4783);
}
// Scene Draw Config 28
void func_80099760(PlayState* play) {
void Scene_DrawConfigYdanBoss(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 4845);
@ -152,8 +149,7 @@ void* sDCLavaFloorTextures[] = {
gDCLavaFloor5Tex, gDCLavaFloor6Tex, gDCLavaFloor7Tex, gDCLavaFloor8Tex,
};
// Scene Draw Config 20 - Dodongo's Cavern
void func_80099878(PlayState* play) {
void Scene_DrawConfigDdan(PlayState* play) {
u32 gameplayFrames;
s32 pad;
Gfx* displayListHead = Graph_Alloc(play->state.gfxCtx, 2 * sizeof(Gfx[3]));
@ -189,8 +185,7 @@ void func_80099878(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 4956);
}
// Scene Draw Config 30
void func_80099BD8(PlayState* play) {
void Scene_DrawConfigTokinoma(PlayState* play) {
f32 temp;
Gfx* displayListHead = Graph_Alloc(play->state.gfxCtx, 18 * sizeof(Gfx));
@ -251,8 +246,7 @@ void func_80099BD8(PlayState* play) {
}
}
// Scene Draw Config 31
void func_8009A45C(PlayState* play) {
void Scene_DrawConfigKakusiana(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5171);
@ -280,8 +274,7 @@ void func_8009A45C(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5212);
}
// Scene Draw Config 32
void func_8009A798(PlayState* play) {
void Scene_DrawConfigKenjyanoma(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5226);
@ -308,8 +301,7 @@ void func_8009A798(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5264);
}
// Scene Draw Config 33
void func_8009A9DC(PlayState* play) {
void Scene_DrawConfigGreatFairyFountain(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5278);
@ -331,8 +323,7 @@ void func_8009A9DC(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5301);
}
// Scene Draw Config 48
void func_8009AB98(PlayState* play) {
void Scene_DrawConfigGraveExitLightShining(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5317);
@ -349,8 +340,7 @@ void func_8009AB98(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5330);
}
// Scene Draw Config 39
void func_8009ACA8(PlayState* play) {
void Scene_DrawConfigFairyFountain(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5346);
@ -370,8 +360,7 @@ void func_8009ACA8(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5367);
}
// Scene Draw Config 24
void func_8009AE30(PlayState* play) {
void Scene_DrawConfigHakadan(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5384);
@ -402,8 +391,7 @@ void* sThievesHideoutEntranceTextures[] = {
gThievesHideoutNightEntranceTex,
};
// Scene Draw Config 40
void func_8009AFE0(PlayState* play) {
void Scene_DrawConfigGerudoway(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5490);
@ -422,8 +410,7 @@ void* D_8012A330[] = {
gWaterTempleNightEntranceTex,
};
// Scene Draw Config 23 (Water Temple)
void func_8009B0FC(PlayState* play) {
void Scene_DrawConfigMizusin(PlayState* play) {
u32 gameplayFrames;
s32 spB0;
s32 spAC;
@ -492,8 +479,7 @@ void func_8009B0FC(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5644);
}
// Scene Draw Config 29
void func_8009B86C(PlayState* play) {
void Scene_DrawConfigMizusinBs(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5791);
@ -511,8 +497,7 @@ void func_8009B86C(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5808);
}
// Scene Draw Config 34
void func_8009B9BC(PlayState* play) {
void Scene_DrawConfigSyatekijyou(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5822);
@ -526,8 +511,7 @@ void func_8009B9BC(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5836);
}
// Scene Draw Config 35
void func_8009BAA4(PlayState* play) {
void Scene_DrawConfigHairalNiwa(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5850);
@ -550,14 +534,13 @@ void func_8009BAA4(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5876);
}
// Scene Draw Config 36
void func_8009BC44(PlayState* play) {
void Scene_DrawConfigGanonCastleExterior(PlayState* play) {
u32 gameplayFrames;
s8 sp83;
if (1) {} // Necessary to match
sp83 = coss((play->gameplayFrames * 1500) & 0xFFFF) >> 8;
sp83 = coss(play->gameplayFrames * 1500) >> 8;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5894);
@ -606,8 +589,7 @@ void func_8009BEEC(PlayState* play) {
}
}
// Scene Draw Config 38
void func_8009C0AC(PlayState* play) {
void Scene_DrawConfigGanonFinal(PlayState* play) {
u32 gameplayFrames;
s8 sp7B;
@ -653,8 +635,7 @@ void* sIceCavernEntranceTextures[] = {
gIceCavernNightEntranceTex,
};
// Scene Draw Config 37
void func_8009C3EC(PlayState* play) {
void Scene_DrawConfigIceDoukuto(PlayState* play) {
u32 gameplayFrames;
if (0) {} // Necessary to match
@ -680,8 +661,7 @@ void func_8009C3EC(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6076);
}
// Scene Draw Config 42
void func_8009C608(PlayState* play) {
void Scene_DrawConfigHakaanaOuke(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6151);
@ -707,8 +687,7 @@ void func_8009C608(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6187);
}
// Scene Draw Config 43
void func_8009C8B8(PlayState* play) {
void Scene_DrawConfigHyliaLabo(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6201);
@ -730,8 +709,7 @@ void func_8009C8B8(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6232);
}
// Scene Draw Config 47
void func_8009CAC0(PlayState* play) {
void Scene_DrawConfigCalmWater(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6249);
@ -755,8 +733,7 @@ void* sGTGEntranceTextures[] = {
gGTGNightEntranceTex,
};
// Scene Draw Config 27
void func_8009CC00(PlayState* play) {
void Scene_DrawConfigMen(PlayState* play) {
u32 gameplayFrames;
if (0) {} // Necessary to match
@ -800,8 +777,7 @@ Gfx* Gfx_TwoTexScrollPrimColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y
return displayList;
}
// Scene Draw Config 50
void func_8009CF84(PlayState* play) {
void Scene_DrawConfigTuribori(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6433);
@ -821,8 +797,7 @@ void func_8009CF84(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6449);
}
// Scene Draw Config 41
void func_8009D0E8(PlayState* play) {
void Scene_DrawConfigBowling(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6463);
@ -848,8 +823,7 @@ void* sLonLonHouseEntranceTextures[] = {
gLonLonHouseNightEntranceTex,
};
// Scene Draw Config 44
void func_8009D31C(PlayState* play) {
void Scene_DrawConfigSouko(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6515);
gSPSegment(POLY_XLU_DISP++, 0x08,
@ -873,8 +847,7 @@ void* sGuardHouseView1Textures[] = {
gGuardHouseOutSideView2NightTex,
};
// Scene Draw Config 45
void func_8009D438(PlayState* play) {
void Scene_DrawConfigMiharigoya(PlayState* play) {
s32 var;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6560);
@ -897,8 +870,7 @@ void func_8009D438(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6581);
}
// Scene Draw Config 46
void func_8009D5B4(PlayState* play) {
void Scene_DrawConfigMahouya(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6595);
@ -923,8 +895,7 @@ void* sForestTempleEntranceTextures[] = {
gForestTempleNightEntranceTex,
};
// Scene Draw Config 22
void func_8009D758(PlayState* play) {
void Scene_DrawConfigBmori1(PlayState* play) {
u32 gameplayFrames;
if (0) {} // Necessary to match
@ -955,8 +926,7 @@ void* sSpiritTempleEntranceTextures[] = {
gSpiritTempleNightEntranceTex,
};
// Scene Draw Config 25
void func_8009D974(PlayState* play) {
void Scene_DrawConfigJyasinzou(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6752);
gSPSegment(POLY_XLU_DISP++, 0x08,
@ -965,8 +935,7 @@ void func_8009D974(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6762);
}
// Scene Draw Config 1
void func_8009DA30(PlayState* play) {
void Scene_DrawConfigSpot00(PlayState* play) {
u32 gameplayFrames;
Gfx* displayListHead;
@ -1016,8 +985,7 @@ void* sKakarikoWindowTextures[] = {
gKakarikoVillageNightWindowTex,
};
// Scene Draw Config 2
void func_8009DD5C(PlayState* play) {
void Scene_DrawConfigSpot01(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6890);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sKakarikoWindowTextures[((void)0, gSaveContext.nightFlag)]));
@ -1031,8 +999,7 @@ void func_8009DD5C(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6903);
}
// Scene Draw Config 3
void func_8009DE78(PlayState* play) {
void Scene_DrawConfigSpot03(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6917);
@ -1057,8 +1024,7 @@ void func_8009DE78(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6948);
}
// Scene Draw Config 4
void func_8009E0B8(PlayState* play) {
void Scene_DrawConfigSpot04(PlayState* play) {
u32 gameplayFrames;
u8 spA3;
u16 spA0;
@ -1113,8 +1079,7 @@ void func_8009E0B8(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7044);
}
// Scene Draw Config 5
void func_8009E54C(PlayState* play) {
void Scene_DrawConfigSpot06(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7058);
@ -1142,8 +1107,7 @@ void* sZorasDomainEntranceTextures[] = {
gZorasDomainNightEntranceTex,
};
// Scene Draw Config 6
void func_8009E730(PlayState* play) {
void Scene_DrawConfigSpot07(PlayState* play) {
u32 gameplayFrames;
u32 var;
@ -1165,8 +1129,7 @@ void func_8009E730(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7147);
}
// Scene Draw Config 7
void func_8009E8C0(PlayState* play) {
void Scene_DrawConfigSpot08(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7161);
@ -1190,8 +1153,7 @@ void func_8009E8C0(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7192);
}
// Scene Draw Config 8
void func_8009EAD8(PlayState* play) {
void Scene_DrawConfigSpot09(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7206);
@ -1224,8 +1186,7 @@ void func_8009EAD8(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7260);
}
// Scene Draw Config 9
void func_8009EE44(PlayState* play) {
void Scene_DrawConfigSpot10(PlayState* play) {
u32 gameplayFrames;
if (0) {} // Necessary to match
@ -1257,8 +1218,7 @@ void func_8009EE44(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7309);
}
// Scene Draw Config 10
void func_8009F074(PlayState* play) {
void Scene_DrawConfigSpot11(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7323);
@ -1281,8 +1241,7 @@ void* D_8012A380[] = {
gSpot12_00DE78Tex,
};
// Scene Draw Config 11
void func_8009F1B4(PlayState* play) {
void Scene_DrawConfigSpot12(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7363);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A380[((void)0, gSaveContext.nightFlag)]));
@ -1290,8 +1249,7 @@ void func_8009F1B4(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7371);
}
// Scene Draw Config 12
void func_8009F270(PlayState* play) {
void Scene_DrawConfigSpot13(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7385);
@ -1313,8 +1271,7 @@ void func_8009F270(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7409);
}
// Scene Draw Config 13
void func_8009F40C(PlayState* play) {
void Scene_DrawConfigSpot15(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7423);
@ -1336,8 +1293,7 @@ void func_8009F40C(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7443);
}
// Scene Draw Config 14
void func_8009F5D4(PlayState* play) {
void Scene_DrawConfigSpot16(PlayState* play) {
Gfx* displayListHead = Graph_Alloc(play->state.gfxCtx, 3 * sizeof(Gfx));
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7461);
@ -1371,8 +1327,7 @@ void func_8009F5D4(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7495);
}
// Scene Draw Config 15
void func_8009F7D4(PlayState* play) {
void Scene_DrawConfigSpot17(PlayState* play) {
s8 sp6F = coss((play->gameplayFrames * 1500) & 0xFFFF) >> 8;
s8 sp6E = coss((play->gameplayFrames * 1500) & 0xFFFF) >> 8;
u32 gameplayFrames;
@ -1401,8 +1356,7 @@ void* sGoronCityEntranceTextures[] = {
gGoronCityNightEntranceTex,
};
// Scene Draw Config 16
void func_8009F9D0(PlayState* play) {
void Scene_DrawConfigSpot18(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7555);
@ -1429,8 +1383,7 @@ void* sLonLonRanchWindowTextures[] = {
gLonLonRangeNightWindowsTex,
};
// Scene Draw Config 17
void func_8009FB74(PlayState* play) {
void Scene_DrawConfigSpot20(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7602);
gSPSegment(POLY_OPA_DISP++, 0x08,
@ -1445,8 +1398,7 @@ void func_8009FB74(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7615);
}
// Scene Draw Config 18
void func_8009FC90(PlayState* play) {
void Scene_DrawConfigHidan(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7630);
@ -1470,7 +1422,7 @@ void func_8009FC90(PlayState* play) {
f32 D_8012A398 = 0.0f;
void func_8009FE58(PlayState* play) {
void Scene_DrawConfigBdan(PlayState* play) {
static s16 D_8012A39C = 538;
static s16 D_8012A3A0 = 4272;
u32 gameplayFrames;
@ -1547,8 +1499,7 @@ void func_8009FE58(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7811);
}
// Scene Draw Config 26
void func_800A0334(PlayState* play) {
void Scene_DrawConfigGanontika(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7825);
@ -1573,18 +1524,15 @@ void func_800A0334(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7852);
}
// Scene Draw Config 52
void func_800A055C(PlayState* play) {
void Scene_DrawConfigGanontikaSonogo(PlayState* play) {
func_8009BEEC(play);
}
// Scene Draw Config 51
void func_800A057C(PlayState* play) {
void Scene_DrawConfigGanonSonogo(PlayState* play) {
func_8009BEEC(play);
}
// Scene Draw Config 49
void func_800A059C(PlayState* play) {
void Scene_DrawConfigBesitu(PlayState* play) {
u32 gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7893);
@ -1602,15 +1550,60 @@ void func_800A059C(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7910);
}
void (*sSceneDrawHandlers[])(PlayState*) = {
func_80099550, func_8009DA30, func_8009DD5C, func_8009DE78, func_8009E0B8, func_8009E54C, func_8009E730,
func_8009E8C0, func_8009EAD8, func_8009EE44, func_8009F074, func_8009F1B4, func_8009F270, func_8009F40C,
func_8009F5D4, func_8009F7D4, func_8009F9D0, func_8009FB74, func_8009FC90, func_800995DC, func_80099878,
func_8009FE58, func_8009D758, func_8009B0FC, func_8009AE30, func_8009D974, func_800A0334, func_8009CC00,
func_80099760, func_8009B86C, func_80099BD8, func_8009A45C, func_8009A798, func_8009A9DC, func_8009B9BC,
func_8009BAA4, func_8009BC44, func_8009C3EC, func_8009C0AC, func_8009ACA8, func_8009AFE0, func_8009D0E8,
func_8009C608, func_8009C8B8, func_8009D31C, func_8009D438, func_8009D5B4, func_8009CAC0, func_8009AB98,
func_800A059C, func_8009CF84, func_800A057C, func_800A055C,
void (*sSceneDrawConfigs[SDC_MAX])(PlayState*) = {
Scene_DrawConfigDefault, // SDC_DEFAULT
Scene_DrawConfigSpot00, // SDC_SPOT00
Scene_DrawConfigSpot01, // SDC_SPOT01
Scene_DrawConfigSpot03, // SDC_SPOT03
Scene_DrawConfigSpot04, // SDC_SPOT04
Scene_DrawConfigSpot06, // SDC_SPOT06
Scene_DrawConfigSpot07, // SDC_SPOT07
Scene_DrawConfigSpot08, // SDC_SPOT08
Scene_DrawConfigSpot09, // SDC_SPOT09
Scene_DrawConfigSpot10, // SDC_SPOT10
Scene_DrawConfigSpot11, // SDC_SPOT11
Scene_DrawConfigSpot12, // SDC_SPOT12
Scene_DrawConfigSpot13, // SDC_SPOT13
Scene_DrawConfigSpot15, // SDC_SPOT15
Scene_DrawConfigSpot16, // SDC_SPOT16
Scene_DrawConfigSpot17, // SDC_SPOT17
Scene_DrawConfigSpot18, // SDC_SPOT18
Scene_DrawConfigSpot20, // SDC_SPOT20
Scene_DrawConfigHidan, // SDC_HIDAN
Scene_DrawConfigYdan, // SDC_YDAN
Scene_DrawConfigDdan, // SDC_DDAN
Scene_DrawConfigBdan, // SDC_BDAN
Scene_DrawConfigBmori1, // SDC_BMORI1
Scene_DrawConfigMizusin, // SDC_MIZUSIN
Scene_DrawConfigHakadan, // SDC_HAKADAN
Scene_DrawConfigJyasinzou, // SDC_JYASINZOU
Scene_DrawConfigGanontika, // SDC_GANONTIKA
Scene_DrawConfigMen, // SDC_MEN
Scene_DrawConfigYdanBoss, // SDC_YDAN_BOSS
Scene_DrawConfigMizusinBs, // SDC_MIZUSIN_BS
Scene_DrawConfigTokinoma, // SDC_TOKINOMA
Scene_DrawConfigKakusiana, // SDC_KAKUSIANA
Scene_DrawConfigKenjyanoma, // SDC_KENJYANOMA
Scene_DrawConfigGreatFairyFountain, // SDC_GREAT_FAIRY_FOUNTAIN
Scene_DrawConfigSyatekijyou, // SDC_SYATEKIJYOU
Scene_DrawConfigHairalNiwa, // SDC_HAIRAL_NIWA
Scene_DrawConfigGanonCastleExterior, // SDC_GANON_CASTLE_EXTERIOR
Scene_DrawConfigIceDoukuto, // SDC_ICE_DOUKUTO
Scene_DrawConfigGanonFinal, // SDC_GANON_FINAL
Scene_DrawConfigFairyFountain, // SDC_FAIRY_FOUNTAIN
Scene_DrawConfigGerudoway, // SDC_GERUDOWAY
Scene_DrawConfigBowling, // SDC_BOWLING
Scene_DrawConfigHakaanaOuke, // SDC_HAKAANA_OUKE
Scene_DrawConfigHyliaLabo, // SDC_HYLIA_LABO
Scene_DrawConfigSouko, // SDC_SOUKO
Scene_DrawConfigMiharigoya, // SDC_MIHARIGOYA
Scene_DrawConfigMahouya, // SDC_MAHOUYA
Scene_DrawConfigCalmWater, // SDC_CALM_WATER
Scene_DrawConfigGraveExitLightShining, // SDC_GRAVE_EXIT_LIGHT_SHINING
Scene_DrawConfigBesitu, // SDC_BESITU
Scene_DrawConfigTuribori, // SDC_TURIBORI
Scene_DrawConfigGanonSonogo, // SDC_GANON_SONOGO
Scene_DrawConfigGanontikaSonogo, // SDC_GANONTIKA_SONOGO
};
void Scene_Draw(PlayState* play) {
@ -1642,9 +1635,9 @@ void Scene_Draw(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 8109);
if (HREG(82) == 1) {
sSceneDrawHandlers[play->sceneConfig](play);
sSceneDrawConfigs[play->sceneDrawConfig](play);
}
} else {
sSceneDrawHandlers[play->sceneConfig](play);
sSceneDrawConfigs[play->sceneDrawConfig](play);
}
}