1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 06:24:30 +00:00

Name scenes (scene enum, entrance enum, various identifiers) (#1343)

* Comment names on titled scenes

* Comment some more scene names

* Comment some map assets symbol prefixes

* Name collapse sequence scenes (from the non-collapse equivalent scene's name + `_COLLAPSE`)

* Name ganon/ganondorf boss scenes (symbol prefix suffixed with `Scene` to prevent confusion with boss actors)

* Fix symbol prefix for back alley night scene

* Name the two grave scenes (normal and fairy's fountain variant)

* Name most houses, name/update misc scenes

Co-authored-by: fig02 <fig02srl@gmail.com>

* (hakaana) `GRAVE` -> `REDEAD_GRAVE` to be more specific

Co-authored-by: fig02 <fig02srl@gmail.com>

* `miharigoya_scene`: `market_guard_house`

* `kakariko_scene` -> `kakariko_center_house`

* `richards_house` -> `dog_lady_house` (for localization differences)

* Revert "Comment some map assets symbol prefixes"

This reverts commit 210a38a628.

* remove other xml prefixes

* ganon_boss, ganondorf_boss

* comments to namefixer

* `KAKARIKO_CENTER_HOUSE` -> `KAKARIKO_CENTER_GUEST_HOUSE`

* two collapse sequence scenes -> `GANONS_TOWER_COLLAPSE_`interior/exterior

* Run namefixer

`find src include -type f -exec ./tools/namefixer.py {} \;`

* run formatter

Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
Dragorn421 2022-11-26 22:15:41 +01:00 committed by GitHub
parent eb0a82c513
commit 186ecc72b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
96 changed files with 3577 additions and 3274 deletions

File diff suppressed because it is too large Load diff

View file

@ -9,107 +9,107 @@
* - Argument 5: ? (Unknown)
* - Argument 6: ? (Unknown)
*/
/* 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)
/* 0x00 */ DEFINE_SCENE(ydan_scene, g_pn_06, SCENE_DEKU_TREE, SDC_DEKU_TREE, 1, 2)
/* 0x01 */ DEFINE_SCENE(ddan_scene, g_pn_08, SCENE_DODONGOS_CAVERN, SDC_DODONGOS_CAVERN, 1, 3)
/* 0x02 */ DEFINE_SCENE(bdan_scene, g_pn_07, SCENE_JABU_JABU, SDC_JABU_JABU, 1, 4)
/* 0x03 */ DEFINE_SCENE(Bmori1_scene, g_pn_01, SCENE_FOREST_TEMPLE, SDC_FOREST_TEMPLE, 2, 5)
/* 0x04 */ DEFINE_SCENE(HIDAN_scene, g_pn_03, SCENE_FIRE_TEMPLE, SDC_FIRE_TEMPLE, 2, 6)
/* 0x05 */ DEFINE_SCENE(MIZUsin_scene, g_pn_04, SCENE_WATER_TEMPLE, SDC_WATER_TEMPLE, 1, 7)
/* 0x06 */ DEFINE_SCENE(jyasinzou_scene, g_pn_05, SCENE_SPIRIT_TEMPLE, SDC_SPIRIT_TEMPLE, 1, 8)
/* 0x07 */ DEFINE_SCENE(HAKAdan_scene, g_pn_02, SCENE_SHADOW_TEMPLE, SDC_SHADOW_TEMPLE, 2, 9)
/* 0x08 */ DEFINE_SCENE(HAKAdanCH_scene, g_pn_54, SCENE_BOTTOM_OF_THE_WELL, SDC_SHADOW_TEMPLE, 2, 10)
/* 0x09 */ DEFINE_SCENE(ice_doukutu_scene, g_pn_10, SCENE_ICE_CAVERN, SDC_ICE_CAVERN, 0, 0)
/* 0x0A */ DEFINE_SCENE(ganon_scene, none, SCENE_GANONS_TOWER, SDC_DEFAULT, 2, 0)
/* 0x0B */ DEFINE_SCENE(men_scene, g_pn_11, SCENE_GERUDO_TRAINING_GROUND, SDC_GERUDO_TRAINING_GROUND, 0, 0)
/* 0x0C */ DEFINE_SCENE(gerudoway_scene, g_pn_49, SCENE_THIEVES_HIDEOUT, SDC_THIEVES_HIDEOUT, 0, 0)
/* 0x0D */ DEFINE_SCENE(ganontika_scene, g_pn_09, SCENE_INSIDE_GANONS_CASTLE, SDC_INSIDE_GANONS_CASTLE, 0, 0)
/* 0x0E */ DEFINE_SCENE(ganon_sonogo_scene, none, SCENE_GANONS_TOWER_COLLAPSE_INTERIOR, SDC_GANONS_TOWER_COLLAPSE_INTERIOR, 0, 0)
/* 0x0F */ DEFINE_SCENE(ganontikasonogo_scene, none, SCENE_INSIDE_GANONS_CASTLE_COLLAPSE, SDC_INSIDE_GANONS_CASTLE_COLLAPSE, 0, 0)
/* 0x10 */ DEFINE_SCENE(takaraya_scene, g_pn_51, SCENE_TREASURE_BOX_SHOP, SDC_DEFAULT, 0, 0)
/* 0x11 */ DEFINE_SCENE(ydan_boss_scene, none, SCENE_DEKU_TREE_BOSS, SDC_DEKU_TREE_BOSS, 0, 0)
/* 0x12 */ DEFINE_SCENE(ddan_boss_scene, none, SCENE_DODONGOS_CAVERN_BOSS, SDC_DEFAULT, 0, 0)
/* 0x13 */ DEFINE_SCENE(bdan_boss_scene, none, SCENE_JABU_JABU_BOSS, SDC_JABU_JABU, 0, 0)
/* 0x14 */ DEFINE_SCENE(moribossroom_scene, none, SCENE_FOREST_TEMPLE_BOSS, SDC_DEFAULT, 1, 0)
/* 0x15 */ DEFINE_SCENE(FIRE_bs_scene, none, SCENE_FIRE_TEMPLE_BOSS, SDC_FIRE_TEMPLE, 0, 0)
/* 0x16 */ DEFINE_SCENE(MIZUsin_bs_scene, none, SCENE_WATER_TEMPLE_BOSS, SDC_WATER_TEMPLE_BOSS, 0, 0)
/* 0x17 */ DEFINE_SCENE(jyasinboss_scene, none, SCENE_SPIRIT_TEMPLE_BOSS, SDC_DEFAULT, 0, 0)
/* 0x18 */ DEFINE_SCENE(HAKAdan_bs_scene, none, SCENE_SHADOW_TEMPLE_BOSS, SDC_SHADOW_TEMPLE, 0, 0)
/* 0x19 */ DEFINE_SCENE(ganon_boss_scene, none, SCENE_GANONDORF_BOSS, SDC_DEFAULT, 0, 0)
/* 0x1A */ DEFINE_SCENE(ganon_final_scene, none, SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR, SDC_GANONS_TOWER_COLLAPSE_EXTERIOR, 0, 0)
/* 0x1B */ DEFINE_SCENE(entra_scene, none, SCENE_MARKET_ENTRANCE_DAY, SDC_DEFAULT, 0, 0)
/* 0x1C */ DEFINE_SCENE(entra_n_scene, none, SCENE_MARKET_ENTRANCE_NIGHT, SDC_DEFAULT, 0, 0)
/* 0x1D */ DEFINE_SCENE(enrui_scene, none, SCENE_MARKET_ENTRANCE_RUINS, SDC_DEFAULT, 0, 0)
/* 0x1E */ DEFINE_SCENE(market_alley_scene, g_pn_18, SCENE_BACK_ALLEY_DAY, SDC_DEFAULT, 0, 0)
/* 0x1F */ DEFINE_SCENE(market_alley_n_scene, g_pn_18, SCENE_BACK_ALLEY_NIGHT, 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)
/* 0x23 */ DEFINE_SCENE(shrine_scene, none, SCENE_TEMPLE_OF_TIME_EXTERIOR_DAY, SDC_DEFAULT, 0, 0)
/* 0x24 */ DEFINE_SCENE(shrine_n_scene, none, SCENE_TEMPLE_OF_TIME_EXTERIOR_NIGHT, SDC_DEFAULT, 0, 0)
/* 0x25 */ DEFINE_SCENE(shrine_r_scene, none, SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS, SDC_DEFAULT, 0, 0)
/* 0x26 */ DEFINE_SCENE(kokiri_home_scene, none, SCENE_KNOW_IT_ALL_BROS_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x27 */ DEFINE_SCENE(kokiri_home3_scene, none, SCENE_TWINS_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x28 */ DEFINE_SCENE(kokiri_home4_scene, none, SCENE_MIDOS_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x29 */ DEFINE_SCENE(kokiri_home5_scene, none, SCENE_SARIAS_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x2A */ DEFINE_SCENE(kakariko_scene, none, SCENE_KAKARIKO_CENTER_GUEST_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x2B */ DEFINE_SCENE(kakariko3_scene, none, SCENE_BACK_ALLEY_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x2C */ DEFINE_SCENE(shop1_scene, g_pn_23, SCENE_BAZAAR, 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)
/* 0x2E */ DEFINE_SCENE(golon_scene, g_pn_20, SCENE_GORON_SHOP, SDC_DEFAULT, 0, 0)
/* 0x2F */ DEFINE_SCENE(zoora_scene, g_pn_21, SCENE_ZORA_SHOP, SDC_DEFAULT, 0, 0)
/* 0x30 */ DEFINE_SCENE(drag_scene, g_pn_24, SCENE_POTION_SHOP_KAKARIKO, SDC_DEFAULT, 0, 0)
/* 0x31 */ DEFINE_SCENE(alley_shop_scene, g_pn_24, SCENE_POTION_SHOP_MARKET, SDC_DEFAULT, 0, 0)
/* 0x32 */ DEFINE_SCENE(night_shop_scene, g_pn_56, SCENE_BOMBCHU_SHOP, SDC_DEFAULT, 0, 0)
/* 0x33 */ DEFINE_SCENE(face_shop_scene, g_pn_50, SCENE_HAPPY_MASK_SHOP, SDC_DEFAULT, 0, 0)
/* 0x34 */ DEFINE_SCENE(link_home_scene, none, SCENE_LINKS_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x35 */ DEFINE_SCENE(impa_scene, none, SCENE_DOG_LADY_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x36 */ DEFINE_SCENE(malon_stable_scene, g_pn_48, SCENE_STABLE, SDC_DEFAULT, 0, 0)
/* 0x37 */ DEFINE_SCENE(labo_scene, none, SCENE_IMPAS_HOUSE, SDC_DEFAULT, 0, 0)
/* 0x38 */ DEFINE_SCENE(hylia_labo_scene, g_pn_26, SCENE_LAKESIDE_LABORATORY, SDC_LAKESIDE_LABORATORY, 0, 0)
/* 0x39 */ DEFINE_SCENE(tent_scene, none, SCENE_CARPENTERS_TENT, SDC_DEFAULT, 0, 0)
/* 0x3A */ DEFINE_SCENE(hut_scene, g_pn_25, SCENE_GRAVEKEEPERS_HUT, SDC_DEFAULT, 0, 0)
/* 0x3B */ DEFINE_SCENE(daiyousei_izumi_scene, g_pn_13, SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC, SDC_GREAT_FAIRYS_FOUNTAIN, 0, 0)
/* 0x3C */ DEFINE_SCENE(yousei_izumi_tate_scene, g_pn_45, SCENE_FAIRYS_FOUNTAIN, SDC_FAIRYS_FOUNTAIN, 0, 0)
/* 0x3D */ DEFINE_SCENE(yousei_izumi_yoko_scene, g_pn_13, SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS, SDC_GREAT_FAIRYS_FOUNTAIN, 0, 0)
/* 0x3E */ DEFINE_SCENE(kakusiana_scene, none, SCENE_GROTTOS, SDC_GROTTOS, 0, 0)
/* 0x3F */ DEFINE_SCENE(hakaana_scene, none, SCENE_REDEAD_GRAVE, SDC_GRAVE_EXIT_LIGHT_SHINING, 0, 0)
/* 0x40 */ DEFINE_SCENE(hakaana2_scene, none, SCENE_GRAVE_WITH_FAIRYS_FOUNTAIN, SDC_FAIRYS_FOUNTAIN, 0, 0)
/* 0x41 */ DEFINE_SCENE(hakaana_ouke_scene, g_pn_44, SCENE_ROYAL_FAMILYS_TOMB, SDC_ROYAL_FAMILYS_TOMB, 0, 0)
/* 0x42 */ DEFINE_SCENE(syatekijyou_scene, g_pn_15, SCENE_SHOOTING_GALLERY, SDC_SHOOTING_GALLERY, 0, 0)
/* 0x43 */ DEFINE_SCENE(tokinoma_scene, g_pn_16, SCENE_TEMPLE_OF_TIME, SDC_TEMPLE_OF_TIME, 0, 0)
/* 0x44 */ DEFINE_SCENE(kenjyanoma_scene, g_pn_14, SCENE_CHAMBER_OF_THE_SAGES, SDC_CHAMBER_OF_THE_SAGES, 0, 0)
/* 0x45 */ DEFINE_SCENE(hairal_niwa_scene, g_pn_12, SCENE_CASTLE_COURTYARD_GUARDS_DAY, SDC_CASTLE_COURTYARD_GUARDS, 0, 0)
/* 0x46 */ DEFINE_SCENE(hairal_niwa_n_scene, g_pn_12, SCENE_CASTLE_COURTYARD_GUARDS_NIGHT, SDC_CASTLE_COURTYARD_GUARDS, 0, 0)
/* 0x47 */ DEFINE_SCENE(hiral_demo_scene, none, SCENE_CUTSCENE_MAP, SDC_DEFAULT, 0, 0)
/* 0x48 */ DEFINE_SCENE(hakasitarelay_scene, g_pn_57, SCENE_WINDMILL_AND_DAMPES_GRAVE, SDC_GRAVE_EXIT_LIGHT_SHINING, 0, 0)
/* 0x49 */ DEFINE_SCENE(turibori_scene, g_pn_46, SCENE_FISHING_POND, SDC_FISHING_POND, 0, 0)
/* 0x4A */ DEFINE_SCENE(nakaniwa_scene, g_pn_12, SCENE_CASTLE_COURTYARD_ZELDA, SDC_CALM_WATER, 0, 0)
/* 0x4B */ DEFINE_SCENE(bowling_scene, g_pn_47, SCENE_BOMBCHU_BOWLING_ALLEY, SDC_BOMBCHU_BOWLING_ALLEY, 0, 0)
/* 0x4C */ DEFINE_SCENE(souko_scene, none, SCENE_LON_LON_BUILDINGS, SDC_LON_LON_BUILDINGS, 0, 0)
/* 0x4D */ DEFINE_SCENE(miharigoya_scene, none, SCENE_MARKET_GUARD_HOUSE, SDC_MARKET_GUARD_HOUSE, 0, 0)
/* 0x4E */ DEFINE_SCENE(mahouya_scene, g_pn_24, SCENE_POTION_SHOP_GRANNY, SDC_POTION_SHOP_GRANNY, 0, 0)
/* 0x4F */ DEFINE_SCENE(ganon_demo_scene, none, SCENE_GANON_BOSS, SDC_OUTSIDE_GANONS_CASTLE, 0, 0)
/* 0x50 */ DEFINE_SCENE(kinsuta_scene, g_pn_22, SCENE_HOUSE_OF_SKULLTULA, SDC_DEFAULT, 0, 0)
/* 0x51 */ DEFINE_SCENE(spot00_scene, g_pn_27, SCENE_HYRULE_FIELD, SDC_HYRULE_FIELD, 0, 0)
/* 0x52 */ DEFINE_SCENE(spot01_scene, g_pn_28, SCENE_KAKARIKO_VILLAGE, SDC_KAKARIKO_VILLAGE, 0, 0)
/* 0x53 */ DEFINE_SCENE(spot02_scene, g_pn_29, SCENE_GRAVEYARD, SDC_DEFAULT, 0, 0)
/* 0x54 */ DEFINE_SCENE(spot03_scene, g_pn_30, SCENE_ZORAS_RIVER, SDC_ZORAS_RIVER, 0, 0)
/* 0x55 */ DEFINE_SCENE(spot04_scene, g_pn_31, SCENE_KOKIRI_FOREST, SDC_KOKIRI_FOREST, 0, 0)
/* 0x56 */ DEFINE_SCENE(spot05_scene, g_pn_52, SCENE_SACRED_FOREST_MEADOW, SDC_CALM_WATER, 0, 0)
/* 0x57 */ DEFINE_SCENE(spot06_scene, g_pn_32, SCENE_LAKE_HYLIA, SDC_LAKE_HYLIA, 0, 0)
/* 0x58 */ DEFINE_SCENE(spot07_scene, g_pn_33, SCENE_ZORAS_DOMAIN, SDC_ZORAS_DOMAIN, 0, 0)
/* 0x59 */ DEFINE_SCENE(spot08_scene, g_pn_34, SCENE_ZORAS_FOUNTAIN, SDC_ZORAS_FOUNTAIN, 0, 0)
/* 0x5A */ DEFINE_SCENE(spot09_scene, g_pn_35, SCENE_GERUDO_VALLEY, SDC_GERUDO_VALLEY, 0, 0)
/* 0x5B */ DEFINE_SCENE(spot10_scene, g_pn_36, SCENE_LOST_WOODS, SDC_LOST_WOODS, 0, 0)
/* 0x5C */ DEFINE_SCENE(spot11_scene, g_pn_55, SCENE_DESERT_COLOSSUS, SDC_DESERT_COLOSSUS, 0, 0)
/* 0x5D */ DEFINE_SCENE(spot12_scene, g_pn_53, SCENE_GERUDOS_FORTRESS, SDC_GERUDOS_FORTRESS, 0, 0)
/* 0x5E */ DEFINE_SCENE(spot13_scene, g_pn_37, SCENE_HAUNTED_WASTELAND, SDC_HAUNTED_WASTELAND, 0, 0)
/* 0x5F */ DEFINE_SCENE(spot15_scene, g_pn_38, SCENE_HYRULE_CASTLE, SDC_HYRULE_CASTLE, 0, 0)
/* 0x60 */ DEFINE_SCENE(spot16_scene, g_pn_39, SCENE_DEATH_MOUNTAIN_TRAIL, SDC_DEATH_MOUNTAIN_TRAIL, 0, 0)
/* 0x61 */ DEFINE_SCENE(spot17_scene, g_pn_40, SCENE_DEATH_MOUNTAIN_CRATER, SDC_DEATH_MOUNTAIN_CRATER, 0, 0)
/* 0x62 */ DEFINE_SCENE(spot18_scene, g_pn_41, SCENE_GORON_CITY, SDC_GORON_CITY, 0, 0)
/* 0x63 */ DEFINE_SCENE(spot20_scene, g_pn_42, SCENE_LON_LON_RANCH, SDC_LON_LON_RANCH, 0, 0)
/* 0x64 */ DEFINE_SCENE(ganon_tou_scene, g_pn_43, SCENE_OUTSIDE_GANONS_CASTLE, SDC_OUTSIDE_GANONS_CASTLE, 0, 0)
// Debug-only scenes
/* 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)
@ -117,6 +117,6 @@
/* 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)
/* 0x6B */ DEFINE_SCENE(hairal_niwa2_scene, g_pn_12, SCENE_HAIRAL_NIWA2, SDC_CASTLE_COURTYARD_GUARDS, 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

@ -399,58 +399,58 @@ typedef enum {
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,
/* 1 */ SDC_HYRULE_FIELD,
/* 2 */ SDC_KAKARIKO_VILLAGE,
/* 3 */ SDC_ZORAS_RIVER,
/* 4 */ SDC_KOKIRI_FOREST,
/* 5 */ SDC_LAKE_HYLIA,
/* 6 */ SDC_ZORAS_DOMAIN,
/* 7 */ SDC_ZORAS_FOUNTAIN,
/* 8 */ SDC_GERUDO_VALLEY,
/* 9 */ SDC_LOST_WOODS,
/* 10 */ SDC_DESERT_COLOSSUS,
/* 11 */ SDC_GERUDOS_FORTRESS,
/* 12 */ SDC_HAUNTED_WASTELAND,
/* 13 */ SDC_HYRULE_CASTLE,
/* 14 */ SDC_DEATH_MOUNTAIN_TRAIL,
/* 15 */ SDC_DEATH_MOUNTAIN_CRATER,
/* 16 */ SDC_GORON_CITY,
/* 17 */ SDC_LON_LON_RANCH,
/* 18 */ SDC_FIRE_TEMPLE, // used for Fire Temple and its boss scene
/* 19 */ SDC_DEKU_TREE,
/* 20 */ SDC_DODONGOS_CAVERN,
/* 21 */ SDC_JABU_JABU, // used for Jabu-Jabu and its boss scene
/* 22 */ SDC_FOREST_TEMPLE,
/* 23 */ SDC_WATER_TEMPLE,
/* 24 */ SDC_SHADOW_TEMPLE, // used for Bottom Of The Well, Shadow Temple and its boss scene
/* 25 */ SDC_SPIRIT_TEMPLE,
/* 26 */ SDC_INSIDE_GANONS_CASTLE,
/* 27 */ SDC_GERUDO_TRAINING_GROUND,
/* 28 */ SDC_DEKU_TREE_BOSS,
/* 29 */ SDC_WATER_TEMPLE_BOSS,
/* 30 */ SDC_TEMPLE_OF_TIME,
/* 31 */ SDC_GROTTOS,
/* 32 */ SDC_CHAMBER_OF_THE_SAGES,
/* 33 */ SDC_GREAT_FAIRYS_FOUNTAIN, // used for both Great Fairy Fountains scenes
/* 34 */ SDC_SHOOTING_GALLERY,
/* 35 */ SDC_CASTLE_COURTYARD_GUARDS, // used for Castle Courtyard (with the hedges) (day, night and debug scenes)
/* 36 */ SDC_OUTSIDE_GANONS_CASTLE, // used for two scenes
/* 37 */ SDC_ICE_CAVERN,
/* 38 */ SDC_GANONS_TOWER_COLLAPSE_EXTERIOR,
/* 39 */ SDC_FAIRYS_FOUNTAIN, // used for both Fairy Fountains scenes
/* 40 */ SDC_THIEVES_HIDEOUT,
/* 41 */ SDC_BOMBCHU_BOWLING_ALLEY,
/* 42 */ SDC_ROYAL_FAMILYS_TOMB,
/* 43 */ SDC_LAKESIDE_LABORATORY,
/* 44 */ SDC_LON_LON_BUILDINGS,
/* 45 */ SDC_MARKET_GUARD_HOUSE,
/* 46 */ SDC_POTION_SHOP_GRANNY,
/* 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,
/* 50 */ SDC_FISHING_POND,
/* 51 */ SDC_GANONS_TOWER_COLLAPSE_INTERIOR,
/* 52 */ SDC_INSIDE_GANONS_CASTLE_COLLAPSE,
/* 53 */ SDC_MAX
} SceneDrawConfig;

View file

@ -3341,69 +3341,69 @@ void Actor_SetTextWithPrefix(PlayState* play, Actor* actor, s16 baseTextId) {
s16 prefix;
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_YDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_KOKIRI_HOME:
case SCENE_KOKIRI_HOME3:
case SCENE_KOKIRI_HOME4:
case SCENE_KOKIRI_HOME5:
case SCENE_DEKU_TREE:
case SCENE_DEKU_TREE_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_KNOW_IT_ALL_BROS_HOUSE:
case SCENE_TWINS_HOUSE:
case SCENE_MIDOS_HOUSE:
case SCENE_SARIAS_HOUSE:
case SCENE_KOKIRI_SHOP:
case SCENE_LINK_HOME:
case SCENE_SPOT04:
case SCENE_SPOT05:
case SCENE_SPOT10:
case SCENE_LINKS_HOUSE:
case SCENE_KOKIRI_FOREST:
case SCENE_SACRED_FOREST_MEADOW:
case SCENE_LOST_WOODS:
case 112:
prefix = 0x1000;
break;
case SCENE_MALON_STABLE:
case SCENE_SPOT00:
case SCENE_SPOT20:
case SCENE_STABLE:
case SCENE_HYRULE_FIELD:
case SCENE_LON_LON_RANCH:
prefix = 0x2000;
break;
case SCENE_HIDAN:
case SCENE_DDAN_BOSS:
case SCENE_FIRE_BS:
case SCENE_SPOT16:
case SCENE_SPOT17:
case SCENE_SPOT18:
case SCENE_FIRE_TEMPLE:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_GORON_CITY:
prefix = 0x3000;
break;
case SCENE_BDAN:
case SCENE_BDAN_BOSS:
case SCENE_SPOT03:
case SCENE_SPOT07:
case SCENE_SPOT08:
case SCENE_JABU_JABU:
case SCENE_JABU_JABU_BOSS:
case SCENE_ZORAS_RIVER:
case SCENE_ZORAS_DOMAIN:
case SCENE_ZORAS_FOUNTAIN:
prefix = 0x4000;
break;
case SCENE_HAKADAN:
case SCENE_HAKADAN_BS:
case SCENE_KAKARIKO:
case SCENE_KAKARIKO3:
case SCENE_IMPA:
case SCENE_HUT:
case SCENE_HAKAANA:
case SCENE_HAKASITARELAY:
case SCENE_SPOT01:
case SCENE_SPOT02:
case SCENE_SHADOW_TEMPLE:
case SCENE_SHADOW_TEMPLE_BOSS:
case SCENE_KAKARIKO_CENTER_GUEST_HOUSE:
case SCENE_BACK_ALLEY_HOUSE:
case SCENE_DOG_LADY_HOUSE:
case SCENE_GRAVEKEEPERS_HUT:
case SCENE_REDEAD_GRAVE:
case SCENE_WINDMILL_AND_DAMPES_GRAVE:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_GRAVEYARD:
prefix = 0x5000;
break;
case SCENE_JYASINZOU:
case SCENE_JYASINBOSS:
case SCENE_LABO:
case SCENE_TENT:
case SCENE_SPOT06:
case SCENE_SPOT09:
case SCENE_SPOT11:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_IMPAS_HOUSE:
case SCENE_CARPENTERS_TENT:
case SCENE_LAKE_HYLIA:
case SCENE_GERUDO_VALLEY:
case SCENE_DESERT_COLOSSUS:
prefix = 0x6000;
break;
case SCENE_ENTRA:
case SCENE_MARKET_ALLEY:
case SCENE_MARKET_ALLEY_N:
case SCENE_MARKET_ENTRANCE_DAY:
case SCENE_BACK_ALLEY_DAY:
case SCENE_BACK_ALLEY_NIGHT:
case SCENE_MARKET_DAY:
case SCENE_MARKET_NIGHT:
case SCENE_MARKET_RUINS:
case SCENE_SPOT15:
case SCENE_HYRULE_CASTLE:
prefix = 0x7000;
break;
default:
@ -4627,7 +4627,7 @@ u32 func_80035BFC(PlayState* play, s16 arg1) {
}
break;
case 16:
if (play->sceneId == SCENE_SPOT15) {
if (play->sceneId == SCENE_HYRULE_CASTLE) {
retTextId = 0x7002;
} else if (Flags_GetInfTable(INFTABLE_6A)) {
retTextId = 0x7004;
@ -5673,7 +5673,8 @@ s32 Actor_TrackPlayerSetFocusHeight(PlayState* play, Actor* actor, Vec3s* headRo
actor->focus.pos = actor->world.pos;
actor->focus.pos.y += focusHeight;
if (!(((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) && (gSaveContext.entranceIndex == ENTR_SPOT04_0))) {
if (!(((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) &&
(gSaveContext.entranceIndex == ENTR_KOKIRI_FOREST_0))) {
yaw = ABS((s16)(actor->yawTowardsPlayer - actor->shape.rot.y));
if (yaw >= 0x4300) {
Actor_TrackNone(headRot, torsoRot);
@ -5681,7 +5682,8 @@ s32 Actor_TrackPlayerSetFocusHeight(PlayState* play, Actor* actor, Vec3s* headRo
}
}
if (((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) && (gSaveContext.entranceIndex == ENTR_SPOT04_0)) {
if (((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) &&
(gSaveContext.entranceIndex == ENTR_KOKIRI_FOREST_0)) {
target = play->view.eye;
} else {
target = player->actor.focus.pos;
@ -5715,7 +5717,8 @@ s32 Actor_TrackPlayer(PlayState* play, Actor* actor, Vec3s* headRot, Vec3s* tors
actor->focus.pos = focusPos;
if (!(((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) && (gSaveContext.entranceIndex == ENTR_SPOT04_0))) {
if (!(((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) &&
(gSaveContext.entranceIndex == ENTR_KOKIRI_FOREST_0))) {
yaw = ABS((s16)(actor->yawTowardsPlayer - actor->shape.rot.y));
if (yaw >= 0x4300) {
Actor_TrackNone(headRot, torsoRot);
@ -5723,7 +5726,8 @@ s32 Actor_TrackPlayer(PlayState* play, Actor* actor, Vec3s* headRot, Vec3s* tors
}
}
if (((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) && (gSaveContext.entranceIndex == ENTR_SPOT04_0)) {
if (((play->csCtx.state != CS_STATE_IDLE) || gDbgCamEnabled) &&
(gSaveContext.entranceIndex == ENTR_KOKIRI_FOREST_0)) {
target = play->view.eye;
} else {
target = player->actor.focus.pos;

View file

@ -1476,9 +1476,11 @@ u32 BgCheck_InitializeStaticLookup(CollisionContext* colCtx, PlayState* play, St
*/
s32 BgCheck_IsSpotScene(PlayState* play) {
static s16 spotScenes[] = {
SCENE_SPOT00, SCENE_SPOT01, SCENE_SPOT02, SCENE_SPOT03, SCENE_SPOT04, SCENE_SPOT05, SCENE_SPOT06,
SCENE_SPOT07, SCENE_SPOT08, SCENE_SPOT09, SCENE_SPOT10, SCENE_SPOT11, SCENE_SPOT12, SCENE_SPOT13,
SCENE_SPOT15, SCENE_SPOT16, SCENE_SPOT17, SCENE_SPOT18, SCENE_SPOT20,
SCENE_HYRULE_FIELD, SCENE_KAKARIKO_VILLAGE, SCENE_GRAVEYARD, SCENE_ZORAS_RIVER,
SCENE_KOKIRI_FOREST, SCENE_SACRED_FOREST_MEADOW, SCENE_LAKE_HYLIA, SCENE_ZORAS_DOMAIN,
SCENE_ZORAS_FOUNTAIN, SCENE_GERUDO_VALLEY, SCENE_LOST_WOODS, SCENE_DESERT_COLOSSUS,
SCENE_GERUDOS_FORTRESS, SCENE_HAUNTED_WASTELAND, SCENE_HYRULE_CASTLE, SCENE_DEATH_MOUNTAIN_TRAIL,
SCENE_DEATH_MOUNTAIN_CRATER, SCENE_GORON_CITY, SCENE_LON_LON_RANCH,
};
s16* i;
@ -1500,9 +1502,10 @@ typedef struct {
*/
s32 BgCheck_TryGetCustomMemsize(s32 sceneId, u32* memSize) {
static BgCheckSceneMemEntry sceneMemList[] = {
{ SCENE_SPOT00, 0xB798 }, { SCENE_GANON_FINAL, 0x78C8 }, { SCENE_GANON_DEMO, 0x70C8 },
{ SCENE_JYASINBOSS, 0xACC8 }, { SCENE_KENJYANOMA, 0x70C8 }, { SCENE_JYASINZOU, 0x16CC8 },
{ SCENE_HIDAN, 0x198C8 }, { SCENE_GANON_BOSS, 0x84C8 },
{ SCENE_HYRULE_FIELD, 0xB798 }, { SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR, 0x78C8 },
{ SCENE_GANON_BOSS, 0x70C8 }, { SCENE_SPIRIT_TEMPLE_BOSS, 0xACC8 },
{ SCENE_CHAMBER_OF_THE_SAGES, 0x70C8 }, { SCENE_SPIRIT_TEMPLE, 0x16CC8 },
{ SCENE_FIRE_TEMPLE, 0x198C8 }, { SCENE_GANONDORF_BOSS, 0x84C8 },
};
s32 i;
@ -1539,8 +1542,8 @@ typedef struct {
*/
void BgCheck_Allocate(CollisionContext* colCtx, PlayState* play, CollisionHeader* colHeader) {
static BgCheckSceneSubdivisionEntry sceneSubdivisionList[] = {
{ SCENE_HAKADAN, { 23, 7, 14 }, -1 },
{ SCENE_BMORI1, { 38, 1, 38 }, -1 },
{ SCENE_SHADOW_TEMPLE, { 23, 7, 14 }, -1 },
{ SCENE_FOREST_TEMPLE, { 38, 1, 38 }, -1 },
};
u32 tblMax;
u32 memSize;
@ -1560,7 +1563,7 @@ void BgCheck_Allocate(CollisionContext* colCtx, PlayState* play, CollisionHeader
if ((R_SCENE_CAM_TYPE == SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT) ||
(R_SCENE_CAM_TYPE == SCENE_CAM_TYPE_FIXED_TOGGLE_VIEWPOINT) || (R_SCENE_CAM_TYPE == SCENE_CAM_TYPE_FIXED) ||
(R_SCENE_CAM_TYPE == SCENE_CAM_TYPE_FIXED_MARKET)) {
if (play->sceneId == SCENE_MALON_STABLE) {
if (play->sceneId == SCENE_STABLE) {
// "/* BGCheck LonLon Size %dbyte */\n"
osSyncPrintf("/* BGCheck LonLonサイズ %dbyte */\n", 0x3520);
colCtx->memSize = 0x3520;
@ -4221,7 +4224,7 @@ f32 sZorasDomainWaterBoxMaxZ = -967.0f;
*/
s32 WaterBox_GetSurface1(PlayState* play, CollisionContext* colCtx, f32 x, f32 z, f32* ySurface,
WaterBox** outWaterBox) {
if (play->sceneId == SCENE_SPOT07) {
if (play->sceneId == SCENE_ZORAS_DOMAIN) {
if (sZorasDomainWaterBoxMinX < x && x < sZorasDomainWaterBoxMaxX && sZorasDomainWaterBoxMinY < *ySurface &&
*ySurface < sZorasDomainWaterBoxMaxY && sZorasDomainWaterBoxMinZ < z && z < sZorasDomainWaterBoxMaxZ) {
*outWaterBox = &sZorasDomainWaterBox;

View file

@ -6646,7 +6646,7 @@ s32 Camera_Special7(Camera* camera) {
yOffset = Player_GetHeight(camera->player);
if (camera->animState == 0) {
if (camera->play->sceneId == SCENE_JYASINZOU) {
if (camera->play->sceneId == SCENE_SPIRIT_TEMPLE) {
// Spirit Temple
rwData->index = 3;
} else if (playerPosRot->pos.x < 1500.0f) {
@ -7351,7 +7351,7 @@ s32 Camera_UpdateWater(Camera* camera) {
if (camera->waterDistortionTimer > 0) {
camera->waterDistortionTimer--;
camera->distortionFlags |= DISTORTION_UNDERWATER_STRONG;
} else if (camera->play->sceneId == SCENE_TURIBORI) {
} else if (camera->play->sceneId == SCENE_FISHING_POND) {
camera->distortionFlags |= DISTORTION_UNDERWATER_FISHING;
} else {
camera->distortionFlags |= DISTORTION_UNDERWATER_WEAK;
@ -7708,7 +7708,7 @@ Vec3s Camera_Update(Camera* camera) {
Camera_UpdateDistortion(camera);
if ((camera->play->sceneId == SCENE_SPOT00) && (camera->fov < 59.0f)) {
if ((camera->play->sceneId == SCENE_HYRULE_FIELD) && (camera->fov < 59.0f)) {
View_SetScale(&camera->play->view, 0.79f);
} else {
View_SetScale(&camera->play->view, 1.0f);
@ -7952,7 +7952,7 @@ s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
}
}
if (((setting == CAM_SET_MEADOW_BIRDS_EYE) || (setting == CAM_SET_MEADOW_UNUSED)) && LINK_IS_ADULT &&
(camera->play->sceneId == SCENE_SPOT05)) {
(camera->play->sceneId == SCENE_SACRED_FOREST_MEADOW)) {
camera->unk_14A |= 0x10;
return -5;
}

View file

@ -53,40 +53,40 @@ CutsceneStateHandler sCsStateHandlers2[] = {
u8 sTitleCsState = 0;
EntranceCutscene sEntranceCutsceneTable[] = {
{ ENTR_SPOT00_3, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs },
{ ENTR_SPOT16_0, 2, EVENTCHKINF_A1, gDMTIntroCs },
{ ENTR_SPOT01_0, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs },
{ ENTR_SPOT07_0, 2, EVENTCHKINF_A4, gZorasDomainIntroCs },
{ ENTR_SPOT15_0, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs },
{ ENTR_SPOT18_0, 2, EVENTCHKINF_A6, gGoronCityIntroCs },
{ ENTR_TOKINOMA_0, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs },
{ ENTR_YDAN_0, 2, EVENTCHKINF_A8, gDekuTreeIntroCs },
{ ENTR_SPOT00_11, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldSouthEponaJumpCs },
{ ENTR_SPOT00_13, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldEastEponaJumpCs },
{ ENTR_SPOT00_12, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldWestEponaJumpCs },
{ ENTR_SPOT00_15, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldGateEponaJumpCs },
{ ENTR_SPOT00_16, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs },
{ ENTR_SPOT06_0, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs },
{ ENTR_SPOT09_0, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs },
{ ENTR_SPOT12_0, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs },
{ ENTR_SPOT20_0, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs },
{ ENTR_BDAN_0, 2, EVENTCHKINF_B5, gJabuJabuIntroCs },
{ ENTR_SPOT02_0, 2, EVENTCHKINF_B6, gGraveyardIntroCs },
{ ENTR_SPOT08_2, 2, EVENTCHKINF_B7, gZorasFountainIntroCs },
{ ENTR_SPOT11_0, 2, EVENTCHKINF_B8, gDesertColossusIntroCs },
{ ENTR_SPOT17_0, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
{ ENTR_SPOT15_0, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs },
{ ENTR_HAKAANA_OUKE_1, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs },
{ ENTR_GANONTIKA_2, 2, EVENTCHKINF_BB, gForestBarrierCs },
{ ENTR_GANONTIKA_3, 2, EVENTCHKINF_BC, gWaterBarrierCs },
{ ENTR_GANONTIKA_4, 2, EVENTCHKINF_BD, gShadowBarrierCs },
{ ENTR_GANONTIKA_5, 2, EVENTCHKINF_BE, gFireBarrierCs },
{ ENTR_GANONTIKA_6, 2, EVENTCHKINF_BF, gLightBarrierCs },
{ ENTR_GANONTIKA_7, 2, EVENTCHKINF_AD, gSpiritBarrierCs },
{ ENTR_JYASINBOSS_0, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs },
{ ENTR_SPOT12_17, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs },
{ ENTR_SPOT17_1, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
{ ENTR_SPOT04_12, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
{ ENTR_HYRULE_FIELD_3, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs },
{ ENTR_DEATH_MOUNTAIN_TRAIL_0, 2, EVENTCHKINF_A1, gDMTIntroCs },
{ ENTR_KAKARIKO_VILLAGE_0, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs },
{ ENTR_ZORAS_DOMAIN_0, 2, EVENTCHKINF_A4, gZorasDomainIntroCs },
{ ENTR_HYRULE_CASTLE_0, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs },
{ ENTR_GORON_CITY_0, 2, EVENTCHKINF_A6, gGoronCityIntroCs },
{ ENTR_TEMPLE_OF_TIME_0, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs },
{ ENTR_DEKU_TREE_0, 2, EVENTCHKINF_A8, gDekuTreeIntroCs },
{ ENTR_HYRULE_FIELD_11, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldSouthEponaJumpCs },
{ ENTR_HYRULE_FIELD_13, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldEastEponaJumpCs },
{ ENTR_HYRULE_FIELD_12, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldWestEponaJumpCs },
{ ENTR_HYRULE_FIELD_15, 0, EVENTCHKINF_EPONA_OBTAINED, gHyruleFieldGateEponaJumpCs },
{ ENTR_HYRULE_FIELD_16, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs },
{ ENTR_LAKE_HYLIA_0, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs },
{ ENTR_GERUDO_VALLEY_0, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs },
{ ENTR_GERUDOS_FORTRESS_0, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs },
{ ENTR_LON_LON_RANCH_0, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs },
{ ENTR_JABU_JABU_0, 2, EVENTCHKINF_B5, gJabuJabuIntroCs },
{ ENTR_GRAVEYARD_0, 2, EVENTCHKINF_B6, gGraveyardIntroCs },
{ ENTR_ZORAS_FOUNTAIN_2, 2, EVENTCHKINF_B7, gZorasFountainIntroCs },
{ ENTR_DESERT_COLOSSUS_0, 2, EVENTCHKINF_B8, gDesertColossusIntroCs },
{ ENTR_DEATH_MOUNTAIN_CRATER_0, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
{ ENTR_HYRULE_CASTLE_0, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs },
{ ENTR_ROYAL_FAMILYS_TOMB_1, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs },
{ ENTR_INSIDE_GANONS_CASTLE_2, 2, EVENTCHKINF_BB, gForestBarrierCs },
{ ENTR_INSIDE_GANONS_CASTLE_3, 2, EVENTCHKINF_BC, gWaterBarrierCs },
{ ENTR_INSIDE_GANONS_CASTLE_4, 2, EVENTCHKINF_BD, gShadowBarrierCs },
{ ENTR_INSIDE_GANONS_CASTLE_5, 2, EVENTCHKINF_BE, gFireBarrierCs },
{ ENTR_INSIDE_GANONS_CASTLE_6, 2, EVENTCHKINF_BF, gLightBarrierCs },
{ ENTR_INSIDE_GANONS_CASTLE_7, 2, EVENTCHKINF_AD, gSpiritBarrierCs },
{ ENTR_SPIRIT_TEMPLE_BOSS_0, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs },
{ ENTR_GERUDOS_FORTRESS_17, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs },
{ ENTR_DEATH_MOUNTAIN_CRATER_1, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs },
{ ENTR_KOKIRI_FOREST_12, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs },
};
// Unused, seems to be an early list of dungeon entrance cutscene locations
@ -242,7 +242,7 @@ void func_80064824(PlayState* play, CutsceneContext* csCtx, CsCmdBase* cmd) {
case 3:
if (sp3F != 0) {
Flags_SetEnv(play, 0);
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) {
Flags_SetEnv(play, 2);
}
}
@ -490,7 +490,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
s32 temp = 0;
if ((gSaveContext.gameMode != GAMEMODE_NORMAL) && (gSaveContext.gameMode != GAMEMODE_END_CREDITS) &&
(play->sceneId != SCENE_SPOT00) && (csCtx->frames > 20) &&
(play->sceneId != SCENE_HYRULE_FIELD) && (csCtx->frames > 20) &&
(CHECK_BTN_ALL(play->state.input[0].press.button, BTN_A) ||
CHECK_BTN_ALL(play->state.input[0].press.button, BTN_B) ||
CHECK_BTN_ALL(play->state.input[0].press.button, BTN_START)) &&
@ -517,43 +517,43 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
switch (cmd->base) {
case 1:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 2:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FILL_WHITE;
break;
case 3:
play->nextEntranceIndex = ENTR_SPOT09_0;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FILL_WHITE;
break;
case 4:
play->nextEntranceIndex = ENTR_SPOT16_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FILL_WHITE;
break;
case 5:
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FILL_WHITE;
break;
case 6:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FILL_WHITE;
break;
case 7:
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_INSTANT;
@ -563,7 +563,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0;
if (!GET_EVENTCHKINF(EVENTCHKINF_45)) {
SET_EVENTCHKINF(EVENTCHKINF_45);
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionType = TRANS_TYPE_INSTANT;
@ -575,253 +575,253 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
play->linkAgeOnLoad = LINK_AGE_CHILD;
}
}
play->nextEntranceIndex = ENTR_TOKINOMA_2;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
}
break;
case 9:
play->nextEntranceIndex = ENTR_SPOT09_0;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FILL_BROWN;
break;
case 10:
play->nextEntranceIndex = ENTR_LINK_HOME_0;
play->nextEntranceIndex = ENTR_LINKS_HOUSE_0;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 11:
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 12:
play->nextEntranceIndex = ENTR_SPOT16_5;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_5;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 13:
play->nextEntranceIndex = ENTR_SPOT08_0;
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
break;
case 14:
play->nextEntranceIndex = ENTR_SPOT04_11;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_11;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 15:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF4;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 16:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF5;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 17:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF6;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 18:
SET_EVENTCHKINF(EVENTCHKINF_4F);
play->nextEntranceIndex = ENTR_TOKINOMA_4;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_4;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
break;
case 19:
play->nextEntranceIndex = ENTR_SPOT16_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
gSaveContext.cutsceneIndex = 0x8000;
break;
case 21:
play->nextEntranceIndex = ENTR_SPOT06_0;
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 22:
Item_Give(play, ITEM_SONG_REQUIEM);
play->nextEntranceIndex = ENTR_SPOT11_0;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 23:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF8;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 24:
play->nextEntranceIndex = ENTR_BDAN_0;
play->nextEntranceIndex = ENTR_JABU_JABU_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 25:
play->linkAgeOnLoad = LINK_AGE_ADULT;
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 26:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF4;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 27:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF5;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 28:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF6;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 29:
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.chamberCutsceneNum = 0;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 30:
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
Item_Give(play, ITEM_MEDALLION_FIRE);
gSaveContext.chamberCutsceneNum = 1;
break;
case 31:
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.chamberCutsceneNum = 2;
break;
case 32:
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionType = TRANS_TYPE_INSTANT;
break;
case 33:
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 34:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 35:
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 38:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF4;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 39:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF9;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 40:
play->linkAgeOnLoad = LINK_AGE_ADULT;
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFFA;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 41:
play->nextEntranceIndex = ENTR_SPOT06_5;
play->nextEntranceIndex = ENTR_LAKE_HYLIA_5;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 42:
play->nextEntranceIndex = ENTR_SPOT01_0;
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 43:
play->nextEntranceIndex = ENTR_HAKASITARELAY_2;
play->nextEntranceIndex = ENTR_WINDMILL_AND_DAMPES_GRAVE_2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 44:
play->nextEntranceIndex = ENTR_TOKINOMA_3;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_3;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
break;
case 46:
SET_EVENTCHKINF(EVENTCHKINF_4F);
play->nextEntranceIndex = ENTR_TOKINOMA_4;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_4;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 47:
Item_Give(play, ITEM_SONG_NOCTURNE);
SET_EVENTCHKINF(EVENTCHKINF_54);
play->nextEntranceIndex = ENTR_SPOT01_0;
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 48:
play->nextEntranceIndex = ENTR_SPOT11_4;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_4;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_SANDSTORM_END;
gSaveContext.nextTransitionType = TRANS_TYPE_SANDSTORM_END;
break;
case 49:
play->nextEntranceIndex = ENTR_TOKINOMA_5;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_5;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
break;
case 50:
play->nextEntranceIndex = ENTR_SPOT01_13;
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_13;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT;
break;
case 51:
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
gSaveContext.cutsceneIndex = 0xFFF8;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_WHITE, TCS_SLOW);
break;
case 52:
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
gSaveContext.cutsceneIndex = 0xFFF7;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_INSTANT;
break;
case 53:
play->nextEntranceIndex = ENTR_SPOT00_16;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_16;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
@ -829,102 +829,102 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
gSaveContext.gameMode = GAMEMODE_END_CREDITS;
Audio_SetSfxBanksMute(0x6F);
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_SPOT09_0;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 55:
play->nextEntranceIndex = ENTR_SPOT12_0;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_0;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 56:
play->nextEntranceIndex = ENTR_SPOT01_0;
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
gSaveContext.cutsceneIndex = 0xFFF4;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 57:
play->nextEntranceIndex = ENTR_SPOT16_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 58:
play->nextEntranceIndex = ENTR_SPOT18_0;
play->nextEntranceIndex = ENTR_GORON_CITY_0;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 59:
play->nextEntranceIndex = ENTR_SPOT06_0;
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 60:
play->nextEntranceIndex = ENTR_SPOT08_0;
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 61:
play->nextEntranceIndex = ENTR_SPOT07_0;
play->nextEntranceIndex = ENTR_ZORAS_DOMAIN_0;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 62:
play->linkAgeOnLoad = LINK_AGE_ADULT;
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.cutsceneIndex = 0xFFF6;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 63:
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.cutsceneIndex = 0xFFF7;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 64:
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
gSaveContext.cutsceneIndex = 0xFFF5;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 65:
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 66:
play->nextEntranceIndex = ENTR_SPOT01_14;
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_14;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 67:
play->nextEntranceIndex = ENTR_SPOT00_9;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_9;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 68:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF5;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 69:
play->nextEntranceIndex = ENTR_SPOT04_12;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_12;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 70:
play->nextEntranceIndex = ENTR_SPOT16_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF4;
play->transitionType = TRANS_TYPE_FADE_BLACK;
@ -936,13 +936,13 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
gSaveContext.equips.equipment |= EQUIP_VALUE_BOOTS_KOKIRI << (EQUIP_TYPE_BOOTS * 4);
Player_SetEquipmentData(play, player);
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 72:
play->nextEntranceIndex = ENTR_NAKANIWA_0;
play->nextEntranceIndex = ENTR_CASTLE_COURTYARD_ZELDA_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_FADE_BLACK;
@ -950,13 +950,13 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
break;
case 73:
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 74:
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionType = TRANS_TYPE_FADE_WHITE;
@ -964,27 +964,27 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
break;
case 75:
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF4;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 76:
play->linkAgeOnLoad = LINK_AGE_ADULT;
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF5;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 77:
play->linkAgeOnLoad = LINK_AGE_CHILD;
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF6;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 78:
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF7;
play->transitionType = TRANS_TYPE_FADE_BLACK;
@ -1004,36 +1004,36 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
case 91:
case 92:
case 93:
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 94:
play->nextEntranceIndex = ENTR_SPOT20_1;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 95:
if (GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
GET_EVENTCHKINF(EVENTCHKINF_4A)) {
play->nextEntranceIndex = ENTR_TOKINOMA_0;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionType = TRANS_TYPE_FADE_BLACK;
} else {
switch (gSaveContext.sceneLayer) {
case 8:
play->nextEntranceIndex = ENTR_SPOT05_0;
play->nextEntranceIndex = ENTR_SACRED_FOREST_MEADOW_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 9:
play->nextEntranceIndex = ENTR_SPOT17_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 10:
play->nextEntranceIndex = ENTR_SPOT06_0;
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_FADE_WHITE;
@ -1043,13 +1043,13 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
break;
case 96:
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
} else {
SET_EVENTCHKINF(EVENTCHKINF_C8);
play->nextEntranceIndex = ENTR_SPOT11_8;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_8;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
@ -1057,48 +1057,48 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
break;
case 97:
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
} else {
play->nextEntranceIndex = ENTR_SPOT02_8;
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
}
break;
case 98:
play->nextEntranceIndex = ENTR_SPOT17_5;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_5;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
break;
case 99:
play->nextEntranceIndex = ENTR_SPOT05_3;
play->nextEntranceIndex = ENTR_SACRED_FOREST_MEADOW_3;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
break;
case 100:
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.cutsceneIndex = 0xFFF8;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
break;
case 101:
play->nextEntranceIndex = ENTR_SPOT11_6;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_6;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_SANDSTORM_END;
break;
case 102:
play->nextEntranceIndex = ENTR_TOKINOMA_6;
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_6;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 103:
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF3;
play->transitionType = TRANS_TYPE_FADE_BLACK;
@ -1106,21 +1106,21 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
case 104:
switch (sTitleCsState) {
case 0:
play->nextEntranceIndex = ENTR_JYASINBOSS_0;
play->nextEntranceIndex = ENTR_SPIRIT_TEMPLE_BOSS_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF2;
play->transitionType = TRANS_TYPE_FADE_BLACK;
sTitleCsState++;
break;
case 1:
play->nextEntranceIndex = ENTR_SPOT17_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_FADE_BLACK;
sTitleCsState++;
break;
case 2:
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF6;
play->transitionType = TRANS_TYPE_FADE_BLACK;
@ -1129,43 +1129,43 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
}
break;
case 105:
play->nextEntranceIndex = ENTR_SPOT02_0;
play->nextEntranceIndex = ENTR_GRAVEYARD_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.cutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 106:
play->nextEntranceIndex = ENTR_HAKAANA_OUKE_1;
play->nextEntranceIndex = ENTR_ROYAL_FAMILYS_TOMB_1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 107:
play->nextEntranceIndex = ENTR_GANONTIKA_2;
play->nextEntranceIndex = ENTR_INSIDE_GANONS_CASTLE_2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 108:
play->nextEntranceIndex = ENTR_GANONTIKA_3;
play->nextEntranceIndex = ENTR_INSIDE_GANONS_CASTLE_3;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 109:
play->nextEntranceIndex = ENTR_GANONTIKA_4;
play->nextEntranceIndex = ENTR_INSIDE_GANONS_CASTLE_4;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 110:
play->nextEntranceIndex = ENTR_GANONTIKA_5;
play->nextEntranceIndex = ENTR_INSIDE_GANONS_CASTLE_5;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 111:
play->nextEntranceIndex = ENTR_GANONTIKA_6;
play->nextEntranceIndex = ENTR_INSIDE_GANONS_CASTLE_6;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 112:
play->nextEntranceIndex = ENTR_GANONTIKA_7;
play->nextEntranceIndex = ENTR_INSIDE_GANONS_CASTLE_7;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
@ -1184,23 +1184,23 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
}
break;
case 114:
play->nextEntranceIndex = ENTR_SPOT00_3;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_3;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
break;
case 115:
play->nextEntranceIndex = ENTR_SPOT00_17;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_17;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
break;
case 116:
if (GET_EVENTCHKINF(EVENTCHKINF_C8)) {
play->nextEntranceIndex = ENTR_SPOT02_8;
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
} else {
play->nextEntranceIndex = ENTR_SPOT11_8;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_8;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
}
@ -1210,13 +1210,13 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
gSaveContext.gameMode = GAMEMODE_END_CREDITS;
Audio_SetSfxBanksMute(0x6F);
play->linkAgeOnLoad = LINK_AGE_ADULT;
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
gSaveContext.cutsceneIndex = 0xFFF7;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
case 118:
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = ENTR_GANON_DEMO_0;
gSaveContext.respawn[RESPAWN_MODE_DOWN].entranceIndex = ENTR_GANON_BOSS_0;
Play_TriggerVoidOut(play);
gSaveContext.respawnFlag = -2;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
@ -1224,7 +1224,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
case 119:
gSaveContext.dayTime = CLOCK_TIME(12, 0);
gSaveContext.skyboxTime = CLOCK_TIME(12, 0);
play->nextEntranceIndex = ENTR_NAKANIWA_1;
play->nextEntranceIndex = ENTR_CASTLE_COURTYARD_ZELDA_1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;
break;
@ -1248,15 +1248,16 @@ void Cutscene_Command_TransitionFX(PlayState* play, CutsceneContext* csCtx, CsCm
play->envCtx.screenFillColor[2] = 160;
if (cmd->base == 1) {
play->envCtx.screenFillColor[3] = 255.0f * temp;
if ((temp == 0.0f) && (gSaveContext.entranceIndex == ENTR_KENJYANOMA_0)) {
if ((temp == 0.0f) && (gSaveContext.entranceIndex == ENTR_CHAMBER_OF_THE_SAGES_0)) {
Audio_PlaySfxGeneral(NA_SE_SY_WHITE_OUT_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
} else if ((temp == 0.0f) && ((gSaveContext.entranceIndex == ENTR_TOKINOMA_0) ||
(gSaveContext.entranceIndex == ENTR_SPOT15_0) ||
(gSaveContext.entranceIndex == ENTR_YOUSEI_IZUMI_YOKO_0))) {
} else if ((temp == 0.0f) &&
((gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) ||
(gSaveContext.entranceIndex == ENTR_HYRULE_CASTLE_0) ||
(gSaveContext.entranceIndex == ENTR_GREAT_FAIRYS_FOUNTAIN_SPELLS_0))) {
Audio_PlaySfxGeneral(NA_SE_EV_WHITE_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
} else if ((temp == 0.0f) && (play->sceneId == SCENE_GANONTIKA)) {
} else if ((temp == 0.0f) && (play->sceneId == SCENE_INSIDE_GANONS_CASTLE)) {
func_800788CC(NA_SE_EV_WHITE_OUT);
}
} else {
@ -2078,30 +2079,30 @@ void Cutscene_HandleConditionalTriggers(PlayState* play) {
if ((gSaveContext.gameMode == GAMEMODE_NORMAL) && (gSaveContext.respawnFlag <= 0) &&
(gSaveContext.cutsceneIndex < 0xFFF0)) {
if ((gSaveContext.entranceIndex == ENTR_SPOT11_1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) {
if ((gSaveContext.entranceIndex == ENTR_DESERT_COLOSSUS_1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) {
Flags_SetEventChkInf(EVENTCHKINF_AC);
gSaveContext.entranceIndex = ENTR_SPOT11_0;
gSaveContext.entranceIndex = ENTR_DESERT_COLOSSUS_0;
gSaveContext.cutsceneIndex = 0xFFF0;
} else if ((gSaveContext.entranceIndex == ENTR_SPOT01_0) && LINK_IS_ADULT && GET_EVENTCHKINF(EVENTCHKINF_48) &&
GET_EVENTCHKINF(EVENTCHKINF_49) && GET_EVENTCHKINF(EVENTCHKINF_4A) &&
!Flags_GetEventChkInf(EVENTCHKINF_AA)) {
} else if ((gSaveContext.entranceIndex == ENTR_KAKARIKO_VILLAGE_0) && LINK_IS_ADULT &&
GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
GET_EVENTCHKINF(EVENTCHKINF_4A) && !Flags_GetEventChkInf(EVENTCHKINF_AA)) {
Flags_SetEventChkInf(EVENTCHKINF_AA);
gSaveContext.cutsceneIndex = 0xFFF0;
} else if ((gSaveContext.entranceIndex == ENTR_SPOT10_9) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) {
} else if ((gSaveContext.entranceIndex == ENTR_LOST_WOODS_9) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) {
Flags_SetEventChkInf(EVENTCHKINF_C1);
Item_Give(play, ITEM_OCARINA_FAIRY);
gSaveContext.entranceIndex = ENTR_SPOT10_0;
gSaveContext.entranceIndex = ENTR_LOST_WOODS_0;
gSaveContext.cutsceneIndex = 0xFFF0;
} else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_C4) &&
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_TOKINOMA)) {
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_TEMPLE_OF_TIME)) {
Flags_SetEventChkInf(EVENTCHKINF_C4);
gSaveContext.entranceIndex = ENTR_TOKINOMA_0;
gSaveContext.entranceIndex = ENTR_TEMPLE_OF_TIME_0;
gSaveContext.cutsceneIndex = 0xFFF8;
} else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) &&
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_GANON_DEMO)) {
(gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_GANON_BOSS)) {
Flags_SetEventChkInf(EVENTCHKINF_C7);
gSaveContext.entranceIndex = ENTR_GANON_DEMO_0;
gSaveContext.entranceIndex = ENTR_GANON_BOSS_0;
gSaveContext.cutsceneIndex = 0xFFF0;
}
}

View file

@ -3,7 +3,8 @@
#include "src/overlays/actors/ovl_En_Horse/z_en_horse.h"
s32 func_8006CFC0(s32 sceneId) {
s32 validSceneIds[] = { SCENE_SPOT00, SCENE_SPOT06, SCENE_SPOT09, SCENE_SPOT12, SCENE_SPOT20 };
s32 validSceneIds[] = { SCENE_HYRULE_FIELD, SCENE_LAKE_HYLIA, SCENE_GERUDO_VALLEY, SCENE_GERUDOS_FORTRESS,
SCENE_LON_LON_RANCH };
s32 i;
for (i = 0; i < ARRAY_COUNT(validSceneIds); i++) {
@ -16,7 +17,7 @@ s32 func_8006CFC0(s32 sceneId) {
}
void func_8006D074(PlayState* play) {
gSaveContext.horseData.sceneId = SCENE_SPOT00;
gSaveContext.horseData.sceneId = SCENE_HYRULE_FIELD;
gSaveContext.horseData.pos.x = -1840;
gSaveContext.horseData.pos.y = 72;
gSaveContext.horseData.pos.z = 5497;
@ -24,8 +25,8 @@ void func_8006D074(PlayState* play) {
}
void func_8006D0AC(PlayState* play) {
if (gSaveContext.horseData.sceneId == SCENE_SPOT06) {
gSaveContext.horseData.sceneId = SCENE_SPOT06;
if (gSaveContext.horseData.sceneId == SCENE_LAKE_HYLIA) {
gSaveContext.horseData.sceneId = SCENE_LAKE_HYLIA;
gSaveContext.horseData.pos.x = -2065;
gSaveContext.horseData.pos.y = -863;
gSaveContext.horseData.pos.z = 1839;
@ -43,9 +44,9 @@ typedef struct {
void func_8006D0EC(PlayState* play, Player* player) {
s32 i;
HorseSpawn horseSpawns[] = {
{ SCENE_SPOT00, -460, 100, 6640, 0, 2 }, { SCENE_SPOT06, -1929, -1025, 768, 0, 2 },
{ SCENE_SPOT09, 2566, -259, 767, 0, 2 }, { SCENE_SPOT12, -328, 10, 953, 0, 2 },
{ SCENE_SPOT20, 928, 0, -2280, 0, 2 },
{ SCENE_HYRULE_FIELD, -460, 100, 6640, 0, 2 }, { SCENE_LAKE_HYLIA, -1929, -1025, 768, 0, 2 },
{ SCENE_GERUDO_VALLEY, 2566, -259, 767, 0, 2 }, { SCENE_GERUDOS_FORTRESS, -328, 10, 953, 0, 2 },
{ SCENE_LON_LON_RANCH, 928, 0, -2280, 0, 2 },
};
if ((AREG(6) != 0) && (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || (DREG(1) != 0))) {
@ -59,15 +60,15 @@ void func_8006D0EC(PlayState* play, Player* player) {
func_8002DE74(play, player);
gSaveContext.horseData.sceneId = play->sceneId;
if (play->sceneId == SCENE_SPOT12) {
if (play->sceneId == SCENE_GERUDOS_FORTRESS) {
player->rideActor->room = -1;
}
} else if ((play->sceneId == SCENE_SPOT12) && (gSaveContext.minigameState == 3)) {
} else if ((play->sceneId == SCENE_GERUDOS_FORTRESS) && (gSaveContext.minigameState == 3)) {
Actor* horseActor;
gSaveContext.minigameState = 0;
horseActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, 3586.0f, 1413.0f, -402.0f, 0, 0x4000, 0, 1);
horseActor->room = -1;
} else if ((gSaveContext.entranceIndex == ENTR_SPOT20_7) && GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
} else if ((gSaveContext.entranceIndex == ENTR_LON_LON_RANCH_7) && GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
Actor* horseActor =
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, -25.0f, 0.0f, -1600.0f, 0, -0x4000, 0, 1);
ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 389);
@ -82,7 +83,7 @@ void func_8006D0EC(PlayState* play, Player* player) {
gSaveContext.horseData.pos.y, gSaveContext.horseData.pos.z, 0,
gSaveContext.horseData.angle, 0, 1);
ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 414);
if (play->sceneId == SCENE_SPOT12) {
if (play->sceneId == SCENE_GERUDOS_FORTRESS) {
horseActor->room = -1;
}
} else {
@ -92,7 +93,8 @@ void func_8006D0EC(PlayState* play, Player* player) {
osSyncPrintf(VT_RST);
func_8006D074(play);
}
} else if ((play->sceneId == SCENE_SPOT20) && !Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && (DREG(1) == 0)) {
} else if ((play->sceneId == SCENE_LON_LON_RANCH) && !Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) &&
(DREG(1) == 0)) {
Actor* horseActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, 0.0f, 0.0f, -500.0f, 0, 0, 0, 1);
ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 443);
} else if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || (DREG(1) != 0)) {
@ -103,7 +105,7 @@ void func_8006D0EC(PlayState* play, Player* player) {
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, horseSpawn->pos.x, horseSpawn->pos.y,
horseSpawn->pos.z, 0, horseSpawn->angle, 0, horseSpawn->type);
ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 466);
if (play->sceneId == SCENE_SPOT12) {
if (play->sceneId == SCENE_GERUDOS_FORTRESS) {
horseActor->room = -1;
}
@ -111,7 +113,7 @@ void func_8006D0EC(PlayState* play, Player* player) {
}
}
} else if (!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED)) {
if ((DREG(1) == 0) && (play->sceneId == SCENE_SOUKO) && !IS_DAY) {
if ((DREG(1) == 0) && (play->sceneId == SCENE_LON_LON_BUILDINGS) && !IS_DAY) {
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, 0.0f, 0.0f, -60.0f, 0, 0x7360, 0, 1);
}
}
@ -130,8 +132,8 @@ void func_8006D684(PlayState* play, Player* player) {
s32 i;
Vec3s spawnPos;
if ((gSaveContext.entranceIndex == ENTR_SPOT00_11 || gSaveContext.entranceIndex == ENTR_SPOT00_12 ||
gSaveContext.entranceIndex == ENTR_SPOT00_13 || gSaveContext.entranceIndex == ENTR_SPOT00_15) &&
if ((gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_11 || gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_12 ||
gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_13 || gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_15) &&
(gSaveContext.respawnFlag == 0)) {
Vec3s spawnPositions[] = {
{ -2961, 313, 7700 },
@ -140,11 +142,11 @@ void func_8006D684(PlayState* play, Player* player) {
{ -2313, 313, 5990 },
};
if (gSaveContext.entranceIndex == ENTR_SPOT00_11) {
if (gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_11) {
spawnPos = spawnPositions[0];
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_12) {
} else if (gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_12) {
spawnPos = spawnPositions[1];
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_13) {
} else if (gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_13) {
spawnPos = spawnPositions[2];
} else {
spawnPos = spawnPositions[3];
@ -157,7 +159,7 @@ void func_8006D684(PlayState* play, Player* player) {
Actor_MountHorse(play, player, player->rideActor);
func_8002DE74(play, player);
gSaveContext.horseData.sceneId = play->sceneId;
} else if ((play->sceneId == SCENE_SPOT20) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
} else if ((play->sceneId == SCENE_LON_LON_RANCH) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && (DREG(1) == 0)) {
player->rideActor =
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, 894.0f, 0.0f, -2084.0f, 0, -0x7FFF, 0, 5);
@ -167,26 +169,26 @@ void func_8006D684(PlayState* play, Player* player) {
func_8002DE74(play, player);
gSaveContext.horseData.sceneId = play->sceneId;
if (play->sceneId == SCENE_SPOT12) {
if (play->sceneId == SCENE_GERUDOS_FORTRESS) {
player->rideActor->room = -1;
}
} else {
static struct_8011F9B8 D_8011F9B8[] = {
{ SCENE_SPOT12, 0xFFF0, { 3600, 1413, 360 }, 0x8001, 8 },
{ SCENE_SPOT20, 0xFFF0, { -250, 1, -1580 }, 0x4000, 6 },
{ SCENE_SPOT20, 0xFFF1, { 0, 0, 0 }, 0x0000, 5 },
{ SCENE_SPOT20, 0xFFF5, { 0, 0, 0 }, 0x0000, 7 },
{ SCENE_SPOT00, 0xFFF3, { -2961, 313, 7700 }, 0x0000, 7 },
{ SCENE_SPOT00, 0xFFF4, { -1900, 313, 7015 }, 0x0000, 7 },
{ SCENE_SPOT00, 0xFFF5, { -4043, 313, 6933 }, 0x0000, 7 },
{ SCENE_SPOT00, 0xFFF6, { -4043, 313, 6933 }, 0x0000, 7 },
{ SCENE_GERUDOS_FORTRESS, 0xFFF0, { 3600, 1413, 360 }, 0x8001, 8 },
{ SCENE_LON_LON_RANCH, 0xFFF0, { -250, 1, -1580 }, 0x4000, 6 },
{ SCENE_LON_LON_RANCH, 0xFFF1, { 0, 0, 0 }, 0x0000, 5 },
{ SCENE_LON_LON_RANCH, 0xFFF5, { 0, 0, 0 }, 0x0000, 7 },
{ SCENE_HYRULE_FIELD, 0xFFF3, { -2961, 313, 7700 }, 0x0000, 7 },
{ SCENE_HYRULE_FIELD, 0xFFF4, { -1900, 313, 7015 }, 0x0000, 7 },
{ SCENE_HYRULE_FIELD, 0xFFF5, { -4043, 313, 6933 }, 0x0000, 7 },
{ SCENE_HYRULE_FIELD, 0xFFF6, { -4043, 313, 6933 }, 0x0000, 7 },
};
for (i = 0; i < ARRAY_COUNT(D_8011F9B8); i++) {
if ((play->sceneId == D_8011F9B8[i].sceneId) &&
(((void)0, gSaveContext.cutsceneIndex) == D_8011F9B8[i].cutsceneIndex)) {
if (D_8011F9B8[i].type == 7) {
if ((play->sceneId == SCENE_SPOT20) && (((void)0, gSaveContext.cutsceneIndex) == 0xFFF1)) {
if ((play->sceneId == SCENE_LON_LON_RANCH) && (((void)0, gSaveContext.cutsceneIndex) == 0xFFF1)) {
D_8011F9B8[i].pos.x = player->actor.world.pos.x;
D_8011F9B8[i].pos.y = player->actor.world.pos.y;
D_8011F9B8[i].pos.z = player->actor.world.pos.z;
@ -248,10 +250,12 @@ void func_8006DC68(PlayState* play, Player* player) {
if (func_8006CFC0(play->sceneId)) {
if (IS_CUTSCENE_LAYER ||
((gSaveContext.entranceIndex == ENTR_SPOT00_11 || gSaveContext.entranceIndex == ENTR_SPOT00_12 ||
gSaveContext.entranceIndex == ENTR_SPOT00_13 || gSaveContext.entranceIndex == ENTR_SPOT00_15) &&
((gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_11 ||
gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_12 ||
gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_13 ||
gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_15) &&
(gSaveContext.respawnFlag == 0)) ||
((play->sceneId == SCENE_SPOT20) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
((play->sceneId == SCENE_LON_LON_RANCH) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6) &&
!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && (DREG(1) == 0))) {
func_8006D684(play, player);
} else {

View file

@ -17,7 +17,7 @@ void KaleidoSetup_Update(PlayState* play) {
gSaveContext.cutsceneIndex < 0xFFF0 && gSaveContext.nextCutsceneIndex < 0xFFF0 && !Play_InCsMode(play) &&
play->shootingGalleryStatus <= 1 && gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY &&
gSaveContext.magicState != MAGIC_STATE_FILL &&
(play->sceneId != SCENE_BOWLING || !Flags_GetSwitch(play, 0x38))) {
(play->sceneId != SCENE_BOMBCHU_BOWLING_ALLEY || !Flags_GetSwitch(play, 0x38))) {
if (CHECK_BTN_ALL(input->cur.button, BTN_L) && CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
if (BREG(0)) {

View file

@ -1394,7 +1394,7 @@ void Environment_DrawSunAndMoon(PlayState* play) {
play->envCtx.sunPos.z = +(Math_CosS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 20.0f) * 25.0f;
}
if (gSaveContext.entranceIndex != ENTR_SPOT00_0 || ((void)0, gSaveContext.sceneLayer) != 5) {
if (gSaveContext.entranceIndex != ENTR_HYRULE_FIELD_0 || ((void)0, gSaveContext.sceneLayer) != 5) {
Matrix_Translate(play->view.eye.x + play->envCtx.sunPos.x, play->view.eye.y + play->envCtx.sunPos.y,
play->view.eye.z + play->envCtx.sunPos.z, MTXMODE_NEW);
@ -2037,8 +2037,8 @@ void Environment_PlaySceneSequence(PlayState* play) {
play->envCtx.timeSeqState = TIMESEQ_DISABLED;
// both lost woods exits on the bridge from kokiri to hyrule field
if (((void)0, gSaveContext.entranceIndex) == ENTR_SPOT10_8 ||
((void)0, gSaveContext.entranceIndex) == ENTR_SPOT10_9) {
if (((void)0, gSaveContext.entranceIndex) == ENTR_LOST_WOODS_8 ||
((void)0, gSaveContext.entranceIndex) == ENTR_LOST_WOODS_9) {
Audio_PlayNatureAmbienceSequence(NATURE_ID_KOKIRI_REGION);
} else if (((void)0, gSaveContext.forcedSeqId) != NA_BGM_GENERAL_SFX) {
if (!Environment_IsForcedSequenceDisabled()) {
@ -2368,7 +2368,7 @@ void Environment_DrawSandstorm(PlayState* play, u8 sandstormState) {
switch (sandstormState) {
case SANDSTORM_ACTIVE:
if ((play->sceneId == SCENE_SPOT13) && (play->roomCtx.curRoom.num == 0)) {
if ((play->sceneId == SCENE_HAUNTED_WASTELAND) && (play->roomCtx.curRoom.num == 0)) {
envA1 = 0;
primA1 = (play->envCtx.sandstormEnvA > 128) ? 255 : play->envCtx.sandstormEnvA >> 1;
} else {
@ -2593,27 +2593,27 @@ void Environment_WarpSongLeave(PlayState* play) {
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
switch (play->nextEntranceIndex) {
case ENTR_SPOT17_0:
case ENTR_DEATH_MOUNTAIN_CRATER_0:
Flags_SetEventChkInf(EVENTCHKINF_B9);
break;
case ENTR_SPOT06_0:
case ENTR_LAKE_HYLIA_0:
Flags_SetEventChkInf(EVENTCHKINF_B1);
break;
case ENTR_SPOT11_0:
case ENTR_DESERT_COLOSSUS_0:
Flags_SetEventChkInf(EVENTCHKINF_B8);
break;
case ENTR_SPOT02_0:
case ENTR_GRAVEYARD_0:
Flags_SetEventChkInf(EVENTCHKINF_B6);
break;
case ENTR_TOKINOMA_0:
case ENTR_TEMPLE_OF_TIME_0:
Flags_SetEventChkInf(EVENTCHKINF_A7);
break;
case ENTR_SPOT05_0:
case ENTR_SACRED_FOREST_MEADOW_0:
break;
}
}

View file

@ -54,24 +54,24 @@ void Map_SetFloorPalettesData(PlayState* play, s16 floor) {
}
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
for (i = 0; i < gMapData->maxPaletteCount[mapIndex]; i++) {
room = gMapData->paletteRoom[mapIndex][floor][i];
if ((room != 0xFF) && (gSaveContext.sceneFlags[mapIndex].rooms & gBitFlags[room])) {
@ -88,40 +88,40 @@ void Map_InitData(PlayState* play, s16 room) {
s16 extendedMapIndex;
switch (play->sceneId) {
case SCENE_SPOT00:
case SCENE_SPOT01:
case SCENE_SPOT02:
case SCENE_SPOT03:
case SCENE_SPOT04:
case SCENE_SPOT05:
case SCENE_SPOT06:
case SCENE_SPOT07:
case SCENE_SPOT08:
case SCENE_SPOT09:
case SCENE_SPOT10:
case SCENE_SPOT11:
case SCENE_SPOT12:
case SCENE_SPOT13:
case SCENE_SPOT15:
case SCENE_SPOT16:
case SCENE_SPOT17:
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
case SCENE_HYRULE_FIELD:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_GRAVEYARD:
case SCENE_ZORAS_RIVER:
case SCENE_KOKIRI_FOREST:
case SCENE_SACRED_FOREST_MEADOW:
case SCENE_LAKE_HYLIA:
case SCENE_ZORAS_DOMAIN:
case SCENE_ZORAS_FOUNTAIN:
case SCENE_GERUDO_VALLEY:
case SCENE_LOST_WOODS:
case SCENE_DESERT_COLOSSUS:
case SCENE_GERUDOS_FORTRESS:
case SCENE_HAUNTED_WASTELAND:
case SCENE_HYRULE_CASTLE:
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_GORON_CITY:
case SCENE_LON_LON_RANCH:
case SCENE_OUTSIDE_GANONS_CASTLE:
extendedMapIndex = mapIndex;
if (play->sceneId == SCENE_SPOT02) {
if (play->sceneId == SCENE_GRAVEYARD) {
if (CHECK_QUEST_ITEM(QUEST_SONG_NOCTURNE)) {
extendedMapIndex = 0x14;
}
} else if (play->sceneId == SCENE_SPOT06) {
} else if (play->sceneId == SCENE_LAKE_HYLIA) {
if ((LINK_AGE_IN_YEARS == YEARS_ADULT) && !CHECK_QUEST_ITEM(QUEST_MEDALLION_WATER)) {
extendedMapIndex = 0x15;
}
} else if (play->sceneId == SCENE_SPOT09) {
} else if (play->sceneId == SCENE_GERUDO_VALLEY) {
if ((LINK_AGE_IN_YEARS == YEARS_ADULT) && !GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) {
extendedMapIndex = 0x16;
}
} else if (play->sceneId == SCENE_SPOT12) {
} else if (play->sceneId == SCENE_GERUDOS_FORTRESS) {
if (GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) {
extendedMapIndex = 0x17;
}
@ -136,24 +136,24 @@ void Map_InitData(PlayState* play, s16 room) {
gMapData->owMinimapTexSize[mapIndex], "../z_map_exp.c", 309);
interfaceCtx->unk_258 = mapIndex;
break;
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
osSyncPrintf(VT_FGCOL(YELLOW));
// "Deku Tree Dungeon MAP Texture DMA"
osSyncPrintf("デクの樹ダンジョンMAP テクスチャDMA(%x) scene_id_offset=%d VREG(30)=%d\n", room,
@ -180,24 +180,24 @@ void Map_InitRoomData(PlayState* play, s16 room) {
if (room >= 0) {
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
gSaveContext.sceneFlags[mapIndex].rooms |= gBitFlags[room];
osSyncPrintf("_%d\n", gSaveContext.sceneFlags[mapIndex].rooms);
interfaceCtx->mapRoomNum = room;
@ -239,27 +239,27 @@ void Map_Init(PlayState* play) {
ASSERT(interfaceCtx->mapSegment != NULL, "parameter->mapSegment != NULL", "../z_map_exp.c", 459);
switch (play->sceneId) {
case SCENE_SPOT00:
case SCENE_SPOT01:
case SCENE_SPOT02:
case SCENE_SPOT03:
case SCENE_SPOT04:
case SCENE_SPOT05:
case SCENE_SPOT06:
case SCENE_SPOT07:
case SCENE_SPOT08:
case SCENE_SPOT09:
case SCENE_SPOT10:
case SCENE_SPOT11:
case SCENE_SPOT12:
case SCENE_SPOT13:
case SCENE_SPOT15:
case SCENE_SPOT16:
case SCENE_SPOT17:
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
mapIndex = play->sceneId - SCENE_SPOT00;
case SCENE_HYRULE_FIELD:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_GRAVEYARD:
case SCENE_ZORAS_RIVER:
case SCENE_KOKIRI_FOREST:
case SCENE_SACRED_FOREST_MEADOW:
case SCENE_LAKE_HYLIA:
case SCENE_ZORAS_DOMAIN:
case SCENE_ZORAS_FOUNTAIN:
case SCENE_GERUDO_VALLEY:
case SCENE_LOST_WOODS:
case SCENE_DESERT_COLOSSUS:
case SCENE_GERUDOS_FORTRESS:
case SCENE_HAUNTED_WASTELAND:
case SCENE_HYRULE_CASTLE:
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_GORON_CITY:
case SCENE_LON_LON_RANCH:
case SCENE_OUTSIDE_GANONS_CASTLE:
mapIndex = play->sceneId - SCENE_HYRULE_FIELD;
R_MAP_INDEX = gSaveContext.mapIndex = mapIndex;
R_COMPASS_SCALE_X = gMapData->owCompassInfo[mapIndex][0];
R_COMPASS_SCALE_Y = gMapData->owCompassInfo[mapIndex][1];
@ -269,34 +269,34 @@ void Map_Init(PlayState* play) {
R_OW_MINIMAP_X = gMapData->owMinimapPosX[mapIndex];
R_OW_MINIMAP_Y = gMapData->owMinimapPosY[mapIndex];
break;
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_GANON:
case SCENE_MEN:
case SCENE_GERUDOWAY:
case SCENE_GANONTIKA:
case SCENE_GANON_SONOGO:
case SCENE_GANONTIKA_SONOGO:
case SCENE_TAKARAYA:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
mapIndex = (play->sceneId >= SCENE_YDAN_BOSS) ? play->sceneId - SCENE_YDAN_BOSS : play->sceneId;
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_GANONS_TOWER:
case SCENE_GERUDO_TRAINING_GROUND:
case SCENE_THIEVES_HIDEOUT:
case SCENE_INSIDE_GANONS_CASTLE:
case SCENE_GANONS_TOWER_COLLAPSE_INTERIOR:
case SCENE_INSIDE_GANONS_CASTLE_COLLAPSE:
case SCENE_TREASURE_BOX_SHOP:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
mapIndex = (play->sceneId >= SCENE_DEKU_TREE_BOSS) ? play->sceneId - SCENE_DEKU_TREE_BOSS : play->sceneId;
R_MAP_INDEX = gSaveContext.mapIndex = mapIndex;
if ((play->sceneId <= SCENE_ICE_DOUKUTO) || (play->sceneId >= SCENE_YDAN_BOSS)) {
if ((play->sceneId <= SCENE_ICE_CAVERN) || (play->sceneId >= SCENE_DEKU_TREE_BOSS)) {
R_COMPASS_SCALE_X = gMapData->dgnCompassInfo[mapIndex][0];
R_COMPASS_SCALE_Y = gMapData->dgnCompassInfo[mapIndex][1];
R_COMPASS_OFFSET_X = gMapData->dgnCompassInfo[mapIndex][2];
@ -367,16 +367,16 @@ void Minimap_Draw(PlayState* play) {
if (play->pauseCtx.state < 4) {
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
if (!R_MINIMAP_DISABLED) {
Gfx_SetupDL_39Overlay(play->state.gfxCtx);
gDPSetCombineLERP(OVERLAY_DISP++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, 0,
@ -419,26 +419,26 @@ void Minimap_Draw(PlayState* play) {
}
break;
case SCENE_SPOT00:
case SCENE_SPOT01:
case SCENE_SPOT02:
case SCENE_SPOT03:
case SCENE_SPOT04:
case SCENE_SPOT05:
case SCENE_SPOT06:
case SCENE_SPOT07:
case SCENE_SPOT08:
case SCENE_SPOT09:
case SCENE_SPOT10:
case SCENE_SPOT11:
case SCENE_SPOT12:
case SCENE_SPOT13:
case SCENE_SPOT15:
case SCENE_SPOT16:
case SCENE_SPOT17:
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
case SCENE_HYRULE_FIELD:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_GRAVEYARD:
case SCENE_ZORAS_RIVER:
case SCENE_KOKIRI_FOREST:
case SCENE_SACRED_FOREST_MEADOW:
case SCENE_LAKE_HYLIA:
case SCENE_ZORAS_DOMAIN:
case SCENE_ZORAS_FOUNTAIN:
case SCENE_GERUDO_VALLEY:
case SCENE_LOST_WOODS:
case SCENE_DESERT_COLOSSUS:
case SCENE_GERUDOS_FORTRESS:
case SCENE_HAUNTED_WASTELAND:
case SCENE_HYRULE_CASTLE:
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_GORON_CITY:
case SCENE_LON_LON_RANCH:
case SCENE_OUTSIDE_GANONS_CASTLE:
if (!R_MINIMAP_DISABLED) {
Gfx_SetupDL_39Overlay(play->state.gfxCtx);
@ -456,8 +456,8 @@ void Minimap_Draw(PlayState* play) {
(R_OW_MINIMAP_Y + gMapData->owMinimapHeight[mapIndex]) << 2, G_TX_RENDERTILE, 0,
0, 1 << 10, 1 << 10);
if (((play->sceneId != SCENE_SPOT01) && (play->sceneId != SCENE_SPOT04) &&
(play->sceneId != SCENE_SPOT08)) ||
if (((play->sceneId != SCENE_KAKARIKO_VILLAGE) && (play->sceneId != SCENE_KOKIRI_FOREST) &&
(play->sceneId != SCENE_ZORAS_FOUNTAIN)) ||
(LINK_AGE_IN_YEARS != YEARS_ADULT)) {
if ((gMapData->owEntranceFlag[sEntranceIconMapIndex] == 0xFFFF) ||
((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) &&
@ -477,7 +477,7 @@ void Minimap_Draw(PlayState* play) {
}
}
if ((play->sceneId == SCENE_SPOT08) &&
if ((play->sceneId == SCENE_ZORAS_FOUNTAIN) &&
(gSaveContext.infTable[INFTABLE_1AX_INDEX] & gBitFlags[INFTABLE_1A9_SHIFT])) {
gDPLoadTextureBlock(OVERLAY_DISP++, gMapDungeonEntranceIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8,
8, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
@ -525,16 +525,16 @@ void Map_Update(PlayState* play) {
if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0)) {
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
interfaceCtx->mapPalette[30] = 0;
if (CHECK_DUNGEON_ITEM(DUNGEON_MAP, mapIndex)) {
interfaceCtx->mapPalette[31] = 1;
@ -577,17 +577,17 @@ void Map_Update(PlayState* play) {
VREG(10) = interfaceCtx->mapRoomNum;
break;
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
VREG(30) = gMapData->bossFloor[play->sceneId - SCENE_YDAN_BOSS];
R_MAP_TEX_INDEX =
R_MAP_TEX_INDEX_BASE + gMapData->floorTexIndexOffset[play->sceneId - SCENE_YDAN_BOSS][VREG(30)];
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
VREG(30) = gMapData->bossFloor[play->sceneId - SCENE_DEKU_TREE_BOSS];
R_MAP_TEX_INDEX = R_MAP_TEX_INDEX_BASE +
gMapData->floorTexIndexOffset[play->sceneId - SCENE_DEKU_TREE_BOSS][VREG(30)];
break;
}
}

View file

@ -133,21 +133,21 @@ void MapMark_DrawForDungeon(PlayState* play) {
void MapMark_Draw(PlayState* play) {
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
MapMark_DrawForDungeon(play);
break;
}

View file

@ -3099,7 +3099,8 @@ void Message_Update(PlayState* play) {
if (D_8014B2F4 >= 4) {
var = true;
}
} else if (R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_DEFAULT || play->sceneId == SCENE_HAIRAL_NIWA) {
} else if (R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_DEFAULT ||
play->sceneId == SCENE_CASTLE_COURTYARD_GUARDS_DAY) {
var = true;
} else if (D_8014B2F4 >= 4 || msgCtx->talkActor == NULL) {
var = true;
@ -3125,7 +3126,8 @@ void Message_Update(PlayState* play) {
var = msgCtx->textBoxType;
if (!msgCtx->textBoxPos) { // variable position
if (R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_DEFAULT || play->sceneId == SCENE_HAIRAL_NIWA) {
if (R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_DEFAULT ||
play->sceneId == SCENE_CASTLE_COURTYARD_GUARDS_DAY) {
if (averageY < XREG(92)) {
R_TEXTBOX_Y_TARGET = sTextboxLowerYPositions[var];
} else {

View file

@ -12,106 +12,106 @@ typedef struct {
} RestrictionFlags; // size = 0x4
static RestrictionFlags sRestrictionFlags[] = {
{ SCENE_SPOT00, 0x00, 0x00, 0x10 },
{ SCENE_SPOT01, 0x00, 0x00, 0x10 },
{ SCENE_SPOT02, 0x00, 0x00, 0x10 },
{ SCENE_SPOT03, 0x00, 0x00, 0x10 },
{ SCENE_SPOT04, 0x00, 0x00, 0x10 },
{ SCENE_SPOT05, 0x00, 0x00, 0x10 },
{ SCENE_SPOT06, 0x00, 0x00, 0x10 },
{ SCENE_SPOT07, 0x00, 0x00, 0x10 },
{ SCENE_SPOT08, 0x00, 0x00, 0x10 },
{ SCENE_SPOT09, 0x00, 0x00, 0x10 },
{ SCENE_SPOT10, 0x00, 0x00, 0x10 },
{ SCENE_SPOT11, 0x00, 0x00, 0x10 },
{ SCENE_SPOT12, 0x00, 0x00, 0x10 },
{ SCENE_SPOT13, 0x00, 0x00, 0x10 },
{ SCENE_SPOT15, 0x00, 0x00, 0x10 },
{ SCENE_GANON_TOU, 0x00, 0x00, 0x10 },
{ SCENE_SPOT16, 0x00, 0x00, 0x10 },
{ SCENE_SPOT17, 0x00, 0x00, 0x10 },
{ SCENE_SPOT18, 0x00, 0x00, 0x10 },
{ SCENE_SPOT20, 0x00, 0x00, 0x10 },
{ SCENE_TOKINOMA, 0x00, 0x10, 0x15 },
{ SCENE_KENJYANOMA, 0xA2, 0xAA, 0xAA },
{ SCENE_SYATEKIJYOU, 0x11, 0x55, 0x55 },
{ SCENE_HAIRAL_NIWA, 0x11, 0x55, 0x55 },
{ SCENE_HAIRAL_NIWA_N, 0x11, 0x55, 0x55 },
{ SCENE_HAKAANA, 0x00, 0x00, 0xD0 },
{ SCENE_HAKAANA2, 0x00, 0x00, 0xD0 },
{ SCENE_HAKAANA_OUKE, 0x00, 0x00, 0xD0 },
{ SCENE_DAIYOUSEI_IZUMI, 0x00, 0x00, 0x10 },
{ SCENE_YOUSEI_IZUMI_TATE, 0x00, 0x00, 0xD0 },
{ SCENE_YOUSEI_IZUMI_YOKO, 0x00, 0x00, 0x10 },
{ SCENE_GANON_FINAL, 0x00, 0x05, 0x50 },
{ SCENE_NAKANIWA, 0x00, 0x05, 0x54 },
{ SCENE_TURIBORI, 0x11, 0x55, 0x55 },
{ SCENE_BOWLING, 0x11, 0x55, 0x55 },
{ SCENE_SOUKO, 0x00, 0x10, 0x15 },
{ SCENE_MIHARIGOYA, 0x00, 0x10, 0x14 },
{ SCENE_MAHOUYA, 0x10, 0x15, 0x55 },
{ SCENE_TAKARAYA, 0x10, 0x15, 0x55 },
{ SCENE_KINSUTA, 0x00, 0x10, 0x15 },
{ SCENE_ENTRA, 0x00, 0x10, 0x15 },
{ SCENE_ENTRA_N, 0x00, 0x10, 0x15 },
{ SCENE_ENRUI, 0x00, 0x10, 0xD5 },
{ SCENE_HYRULE_FIELD, 0x00, 0x00, 0x10 },
{ SCENE_KAKARIKO_VILLAGE, 0x00, 0x00, 0x10 },
{ SCENE_GRAVEYARD, 0x00, 0x00, 0x10 },
{ SCENE_ZORAS_RIVER, 0x00, 0x00, 0x10 },
{ SCENE_KOKIRI_FOREST, 0x00, 0x00, 0x10 },
{ SCENE_SACRED_FOREST_MEADOW, 0x00, 0x00, 0x10 },
{ SCENE_LAKE_HYLIA, 0x00, 0x00, 0x10 },
{ SCENE_ZORAS_DOMAIN, 0x00, 0x00, 0x10 },
{ SCENE_ZORAS_FOUNTAIN, 0x00, 0x00, 0x10 },
{ SCENE_GERUDO_VALLEY, 0x00, 0x00, 0x10 },
{ SCENE_LOST_WOODS, 0x00, 0x00, 0x10 },
{ SCENE_DESERT_COLOSSUS, 0x00, 0x00, 0x10 },
{ SCENE_GERUDOS_FORTRESS, 0x00, 0x00, 0x10 },
{ SCENE_HAUNTED_WASTELAND, 0x00, 0x00, 0x10 },
{ SCENE_HYRULE_CASTLE, 0x00, 0x00, 0x10 },
{ SCENE_OUTSIDE_GANONS_CASTLE, 0x00, 0x00, 0x10 },
{ SCENE_DEATH_MOUNTAIN_TRAIL, 0x00, 0x00, 0x10 },
{ SCENE_DEATH_MOUNTAIN_CRATER, 0x00, 0x00, 0x10 },
{ SCENE_GORON_CITY, 0x00, 0x00, 0x10 },
{ SCENE_LON_LON_RANCH, 0x00, 0x00, 0x10 },
{ SCENE_TEMPLE_OF_TIME, 0x00, 0x10, 0x15 },
{ SCENE_CHAMBER_OF_THE_SAGES, 0xA2, 0xAA, 0xAA },
{ SCENE_SHOOTING_GALLERY, 0x11, 0x55, 0x55 },
{ SCENE_CASTLE_COURTYARD_GUARDS_DAY, 0x11, 0x55, 0x55 },
{ SCENE_CASTLE_COURTYARD_GUARDS_NIGHT, 0x11, 0x55, 0x55 },
{ SCENE_REDEAD_GRAVE, 0x00, 0x00, 0xD0 },
{ SCENE_GRAVE_WITH_FAIRYS_FOUNTAIN, 0x00, 0x00, 0xD0 },
{ SCENE_ROYAL_FAMILYS_TOMB, 0x00, 0x00, 0xD0 },
{ SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC, 0x00, 0x00, 0x10 },
{ SCENE_FAIRYS_FOUNTAIN, 0x00, 0x00, 0xD0 },
{ SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS, 0x00, 0x00, 0x10 },
{ SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR, 0x00, 0x05, 0x50 },
{ SCENE_CASTLE_COURTYARD_ZELDA, 0x00, 0x05, 0x54 },
{ SCENE_FISHING_POND, 0x11, 0x55, 0x55 },
{ SCENE_BOMBCHU_BOWLING_ALLEY, 0x11, 0x55, 0x55 },
{ SCENE_LON_LON_BUILDINGS, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_GUARD_HOUSE, 0x00, 0x10, 0x14 },
{ SCENE_POTION_SHOP_GRANNY, 0x10, 0x15, 0x55 },
{ SCENE_TREASURE_BOX_SHOP, 0x10, 0x15, 0x55 },
{ SCENE_HOUSE_OF_SKULLTULA, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_ENTRANCE_DAY, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_ENTRANCE_NIGHT, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_ENTRANCE_RUINS, 0x00, 0x10, 0xD5 },
{ SCENE_MARKET_DAY, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_NIGHT, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_RUINS, 0x00, 0x10, 0xD5 },
{ SCENE_MARKET_ALLEY, 0x00, 0x10, 0x15 },
{ SCENE_MARKET_ALLEY_N, 0x00, 0x10, 0x15 },
{ SCENE_SHRINE, 0x00, 0x10, 0x15 },
{ SCENE_SHRINE_N, 0x00, 0x10, 0x15 },
{ SCENE_SHRINE_R, 0x00, 0x10, 0xD5 },
{ SCENE_LINK_HOME, 0x10, 0x10, 0x15 },
{ SCENE_KAKARIKO, 0x10, 0x10, 0x15 },
{ SCENE_KAKARIKO3, 0x10, 0x10, 0x15 },
{ SCENE_KOKIRI_HOME, 0x10, 0x10, 0x15 },
{ SCENE_KOKIRI_HOME3, 0x10, 0x10, 0x15 },
{ SCENE_KOKIRI_HOME4, 0x10, 0x10, 0x15 },
{ SCENE_KOKIRI_HOME5, 0x10, 0x10, 0x15 },
{ SCENE_MALON_STABLE, 0x10, 0x10, 0x15 },
{ SCENE_HUT, 0x10, 0x10, 0x15 },
{ SCENE_IMPA, 0x10, 0x10, 0x15 },
{ SCENE_LABO, 0x10, 0x10, 0x15 },
{ SCENE_HYLIA_LABO, 0x00, 0x10, 0x15 },
{ SCENE_TENT, 0x10, 0x10, 0x15 },
{ SCENE_SHOP1, 0x10, 0x10, 0x15 },
{ SCENE_BACK_ALLEY_DAY, 0x00, 0x10, 0x15 },
{ SCENE_BACK_ALLEY_NIGHT, 0x00, 0x10, 0x15 },
{ SCENE_TEMPLE_OF_TIME_EXTERIOR_DAY, 0x00, 0x10, 0x15 },
{ SCENE_TEMPLE_OF_TIME_EXTERIOR_NIGHT, 0x00, 0x10, 0x15 },
{ SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS, 0x00, 0x10, 0xD5 },
{ SCENE_LINKS_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_KAKARIKO_CENTER_GUEST_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_BACK_ALLEY_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_KNOW_IT_ALL_BROS_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_TWINS_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_MIDOS_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_SARIAS_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_STABLE, 0x10, 0x10, 0x15 },
{ SCENE_GRAVEKEEPERS_HUT, 0x10, 0x10, 0x15 },
{ SCENE_DOG_LADY_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_IMPAS_HOUSE, 0x10, 0x10, 0x15 },
{ SCENE_LAKESIDE_LABORATORY, 0x00, 0x10, 0x15 },
{ SCENE_CARPENTERS_TENT, 0x10, 0x10, 0x15 },
{ SCENE_BAZAAR, 0x10, 0x10, 0x15 },
{ SCENE_KOKIRI_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_GOLON, 0x10, 0x10, 0x15 },
{ SCENE_ZOORA, 0x10, 0x10, 0x15 },
{ SCENE_DRAG, 0x10, 0x10, 0x15 },
{ SCENE_ALLEY_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_NIGHT_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_FACE_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_MEN, 0x00, 0x03, 0x10 },
{ SCENE_YDAN, 0x00, 0x00, 0x00 },
{ SCENE_YDAN_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_DDAN, 0x00, 0x00, 0x00 },
{ SCENE_DDAN_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_BDAN, 0x00, 0x00, 0x00 },
{ SCENE_BDAN_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_BMORI1, 0x00, 0x00, 0x00 },
{ SCENE_MORIBOSSROOM, 0x00, 0x45, 0x50 },
{ SCENE_HAKADANCH, 0x00, 0x00, 0x00 },
{ SCENE_HAKADAN, 0x00, 0x00, 0x00 },
{ SCENE_HAKADAN_BS, 0x00, 0x45, 0x50 },
{ SCENE_HIDAN, 0x00, 0x00, 0x00 },
{ SCENE_FIRE_BS, 0x00, 0x45, 0x50 },
{ SCENE_MIZUSIN, 0x00, 0x00, 0x00 },
{ SCENE_MIZUSIN_BS, 0x00, 0x45, 0x50 },
{ SCENE_JYASINZOU, 0x00, 0x00, 0x00 },
{ SCENE_JYASINBOSS, 0x00, 0x45, 0x50 },
{ SCENE_GANON, 0x00, 0x00, 0x00 },
{ SCENE_GORON_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_ZORA_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_POTION_SHOP_KAKARIKO, 0x10, 0x10, 0x15 },
{ SCENE_POTION_SHOP_MARKET, 0x10, 0x10, 0x15 },
{ SCENE_BOMBCHU_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_HAPPY_MASK_SHOP, 0x10, 0x10, 0x15 },
{ SCENE_GERUDO_TRAINING_GROUND, 0x00, 0x03, 0x10 },
{ SCENE_DEKU_TREE, 0x00, 0x00, 0x00 },
{ SCENE_DEKU_TREE_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_DODONGOS_CAVERN, 0x00, 0x00, 0x00 },
{ SCENE_DODONGOS_CAVERN_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_JABU_JABU, 0x00, 0x00, 0x00 },
{ SCENE_JABU_JABU_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_FOREST_TEMPLE, 0x00, 0x00, 0x00 },
{ SCENE_FOREST_TEMPLE_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_BOTTOM_OF_THE_WELL, 0x00, 0x00, 0x00 },
{ SCENE_SHADOW_TEMPLE, 0x00, 0x00, 0x00 },
{ SCENE_SHADOW_TEMPLE_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_FIRE_TEMPLE, 0x00, 0x00, 0x00 },
{ SCENE_FIRE_TEMPLE_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_WATER_TEMPLE, 0x00, 0x00, 0x00 },
{ SCENE_WATER_TEMPLE_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_SPIRIT_TEMPLE, 0x00, 0x00, 0x00 },
{ SCENE_SPIRIT_TEMPLE_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_GANONS_TOWER, 0x00, 0x00, 0x00 },
{ SCENE_GANONDORF_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_ICE_CAVERN, 0x00, 0x00, 0xC0 },
{ SCENE_WINDMILL_AND_DAMPES_GRAVE, 0x00, 0x03, 0x14 },
{ SCENE_INSIDE_GANONS_CASTLE, 0x00, 0x03, 0x10 },
{ SCENE_GANON_BOSS, 0x00, 0x45, 0x50 },
{ SCENE_ICE_DOUKUTO, 0x00, 0x00, 0xC0 },
{ SCENE_HAKASITARELAY, 0x00, 0x03, 0x14 },
{ SCENE_GANONTIKA, 0x00, 0x03, 0x10 },
{ SCENE_GANON_DEMO, 0x00, 0x45, 0x50 },
{ SCENE_GANON_SONOGO, 0x00, 0x05, 0x50 },
{ SCENE_GANONTIKA_SONOGO, 0x00, 0x05, 0x50 },
{ SCENE_GERUDOWAY, 0x00, 0x00, 0x10 },
{ SCENE_KAKUSIANA, 0x00, 0x00, 0xD0 },
{ SCENE_GANONS_TOWER_COLLAPSE_INTERIOR, 0x00, 0x05, 0x50 },
{ SCENE_INSIDE_GANONS_CASTLE_COLLAPSE, 0x00, 0x05, 0x50 },
{ SCENE_THIEVES_HIDEOUT, 0x00, 0x00, 0x10 },
{ SCENE_GROTTOS, 0x00, 0x00, 0xD0 },
{ 0xFF, 0x00, 0x00, 0x00 },
};
@ -417,26 +417,26 @@ void Interface_UpdateHudAlphas(PlayState* play, s16 dimmingAlpha) {
}
switch (play->sceneId) {
case SCENE_SPOT00:
case SCENE_SPOT01:
case SCENE_SPOT02:
case SCENE_SPOT03:
case SCENE_SPOT04:
case SCENE_SPOT05:
case SCENE_SPOT06:
case SCENE_SPOT07:
case SCENE_SPOT08:
case SCENE_SPOT09:
case SCENE_SPOT10:
case SCENE_SPOT11:
case SCENE_SPOT12:
case SCENE_SPOT13:
case SCENE_SPOT15:
case SCENE_SPOT16:
case SCENE_SPOT17:
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
case SCENE_HYRULE_FIELD:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_GRAVEYARD:
case SCENE_ZORAS_RIVER:
case SCENE_KOKIRI_FOREST:
case SCENE_SACRED_FOREST_MEADOW:
case SCENE_LAKE_HYLIA:
case SCENE_ZORAS_DOMAIN:
case SCENE_ZORAS_FOUNTAIN:
case SCENE_GERUDO_VALLEY:
case SCENE_LOST_WOODS:
case SCENE_DESERT_COLOSSUS:
case SCENE_GERUDOS_FORTRESS:
case SCENE_HAUNTED_WASTELAND:
case SCENE_HYRULE_CASTLE:
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_GORON_CITY:
case SCENE_LON_LON_RANCH:
case SCENE_OUTSIDE_GANONS_CASTLE:
if (interfaceCtx->minimapAlpha < 170) {
interfaceCtx->minimapAlpha = risingAlpha;
} else {
@ -645,11 +645,11 @@ void func_80083108(PlayState* play) {
s16 sp28 = false;
if ((gSaveContext.cutsceneIndex < 0xFFF0) ||
((play->sceneId == SCENE_SPOT20) && (gSaveContext.cutsceneIndex == 0xFFF0))) {
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.cutsceneIndex == 0xFFF0))) {
gSaveContext.forceRisingButtonAlphas = false;
if ((player->stateFlags1 & PLAYER_STATE1_23) || (play->shootingGalleryStatus > 1) ||
((play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38))) {
((play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY) && Flags_GetSwitch(play, 0x38))) {
if (gSaveContext.equips.buttonItems[0] != ITEM_NONE) {
gSaveContext.forceRisingButtonAlphas = true;
@ -664,7 +664,7 @@ void func_80083108(PlayState* play) {
(gSaveContext.equips.buttonItems[0] != ITEM_NONE)) {
gSaveContext.buttonStatus[0] = gSaveContext.equips.buttonItems[0];
if ((play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38)) {
if ((play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY) && Flags_GetSwitch(play, 0x38)) {
gSaveContext.equips.buttonItems[0] = ITEM_BOMBCHU;
Interface_LoadItemIcon1(play, 0);
} else {
@ -695,7 +695,7 @@ void func_80083108(PlayState* play) {
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_B);
} else if (play->shootingGalleryStatus > 1) {
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_B);
} else if ((play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38)) {
} else if ((play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY) && Flags_GetSwitch(play, 0x38)) {
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_B);
} else if (player->stateFlags1 & PLAYER_STATE1_23) {
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_A_B_MINIMAP);
@ -705,9 +705,9 @@ void func_80083108(PlayState* play) {
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_A_B_MINIMAP);
}
}
} else if (play->sceneId == SCENE_KENJYANOMA) {
} else if (play->sceneId == SCENE_CHAMBER_OF_THE_SAGES) {
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
} else if (play->sceneId == SCENE_TURIBORI) {
} else if (play->sceneId == SCENE_FISHING_POND) {
// should likely be set to true
gSaveContext.forceRisingButtonAlphas = 2;
if (play->interfaceCtx.unk_260 != 0) {
@ -1043,7 +1043,7 @@ void func_80083108(PlayState* play) {
(gSaveContext.equips.buttonItems[i] <= ITEM_BOTTLE_POE)) &&
!((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) &&
(gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) {
if ((play->sceneId != SCENE_TAKARAYA) ||
if ((play->sceneId != SCENE_TREASURE_BOX_SHOP) ||
(gSaveContext.equips.buttonItems[i] != ITEM_LENS_OF_TRUTH)) {
if (gSaveContext.buttonStatus[i] == BTN_ENABLED) {
sp28 = true;
@ -2932,7 +2932,7 @@ void Interface_DrawAmmoCount(PlayState* play, s16 button, s16 alpha) {
ammo = play->interfaceCtx.hbaAmmo;
} else if ((button == 0) && (play->shootingGalleryStatus > 1)) {
ammo = play->shootingGalleryStatus - 1;
} else if ((button == 0) && (play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38)) {
} else if ((button == 0) && (play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY) && Flags_GetSwitch(play, 0x38)) {
ammo = play->bombchuBowlingStatus;
if (ammo < 0) {
ammo = 0;
@ -3104,7 +3104,7 @@ void Interface_Draw(PlayState* play) {
};
static s16 rupeeDigitsFirst[] = { 1, 0, 0 };
static s16 rupeeDigitsCount[] = { 2, 3, 3 };
static s16 spoilingItemEntrances[] = { ENTR_SPOT10_2, ENTR_SPOT07_3, ENTR_SPOT07_3 };
static s16 spoilingItemEntrances[] = { ENTR_LOST_WOODS_2, ENTR_ZORAS_DOMAIN_3, ENTR_ZORAS_DOMAIN_3 };
static f32 D_80125B54[] = { -40.0f, -35.0f }; // unused
static s16 D_80125B5C[] = { 91, 91 }; // unused
static s16 sTimerNextSecondTimer;
@ -3143,20 +3143,20 @@ void Interface_Draw(PlayState* play) {
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, gRupeeCounterIconTex, 16, 16, 26, 206, 16, 16, 1 << 10, 1 << 10);
switch (play->sceneId) {
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_GANON:
case SCENE_MEN:
case SCENE_GERUDOWAY:
case SCENE_GANONTIKA:
case SCENE_GANON_SONOGO:
case SCENE_GANONTIKA_SONOGO:
case SCENE_TAKARAYA:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_GANONS_TOWER:
case SCENE_GERUDO_TRAINING_GROUND:
case SCENE_THIEVES_HIDEOUT:
case SCENE_INSIDE_GANONS_CASTLE:
case SCENE_GANONS_TOWER_COLLAPSE_INTERIOR:
case SCENE_INSIDE_GANONS_CASTLE_COLLAPSE:
case SCENE_TREASURE_BOX_SHOP:
if (gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] >= 0) {
// Small Key Icon
gDPPipeSync(OVERLAY_DISP++);
@ -3258,7 +3258,7 @@ void Interface_Draw(PlayState* play) {
Interface_DrawItemIconTexture(play, interfaceCtx->iconItemSegment, 0);
if ((player->stateFlags1 & PLAYER_STATE1_23) || (play->shootingGalleryStatus > 1) ||
((play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38))) {
((play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY) && Flags_GetSwitch(play, 0x38))) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
@ -3507,7 +3507,8 @@ void Interface_Draw(PlayState* play) {
(play->gameOverCtx.state == GAMEOVER_INACTIVE) && (msgCtx->msgMode == MSGMODE_NONE) &&
!(player->stateFlags2 & PLAYER_STATE2_24) && (play->transitionTrigger == TRANS_TRIGGER_OFF) &&
(play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play) && (gSaveContext.minigameState != 1) &&
(play->shootingGalleryStatus <= 1) && !((play->sceneId == SCENE_BOWLING) && Flags_GetSwitch(play, 0x38))) {
(play->shootingGalleryStatus <= 1) &&
!((play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY) && Flags_GetSwitch(play, 0x38))) {
timerId = TIMER_ID_MAIN;
@ -3792,10 +3793,10 @@ void Interface_Draw(PlayState* play) {
if (gSaveContext.subTimerSeconds <= 0) {
// Out of time
if (!Flags_GetSwitch(play, 0x37) ||
((play->sceneId != SCENE_GANON_DEMO) &&
(play->sceneId != SCENE_GANON_FINAL) &&
(play->sceneId != SCENE_GANON_SONOGO) &&
(play->sceneId != SCENE_GANONTIKA_SONOGO))) {
((play->sceneId != SCENE_GANON_BOSS) &&
(play->sceneId != SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) &&
(play->sceneId != SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) &&
(play->sceneId != SCENE_INSIDE_GANONS_CASTLE_COLLAPSE))) {
sSubTimerStateTimer = 40;
gSaveContext.subTimerState = SUBTIMER_STATE_RESPAWN;
gSaveContext.cutsceneIndex = 0;
@ -3961,9 +3962,9 @@ void Interface_Update(PlayState* play) {
if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0)) {
if ((gSaveContext.minigameState == 1) || !IS_CUTSCENE_LAYER ||
((play->sceneId == SCENE_SPOT20) && (gSaveContext.sceneLayer == 4))) {
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.sceneLayer == 4))) {
if ((msgCtx->msgMode == MSGMODE_NONE) ||
((msgCtx->msgMode != MSGMODE_NONE) && (play->sceneId == SCENE_BOWLING))) {
((msgCtx->msgMode != MSGMODE_NONE) && (play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY))) {
if (play->gameOverCtx.state == GAMEOVER_INACTIVE) {
func_80083108(play);
}
@ -4023,26 +4024,26 @@ void Interface_Update(PlayState* play) {
}
switch (play->sceneId) {
case SCENE_SPOT00:
case SCENE_SPOT01:
case SCENE_SPOT02:
case SCENE_SPOT03:
case SCENE_SPOT04:
case SCENE_SPOT05:
case SCENE_SPOT06:
case SCENE_SPOT07:
case SCENE_SPOT08:
case SCENE_SPOT09:
case SCENE_SPOT10:
case SCENE_SPOT11:
case SCENE_SPOT12:
case SCENE_SPOT13:
case SCENE_SPOT15:
case SCENE_SPOT16:
case SCENE_SPOT17:
case SCENE_SPOT18:
case SCENE_SPOT20:
case SCENE_GANON_TOU:
case SCENE_HYRULE_FIELD:
case SCENE_KAKARIKO_VILLAGE:
case SCENE_GRAVEYARD:
case SCENE_ZORAS_RIVER:
case SCENE_KOKIRI_FOREST:
case SCENE_SACRED_FOREST_MEADOW:
case SCENE_LAKE_HYLIA:
case SCENE_ZORAS_DOMAIN:
case SCENE_ZORAS_FOUNTAIN:
case SCENE_GERUDO_VALLEY:
case SCENE_LOST_WOODS:
case SCENE_DESERT_COLOSSUS:
case SCENE_GERUDOS_FORTRESS:
case SCENE_HAUNTED_WASTELAND:
case SCENE_HYRULE_CASTLE:
case SCENE_DEATH_MOUNTAIN_TRAIL:
case SCENE_DEATH_MOUNTAIN_CRATER:
case SCENE_GORON_CITY:
case SCENE_LON_LON_RANCH:
case SCENE_OUTSIDE_GANONS_CASTLE:
if (interfaceCtx->minimapAlpha < 170) {
interfaceCtx->minimapAlpha = risingAlpha;
} else {
@ -4309,7 +4310,7 @@ void Interface_Update(PlayState* play) {
play->unk_11DE9 = true;
}
if (play->sceneId == SCENE_SPOT13) {
if (play->sceneId == SCENE_HAUNTED_WASTELAND) {
play->transitionType = TRANS_TYPE_SANDSTORM_PERSIST;
gSaveContext.nextTransitionType = TRANS_TYPE_SANDSTORM_PERSIST;
}

View file

@ -306,7 +306,7 @@ void Play_Init(GameState* thisx) {
// save the base scene layer (before accounting for the special cases below) to use later for the transition type
baseSceneLayer = gSaveContext.sceneLayer;
if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_SPOT00) && !LINK_IS_ADULT &&
if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_HYRULE_FIELD) && !LINK_IS_ADULT &&
!IS_CUTSCENE_LAYER) {
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && CHECK_QUEST_ITEM(QUEST_GORON_RUBY) &&
CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) {
@ -314,8 +314,8 @@ void Play_Init(GameState* thisx) {
} else {
gSaveContext.sceneLayer = 0;
}
} else if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_SPOT04) && LINK_IS_ADULT &&
!IS_CUTSCENE_LAYER) {
} else if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_KOKIRI_FOREST) &&
LINK_IS_ADULT && !IS_CUTSCENE_LAYER) {
gSaveContext.sceneLayer = GET_EVENTCHKINF(EVENTCHKINF_48) ? 3 : 2;
}
@ -327,7 +327,7 @@ void Play_Init(GameState* thisx) {
// When entering Gerudo Valley in the credits, trigger the GC emulator to play the ending movie.
// The emulator constantly checks whether PC is 0x81000000, so this works even though it's not a valid address.
if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_SPOT09) &&
if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].sceneId == SCENE_GERUDO_VALLEY) &&
gSaveContext.sceneLayer == 6) {
osSyncPrintf("エンディングはじまるよー\n"); // "The ending starts"
((void (*)(void))0x81000000)();
@ -1697,7 +1697,7 @@ void Play_SetupRespawnPoint(PlayState* this, s32 respawnMode, s32 playerParams)
s32 entranceIndex;
s8 roomIndex;
if ((this->sceneId != SCENE_YOUSEI_IZUMI_TATE) && (this->sceneId != SCENE_KAKUSIANA)) {
if ((this->sceneId != SCENE_FAIRYS_FOUNTAIN) && (this->sceneId != SCENE_GROTTOS)) {
roomIndex = this->roomCtx.curRoom.num;
entranceIndex = gSaveContext.entranceIndex;
Play_SetRespawnData(this, respawnMode, entranceIndex, roomIndex, playerParams, &player->actor.world.pos,
@ -1718,13 +1718,16 @@ void Play_LoadToLastEntrance(PlayState* this) {
gSaveContext.respawnFlag = -1;
this->transitionTrigger = TRANS_TRIGGER_START;
if ((this->sceneId == SCENE_GANON_SONOGO) || (this->sceneId == SCENE_GANON_FINAL) ||
(this->sceneId == SCENE_GANONTIKA_SONOGO) || (this->sceneId == SCENE_GANON_DEMO)) {
this->nextEntranceIndex = ENTR_GANON_FINAL_0;
if ((this->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(this->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(this->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE) || (this->sceneId == SCENE_GANON_BOSS)) {
this->nextEntranceIndex = ENTR_GANONS_TOWER_COLLAPSE_EXTERIOR_0;
Item_Give(this, ITEM_SWORD_MASTER);
} else if ((gSaveContext.entranceIndex == ENTR_SPOT00_11) || (gSaveContext.entranceIndex == ENTR_SPOT00_12) ||
(gSaveContext.entranceIndex == ENTR_SPOT00_13) || (gSaveContext.entranceIndex == ENTR_SPOT00_15)) {
this->nextEntranceIndex = ENTR_SPOT00_6;
} else if ((gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_11) ||
(gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_12) ||
(gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_13) ||
(gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_15)) {
this->nextEntranceIndex = ENTR_HYRULE_FIELD_6;
} else {
this->nextEntranceIndex = gSaveContext.entranceIndex;
}
@ -1742,7 +1745,7 @@ s32 Play_CamIsNotFixed(PlayState* this) {
// but the room shape type check handles all shop cases regardless
return (this->roomCtx.curRoom.roomShape->base.type != ROOM_SHAPE_TYPE_IMAGE) &&
(R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_TOGGLE_VIEWPOINT) && (R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED) &&
(R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_MARKET) && (this->sceneId != SCENE_HAIRAL_NIWA);
(R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_MARKET) && (this->sceneId != SCENE_CASTLE_COURTYARD_GUARDS_DAY);
}
s32 FrameAdvance_IsEnabled(PlayState* this) {

View file

@ -648,7 +648,7 @@ void func_80097534(PlayState* play, RoomContext* roomCtx) {
func_80031B14(play, &play->actorCtx);
Actor_SpawnTransitionActors(play, &play->actorCtx);
Map_InitRoomData(play, roomCtx->curRoom.num);
if (!((play->sceneId >= SCENE_SPOT00) && (play->sceneId <= SCENE_SPOT20))) {
if (!((play->sceneId >= SCENE_HYRULE_FIELD) && (play->sceneId <= SCENE_LON_LON_RANCH))) {
Map_SavePlayerInitialInfo(play);
}
Audio_SetEnvReverb(play->roomCtx.curRoom.echo);

View file

@ -38,19 +38,19 @@ void Object_InitBank(PlayState* play, ObjectContext* objectCtx) {
u32 spaceSize;
s32 i;
if (play2->sceneId == SCENE_SPOT00) {
if (play2->sceneId == SCENE_HYRULE_FIELD) {
spaceSize = 1024000;
} else if (play2->sceneId == SCENE_GANON_DEMO) {
} else if (play2->sceneId == SCENE_GANON_BOSS) {
if (gSaveContext.sceneLayer != 4) {
spaceSize = 1177600;
} else {
spaceSize = 1024000;
}
} else if (play2->sceneId == SCENE_JYASINBOSS) {
} else if (play2->sceneId == SCENE_SPIRIT_TEMPLE_BOSS) {
spaceSize = 1075200;
} else if (play2->sceneId == SCENE_KENJYANOMA) {
} else if (play2->sceneId == SCENE_CHAMBER_OF_THE_SAGES) {
spaceSize = 1075200;
} else if (play2->sceneId == SCENE_GANON_BOSS) {
} else if (play2->sceneId == SCENE_GANONDORF_BOSS) {
spaceSize = 1075200;
} else {
spaceSize = 1024000;
@ -356,7 +356,7 @@ void Scene_CommandTimeSettings(PlayState* play, SceneCmd* cmd) {
play->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 20.0f) * 25.0f;
if (((play->envCtx.sceneTimeSpeed == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
(gSaveContext.entranceIndex == ENTR_SPOT06_8)) {
(gSaveContext.entranceIndex == ENTR_LAKE_HYLIA_8)) {
gSaveContext.skyboxTime = ((void)0, gSaveContext.dayTime);
if ((gSaveContext.skyboxTime > CLOCK_TIME(4, 0)) && (gSaveContext.skyboxTime < CLOCK_TIME(6, 30))) {
@ -452,14 +452,14 @@ void Scene_CommandMiscSettings(PlayState* play, SceneCmd* cmd) {
R_SCENE_CAM_TYPE = cmd->miscSettings.sceneCamType;
gSaveContext.worldMapArea = cmd->miscSettings.area;
if ((play->sceneId == SCENE_SHOP1) || (play->sceneId == SCENE_SYATEKIJYOU)) {
if ((play->sceneId == SCENE_BAZAAR) || (play->sceneId == SCENE_SHOOTING_GALLERY)) {
if (LINK_AGE_IN_YEARS == YEARS_ADULT) {
gSaveContext.worldMapArea = 1;
}
}
if (((play->sceneId >= SCENE_SPOT00) && (play->sceneId <= SCENE_GANON_TOU)) ||
((play->sceneId >= SCENE_ENTRA) && (play->sceneId <= SCENE_SHRINE_R))) {
if (((play->sceneId >= SCENE_HYRULE_FIELD) && (play->sceneId <= SCENE_OUTSIDE_GANONS_CASTLE)) ||
((play->sceneId >= SCENE_MARKET_ENTRANCE_DAY) && (play->sceneId <= SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS))) {
if (gSaveContext.cutsceneIndex < 0xFFF0) {
gSaveContext.worldMapAreaData |= gBitFlags[gSaveContext.worldMapArea];
osSyncPrintf(" _%x (%d)\n", gSaveContext.worldMapAreaData,

View file

@ -379,7 +379,7 @@ void Scene_DrawConfigHakadan(PlayState* play) {
gameplayFrames = play->gameplayFrames;
if (play->sceneId == SCENE_HAKADAN_BS) {
if (play->sceneId == SCENE_SHADOW_TEMPLE_BOSS) {
gSPSegment(POLY_OPA_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (gameplayFrames * 2) % 128, 0, 32, 32, 1,
(gameplayFrames * 2) % 128, 0, 32, 32));
@ -534,7 +534,7 @@ void Scene_DrawConfigHairalNiwa(PlayState* play) {
(gameplayFrames * 3) % 128, 32, 32, 1, gameplayFrames % 128, (gameplayFrames * 3) % 128,
32, 32));
if (play->sceneId == SCENE_HAIRAL_NIWA) {
if (play->sceneId == SCENE_CASTLE_COURTYARD_GUARDS_DAY) {
gSPSegment(POLY_XLU_DISP++, 0x09, Gfx_TexScroll(play->state.gfxCtx, 0, (gameplayFrames * 10) % 256, 32, 64));
}
@ -559,7 +559,7 @@ void Scene_DrawConfigGanonCastleExterior(PlayState* play) {
gameplayFrames = play->gameplayFrames;
if (play->sceneId == SCENE_GANON_TOU) {
if (play->sceneId == SCENE_OUTSIDE_GANONS_CASTLE) {
gSPSegment(POLY_XLU_DISP++, 0x09, Gfx_TexScroll(play->state.gfxCtx, 0, (gameplayFrames * 1) % 256, 64, 64));
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 255 - (gameplayFrames * 1) % 256, 64, 64, 1,
@ -637,8 +637,9 @@ void Scene_DrawConfigGanonFinal(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6004);
if (Flags_GetSwitch(play, 0x37)) {
if ((play->sceneId == SCENE_GANON_DEMO) || (play->sceneId == SCENE_GANON_FINAL) ||
(play->sceneId == SCENE_GANON_SONOGO) || (play->sceneId == SCENE_GANONTIKA_SONOGO)) {
if ((play->sceneId == SCENE_GANON_BOSS) || (play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(play->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE)) {
func_8009BEEC(play);
}
}
@ -1469,7 +1470,7 @@ void Scene_DrawConfigBdan(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7712);
gameplayFrames = play->gameplayFrames;
if (play->sceneId == SCENE_BDAN) {
if (play->sceneId == SCENE_JABU_JABU) {
gSPSegment(POLY_OPA_DISP++, 0x08,
Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, gameplayFrames % 128,
(gameplayFrames * 2) % 128, 32, 32, 1, 127 - gameplayFrames % 128,
@ -1594,58 +1595,58 @@ void Scene_DrawConfigBesitu(PlayState* play) {
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_DrawConfigSpot00, // SDC_HYRULE_FIELD
Scene_DrawConfigSpot01, // SDC_KAKARIKO_VILLAGE
Scene_DrawConfigSpot03, // SDC_ZORAS_RIVER
Scene_DrawConfigSpot04, // SDC_KOKIRI_FOREST
Scene_DrawConfigSpot06, // SDC_LAKE_HYLIA
Scene_DrawConfigSpot07, // SDC_ZORAS_DOMAIN
Scene_DrawConfigSpot08, // SDC_ZORAS_FOUNTAIN
Scene_DrawConfigSpot09, // SDC_GERUDO_VALLEY
Scene_DrawConfigSpot10, // SDC_LOST_WOODS
Scene_DrawConfigSpot11, // SDC_DESERT_COLOSSUS
Scene_DrawConfigSpot12, // SDC_GERUDOS_FORTRESS
Scene_DrawConfigSpot13, // SDC_HAUNTED_WASTELAND
Scene_DrawConfigSpot15, // SDC_HYRULE_CASTLE
Scene_DrawConfigSpot16, // SDC_DEATH_MOUNTAIN_TRAIL
Scene_DrawConfigSpot17, // SDC_DEATH_MOUNTAIN_CRATER
Scene_DrawConfigSpot18, // SDC_GORON_CITY
Scene_DrawConfigSpot20, // SDC_LON_LON_RANCH
Scene_DrawConfigHidan, // SDC_FIRE_TEMPLE
Scene_DrawConfigYdan, // SDC_DEKU_TREE
Scene_DrawConfigDdan, // SDC_DODONGOS_CAVERN
Scene_DrawConfigBdan, // SDC_JABU_JABU
Scene_DrawConfigBmori1, // SDC_FOREST_TEMPLE
Scene_DrawConfigMizusin, // SDC_WATER_TEMPLE
Scene_DrawConfigHakadan, // SDC_SHADOW_TEMPLE
Scene_DrawConfigJyasinzou, // SDC_SPIRIT_TEMPLE
Scene_DrawConfigGanontika, // SDC_INSIDE_GANONS_CASTLE
Scene_DrawConfigMen, // SDC_GERUDO_TRAINING_GROUND
Scene_DrawConfigYdanBoss, // SDC_DEKU_TREE_BOSS
Scene_DrawConfigMizusinBs, // SDC_WATER_TEMPLE_BOSS
Scene_DrawConfigTokinoma, // SDC_TEMPLE_OF_TIME
Scene_DrawConfigKakusiana, // SDC_GROTTOS
Scene_DrawConfigKenjyanoma, // SDC_CHAMBER_OF_THE_SAGES
Scene_DrawConfigGreatFairyFountain, // SDC_GREAT_FAIRYS_FOUNTAIN
Scene_DrawConfigSyatekijyou, // SDC_SHOOTING_GALLERY
Scene_DrawConfigHairalNiwa, // SDC_CASTLE_COURTYARD_GUARDS
Scene_DrawConfigGanonCastleExterior, // SDC_OUTSIDE_GANONS_CASTLE
Scene_DrawConfigIceDoukuto, // SDC_ICE_CAVERN
Scene_DrawConfigGanonFinal, // SDC_GANONS_TOWER_COLLAPSE_EXTERIOR
Scene_DrawConfigFairyFountain, // SDC_FAIRYS_FOUNTAIN
Scene_DrawConfigGerudoway, // SDC_THIEVES_HIDEOUT
Scene_DrawConfigBowling, // SDC_BOMBCHU_BOWLING_ALLEY
Scene_DrawConfigHakaanaOuke, // SDC_ROYAL_FAMILYS_TOMB
Scene_DrawConfigHyliaLabo, // SDC_LAKESIDE_LABORATORY
Scene_DrawConfigSouko, // SDC_LON_LON_BUILDINGS
Scene_DrawConfigMiharigoya, // SDC_MARKET_GUARD_HOUSE
Scene_DrawConfigMahouya, // SDC_POTION_SHOP_GRANNY
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
Scene_DrawConfigTuribori, // SDC_FISHING_POND
Scene_DrawConfigGanonSonogo, // SDC_GANONS_TOWER_COLLAPSE_INTERIOR
Scene_DrawConfigGanontikaSonogo, // SDC_INSIDE_GANONS_CASTLE_COLLAPSE
};
void Scene_Draw(PlayState* play) {

View file

@ -126,7 +126,7 @@ static SavePlayerData sNewSavePlayerData = {
}, // adultEquips
0, // unk_38
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // unk_3C
SCENE_LINK_HOME, // savedSceneId
SCENE_LINKS_HOUSE, // savedSceneId
};
static ItemEquips sNewSaveEquips = {
@ -214,7 +214,7 @@ void Sram_InitNewSave(void) {
gSaveContext.inventory = sNewSaveInventory;
temp->checksum = sNewSaveChecksum;
gSaveContext.horseData.sceneId = SCENE_SPOT00;
gSaveContext.horseData.sceneId = SCENE_HYRULE_FIELD;
gSaveContext.horseData.pos.x = -1840;
gSaveContext.horseData.pos.y = 72;
gSaveContext.horseData.pos.z = 5497;
@ -254,7 +254,7 @@ static SavePlayerData sDebugSavePlayerData = {
}, // adultEquips
0, // unk_38
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // unk_3C
SCENE_SPOT00, // savedSceneId
SCENE_HYRULE_FIELD, // savedSceneId
};
static ItemEquips sDebugSaveEquips = {
@ -356,7 +356,7 @@ void Sram_InitDebugSave(void) {
gSaveContext.inventory = sDebugSaveInventory;
temp->checksum = sDebugSaveChecksum;
gSaveContext.horseData.sceneId = SCENE_SPOT00;
gSaveContext.horseData.sceneId = SCENE_HYRULE_FIELD;
gSaveContext.horseData.pos.x = -1840;
gSaveContext.horseData.pos.y = 72;
gSaveContext.horseData.pos.z = 5497;
@ -376,28 +376,28 @@ void Sram_InitDebugSave(void) {
}
}
gSaveContext.entranceIndex = ENTR_SPOT00_0;
gSaveContext.entranceIndex = ENTR_HYRULE_FIELD_0;
gSaveContext.magicLevel = 0;
gSaveContext.sceneFlags[5].swch = 0x40000000;
}
static s16 sDungeonEntrances[] = {
ENTR_YDAN_0, // SCENE_YDAN
ENTR_DDAN_0, // SCENE_DDAN
ENTR_BDAN_0, // SCENE_BDAN
ENTR_BMORI1_0, // SCENE_BMORI1
ENTR_HIDAN_0, // SCENE_HIDAN
ENTR_MIZUSIN_0, // SCENE_MIZUSIN
ENTR_JYASINZOU_0, // SCENE_JYASINZOU
ENTR_HAKADAN_0, // SCENE_HAKADAN
ENTR_HAKADANCH_0, // SCENE_HAKADANCH
ENTR_ICE_DOUKUTO_0, // SCENE_ICE_DOUKUTO
ENTR_GANON_0, // SCENE_GANON
ENTR_MEN_0, // SCENE_MEN
ENTR_GERUDOWAY_0, // SCENE_GERUDOWAY
ENTR_GANONTIKA_0, // SCENE_GANONTIKA
ENTR_GANON_SONOGO_0, // SCENE_GANON_SONOGO
ENTR_GANONTIKA_SONOGO_0, // SCENE_GANONTIKA_SONOGO
ENTR_DEKU_TREE_0, // SCENE_DEKU_TREE
ENTR_DODONGOS_CAVERN_0, // SCENE_DODONGOS_CAVERN
ENTR_JABU_JABU_0, // SCENE_JABU_JABU
ENTR_FOREST_TEMPLE_0, // SCENE_FOREST_TEMPLE
ENTR_FIRE_TEMPLE_0, // SCENE_FIRE_TEMPLE
ENTR_WATER_TEMPLE_0, // SCENE_WATER_TEMPLE
ENTR_SPIRIT_TEMPLE_0, // SCENE_SPIRIT_TEMPLE
ENTR_SHADOW_TEMPLE_0, // SCENE_SHADOW_TEMPLE
ENTR_BOTTOM_OF_THE_WELL_0, // SCENE_BOTTOM_OF_THE_WELL
ENTR_ICE_CAVERN_0, // SCENE_ICE_CAVERN
ENTR_GANONS_TOWER_0, // SCENE_GANONS_TOWER
ENTR_GERUDO_TRAINING_GROUND_0, // SCENE_GERUDO_TRAINING_GROUND
ENTR_THIEVES_HIDEOUT_0, // SCENE_THIEVES_HIDEOUT
ENTR_INSIDE_GANONS_CASTLE_0, // SCENE_INSIDE_GANONS_CASTLE
ENTR_GANONS_TOWER_COLLAPSE_INTERIOR_0, // SCENE_GANONS_TOWER_COLLAPSE_INTERIOR
ENTR_INSIDE_GANONS_CASTLE_COLLAPSE_0, // SCENE_INSIDE_GANONS_CASTLE_COLLAPSE
};
/**
@ -426,68 +426,69 @@ void Sram_OpenSave(SramContext* sramCtx) {
((void)0, gSaveContext.entranceIndex));
switch (gSaveContext.savedSceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_GANON:
case SCENE_MEN:
case SCENE_GERUDOWAY:
case SCENE_GANONTIKA:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_GANONS_TOWER:
case SCENE_GERUDO_TRAINING_GROUND:
case SCENE_THIEVES_HIDEOUT:
case SCENE_INSIDE_GANONS_CASTLE:
gSaveContext.entranceIndex = sDungeonEntrances[gSaveContext.savedSceneId];
break;
case SCENE_YDAN_BOSS:
gSaveContext.entranceIndex = ENTR_YDAN_0;
case SCENE_DEKU_TREE_BOSS:
gSaveContext.entranceIndex = ENTR_DEKU_TREE_0;
break;
case SCENE_DDAN_BOSS:
gSaveContext.entranceIndex = ENTR_DDAN_0;
case SCENE_DODONGOS_CAVERN_BOSS:
gSaveContext.entranceIndex = ENTR_DODONGOS_CAVERN_0;
break;
case SCENE_BDAN_BOSS:
gSaveContext.entranceIndex = ENTR_BDAN_0;
case SCENE_JABU_JABU_BOSS:
gSaveContext.entranceIndex = ENTR_JABU_JABU_0;
break;
case SCENE_MORIBOSSROOM:
gSaveContext.entranceIndex = ENTR_BMORI1_0;
case SCENE_FOREST_TEMPLE_BOSS:
gSaveContext.entranceIndex = ENTR_FOREST_TEMPLE_0;
break;
case SCENE_FIRE_BS:
gSaveContext.entranceIndex = ENTR_HIDAN_0;
case SCENE_FIRE_TEMPLE_BOSS:
gSaveContext.entranceIndex = ENTR_FIRE_TEMPLE_0;
break;
case SCENE_MIZUSIN_BS:
gSaveContext.entranceIndex = ENTR_MIZUSIN_0;
case SCENE_WATER_TEMPLE_BOSS:
gSaveContext.entranceIndex = ENTR_WATER_TEMPLE_0;
break;
case SCENE_JYASINBOSS:
gSaveContext.entranceIndex = ENTR_JYASINZOU_0;
case SCENE_SPIRIT_TEMPLE_BOSS:
gSaveContext.entranceIndex = ENTR_SPIRIT_TEMPLE_0;
break;
case SCENE_HAKADAN_BS:
gSaveContext.entranceIndex = ENTR_HAKADAN_0;
case SCENE_SHADOW_TEMPLE_BOSS:
gSaveContext.entranceIndex = ENTR_SHADOW_TEMPLE_0;
break;
case SCENE_GANON_SONOGO:
case SCENE_GANONTIKA_SONOGO:
case SCENE_GANONS_TOWER_COLLAPSE_INTERIOR:
case SCENE_INSIDE_GANONS_CASTLE_COLLAPSE:
case SCENE_GANONDORF_BOSS:
case SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR:
case SCENE_GANON_BOSS:
case SCENE_GANON_FINAL:
case SCENE_GANON_DEMO:
gSaveContext.entranceIndex = ENTR_GANON_0;
gSaveContext.entranceIndex = ENTR_GANONS_TOWER_0;
break;
default:
if (gSaveContext.savedSceneId != SCENE_LINK_HOME) {
gSaveContext.entranceIndex = (LINK_AGE_IN_YEARS == YEARS_CHILD) ? ENTR_LINK_HOME_0 : ENTR_TOKINOMA_7;
if (gSaveContext.savedSceneId != SCENE_LINKS_HOUSE) {
gSaveContext.entranceIndex =
(LINK_AGE_IN_YEARS == YEARS_CHILD) ? ENTR_LINKS_HOUSE_0 : ENTR_TEMPLE_OF_TIME_7;
} else {
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
gSaveContext.entranceIndex = ENTR_LINKS_HOUSE_0;
}
break;
}
@ -789,7 +790,7 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
Sram_InitDebugSave();
}
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
gSaveContext.entranceIndex = ENTR_LINKS_HOUSE_0;
gSaveContext.linkAge = LINK_AGE_CHILD;
gSaveContext.dayTime = CLOCK_TIME(10, 0);
gSaveContext.cutsceneIndex = 0xFFF1;

View file

@ -80,7 +80,7 @@ void BgDyYoseizo_Init(Actor* thisx, PlayState* play2) {
this->grownHeight = this->vanishHeight + 40.0f;
this->actor.focus.pos = this->actor.world.pos;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
// "Great Fairy Fountain"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 大妖精の泉 ☆☆☆☆☆ %d\n" VT_RST, play->spawn);
SkelAnime_InitFlex(play, &this->skelAnime, &gGreatFairySkel, &gGreatFairySittingTransitionAnim,
@ -139,7 +139,7 @@ void BgDyYoseizo_SpawnEffects(BgDyYoseizo* this, PlayState* play, s16 type) {
scale = 0.2f;
pos.x = this->actor.world.pos.x + Rand_CenteredFloat(10.0f);
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
pos.y = this->actor.world.pos.y + spawnPosVariation + 50.0f +
((Rand_ZeroOne() - 0.5f) * (spawnPosVariation * 0.1f));
pos.z = this->actor.world.pos.z + 30.0f;
@ -180,7 +180,7 @@ void BgDyYoseizo_Bob(BgDyYoseizo* this, PlayState* play) {
void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, PlayState* play) {
if (Flags_GetSwitch(play, 0x38)) {
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
if (!gSaveContext.isMagicAcquired && (this->fountainType != FAIRY_UPGRADE_MAGIC)) {
Actor_Kill(&this->actor);
return;
@ -204,7 +204,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ もうど ☆☆☆☆☆ %d\n" VT_RST, play->msgCtx.ocarinaMode);
givingReward = false;
if (play->sceneId != SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
switch (this->fountainType) {
case FAIRY_SPELL_FARORES_WIND:
if (!GET_ITEMGETINF(ITEMGETINF_18)) {
@ -253,7 +253,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
if (givingReward) {
if (!IS_CUTSCENE_LAYER) {
if (play->sceneId != SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
switch (this->fountainType) {
case FAIRY_SPELL_FARORES_WIND:
play->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyFaroresWindCs);
@ -291,7 +291,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
play->envCtx.lightSettingOverride = 2;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
OnePointCutscene_Init(play, 8603, -99, NULL, CAM_ID_MAIN);
} else {
OnePointCutscene_Init(play, 8604, -99, NULL, CAM_ID_MAIN);
@ -304,7 +304,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
// Sets animations for spingrow
void BgDyYoseizo_SetupSpinGrow_NoReward(BgDyYoseizo* this, PlayState* play) {
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingTransitionAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingTransitionAnim, 1.0f, 0.0f, this->frameCount,
ANIMMODE_ONCE, -10.0f);
@ -362,7 +362,7 @@ void BgDyYoseizo_CompleteSpinGrow_NoReward(BgDyYoseizo* this, PlayState* play) {
void BgDyYoseizo_SetupGreetPlayer_NoReward(BgDyYoseizo* this, PlayState* play) {
func_8002DF54(play, &this->actor, 1);
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP,
-10.0f);
@ -400,7 +400,7 @@ void BgDyYoseizo_GreetPlayer_NoReward(BgDyYoseizo* this, PlayState* play) {
}
void BgDyYoseizo_SetupHealPlayer_NoReward(BgDyYoseizo* this, PlayState* play) {
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairyGivingUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyGivingUpgradeAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_ONCE,
-10.0f);
@ -430,7 +430,7 @@ void BgDyYoseizo_HealPlayer_NoReward(BgDyYoseizo* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if ((this->frameCount <= curFrame) && !(this->animationChanged)) {
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairyAfterUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyAfterUpgradeAnim, 1.0f, 0.0f, this->frameCount,
ANIMMODE_LOOP, -10.0f);
@ -446,7 +446,7 @@ void BgDyYoseizo_HealPlayer_NoReward(BgDyYoseizo* this, PlayState* play) {
beamPos.y = player->actor.world.pos.y + 200.0f;
beamPos.z = player->actor.world.pos.z;
beamParams = ((play->sceneId == SCENE_DAIYOUSEI_IZUMI) ? 0 : 1);
beamParams = ((play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) ? 0 : 1);
this->beam = (EnDyExtra*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_DY_EXTRA,
beamPos.x, beamPos.y, beamPos.z, 0, 0, 0, beamParams);
@ -508,7 +508,7 @@ void BgDyYoseizo_SayFarewell_NoReward(BgDyYoseizo* this, PlayState* play) {
}
void BgDyYoseizo_SetupSpinShrink(BgDyYoseizo* this, PlayState* play) {
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairyJewelFountainSpinShrinkAnim);
Animation_Change(&this->skelAnime, &gGreatFairyJewelFountainSpinShrinkAnim, 1.0f, 0.0f, this->frameCount,
ANIMMODE_ONCE, -10.0f);
@ -572,7 +572,7 @@ void BgDyYoseizo_SetupSpinGrow_Reward(BgDyYoseizo* this, PlayState* play) {
func_8002DF54(play, &this->actor, 1);
this->finishedSpinGrow = false;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingTransitionAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingTransitionAnim, 1.0f, 0.0f, this->frameCount,
ANIMMODE_ONCE, -10.0f);
@ -615,7 +615,7 @@ void BgDyYoseizo_SpinGrowSetupGive_Reward(BgDyYoseizo* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if ((this->frameCount <= curFrame) && !this->animationChanged) {
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairySittingAnim);
Animation_Change(&this->skelAnime, &gGreatFairySittingAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP,
-10.0f);
@ -630,7 +630,7 @@ void BgDyYoseizo_SpinGrowSetupGive_Reward(BgDyYoseizo* this, PlayState* play) {
if ((play->csCtx.state != CS_STATE_IDLE) &&
((play->csCtx.npcActions[0] != NULL) && (play->csCtx.npcActions[0]->action == 3))) {
this->finishedSpinGrow = this->animationChanged = false;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairyGivingUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyGivingUpgradeAnim, 1.0f, 0.0f, this->frameCount,
ANIMMODE_ONCE, -10.0f);
@ -670,7 +670,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if ((this->frameCount <= curFrame) && !this->animationChanged) {
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
this->frameCount = Animation_GetLastFrame(&gGreatFairyAfterUpgradeAnim);
Animation_Change(&this->skelAnime, &gGreatFairyAfterUpgradeAnim, 1.0f, 0.0f, this->frameCount,
ANIMMODE_LOOP, -10.0f);
@ -689,7 +689,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, PlayState* play) {
if ((play->csCtx.npcActions[0]->action >= 4) && (play->csCtx.npcActions[0]->action < 7)) {
actionIndex = play->csCtx.npcActions[0]->action - 4;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
actionIndex++;
BgDyYoseizo_SpawnEffects(this, play, actionIndex);
@ -703,7 +703,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, PlayState* play) {
BgDyYoseizo_SpawnEffects(this, play, 0);
}
if ((play->sceneId == SCENE_DAIYOUSEI_IZUMI) && (play->csCtx.npcActions[0]->action >= 10) &&
if ((play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) && (play->csCtx.npcActions[0]->action >= 10) &&
(play->csCtx.npcActions[0]->action < 13)) {
actionIndex = play->csCtx.npcActions[0]->action - 10;
@ -739,7 +739,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, PlayState* play) {
}
}
if ((play->sceneId != SCENE_DAIYOUSEI_IZUMI) && (play->csCtx.npcActions[0]->action >= 14) &&
if ((play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) && (play->csCtx.npcActions[0]->action >= 14) &&
(play->csCtx.npcActions[0]->action < 17)) {
actionIndex = play->csCtx.npcActions[0]->action - 14;
@ -773,12 +773,13 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, PlayState* play) {
}
}
if ((play->sceneId != SCENE_DAIYOUSEI_IZUMI) && (play->csCtx.npcActions[0]->action == 17) && (this->item != NULL)) {
if ((play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) && (play->csCtx.npcActions[0]->action == 17) &&
(this->item != NULL)) {
Actor_Kill(&this->item->actor);
this->item = NULL;
}
if ((play->sceneId == SCENE_DAIYOUSEI_IZUMI) && (play->csCtx.npcActions[0]->action == 18)) {
if ((play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) && (play->csCtx.npcActions[0]->action == 18)) {
this->giveDefenseHearts = true;
}
@ -819,7 +820,7 @@ void BgDyYoseizo_Update(Actor* thisx, PlayState* play2) {
if (play->csCtx.state != CS_STATE_IDLE) {
sfx = 0;
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
if ((play->csCtx.frames == 32) || (play->csCtx.frames == 291) || (play->csCtx.frames == 426) ||
(play->csCtx.frames == 851)) {
sfx = 1;

View file

@ -43,7 +43,7 @@ void BgGateShutter_Init(Actor* thisx, PlayState* play) {
this->somePos.x = thisx->world.pos.x;
this->somePos.y = thisx->world.pos.y;
this->somePos.z = thisx->world.pos.z;
if ((GET_INFTABLE(INFTABLE_76) || GET_EVENTCHKINF(EVENTCHKINF_45)) && (play->sceneId == SCENE_SPOT01)) {
if ((GET_INFTABLE(INFTABLE_76) || GET_EVENTCHKINF(EVENTCHKINF_45)) && (play->sceneId == SCENE_KAKARIKO_VILLAGE)) {
thisx->world.pos.x = -89.0f;
thisx->world.pos.z = -1375.0f;
}

View file

@ -68,7 +68,7 @@ void func_8087B7E8(BgHaka* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (this->dyna.unk_150 != 0.0f) {
if (play->sceneId == SCENE_SPOT02 && !LINK_IS_ADULT && IS_DAY) {
if (play->sceneId == SCENE_GRAVEYARD && !LINK_IS_ADULT && IS_DAY) {
this->dyna.unk_150 = 0.0f;
player->stateFlags2 &= ~PLAYER_STATE2_4;
if (!Play_InCsMode(play)) {
@ -77,7 +77,7 @@ void func_8087B7E8(BgHaka* this, PlayState* play) {
this->actionFunc = func_8087BAE4;
}
} else if (0.0f < this->dyna.unk_150 ||
(play->sceneId == SCENE_SPOT06 && !LINK_IS_ADULT && !Flags_GetSwitch(play, 0x23))) {
(play->sceneId == SCENE_LAKE_HYLIA && !LINK_IS_ADULT && !Flags_GetSwitch(play, 0x23))) {
this->dyna.unk_150 = 0.0f;
player->stateFlags2 &= ~PLAYER_STATE2_4;
} else {
@ -104,7 +104,7 @@ void func_8087B938(BgHaka* this, PlayState* play) {
player->stateFlags2 &= ~PLAYER_STATE2_4;
if (this->dyna.actor.params == 1) {
func_80078884(NA_SE_SY_CORRECT_CHIME);
} else if (!IS_DAY && play->sceneId == SCENE_SPOT02) {
} else if (!IS_DAY && play->sceneId == SCENE_GRAVEYARD) {
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_POH, this->dyna.actor.home.pos.x, this->dyna.actor.home.pos.y,
this->dyna.actor.home.pos.z, 0, this->dyna.actor.shape.rot.y, 0, 1);
}

View file

@ -89,7 +89,7 @@ void BgHeavyBlock_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
this->pieceFlags = 0;
if (play->sceneId == SCENE_GANON_TOU) {
if (play->sceneId == SCENE_OUTSIDE_GANONS_CASTLE) {
thisx->params &= 0xFF00;
thisx->params |= 4;
}

View file

@ -44,7 +44,7 @@ void BgInGate_Init(Actor* thisx, PlayState* play) {
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
if ((play->sceneId != SCENE_SPOT20 || !LINK_IS_ADULT) ||
if ((play->sceneId != SCENE_LON_LON_RANCH || !LINK_IS_ADULT) ||
(GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (gSaveContext.cutsceneIndex != 0xFFF0))) {
Actor_Kill(&this->dyna.actor);
return;

View file

@ -207,7 +207,7 @@ void BgSpot00Hanebasi_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
if (this->dyna.actor.params == DT_DRAWBRIDGE) {
if (play->sceneId == SCENE_SPOT00) {
if (play->sceneId == SCENE_HYRULE_FIELD) {
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && CHECK_QUEST_ITEM(QUEST_GORON_RUBY) &&
CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE) && !GET_EVENTCHKINF(EVENTCHKINF_80) && LINK_IS_CHILD) {
Player* player = GET_PLAYER(play);
@ -219,7 +219,7 @@ void BgSpot00Hanebasi_Update(Actor* thisx, PlayState* play) {
Flags_SetEventChkInf(EVENTCHKINF_82);
this->actionFunc = BgSpot00Hanebasi_DoNothing;
func_8002DF54(play, &player->actor, 8);
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
gSaveContext.nextCutsceneIndex = 0xFFF1;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;

View file

@ -76,7 +76,7 @@ void BgSpot02Objects_Init(Actor* thisx, PlayState* play) {
CollisionHeader_GetVirtual(&object_spot02_objects_Col_0128D8, &colHeader);
thisx->flags |= ACTOR_FLAG_22;
} else {
if (play->sceneId == SCENE_SPOT02) {
if (play->sceneId == SCENE_GRAVEYARD) {
this->actionFunc = func_808AC908;
} else {
this->actionFunc = func_808AC8FC;
@ -87,7 +87,7 @@ void BgSpot02Objects_Init(Actor* thisx, PlayState* play) {
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader);
if ((GET_EVENTCHKINF(EVENTCHKINF_1D) && (play->sceneId == SCENE_SPOT02) && (thisx->params == 2)) ||
if ((GET_EVENTCHKINF(EVENTCHKINF_1D) && (play->sceneId == SCENE_GRAVEYARD) && (thisx->params == 2)) ||
(LINK_IS_ADULT && (thisx->params == 1))) {
Actor_Kill(thisx);
}

View file

@ -96,7 +96,7 @@ s32 func_808B3AAC(BgSpot15Rrbox* this, PlayState* play) {
s16 rotY;
Actor* actor = &this->dyna.actor;
if (play->sceneId == SCENE_SOUKO) {
if (play->sceneId == SCENE_LON_LON_BUILDINGS) {
return true;
} else if (func_808B3A40(this, play)) {
return false;

View file

@ -57,12 +57,12 @@ void BgSpot16Doughnut_Init(Actor* thisx, PlayState* play) {
// Scales this actor for scenes where it is featured in the background,
// Death Mountain itself falls into the default case.
switch (play->sceneId) {
case SCENE_SPOT01:
case SCENE_KAKARIKO_VILLAGE:
Actor_SetScale(&this->actor, 0.04f);
break;
case SCENE_SHRINE:
case SCENE_SHRINE_N:
case SCENE_SHRINE_R:
case SCENE_TEMPLE_OF_TIME_EXTERIOR_DAY:
case SCENE_TEMPLE_OF_TIME_EXTERIOR_NIGHT:
case SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS:
Actor_SetScale(&this->actor, 0.018f);
break;
default:

View file

@ -364,8 +364,9 @@ void BossGanon_Init(Actor* thisx, PlayState* play2) {
this->organAlpha = 255;
} else {
cond = Flags_GetSwitch(play, 0x37) &&
((play->sceneId == SCENE_GANON_DEMO) || (play->sceneId == SCENE_GANON_FINAL) ||
(play->sceneId == SCENE_GANON_SONOGO) || (play->sceneId == SCENE_GANONTIKA_SONOGO));
((play->sceneId == SCENE_GANON_BOSS) || (play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(play->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE));
if (!cond) {
BossGanon_SetupTowerCutscene(this, play);
@ -1497,7 +1498,7 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) {
if (this->csTimer == 180) {
play->transitionTrigger = TRANS_TRIGGER_START;
play->nextEntranceIndex = ENTR_GANON_FINAL_0;
play->nextEntranceIndex = ENTR_GANONS_TOWER_COLLAPSE_EXTERIOR_0;
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
}
break;

View file

@ -1805,7 +1805,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
}
FALLTHROUGH;
case 20:
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
gSaveContext.nextCutsceneIndex = 0xFFF2;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;

View file

@ -299,7 +299,7 @@ void func_8096712C(Demo6K* this, PlayState* play) {
this->timer2++;
if ((play->sceneId == SCENE_GANONTIKA) && (play->csCtx.frames < D_8096932C[this->actor.params - 3])) {
if ((play->sceneId == SCENE_INSIDE_GANONS_CASTLE) && (play->csCtx.frames < D_8096932C[this->actor.params - 3])) {
func_8002F974(&this->actor, NA_SE_EV_LIGHT_GATHER - SFX_FLAG);
}
}
@ -331,7 +331,7 @@ void func_80967244(Demo6K* this, PlayState* play) {
envColor.g = sEnvColors[this->unk_293].g;
envColor.b = sEnvColors[this->unk_293].b;
if (play->sceneId == SCENE_TOKINOMA) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME) {
scale = 6000;
} else if (play->csCtx.frames < 419) {
scale = 6000;

View file

@ -144,7 +144,7 @@ void DemoEffect_InitJewel(PlayState* play, DemoEffect* this) {
} else {
this->initUpdateFunc = DemoEffect_UpdateJewelAdult;
}
if (play->sceneId == SCENE_TOKINOMA) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME) {
Actor_SetScale(&this->actor, 0.35f);
} else {
Actor_SetScale(&this->actor, 0.10f);
@ -327,7 +327,7 @@ void DemoEffect_Init(Actor* thisx, PlayState* play2) {
break;
case DEMO_EFFECT_GOD_LGT_NAYRU:
if (gSaveContext.entranceIndex == ENTR_SPOT16_0) {
if (gSaveContext.entranceIndex == ENTR_DEATH_MOUNTAIN_TRAIL_0) {
Actor_SetScale(&this->actor, 1.0f);
} else {
Actor_SetScale(&this->actor, 0.1f);
@ -348,7 +348,7 @@ void DemoEffect_Init(Actor* thisx, PlayState* play2) {
break;
case DEMO_EFFECT_GOD_LGT_FARORE:
if (gSaveContext.entranceIndex == ENTR_SPOT04_0) {
if (gSaveContext.entranceIndex == ENTR_KOKIRI_FOREST_0) {
Actor_SetScale(&this->actor, 2.4f);
} else {
Actor_SetScale(&this->actor, 0.1f);
@ -492,7 +492,7 @@ void DemoEffect_Init(Actor* thisx, PlayState* play2) {
this->jewel.isPositionInit = 0;
DemoEffect_InitJewel(play, this);
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_BOSS);
if ((play->sceneId == SCENE_BDAN) && GET_INFTABLE(INFTABLE_145)) {
if ((play->sceneId == SCENE_JABU_JABU) && GET_INFTABLE(INFTABLE_145)) {
Actor_Kill(&this->actor);
return;
}
@ -631,7 +631,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, PlayState* play) {
Actor_SetScale(thisx, 0.20f);
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) {
switch (play->csCtx.npcActions[this->csActionId]->action) {
case 2:
DemoEffect_MedalSparkle(this, play, 0);
@ -643,7 +643,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, PlayState* play) {
}
switch (play->csCtx.npcActions[this->csActionId]->action) {
case 2:
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) {
Audio_PlayActorSfx2(thisx, NA_SE_EV_MEDAL_APPEAR_L - SFX_FLAG);
} else {
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
@ -658,7 +658,7 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, PlayState* play) {
if (this->getItem.drawId != GID_ARROW_LIGHT) {
this->actor.shape.rot.y += this->getItem.rotation;
}
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) {
Audio_PlayActorSfx2(thisx, NA_SE_EV_MEDAL_APPEAR_L - SFX_FLAG);
} else {
func_800788CC(NA_SE_EV_MEDAL_APPEAR_S - SFX_FLAG);
@ -697,7 +697,7 @@ void DemoEffect_InitTimeWarp(DemoEffect* this, PlayState* play) {
Actor_SetScale(&this->actor, 84 * 0.001f);
}
} else if (gSaveContext.sceneLayer == 5 || gSaveContext.sceneLayer == 4 ||
(gSaveContext.entranceIndex == ENTR_TOKINOMA_4 && !GET_EVENTCHKINF(EVENTCHKINF_C9))) {
(gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_4 && !GET_EVENTCHKINF(EVENTCHKINF_C9))) {
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 59.0f, 0.0f);
SkelCurve_Update(play, &this->skelCurve);
this->updateFunc = DemoEffect_UpdateTimeWarpReturnFromChamberOfSages;
@ -760,7 +760,7 @@ void DemoEffect_UpdateTimeWarpReturnFromChamberOfSages(DemoEffect* this, PlaySta
this->timeWarp.shrinkTimer++;
if (this->timeWarp.shrinkTimer > 250) {
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_4) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_4) {
SET_EVENTCHKINF(EVENTCHKINF_C9);
}
@ -852,7 +852,7 @@ void DemoEffect_UpdateTriforceSpot(DemoEffect* this, PlayState* play) {
}
}
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0 && gSaveContext.sceneLayer == 6 &&
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0 && gSaveContext.sceneLayer == 6 &&
play->csCtx.frames == 143) {
Audio_PlayActorSfx2(&this->actor, NA_SE_IT_DM_RING_EXPLOSION);
}
@ -1068,11 +1068,11 @@ void DemoEffect_UpdateLightEffect(DemoEffect* this, PlayState* play) {
break;
}
if (play->sceneId == SCENE_SPOT04 && gSaveContext.sceneLayer == 6 && play->csCtx.frames == 197) {
if (play->sceneId == SCENE_KOKIRI_FOREST && gSaveContext.sceneLayer == 6 && play->csCtx.frames == 197) {
Audio_PlayActorSfx2(&this->actor, NA_SE_EV_WHITE_OUT);
}
if (play->sceneId == SCENE_SPOT16 && gSaveContext.sceneLayer == 5) {
if (play->sceneId == SCENE_DEATH_MOUNTAIN_TRAIL && gSaveContext.sceneLayer == 5) {
if (!DemoEffect_CheckCsAction(this, play, 1)) {
Audio_PlayActorSfx2(&this->actor, NA_SE_EV_LIGHT_GATHER - SFX_FLAG);
}
@ -1083,7 +1083,7 @@ void DemoEffect_UpdateLightEffect(DemoEffect* this, PlayState* play) {
if (0) {}
}
if (play->sceneId == SCENE_SPOT08 && gSaveContext.sceneLayer == 4) {
if (play->sceneId == SCENE_ZORAS_FOUNTAIN && gSaveContext.sceneLayer == 4) {
if (!DemoEffect_CheckCsAction(this, play, 1)) {
Audio_PlayActorSfx2(&this->actor, NA_SE_EV_LIGHT_GATHER - SFX_FLAG);
}
@ -1095,7 +1095,7 @@ void DemoEffect_UpdateLightEffect(DemoEffect* this, PlayState* play) {
if (0) {}
}
if (play->sceneId == SCENE_TOKINOMA && gSaveContext.sceneLayer == 14) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME && gSaveContext.sceneLayer == 14) {
if (1) {}
if (play->csCtx.npcActions[this->csActionId]->action == 2) {
@ -1103,7 +1103,7 @@ void DemoEffect_UpdateLightEffect(DemoEffect* this, PlayState* play) {
}
}
if (play->sceneId == SCENE_DAIYOUSEI_IZUMI || play->sceneId == SCENE_YOUSEI_IZUMI_YOKO) {
if (play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC || play->sceneId == SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS) {
if (play->csCtx.npcActions[this->csActionId]->action == 2) {
Audio_PlayActorSfx2(&this->actor, NA_SE_EV_LIGHT_GATHER - SFX_FLAG);
}
@ -1151,7 +1151,7 @@ void DemoEffect_UpdateGodLgtDin(DemoEffect* this, PlayState* play) {
}
}
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
switch (gSaveContext.sceneLayer) {
case 4:
if (play->csCtx.frames == 288) {
@ -1206,7 +1206,7 @@ void DemoEffect_UpdateGodLgtNayru(DemoEffect* this, PlayState* play) {
}
}
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
switch (gSaveContext.sceneLayer) {
case 4:
if (play->csCtx.frames == 298) {
@ -1228,7 +1228,7 @@ void DemoEffect_UpdateGodLgtNayru(DemoEffect* this, PlayState* play) {
}
}
if (gSaveContext.entranceIndex == ENTR_SPOT16_0 && gSaveContext.sceneLayer == 4) {
if (gSaveContext.entranceIndex == ENTR_DEATH_MOUNTAIN_TRAIL_0 && gSaveContext.sceneLayer == 4) {
if (play->csCtx.frames == 72) {
Audio_PlayActorSfx2(&this->actor, NA_SE_IT_DM_FLYING_GOD_DASH);
}
@ -1266,7 +1266,7 @@ void DemoEffect_UpdateGodLgtFarore(DemoEffect* this, PlayState* play) {
Audio_PlayCutsceneEffectsSequence(SEQ_CS_EFFECTS_FARORE_MAGIC);
}
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
switch (gSaveContext.sceneLayer) {
case 4:
if (play->csCtx.frames == 315) {
@ -1585,14 +1585,14 @@ void DemoEffect_UpdateJewelChild(DemoEffect* this, PlayState* play) {
return;
default:
DemoEffect_MoveToCsEndpoint(this, play, this->csActionId, 0);
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) {
DemoEffect_MoveJewelSplit(&thisx->world, this);
}
break;
}
}
if (gSaveContext.entranceIndex == ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_0) {
if (!GET_EVENTCHKINF(EVENTCHKINF_4B)) {
hasCmdAction = play->csCtx.state && play->csCtx.npcActions[this->csActionId];
if (!hasCmdAction) {
@ -1802,7 +1802,7 @@ void DemoEffect_DrawGodLgt(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_demo_effect.c", 2737);
if (!DemoEffect_CheckCsAction(this, play, 2)) {
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
if (gSaveContext.sceneLayer == 4) {
if (play->csCtx.frames <= 680) {
func_80078914(&this->actor.projectedPos, NA_SE_EV_GOD_FLYING - SFX_FLAG);
@ -1966,7 +1966,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, PlayState* play) {
u32 frames = play->gameplayFrames;
OPEN_DISPS(play->state.gfxCtx, "../z_demo_effect.c", 2994);
if (gSaveContext.entranceIndex != ENTR_NAKANIWA_0 || play->csCtx.frames < 885) {
if (gSaveContext.entranceIndex != ENTR_CASTLE_COURTYARD_ZELDA_0 || play->csCtx.frames < 885) {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
if (this->triforceSpot.lightColumnOpacity > 0) {
@ -2075,7 +2075,7 @@ void DemoEffect_DrawTimeWarp(Actor* thisx, PlayState* play) {
u8 effectType = (this->actor.params & 0x00FF);
if (effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_LARGE || effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_SMALL ||
Flags_GetEnv(play, 1) || IS_CUTSCENE_LAYER || gSaveContext.entranceIndex == ENTR_TOKINOMA_4) {
Flags_GetEnv(play, 1) || IS_CUTSCENE_LAYER || gSaveContext.entranceIndex == ENTR_TEMPLE_OF_TIME_4) {
OPEN_DISPS(gfxCtx, "../z_demo_effect.c", 3201);
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_25);

View file

@ -865,7 +865,7 @@ void func_80986B2C(PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) {
Player* player = GET_PLAYER(play);
play->nextEntranceIndex = ENTR_SPOT00_0;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;
func_8002DF54(play, &player->actor, 8);

View file

@ -194,16 +194,16 @@ void DemoKankyo_Init(Actor* thisx, PlayState* play) {
case DEMOKANKYO_BLUE_RAIN:
case DEMOKANKYO_BLUE_RAIN_2:
switch (play->sceneId) {
case SCENE_HIRAL_DEMO:
case SCENE_CUTSCENE_MAP:
play->roomCtx.curRoom.segment = NULL;
D_8098CF80 = 10;
sRainScale = 8;
break;
case SCENE_TOKINOMA:
case SCENE_TEMPLE_OF_TIME:
D_8098CF80 = 14;
sRainScale = 8;
break;
case SCENE_SPOT00:
case SCENE_HYRULE_FIELD:
D_8098CF80 = 1;
sRainScale = 5;
break;
@ -318,7 +318,7 @@ void DemoKankyo_SetupType(DemoKankyo* this, PlayState* play) {
this->warpTimer--;
}
if (this->warpTimer == 1) {
if (play->sceneId == SCENE_TOKINOMA) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME) {
D_8098CF84 = 25;
if (!LINK_IS_ADULT) {
play->csCtx.segment = gChildWarpInToTCS;
@ -340,7 +340,7 @@ void DemoKankyo_SetupType(DemoKankyo* this, PlayState* play) {
}
break;
case DEMOKANKYO_WARP_IN:
if (play->sceneId == SCENE_TOKINOMA) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME) {
if (!LINK_IS_ADULT) {
play->csCtx.segment = gChildWarpOutToTCS;
} else {
@ -432,7 +432,7 @@ void DemoKankyo_Draw(Actor* thisx, PlayState* play) {
switch (this->actor.params) {
case DEMOKANKYO_BLUE_RAIN:
case DEMOKANKYO_BLUE_RAIN_2:
if (play->sceneId == SCENE_TOKINOMA) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME) {
if (!Flags_GetEnv(play, 1)) {
break;
} else if (!Actor_IsFacingAndNearPlayer(&this->actor, 300.0f, 0x7530)) {
@ -486,12 +486,12 @@ void func_80989B54(Actor* thisx, PlayState* play, s16 i) {
DemoKankyo* this = (DemoKankyo*)thisx;
switch (play->sceneId) {
case SCENE_HIRAL_DEMO:
case SCENE_CUTSCENE_MAP:
this->unk_150[i].unk_0.x = (Rand_ZeroOne() - 0.5f) * 500.0f;
this->unk_150[i].unk_0.y = 500.0f;
this->unk_150[i].unk_0.z = (Rand_ZeroOne() - 0.5f) * 500.0f;
break;
case SCENE_TOKINOMA:
case SCENE_TEMPLE_OF_TIME:
this->unk_150[i].unk_C.x = 0.0f;
this->unk_150[i].unk_C.y = 0.0f;
this->unk_150[i].unk_C.z = 0.0f;
@ -499,7 +499,7 @@ void func_80989B54(Actor* thisx, PlayState* play, s16 i) {
this->unk_150[i].unk_0.y = 10.0f;
this->unk_150[i].unk_0.z = (Rand_ZeroOne() - 0.5f) * 180.0f;
break;
case SCENE_SPOT00:
case SCENE_HYRULE_FIELD:
this->unk_150[i].unk_0.x = (Rand_ZeroOne() - 0.5f) * 600.0f;
this->unk_150[i].unk_0.y = -500.0f;
this->unk_150[i].unk_0.z = (Rand_ZeroOne() - 0.5f) * 600.0f;
@ -531,7 +531,7 @@ void DemoKankyo_DrawRain(Actor* thisx, PlayState* play) {
dz = play->view.at.z - play->view.eye.z;
norm = sqrtf(SQ(dx) + SQ(dy) + SQ(dz));
if (play->sceneId != SCENE_TOKINOMA) {
if (play->sceneId != SCENE_TEMPLE_OF_TIME) {
this->unk_150[i].unk_C.x = play->view.eye.x + (dx / norm) * 350.0f;
this->unk_150[i].unk_C.y = play->view.eye.y + (dy / norm) * 80.0f;
this->unk_150[i].unk_C.z = play->view.eye.z + (dz / norm) * 350.0f;
@ -540,7 +540,7 @@ void DemoKankyo_DrawRain(Actor* thisx, PlayState* play) {
switch (this->unk_150[i].unk_22) {
case 0:
func_80989B54(thisx, play, i);
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
this->unk_150[i].unk_0.y = Rand_ZeroOne() * 500.0f;
} else {
this->unk_150[i].unk_0.y = Rand_ZeroOne() * -500.0f;
@ -549,16 +549,16 @@ void DemoKankyo_DrawRain(Actor* thisx, PlayState* play) {
break;
case 1:
temp_f12_2 = play->view.eye.y + (dy / norm) * 150.0f;
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
this->unk_150[i].unk_0.y -= this->unk_150[i].unk_18;
} else {
this->unk_150[i].unk_0.y += this->unk_150[i].unk_18;
}
if (gSaveContext.entranceIndex == ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex == ENTR_CUTSCENE_MAP_0) {
if (this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y < temp_f12_2 - 300.0f) {
this->unk_150[i].unk_22++;
}
} else if (gSaveContext.entranceIndex == ENTR_SPOT00_0) {
} else if (gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_0) {
if (temp_f12_2 + 300.0f < this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y) {
this->unk_150[i].unk_22++;
}
@ -578,13 +578,13 @@ void DemoKankyo_DrawRain(Actor* thisx, PlayState* play) {
this->unk_150[i].unk_C.y + this->unk_150[i].unk_0.y,
this->unk_150[i].unk_C.z + this->unk_150[i].unk_0.z, MTXMODE_NEW);
if (gSaveContext.entranceIndex != ENTR_HIRAL_DEMO_0) {
if (gSaveContext.entranceIndex != ENTR_CUTSCENE_MAP_0) {
Matrix_RotateX(M_PI, MTXMODE_APPLY);
}
gDPPipeSync(POLY_XLU_DISP++);
if (gSaveContext.entranceIndex == ENTR_SPOT00_0) {
if (gSaveContext.entranceIndex == ENTR_HYRULE_FIELD_0) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 0, 255);
} else {
@ -597,7 +597,7 @@ void DemoKankyo_DrawRain(Actor* thisx, PlayState* play) {
for (j = 0; j < 5; j++) {
s32 pad1;
if (play->sceneId != SCENE_TOKINOMA) {
if (play->sceneId != SCENE_TEMPLE_OF_TIME) {
if (this->unk_150[i].unk_0.x >= 0.0f) {
translateX = -j * 1500.0f;
} else {
@ -799,7 +799,7 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, PlayState* play) {
&this->unk_150[i].unk_1C) != 0) {
this->unk_150[i].unk_22++;
}
if (play->sceneId == SCENE_TOKINOMA && play->csCtx.frames == 25) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME && play->csCtx.frames == 25) {
this->unk_150[i].unk_22++;
}
} else {

View file

@ -51,9 +51,9 @@ static ColliderCylinderInit sCylinderInit = {
};
static s16 sGrottoEntrances[] = {
ENTR_YOUSEI_IZUMI_TATE_0, ENTR_KAKUSIANA_0, ENTR_KAKUSIANA_1, ENTR_KAKUSIANA_2, ENTR_KAKUSIANA_3,
ENTR_KAKUSIANA_4, ENTR_KAKUSIANA_5, ENTR_KAKUSIANA_6, ENTR_KAKUSIANA_7, ENTR_KAKUSIANA_8,
ENTR_KAKUSIANA_9, ENTR_KAKUSIANA_10, ENTR_KAKUSIANA_11, ENTR_KAKUSIANA_12, ENTR_KAKUSIANA_13,
ENTR_FAIRYS_FOUNTAIN_0, ENTR_GROTTOS_0, ENTR_GROTTOS_1, ENTR_GROTTOS_2, ENTR_GROTTOS_3,
ENTR_GROTTOS_4, ENTR_GROTTOS_5, ENTR_GROTTOS_6, ENTR_GROTTOS_7, ENTR_GROTTOS_8,
ENTR_GROTTOS_9, ENTR_GROTTOS_10, ENTR_GROTTOS_11, ENTR_GROTTOS_12, ENTR_GROTTOS_13,
};
void DoorAna_SetupAction(DoorAna* this, DoorAnaActionFunc actionFunc) {

View file

@ -275,23 +275,23 @@ typedef struct {
} DoorShutterSceneInfo;
static DoorShutterSceneInfo sSceneInfo[] = {
{ SCENE_YDAN, DOORSHUTTER_STYLE_DEKU_TREE },
{ SCENE_DDAN, DOORSHUTTER_STYLE_DODONGOS_CAVERN },
{ SCENE_DDAN_BOSS, DOORSHUTTER_STYLE_DODONGOS_CAVERN },
{ SCENE_BDAN, DOORSHUTTER_STYLE_JABU_JABU },
{ SCENE_BMORI1, DOORSHUTTER_STYLE_FOREST_TEMPLE },
{ SCENE_HIDAN, DOORSHUTTER_STYLE_FIRE_TEMPLE },
{ SCENE_GANON, DOORSHUTTER_STYLE_GANONS_TOWER },
{ SCENE_GANON_BOSS, DOORSHUTTER_STYLE_GANONS_TOWER },
{ SCENE_JYASINZOU, DOORSHUTTER_STYLE_SPIRIT_TEMPLE },
{ SCENE_JYASINBOSS, DOORSHUTTER_STYLE_SPIRIT_TEMPLE },
{ SCENE_MIZUSIN, DOORSHUTTER_STYLE_WATER_TEMPLE },
{ SCENE_HAKADAN, DOORSHUTTER_STYLE_SHADOW_TEMPLE },
{ SCENE_HAKADANCH, DOORSHUTTER_STYLE_SHADOW_TEMPLE },
{ SCENE_ICE_DOUKUTO, DOORSHUTTER_STYLE_ICE_CAVERN },
{ SCENE_MEN, DOORSHUTTER_STYLE_GERUDO_TRAINING_GROUND },
{ SCENE_GANONTIKA, DOORSHUTTER_STYLE_GANONS_CASTLE },
{ SCENE_HAKAANA_OUKE, DOORSHUTTER_STYLE_ROYAL_FAMILYS_TOMB },
{ SCENE_DEKU_TREE, DOORSHUTTER_STYLE_DEKU_TREE },
{ SCENE_DODONGOS_CAVERN, DOORSHUTTER_STYLE_DODONGOS_CAVERN },
{ SCENE_DODONGOS_CAVERN_BOSS, DOORSHUTTER_STYLE_DODONGOS_CAVERN },
{ SCENE_JABU_JABU, DOORSHUTTER_STYLE_JABU_JABU },
{ SCENE_FOREST_TEMPLE, DOORSHUTTER_STYLE_FOREST_TEMPLE },
{ SCENE_FIRE_TEMPLE, DOORSHUTTER_STYLE_FIRE_TEMPLE },
{ SCENE_GANONS_TOWER, DOORSHUTTER_STYLE_GANONS_TOWER },
{ SCENE_GANONDORF_BOSS, DOORSHUTTER_STYLE_GANONS_TOWER },
{ SCENE_SPIRIT_TEMPLE, DOORSHUTTER_STYLE_SPIRIT_TEMPLE },
{ SCENE_SPIRIT_TEMPLE_BOSS, DOORSHUTTER_STYLE_SPIRIT_TEMPLE },
{ SCENE_WATER_TEMPLE, DOORSHUTTER_STYLE_WATER_TEMPLE },
{ SCENE_SHADOW_TEMPLE, DOORSHUTTER_STYLE_SHADOW_TEMPLE },
{ SCENE_BOTTOM_OF_THE_WELL, DOORSHUTTER_STYLE_SHADOW_TEMPLE },
{ SCENE_ICE_CAVERN, DOORSHUTTER_STYLE_ICE_CAVERN },
{ SCENE_GERUDO_TRAINING_GROUND, DOORSHUTTER_STYLE_GERUDO_TRAINING_GROUND },
{ SCENE_INSIDE_GANONS_CASTLE, DOORSHUTTER_STYLE_GANONS_CASTLE },
{ SCENE_ROYAL_FAMILYS_TOMB, DOORSHUTTER_STYLE_ROYAL_FAMILYS_TOMB },
{ -1, DOORSHUTTER_STYLE_GENERIC },
};
@ -312,12 +312,12 @@ typedef struct {
} DoorShutterBossDoorInfo;
static DoorShutterBossDoorInfo sBossDoorInfo[] = {
{ SCENE_HIDAN, SCENE_FIRE_BS, DOORSHUTTER_BOSSDOORTEX_FIRE },
{ SCENE_MIZUSIN, SCENE_MIZUSIN_BS, DOORSHUTTER_BOSSDOORTEX_WATER },
{ SCENE_HAKADAN, SCENE_HAKADAN_BS, DOORSHUTTER_BOSSDOORTEX_SHADOW },
{ SCENE_GANON, SCENE_GANON_BOSS, DOORSHUTTER_BOSSDOORTEX_GANON },
{ SCENE_BMORI1, SCENE_MORIBOSSROOM, DOORSHUTTER_BOSSDOORTEX_FOREST },
{ SCENE_JYASINZOU, SCENE_JYASINBOSS, DOORSHUTTER_BOSSDOORTEX_SPIRIT },
{ SCENE_FIRE_TEMPLE, SCENE_FIRE_TEMPLE_BOSS, DOORSHUTTER_BOSSDOORTEX_FIRE },
{ SCENE_WATER_TEMPLE, SCENE_WATER_TEMPLE_BOSS, DOORSHUTTER_BOSSDOORTEX_WATER },
{ SCENE_SHADOW_TEMPLE, SCENE_SHADOW_TEMPLE_BOSS, DOORSHUTTER_BOSSDOORTEX_SHADOW },
{ SCENE_GANONS_TOWER, SCENE_GANONDORF_BOSS, DOORSHUTTER_BOSSDOORTEX_GANON },
{ SCENE_FOREST_TEMPLE, SCENE_FOREST_TEMPLE_BOSS, DOORSHUTTER_BOSSDOORTEX_FOREST },
{ SCENE_SPIRIT_TEMPLE, SCENE_SPIRIT_TEMPLE_BOSS, DOORSHUTTER_BOSSDOORTEX_SPIRIT },
{ -1, -1, DOORSHUTTER_BOSSDOORTEX_0 },
};
@ -669,7 +669,7 @@ void func_80996EE8(DoorShutter* this, PlayState* play) {
Player* player = GET_PLAYER(play);
// Jabu navi text for switch doors is different
player->naviTextId = (play->sceneId == SCENE_BDAN) ? -0x20B : -0x202;
player->naviTextId = (play->sceneId == SCENE_JABU_JABU) ? -0x20B : -0x202;
}
}
}

View file

@ -161,9 +161,11 @@ void DoorWarp1_SetupWarp(DoorWarp1* this, PlayState* play) {
DoorWarp1_SetupAction(this, DoorWarp1_AwaitClearFlag);
break;
case WARP_DESTINATION:
if ((!(gSaveContext.entranceIndex == ENTR_SPOT05_3 || gSaveContext.entranceIndex == ENTR_SPOT17_5 ||
gSaveContext.entranceIndex == ENTR_SPOT06_9 || gSaveContext.entranceIndex == ENTR_SPOT11_8 ||
gSaveContext.entranceIndex == ENTR_SPOT02_8) &&
if ((!(gSaveContext.entranceIndex == ENTR_SACRED_FOREST_MEADOW_3 ||
gSaveContext.entranceIndex == ENTR_DEATH_MOUNTAIN_CRATER_5 ||
gSaveContext.entranceIndex == ENTR_LAKE_HYLIA_9 ||
gSaveContext.entranceIndex == ENTR_DESERT_COLOSSUS_8 ||
gSaveContext.entranceIndex == ENTR_GRAVEYARD_8) &&
!IS_CUTSCENE_LAYER) ||
(GET_PLAYER(play)->actor.params & 0xF00) != 0x200) {
Actor_Kill(&this->actor);
@ -259,7 +261,7 @@ void DoorWarp1_SetupPurpleCrystal(DoorWarp1* this, PlayState* play) {
this->unk_1BC = 1.f;
this->actor.shape.yOffset = 800.0f;
if (gSaveContext.entranceIndex != ENTR_TOKINOMA_0) {
if (gSaveContext.entranceIndex != ENTR_TEMPLE_OF_TIME_0) {
this->actor.scale.x = 0.0499f;
this->actor.scale.y = 0.077f;
this->actor.scale.z = 0.09f;
@ -493,29 +495,29 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
osSyncPrintf("\n\n\nじかんがきたからおーしまい fade_direction=[%d]", play->transitionTrigger,
TRANS_TRIGGER_START);
if (play->sceneId == SCENE_DDAN_BOSS) {
if (play->sceneId == SCENE_DODONGOS_CAVERN_BOSS) {
if (!Flags_GetEventChkInf(EVENTCHKINF_25)) {
Flags_SetEventChkInf(EVENTCHKINF_25);
Item_Give(play, ITEM_GORON_RUBY);
play->nextEntranceIndex = ENTR_SPOT16_0;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
gSaveContext.nextCutsceneIndex = 0xFFF1;
} else {
play->nextEntranceIndex = ENTR_SPOT16_5;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_5;
gSaveContext.nextCutsceneIndex = 0;
}
} else if (play->sceneId == SCENE_YDAN_BOSS) {
} else if (play->sceneId == SCENE_DEKU_TREE_BOSS) {
if (!Flags_GetEventChkInf(EVENTCHKINF_07)) {
Flags_SetEventChkInf(EVENTCHKINF_07);
Flags_SetEventChkInf(EVENTCHKINF_09);
Item_Give(play, ITEM_KOKIRI_EMERALD);
play->nextEntranceIndex = ENTR_SPOT04_0;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
gSaveContext.nextCutsceneIndex = 0xFFF1;
} else {
play->nextEntranceIndex = ENTR_SPOT04_11;
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_11;
gSaveContext.nextCutsceneIndex = 0;
}
} else if (play->sceneId == SCENE_BDAN_BOSS) {
play->nextEntranceIndex = ENTR_SPOT08_0;
} else if (play->sceneId == SCENE_JABU_JABU_BOSS) {
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
gSaveContext.nextCutsceneIndex = 0;
}
osSyncPrintf("\n\n\nおわりおわり");
@ -604,7 +606,7 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, PlayState* play) {
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
SET_EVENTCHKINF(EVENTCHKINF_37);
Item_Give(play, ITEM_ZORA_SAPPHIRE);
play->nextEntranceIndex = ENTR_SPOT08_0;
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
gSaveContext.nextCutsceneIndex = 0xFFF0;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE_SLOW;
@ -702,75 +704,75 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
this->warpTimer++;
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
if (play->sceneId == SCENE_MORIBOSSROOM) {
if (play->sceneId == SCENE_FOREST_TEMPLE_BOSS) {
if (!GET_EVENTCHKINF(EVENTCHKINF_48)) {
SET_EVENTCHKINF(EVENTCHKINF_48);
Item_Give(play, ITEM_MEDALLION_FOREST);
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
gSaveContext.nextCutsceneIndex = 0;
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
} else {
if (!LINK_IS_ADULT) {
play->nextEntranceIndex = ENTR_SPOT05_2;
play->nextEntranceIndex = ENTR_SACRED_FOREST_MEADOW_2;
} else {
play->nextEntranceIndex = ENTR_SPOT05_3;
play->nextEntranceIndex = ENTR_SACRED_FOREST_MEADOW_3;
}
gSaveContext.nextCutsceneIndex = 0;
}
} else if (play->sceneId == SCENE_FIRE_BS) {
} else if (play->sceneId == SCENE_FIRE_TEMPLE_BOSS) {
if (!GET_EVENTCHKINF(EVENTCHKINF_49)) {
SET_EVENTCHKINF(EVENTCHKINF_49);
Item_Give(play, ITEM_MEDALLION_FIRE);
play->nextEntranceIndex = ENTR_SPOT01_0;
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
gSaveContext.nextCutsceneIndex = 0xFFF3;
} else {
if (!LINK_IS_ADULT) {
play->nextEntranceIndex = ENTR_SPOT17_4;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_4;
} else {
play->nextEntranceIndex = ENTR_SPOT17_5;
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_5;
}
gSaveContext.nextCutsceneIndex = 0;
}
} else if (play->sceneId == SCENE_MIZUSIN_BS) {
} else if (play->sceneId == SCENE_WATER_TEMPLE_BOSS) {
if (!GET_EVENTCHKINF(EVENTCHKINF_4A)) {
SET_EVENTCHKINF(EVENTCHKINF_4A);
Item_Give(play, ITEM_MEDALLION_WATER);
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
gSaveContext.nextCutsceneIndex = 0;
gSaveContext.chamberCutsceneNum = CHAMBER_CS_WATER;
} else {
if (!LINK_IS_ADULT) {
play->nextEntranceIndex = ENTR_SPOT06_8;
play->nextEntranceIndex = ENTR_LAKE_HYLIA_8;
} else {
play->nextEntranceIndex = ENTR_SPOT06_9;
play->nextEntranceIndex = ENTR_LAKE_HYLIA_9;
}
gSaveContext.nextCutsceneIndex = 0;
}
} else if (play->sceneId == SCENE_JYASINBOSS) {
} else if (play->sceneId == SCENE_SPIRIT_TEMPLE_BOSS) {
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
Item_Give(play, ITEM_MEDALLION_SPIRIT);
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
gSaveContext.nextCutsceneIndex = 0;
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SPIRIT;
} else {
if (!LINK_IS_ADULT) {
play->nextEntranceIndex = ENTR_SPOT11_5;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_5;
} else {
play->nextEntranceIndex = ENTR_SPOT11_8;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_8;
}
gSaveContext.nextCutsceneIndex = 0;
}
} else if (play->sceneId == SCENE_HAKADAN_BS) {
} else if (play->sceneId == SCENE_SHADOW_TEMPLE_BOSS) {
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
Item_Give(play, ITEM_MEDALLION_SHADOW);
play->nextEntranceIndex = ENTR_KENJYANOMA_0;
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
gSaveContext.nextCutsceneIndex = 0;
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SHADOW;
} else {
if (!LINK_IS_ADULT) {
play->nextEntranceIndex = ENTR_SPOT02_7;
play->nextEntranceIndex = ENTR_GRAVEYARD_7;
} else {
play->nextEntranceIndex = ENTR_SPOT02_8;
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
}
gSaveContext.nextCutsceneIndex = 0;
}

View file

@ -116,7 +116,7 @@ void EnCow_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->colliders[1], &this->actor, &sCylinderInit);
func_809DEE9C(this);
this->actionFunc = func_809DF96C;
if (play->sceneId == SCENE_LINK_HOME) {
if (play->sceneId == SCENE_LINKS_HOUSE) {
if (!LINK_IS_ADULT) {
Actor_Kill(&this->actor);
return;

View file

@ -162,9 +162,9 @@ void EnDaiku_Init(Actor* thisx, PlayState* play) {
isFree = true;
}
if (isFree == true && play->sceneId == SCENE_GERUDOWAY) {
if (isFree == true && play->sceneId == SCENE_THIEVES_HIDEOUT) {
noKill = false;
} else if (isFree == false && play->sceneId == SCENE_TENT) {
} else if (isFree == false && play->sceneId == SCENE_CARPENTERS_TENT) {
noKill = false;
}
@ -195,7 +195,7 @@ void EnDaiku_Init(Actor* thisx, PlayState* play) {
this->initRot = this->actor.world.rot;
this->initPos = this->actor.world.pos;
if (play->sceneId == SCENE_GERUDOWAY) {
if (play->sceneId == SCENE_THIEVES_HIDEOUT) {
EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_STAND, &this->currentAnimIndex);
this->stateFlags |= ENDAIKU_STATEFLAG_1 | ENDAIKU_STATEFLAG_2;
this->actionFunc = EnDaiku_Jailed;
@ -223,7 +223,7 @@ s32 EnDaiku_UpdateTalking(EnDaiku* this, PlayState* play) {
s32 newTalkState = ENDAIKU_STATE_TALKING;
if (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) {
if (play->sceneId == SCENE_GERUDOWAY) {
if (play->sceneId == SCENE_THIEVES_HIDEOUT) {
if (Message_ShouldAdvance(play)) {
if (this->actor.textId == 0x6007) {
Flags_SetSwitch(play, this->startFightSwitchFlag);
@ -233,7 +233,7 @@ s32 EnDaiku_UpdateTalking(EnDaiku* this, PlayState* play) {
newTalkState = ENDAIKU_STATE_NO_TALK;
}
}
} else if (play->sceneId == SCENE_TENT) {
} else if (play->sceneId == SCENE_CARPENTERS_TENT) {
if (Message_ShouldAdvance(play)) {
switch (this->actor.textId) {
case 0x6061:
@ -266,7 +266,7 @@ void EnDaiku_UpdateText(EnDaiku* this, PlayState* play) {
Actor_GetScreenPos(play, &this->actor, &sp2E, &sp2C);
if (sp2E >= 0 && sp2E <= 320 && sp2C >= 0 && sp2C <= 240 && this->talkState == ENDAIKU_STATE_CAN_TALK &&
func_8002F2CC(&this->actor, play, 100.0f) == 1) {
if (play->sceneId == SCENE_GERUDOWAY) {
if (play->sceneId == SCENE_THIEVES_HIDEOUT) {
if (this->stateFlags & ENDAIKU_STATEFLAG_GERUDODEFEATED) {
freedCount = 0;
for (carpenterType = 0; carpenterType < 4; carpenterType++) {
@ -294,7 +294,7 @@ void EnDaiku_UpdateText(EnDaiku* this, PlayState* play) {
(ENDAIKU_STATEFLAG_GERUDOFIGHTING | ENDAIKU_STATEFLAG_GERUDODEFEATED))) {
this->actor.textId = 0x6007;
}
} else if (play->sceneId == SCENE_TENT) {
} else if (play->sceneId == SCENE_CARPENTERS_TENT) {
switch (this->actor.params & 3) {
case 0:
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {

View file

@ -130,18 +130,18 @@ void EnDaikuKakariko_Init(Actor* thisx, PlayState* play) {
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
switch (play->sceneId) {
case SCENE_SPOT01:
case SCENE_KAKARIKO_VILLAGE:
if (IS_DAY) {
this->flags |= 1;
this->flags |= initFlags[this->actor.params & 3];
}
break;
case SCENE_KAKARIKO:
case SCENE_KAKARIKO_CENTER_GUEST_HOUSE:
if (IS_NIGHT) {
this->flags |= 2;
}
break;
case SCENE_DRAG:
case SCENE_POTION_SHOP_KAKARIKO:
this->flags |= 4;
break;
}

View file

@ -272,7 +272,7 @@ void EnDog_Init(Actor* thisx, PlayState* play) {
Actor_Kill(&this->actor);
}
break;
case SCENE_IMPA: // Richard's Home
case SCENE_DOG_LADY_HOUSE: // Richard's Home
if (!(this->actor.params & 0x8000)) {
if (!gSaveContext.dogIsLost) {
this->nextBehavior = DOG_SIT;

View file

@ -63,10 +63,10 @@ typedef enum {
* Controls which object and display lists to use in a given scene
*/
static EnDoorInfo sDoorInfo[] = {
{ SCENE_HIDAN, DOOR_DL_FIRE_TEMPLE, OBJECT_HIDAN_OBJECTS },
{ SCENE_MIZUSIN, DOOR_DL_WATER_TEMPLE, OBJECT_MIZU_OBJECTS },
{ SCENE_HAKADAN, DOOR_DL_SHADOW, OBJECT_HAKA_DOOR },
{ SCENE_HAKADANCH, DOOR_DL_SHADOW, OBJECT_HAKA_DOOR },
{ SCENE_FIRE_TEMPLE, DOOR_DL_FIRE_TEMPLE, OBJECT_HIDAN_OBJECTS },
{ SCENE_WATER_TEMPLE, DOOR_DL_WATER_TEMPLE, OBJECT_MIZU_OBJECTS },
{ SCENE_SHADOW_TEMPLE, DOOR_DL_SHADOW, OBJECT_HAKA_DOOR },
{ SCENE_BOTTOM_OF_THE_WELL, DOOR_DL_SHADOW, OBJECT_HAKA_DOOR },
// KEEP objects should remain last and in this order
{ -1, DOOR_DL_DEFAULT, OBJECT_GAMEPLAY_KEEP },
{ -1, DOOR_DL_DEFAULT_FIELD_KEEP, OBJECT_GAMEPLAY_FIELD_KEEP },
@ -301,8 +301,9 @@ void EnDoor_Open(EnDoor* this, PlayState* play) {
this->actionFunc = EnDoor_Idle;
this->playerIsOpening = false;
} else if (Animation_OnFrame(&this->skelAnime, sDoorAnimOpenFrames[this->openAnim])) {
Audio_PlayActorSfx2(&this->actor, (play->sceneId == SCENE_HAKADAN || play->sceneId == SCENE_HAKADANCH ||
play->sceneId == SCENE_HIDAN)
Audio_PlayActorSfx2(&this->actor,
(play->sceneId == SCENE_SHADOW_TEMPLE || play->sceneId == SCENE_BOTTOM_OF_THE_WELL ||
play->sceneId == SCENE_FIRE_TEMPLE)
? NA_SE_EV_IRON_DOOR_OPEN
: NA_SE_OC_DOOR_OPEN);
if (this->skelAnime.playSpeed < 1.5f) {
@ -312,8 +313,9 @@ void EnDoor_Open(EnDoor* this, PlayState* play) {
}
}
} else if (Animation_OnFrame(&this->skelAnime, sDoorAnimCloseFrames[this->openAnim])) {
Audio_PlayActorSfx2(&this->actor, (play->sceneId == SCENE_HAKADAN || play->sceneId == SCENE_HAKADANCH ||
play->sceneId == SCENE_HIDAN)
Audio_PlayActorSfx2(&this->actor,
(play->sceneId == SCENE_SHADOW_TEMPLE || play->sceneId == SCENE_BOTTOM_OF_THE_WELL ||
play->sceneId == SCENE_FIRE_TEMPLE)
? NA_SE_EV_IRON_DOOR_CLOSE
: NA_SE_EV_DOOR_CLOSE);
}

View file

@ -154,9 +154,9 @@ s16 func_809FDCDC(PlayState* play, Actor* actor) {
}
s32 func_809FDDB4(EnDu* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT18 && LINK_IS_CHILD) {
if (play->sceneId == SCENE_GORON_CITY && LINK_IS_CHILD) {
return 1;
} else if (play->sceneId == SCENE_HIDAN && !GET_INFTABLE(INFTABLE_11A) && LINK_IS_ADULT) {
} else if (play->sceneId == SCENE_FIRE_TEMPLE && !GET_INFTABLE(INFTABLE_11A) && LINK_IS_ADULT) {
return 1;
}
return 0;
@ -298,7 +298,7 @@ void EnDu_Init(Actor* thisx, PlayState* play) {
play->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGoronCityDarunia01Cs);
gSaveContext.cutsceneTrigger = 1;
EnDu_SetupAction(this, func_809FE890);
} else if (play->sceneId == SCENE_HIDAN) {
} else if (play->sceneId == SCENE_FIRE_TEMPLE) {
EnDu_SetupAction(this, func_809FE638);
} else if (!LINK_IS_ADULT) {
EnDu_SetupAction(this, func_809FE3C0);

View file

@ -862,7 +862,7 @@ void func_80A03CF8(EnElf* this, PlayState* play) {
func_80A02C98(this, &nextPos, 0.2f);
}
if ((play->sceneId == SCENE_LINK_HOME) && (gSaveContext.sceneLayer == 4)) {
if ((play->sceneId == SCENE_LINKS_HOUSE) && (gSaveContext.sceneLayer == 4)) {
// play dash sound effect as Navi enters Links house in the intro
if (1) {}
if (play->csCtx.frames == 55) {

View file

@ -69,7 +69,7 @@ void EnEncount1_Init(Actor* thisx, PlayState* play) {
case SPAWNER_LEEVER:
this->timer = 30;
this->maxCurSpawns = 5;
if (play->sceneId == SCENE_SPOT13) { // Haunted Wasteland
if (play->sceneId == SCENE_HAUNTED_WASTELAND) { // Haunted Wasteland
this->reduceLeevers = true;
this->maxCurSpawns = 3;
}
@ -81,7 +81,7 @@ void EnEncount1_Init(Actor* thisx, PlayState* play) {
break;
case SPAWNER_STALCHILDREN:
case SPAWNER_WOLFOS:
if (play->sceneId == SCENE_SPOT00) { // Hyrule Field
if (play->sceneId == SCENE_HYRULE_FIELD) { // Hyrule Field
this->maxTotalSpawns = 10000;
}
this->updateFunc = EnEncount1_SpawnStalchildOrWolfos;
@ -225,7 +225,7 @@ void EnEncount1_SpawnStalchildOrWolfos(EnEncount1* this, PlayState* play) {
s32 bgId;
f32 floorY;
if (play->sceneId != SCENE_SPOT00) {
if (play->sceneId != SCENE_HYRULE_FIELD) {
if ((fabsf(player->actor.world.pos.y - this->actor.world.pos.y) > 100.0f) ||
(this->actor.xzDistToPlayer > this->spawnRange)) {
this->outOfRangeTimer++;
@ -240,7 +240,7 @@ void EnEncount1_SpawnStalchildOrWolfos(EnEncount1* this, PlayState* play) {
spawnPos = this->actor.world.pos;
if ((this->curNumSpawn < this->maxCurSpawns) && (this->totalNumSpawn < this->maxTotalSpawns)) {
while ((this->curNumSpawn < this->maxCurSpawns) && (this->totalNumSpawn < this->maxTotalSpawns)) {
if (play->sceneId == SCENE_SPOT00) {
if (play->sceneId == SCENE_HYRULE_FIELD) {
if ((player->unk_89E == SURFACE_SFX_TYPE_0) || (player->actor.floorBgId != BGCHECK_SCENE) ||
!(player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) || (player->stateFlags1 & PLAYER_STATE1_27)) {
@ -298,7 +298,7 @@ void EnEncount1_SpawnStalchildOrWolfos(EnEncount1* this, PlayState* play) {
if (this->curNumSpawn >= this->maxCurSpawns) {
this->fieldSpawnTimer = 100;
}
if (play->sceneId != SCENE_SPOT00) {
if (play->sceneId != SCENE_HYRULE_FIELD) {
this->totalNumSpawn++;
}
} else {

View file

@ -38,7 +38,7 @@ ActorInit En_Encount2_InitVars = {
void EnEncount2_Init(Actor* thisx, PlayState* play) {
EnEncount2* this = (EnEncount2*)thisx;
if (play->sceneId != SCENE_SPOT16) {
if (play->sceneId != SCENE_DEATH_MOUNTAIN_TRAIL) {
this->isNotDeathMountain = true;
}
@ -76,8 +76,8 @@ void EnEncount2_Wait(EnEncount2* this, PlayState* play) {
} else if ((this->actor.xzDistToPlayer < 700.0f) && (Flags_GetSwitch(play, 0x37))) {
s16 sceneId = play->sceneId;
if (((sceneId == SCENE_GANON_DEMO) || (sceneId == SCENE_GANON_FINAL) || (sceneId == SCENE_GANON_SONOGO) ||
(sceneId == SCENE_GANONTIKA_SONOGO)) &&
if (((sceneId == SCENE_GANON_BOSS) || (sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) || (sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE)) &&
(!this->collapseSpawnerInactive)) {
spawnerState = ENCOUNT2_ACTIVE_GANONS_TOWER;
}
@ -156,8 +156,8 @@ void EnEncount2_SpawnRocks(EnEncount2* this, PlayState* play) {
} else if ((this->actor.xzDistToPlayer < 700.0f) && (Flags_GetSwitch(play, 0x37) != 0)) {
s16 sceneId = play->sceneId;
if (((sceneId == SCENE_GANON_DEMO) || (sceneId == SCENE_GANON_FINAL) || (sceneId == SCENE_GANON_SONOGO) ||
(sceneId == SCENE_GANONTIKA_SONOGO)) &&
if (((sceneId == SCENE_GANON_BOSS) || (sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) || (sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE)) &&
(!this->collapseSpawnerInactive)) {
maxRocks = 1;
spawnerState = ENCOUNT2_ACTIVE_GANONS_TOWER;
@ -326,7 +326,7 @@ void EnEncount2_UpdateEffects(EnEncount2* this, PlayState* play) {
Math_ApproachF(&effect->pos.z, targetPos.z, 0.3f, 30.0f);
Math_ApproachF(&effect->moveDirection.y, -20.0f, 0.9f, 1.0f);
if (play->sceneId != SCENE_SPOT16) {
if (play->sceneId != SCENE_DEATH_MOUNTAIN_TRAIL) {
if (effect->pos.y < (player->actor.floorHeight - 50.0f)) {
effect->isAlive = 0;
}

View file

@ -222,7 +222,7 @@ void EnGSwitch_SilverRupeeTracker(EnGSwitch* this, PlayState* play) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 時はまさに世紀末〜 ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag);
// "Last!"
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ らすとぉ! ☆☆☆☆☆ \n" VT_RST);
if ((play->sceneId == SCENE_MEN) && (this->actor.room == 2)) {
if ((play->sceneId == SCENE_GERUDO_TRAINING_GROUND) && (this->actor.room == 2)) {
Flags_SetTempClear(play, this->actor.room);
} else {
func_80078884(NA_SE_SY_CORRECT_CHIME);

View file

@ -102,7 +102,7 @@ void EnGe1_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
// In Gerudo Valley
this->actor.uncullZoneForward = ((play->sceneId == SCENE_SPOT09) ? 1000.0f : 1200.0f);
this->actor.uncullZoneForward = ((play->sceneId == SCENE_GERUDO_VALLEY) ? 1000.0f : 1200.0f);
switch (this->actor.params & 0xFF) {
@ -228,11 +228,11 @@ void EnGe1_KickPlayer(EnGe1* this, PlayState* play) {
func_8006D074(play);
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
play->nextEntranceIndex = ENTR_SPOT09_1;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_1;
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { // Caught previously
play->nextEntranceIndex = ENTR_SPOT12_18;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_18;
} else {
play->nextEntranceIndex = ENTR_SPOT12_17;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_17;
}
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
@ -579,7 +579,7 @@ void EnGe1_BeginGame_Archery(EnGe1* this, PlayState* play) {
this->actionFunc = EnGe1_TalkTooPoor_Archery;
} else {
Rupees_ChangeBy(-20);
play->nextEntranceIndex = ENTR_SPOT12_0;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_0;
gSaveContext.nextCutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;

View file

@ -123,7 +123,7 @@ void EnGe2_Init(Actor* thisx, PlayState* play) {
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->actor, 0.01f);
if (play->sceneId == SCENE_SPOT09) {
if (play->sceneId == SCENE_GERUDO_VALLEY) {
this->actor.uncullZoneForward = 1000.0f;
} else {
this->actor.uncullZoneForward = 1200.0f;
@ -240,11 +240,11 @@ void EnGe2_CaptureClose(EnGe2* this, PlayState* play) {
func_8006D074(play);
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
play->nextEntranceIndex = ENTR_SPOT09_1;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_1;
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
play->nextEntranceIndex = ENTR_SPOT12_18;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_18;
} else {
play->nextEntranceIndex = ENTR_SPOT12_17;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_17;
}
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
@ -266,11 +266,11 @@ void EnGe2_CaptureCharge(EnGe2* this, PlayState* play) {
func_8006D074(play);
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
play->nextEntranceIndex = ENTR_SPOT09_1;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_1;
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
play->nextEntranceIndex = ENTR_SPOT12_18;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_18;
} else {
play->nextEntranceIndex = ENTR_SPOT12_17;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_17;
}
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);

View file

@ -1573,11 +1573,11 @@ void EnGeldB_Draw(Actor* thisx, PlayState* play) {
this->timer--;
if (this->timer == 0) {
if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) {
play->nextEntranceIndex = ENTR_SPOT09_1;
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_1;
} else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) {
play->nextEntranceIndex = ENTR_SPOT12_18;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_18;
} else {
play->nextEntranceIndex = ENTR_SPOT12_17;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_17;
}
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;

View file

@ -359,16 +359,16 @@ void EnGo_ChangeAnim(EnGo* this, s32 index) {
s32 EnGo_IsActorSpawned(EnGo* this, PlayState* play) {
if (((this->actor.params) & 0xF0) == 0x90) {
return true;
} else if (play->sceneId == SCENE_HIDAN && !Flags_GetSwitch(play, (this->actor.params) >> 8) && LINK_IS_ADULT &&
(this->actor.params & 0xF0) == 0x10) {
} else if (play->sceneId == SCENE_FIRE_TEMPLE && !Flags_GetSwitch(play, (this->actor.params) >> 8) &&
LINK_IS_ADULT && (this->actor.params & 0xF0) == 0x10) {
return true;
} else if (play->sceneId == SCENE_SPOT18 && LINK_IS_ADULT && (this->actor.params & 0xF0) == 0x00) {
} else if (play->sceneId == SCENE_GORON_CITY && LINK_IS_ADULT && (this->actor.params & 0xF0) == 0x00) {
return true;
} else if (play->sceneId == SCENE_SPOT16 && LINK_IS_CHILD &&
} else if (play->sceneId == SCENE_DEATH_MOUNTAIN_TRAIL && LINK_IS_CHILD &&
((this->actor.params & 0xF0) == 0x20 || (this->actor.params & 0xF0) == 0x30 ||
(this->actor.params & 0xF0) == 0x40)) {
return true;
} else if (play->sceneId == SCENE_SPOT18 && LINK_IS_CHILD &&
} else if (play->sceneId == SCENE_GORON_CITY && LINK_IS_CHILD &&
((this->actor.params & 0xF0) == 0x50 || (this->actor.params & 0xF0) == 0x60 ||
(this->actor.params & 0xF0) == 0x70)) {
return true;

View file

@ -90,7 +90,7 @@ typedef struct EnGo2 {
/* 0x0216 */ u8 unk_216; // Set to z rotation, checked by waypoint
/* 0x0218 */ f32 unk_218;
/* 0x021C */ char unk_21C[0x04];
/* 0x0220 */ f32 alpha; // Set to 0, used by func_80A45360, smoothed to this->actor.shape.unk_14 from either 0 or 255.0f
/* 0x0220 */ f32 alpha; // Set to 0, used by func_80A45360, smoothed to this->actor.shape.shadowAlpha from either 0 or 255.0f
/* 0x0224 */ s16 blinkTimer;
/* 0x0226 */ s16 unk_226[18]; // Remains unknown
/* 0x024A */ s16 unk_24A[18]; // Remains unknown

View file

@ -127,7 +127,7 @@ s32 EnGoroiwa_Vec3fNormalize(Vec3f* ret, Vec3f* a) {
}
void EnGoroiwa_SetSpeed(EnGoroiwa* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
this->isInKokiri = true;
R_EN_GOROIWA_SPEED = 920;
} else {

View file

@ -347,7 +347,7 @@ void EnHeishi1_Kick(EnHeishi1* this, PlayState* play) {
Message_CloseTextbox(play);
if (!this->loadStarted) {
SET_EVENTCHKINF(EVENTCHKINF_4E);
play->nextEntranceIndex = ENTR_SPOT15_3;
play->nextEntranceIndex = ENTR_HYRULE_CASTLE_3;
play->transitionTrigger = TRANS_TRIGGER_START;
this->loadStarted = true;
sPlayerIsCaught = false;

View file

@ -202,7 +202,7 @@ void func_80A55D00(EnHeishi3* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play) &&
(this->respawnFlag == 0)) {
SET_EVENTCHKINF(EVENTCHKINF_4E);
play->nextEntranceIndex = ENTR_SPOT15_4;
play->nextEntranceIndex = ENTR_HYRULE_CASTLE_4;
play->transitionTrigger = TRANS_TRIGGER_START;
this->respawnFlag = 1;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);

View file

@ -191,7 +191,7 @@ void func_80A56614(EnHeishi4* this, PlayState* play) {
this->actionFunc = func_80A56B40;
return;
}
if (play->sceneId == SCENE_MIHARIGOYA) {
if (play->sceneId == SCENE_MARKET_GUARD_HOUSE) {
if (IS_DAY) {
this->actor.textId = 0x7004;
} else {

View file

@ -76,7 +76,7 @@ void EnHoll_SetupAction(EnHoll* this, EnHollActionFunc func) {
}
s32 EnHoll_IsKokiriLayer8(void) {
return gSaveContext.entranceIndex == ENTR_SPOT04_0 && gSaveContext.sceneLayer == 8;
return gSaveContext.entranceIndex == ENTR_KOKIRI_FOREST_0 && gSaveContext.sceneLayer == 8;
}
void EnHoll_ChooseAction(EnHoll* this) {
@ -119,7 +119,7 @@ void EnHoll_SwapRooms(PlayState* play) {
// Horizontal Planes
void func_80A58DD4(EnHoll* this, PlayState* play) {
Player* player = GET_PLAYER(play);
s32 phi_t0 = ((play->sceneId == SCENE_JYASINZOU) ? 1 : 0) & 0xFFFFFFFF;
s32 phi_t0 = ((play->sceneId == SCENE_SPIRIT_TEMPLE) ? 1 : 0) & 0xFFFFFFFF;
Vec3f vec;
f32 absZ;
s32 transitionActorIdx;

View file

@ -155,183 +155,183 @@ typedef struct {
static EnHorseSpawnpoint sHorseSpawns[] = {
// Hyrule Field
{ SCENE_SPOT00, 16, 0, 1341, 0 },
{ SCENE_SPOT00, -1297, 0, 1459, 0 },
{ SCENE_SPOT00, -5416, -300, 1296, 0 },
{ SCENE_SPOT00, -4667, -300, 3620, 0 },
{ SCENE_SPOT00, -3837, 81, 5537, 0 },
{ SCENE_SPOT00, -5093, -226, 6661, 0 },
{ SCENE_SPOT00, -6588, -79, 5053, 0 },
{ SCENE_SPOT00, -7072, -500, 7538, 0 },
{ SCENE_SPOT00, -6139, -500, 8910, 0 },
{ SCENE_SPOT00, -8497, -300, 7802, 0 },
{ SCENE_SPOT00, -5481, -499, 12127, 0 },
{ SCENE_SPOT00, -4808, -700, 13583, 0 },
{ SCENE_SPOT00, -3416, -490, 12092, 0 },
{ SCENE_SPOT00, -2915, 100, 8339, 0 },
{ SCENE_SPOT00, -2277, -500, 13247, 0 },
{ SCENE_SPOT00, -1026, -500, 12101, 0 },
{ SCENE_SPOT00, 1427, -500, 13341, 0 },
{ SCENE_SPOT00, -200, -486, 10205, 0 },
{ SCENE_SPOT00, -1469, 100, 7496, 0 },
{ SCENE_SPOT00, -995, 168, 5652, 0 },
{ SCENE_SPOT00, 1938, 89, 6232, 0 },
{ SCENE_SPOT00, 1387, -105, 9206, 0 },
{ SCENE_SPOT00, 1571, -223, 7701, 0 },
{ SCENE_SPOT00, 3893, -121, 7068, 0 },
{ SCENE_SPOT00, 3179, 373, 5221, 0 },
{ SCENE_SPOT00, 4678, -20, 3869, 0 },
{ SCENE_SPOT00, 3460, 246, 4207, 0 },
{ SCENE_SPOT00, 3686, 128, 2366, 0 },
{ SCENE_SPOT00, 1791, 18, 152, 0 },
{ SCENE_SPOT00, 3667, -16, 1399, 0 },
{ SCENE_SPOT00, 1827, -15, 983, 0 },
{ SCENE_SPOT00, 1574, 399, 4318, 0 },
{ SCENE_SPOT00, 716, 95, 3391, 0 },
{ SCENE_SPOT00, -1189, -41, 4739, 0 },
{ SCENE_SPOT00, -1976, -171, 4172, 0 },
{ SCENE_SPOT00, 1314, 391, 5665, 0 },
{ SCENE_SPOT00, 112, 0, 1959, 0 },
{ SCENE_SPOT00, -3011, -111, 9397, 0 },
{ SCENE_SPOT00, -5674, -270, 8585, 0 },
{ SCENE_SPOT00, -8861, -300, 7836, 0 },
{ SCENE_SPOT00, -6056, -500, 7810, 0 },
{ SCENE_SPOT00, -7306, -500, 5994, 0 },
{ SCENE_SPOT00, -7305, -500, 7605, 0 },
{ SCENE_SPOT00, -7439, -300, 7600, 0 },
{ SCENE_SPOT00, -7464, -300, 6268, 0 },
{ SCENE_SPOT00, -8080, -300, 7553, 0 },
{ SCENE_SPOT00, -8091, -300, 7349, 0 },
{ SCENE_SPOT00, -8785, -300, 7383, 0 },
{ SCENE_SPOT00, -8745, -300, 7508, 0 },
{ SCENE_SPOT00, -8777, -300, 7788, 0 },
{ SCENE_SPOT00, -8048, -299, 7738, 0 },
{ SCENE_SPOT00, -7341, -184, 7730, 0 },
{ SCENE_SPOT00, -6410, -288, 7824, 0 },
{ SCENE_SPOT00, -6326, -290, 8205, 0 },
{ SCENE_SPOT00, -6546, -292, 8400, 0 },
{ SCENE_SPOT00, -7533, -180, 8459, 0 },
{ SCENE_SPOT00, -8024, -295, 7903, 0 },
{ SCENE_SPOT00, -8078, -308, 7994, 0 },
{ SCENE_SPOT00, -9425, -287, 7696, 0 },
{ SCENE_SPOT00, -9322, -292, 7577, 0 },
{ SCENE_SPOT00, -9602, -199, 7160, 0 },
{ SCENE_SPOT00, -9307, -300, 7758, 0 },
{ SCENE_SPOT00, -9230, -300, 7642, 0 },
{ SCENE_SPOT00, -7556, -499, 8695, 0 },
{ SCENE_SPOT00, -6438, -500, 8606, 0 },
{ SCENE_SPOT00, -6078, -500, 8258, 0 },
{ SCENE_SPOT00, -6233, -500, 7613, 0 },
{ SCENE_SPOT00, -5035, -205, 7814, 0 },
{ SCENE_SPOT00, -5971, -500, 8501, 0 },
{ SCENE_SPOT00, -5724, -498, 10123, 0 },
{ SCENE_SPOT00, -5094, -392, 11106, 0 },
{ SCENE_SPOT00, -5105, -393, 11312, 0 },
{ SCENE_SPOT00, -4477, -314, 11132, 0 },
{ SCENE_SPOT00, -3867, -380, 11419, 0 },
{ SCENE_SPOT00, -2952, -500, 11944, 0 },
{ SCENE_SPOT00, -2871, -488, 11743, 0 },
{ SCENE_SPOT00, -3829, -372, 11327, 0 },
{ SCENE_SPOT00, -4439, -293, 10989, 0 },
{ SCENE_SPOT00, -5014, -381, 11086, 0 },
{ SCENE_SPOT00, -5113, -188, 10968, 0 },
{ SCENE_SPOT00, -5269, -188, 11156, 0 },
{ SCENE_SPOT00, -5596, -178, 9972, 0 },
{ SCENE_SPOT00, -5801, -288, 8518, 0 },
{ SCENE_SPOT00, -4910, -178, 7931, 0 },
{ SCENE_SPOT00, -3586, 73, 8140, 0 },
{ SCENE_SPOT00, -4487, -106, 9362, 0 },
{ SCENE_SPOT00, -4339, -112, 6412, 0 },
{ SCENE_SPOT00, -3417, 105, 8194, 0 },
{ SCENE_SPOT00, -4505, -20, 6608, 0 },
{ SCENE_SPOT00, -5038, -199, 6603, 0 },
{ SCENE_SPOT00, -4481, 1, 6448, 0 },
{ SCENE_SPOT00, -5032, -168, 6418, 0 },
{ SCENE_SPOT00, -5256, -700, 14329, 0 },
{ SCENE_SPOT00, -5749, -820, 15380, 0 },
{ SCENE_SPOT00, -3122, -700, 13608, 0 },
{ SCENE_SPOT00, -3758, -525, 13228, 0 },
{ SCENE_SPOT00, -3670, -500, 13123, 0 },
{ SCENE_SPOT00, -2924, -500, 13526, 0 },
{ SCENE_SPOT00, 1389, -115, 9370, 0 },
{ SCENE_SPOT00, 548, -116, 8889, 0 },
{ SCENE_SPOT00, -106, -107, 8530, 0 },
{ SCENE_SPOT00, -1608, 85, 7646, 0 },
{ SCENE_SPOT00, -5300, -700, 13772, 0 },
{ SCENE_SPOT00, -5114, -700, 13400, 0 },
{ SCENE_SPOT00, -4561, -700, 13700, 0 },
{ SCENE_SPOT00, -4762, -700, 14084, 0 },
{ SCENE_SPOT00, -2954, 100, 8216, 0 },
{ SCENE_SPOT00, 1460, -104, 9246, 0 },
{ SCENE_SPOT00, 629, -105, 8791, 0 },
{ SCENE_SPOT00, -10, -90, 8419, 0 },
{ SCENE_SPOT00, -1462, 100, 7504, 0 },
{ SCENE_SPOT00, -3018, -500, 12493, 0 },
{ SCENE_SPOT00, -2994, -311, 10331, 0 },
{ SCENE_SPOT00, -4006, -700, 14152, 0 },
{ SCENE_SPOT00, -4341, -500, 12743, 0 },
{ SCENE_SPOT00, -5879, -497, 6799, 0 },
{ SCENE_SPOT00, 22, -473, 10103, 0 },
{ SCENE_SPOT00, -1389, -192, 8874, 0 },
{ SCENE_SPOT00, -4, 92, 6866, 0 },
{ SCENE_SPOT00, 483, 104, 6637, 0 },
{ SCENE_SPOT00, 1580, 183, 5987, 0 },
{ SCENE_SPOT00, 1548, 308, 5077, 0 },
{ SCENE_SPOT00, 1511, 399, 4267, 0 },
{ SCENE_SPOT00, 1358, 385, 4271, 0 },
{ SCENE_SPOT00, 1379, 395, 5063, 0 },
{ SCENE_SPOT00, 1360, 394, 5870, 0 },
{ SCENE_SPOT00, 813, 283, 6194, 0 },
{ SCENE_SPOT00, -57, 101, 6743, 0 },
{ SCENE_SPOT00, 91, 325, 5143, 0 },
{ SCENE_SPOT00, 1425, -214, 7659, 0 },
{ SCENE_SPOT00, 3487, -19, 880, 0 },
{ SCENE_SPOT00, 2933, 152, 2094, 0 },
{ SCENE_SPOT00, 2888, -145, 6862, 0 },
{ SCENE_SPOT00, 1511, 67, 6471, 0 },
{ SCENE_SPOT00, 4051, -47, 1722, 0 },
{ SCENE_SPOT00, -7335, -500, 8627, 0 },
{ SCENE_SPOT00, -7728, -462, 8498, 0 },
{ SCENE_SPOT00, -7791, -446, 8832, 0 },
{ SCENE_SPOT00, -2915, -435, 11334, 0 },
{ SCENE_SPOT00, 165, -278, 3352, 0 },
{ SCENE_HYRULE_FIELD, 16, 0, 1341, 0 },
{ SCENE_HYRULE_FIELD, -1297, 0, 1459, 0 },
{ SCENE_HYRULE_FIELD, -5416, -300, 1296, 0 },
{ SCENE_HYRULE_FIELD, -4667, -300, 3620, 0 },
{ SCENE_HYRULE_FIELD, -3837, 81, 5537, 0 },
{ SCENE_HYRULE_FIELD, -5093, -226, 6661, 0 },
{ SCENE_HYRULE_FIELD, -6588, -79, 5053, 0 },
{ SCENE_HYRULE_FIELD, -7072, -500, 7538, 0 },
{ SCENE_HYRULE_FIELD, -6139, -500, 8910, 0 },
{ SCENE_HYRULE_FIELD, -8497, -300, 7802, 0 },
{ SCENE_HYRULE_FIELD, -5481, -499, 12127, 0 },
{ SCENE_HYRULE_FIELD, -4808, -700, 13583, 0 },
{ SCENE_HYRULE_FIELD, -3416, -490, 12092, 0 },
{ SCENE_HYRULE_FIELD, -2915, 100, 8339, 0 },
{ SCENE_HYRULE_FIELD, -2277, -500, 13247, 0 },
{ SCENE_HYRULE_FIELD, -1026, -500, 12101, 0 },
{ SCENE_HYRULE_FIELD, 1427, -500, 13341, 0 },
{ SCENE_HYRULE_FIELD, -200, -486, 10205, 0 },
{ SCENE_HYRULE_FIELD, -1469, 100, 7496, 0 },
{ SCENE_HYRULE_FIELD, -995, 168, 5652, 0 },
{ SCENE_HYRULE_FIELD, 1938, 89, 6232, 0 },
{ SCENE_HYRULE_FIELD, 1387, -105, 9206, 0 },
{ SCENE_HYRULE_FIELD, 1571, -223, 7701, 0 },
{ SCENE_HYRULE_FIELD, 3893, -121, 7068, 0 },
{ SCENE_HYRULE_FIELD, 3179, 373, 5221, 0 },
{ SCENE_HYRULE_FIELD, 4678, -20, 3869, 0 },
{ SCENE_HYRULE_FIELD, 3460, 246, 4207, 0 },
{ SCENE_HYRULE_FIELD, 3686, 128, 2366, 0 },
{ SCENE_HYRULE_FIELD, 1791, 18, 152, 0 },
{ SCENE_HYRULE_FIELD, 3667, -16, 1399, 0 },
{ SCENE_HYRULE_FIELD, 1827, -15, 983, 0 },
{ SCENE_HYRULE_FIELD, 1574, 399, 4318, 0 },
{ SCENE_HYRULE_FIELD, 716, 95, 3391, 0 },
{ SCENE_HYRULE_FIELD, -1189, -41, 4739, 0 },
{ SCENE_HYRULE_FIELD, -1976, -171, 4172, 0 },
{ SCENE_HYRULE_FIELD, 1314, 391, 5665, 0 },
{ SCENE_HYRULE_FIELD, 112, 0, 1959, 0 },
{ SCENE_HYRULE_FIELD, -3011, -111, 9397, 0 },
{ SCENE_HYRULE_FIELD, -5674, -270, 8585, 0 },
{ SCENE_HYRULE_FIELD, -8861, -300, 7836, 0 },
{ SCENE_HYRULE_FIELD, -6056, -500, 7810, 0 },
{ SCENE_HYRULE_FIELD, -7306, -500, 5994, 0 },
{ SCENE_HYRULE_FIELD, -7305, -500, 7605, 0 },
{ SCENE_HYRULE_FIELD, -7439, -300, 7600, 0 },
{ SCENE_HYRULE_FIELD, -7464, -300, 6268, 0 },
{ SCENE_HYRULE_FIELD, -8080, -300, 7553, 0 },
{ SCENE_HYRULE_FIELD, -8091, -300, 7349, 0 },
{ SCENE_HYRULE_FIELD, -8785, -300, 7383, 0 },
{ SCENE_HYRULE_FIELD, -8745, -300, 7508, 0 },
{ SCENE_HYRULE_FIELD, -8777, -300, 7788, 0 },
{ SCENE_HYRULE_FIELD, -8048, -299, 7738, 0 },
{ SCENE_HYRULE_FIELD, -7341, -184, 7730, 0 },
{ SCENE_HYRULE_FIELD, -6410, -288, 7824, 0 },
{ SCENE_HYRULE_FIELD, -6326, -290, 8205, 0 },
{ SCENE_HYRULE_FIELD, -6546, -292, 8400, 0 },
{ SCENE_HYRULE_FIELD, -7533, -180, 8459, 0 },
{ SCENE_HYRULE_FIELD, -8024, -295, 7903, 0 },
{ SCENE_HYRULE_FIELD, -8078, -308, 7994, 0 },
{ SCENE_HYRULE_FIELD, -9425, -287, 7696, 0 },
{ SCENE_HYRULE_FIELD, -9322, -292, 7577, 0 },
{ SCENE_HYRULE_FIELD, -9602, -199, 7160, 0 },
{ SCENE_HYRULE_FIELD, -9307, -300, 7758, 0 },
{ SCENE_HYRULE_FIELD, -9230, -300, 7642, 0 },
{ SCENE_HYRULE_FIELD, -7556, -499, 8695, 0 },
{ SCENE_HYRULE_FIELD, -6438, -500, 8606, 0 },
{ SCENE_HYRULE_FIELD, -6078, -500, 8258, 0 },
{ SCENE_HYRULE_FIELD, -6233, -500, 7613, 0 },
{ SCENE_HYRULE_FIELD, -5035, -205, 7814, 0 },
{ SCENE_HYRULE_FIELD, -5971, -500, 8501, 0 },
{ SCENE_HYRULE_FIELD, -5724, -498, 10123, 0 },
{ SCENE_HYRULE_FIELD, -5094, -392, 11106, 0 },
{ SCENE_HYRULE_FIELD, -5105, -393, 11312, 0 },
{ SCENE_HYRULE_FIELD, -4477, -314, 11132, 0 },
{ SCENE_HYRULE_FIELD, -3867, -380, 11419, 0 },
{ SCENE_HYRULE_FIELD, -2952, -500, 11944, 0 },
{ SCENE_HYRULE_FIELD, -2871, -488, 11743, 0 },
{ SCENE_HYRULE_FIELD, -3829, -372, 11327, 0 },
{ SCENE_HYRULE_FIELD, -4439, -293, 10989, 0 },
{ SCENE_HYRULE_FIELD, -5014, -381, 11086, 0 },
{ SCENE_HYRULE_FIELD, -5113, -188, 10968, 0 },
{ SCENE_HYRULE_FIELD, -5269, -188, 11156, 0 },
{ SCENE_HYRULE_FIELD, -5596, -178, 9972, 0 },
{ SCENE_HYRULE_FIELD, -5801, -288, 8518, 0 },
{ SCENE_HYRULE_FIELD, -4910, -178, 7931, 0 },
{ SCENE_HYRULE_FIELD, -3586, 73, 8140, 0 },
{ SCENE_HYRULE_FIELD, -4487, -106, 9362, 0 },
{ SCENE_HYRULE_FIELD, -4339, -112, 6412, 0 },
{ SCENE_HYRULE_FIELD, -3417, 105, 8194, 0 },
{ SCENE_HYRULE_FIELD, -4505, -20, 6608, 0 },
{ SCENE_HYRULE_FIELD, -5038, -199, 6603, 0 },
{ SCENE_HYRULE_FIELD, -4481, 1, 6448, 0 },
{ SCENE_HYRULE_FIELD, -5032, -168, 6418, 0 },
{ SCENE_HYRULE_FIELD, -5256, -700, 14329, 0 },
{ SCENE_HYRULE_FIELD, -5749, -820, 15380, 0 },
{ SCENE_HYRULE_FIELD, -3122, -700, 13608, 0 },
{ SCENE_HYRULE_FIELD, -3758, -525, 13228, 0 },
{ SCENE_HYRULE_FIELD, -3670, -500, 13123, 0 },
{ SCENE_HYRULE_FIELD, -2924, -500, 13526, 0 },
{ SCENE_HYRULE_FIELD, 1389, -115, 9370, 0 },
{ SCENE_HYRULE_FIELD, 548, -116, 8889, 0 },
{ SCENE_HYRULE_FIELD, -106, -107, 8530, 0 },
{ SCENE_HYRULE_FIELD, -1608, 85, 7646, 0 },
{ SCENE_HYRULE_FIELD, -5300, -700, 13772, 0 },
{ SCENE_HYRULE_FIELD, -5114, -700, 13400, 0 },
{ SCENE_HYRULE_FIELD, -4561, -700, 13700, 0 },
{ SCENE_HYRULE_FIELD, -4762, -700, 14084, 0 },
{ SCENE_HYRULE_FIELD, -2954, 100, 8216, 0 },
{ SCENE_HYRULE_FIELD, 1460, -104, 9246, 0 },
{ SCENE_HYRULE_FIELD, 629, -105, 8791, 0 },
{ SCENE_HYRULE_FIELD, -10, -90, 8419, 0 },
{ SCENE_HYRULE_FIELD, -1462, 100, 7504, 0 },
{ SCENE_HYRULE_FIELD, -3018, -500, 12493, 0 },
{ SCENE_HYRULE_FIELD, -2994, -311, 10331, 0 },
{ SCENE_HYRULE_FIELD, -4006, -700, 14152, 0 },
{ SCENE_HYRULE_FIELD, -4341, -500, 12743, 0 },
{ SCENE_HYRULE_FIELD, -5879, -497, 6799, 0 },
{ SCENE_HYRULE_FIELD, 22, -473, 10103, 0 },
{ SCENE_HYRULE_FIELD, -1389, -192, 8874, 0 },
{ SCENE_HYRULE_FIELD, -4, 92, 6866, 0 },
{ SCENE_HYRULE_FIELD, 483, 104, 6637, 0 },
{ SCENE_HYRULE_FIELD, 1580, 183, 5987, 0 },
{ SCENE_HYRULE_FIELD, 1548, 308, 5077, 0 },
{ SCENE_HYRULE_FIELD, 1511, 399, 4267, 0 },
{ SCENE_HYRULE_FIELD, 1358, 385, 4271, 0 },
{ SCENE_HYRULE_FIELD, 1379, 395, 5063, 0 },
{ SCENE_HYRULE_FIELD, 1360, 394, 5870, 0 },
{ SCENE_HYRULE_FIELD, 813, 283, 6194, 0 },
{ SCENE_HYRULE_FIELD, -57, 101, 6743, 0 },
{ SCENE_HYRULE_FIELD, 91, 325, 5143, 0 },
{ SCENE_HYRULE_FIELD, 1425, -214, 7659, 0 },
{ SCENE_HYRULE_FIELD, 3487, -19, 880, 0 },
{ SCENE_HYRULE_FIELD, 2933, 152, 2094, 0 },
{ SCENE_HYRULE_FIELD, 2888, -145, 6862, 0 },
{ SCENE_HYRULE_FIELD, 1511, 67, 6471, 0 },
{ SCENE_HYRULE_FIELD, 4051, -47, 1722, 0 },
{ SCENE_HYRULE_FIELD, -7335, -500, 8627, 0 },
{ SCENE_HYRULE_FIELD, -7728, -462, 8498, 0 },
{ SCENE_HYRULE_FIELD, -7791, -446, 8832, 0 },
{ SCENE_HYRULE_FIELD, -2915, -435, 11334, 0 },
{ SCENE_HYRULE_FIELD, 165, -278, 3352, 0 },
// Lake Hylia
{ SCENE_SPOT06, -2109, -882, 1724, 0 },
{ SCENE_SPOT06, -328, -1238, 2705, 0 },
{ SCENE_SPOT06, -3092, -1033, 3527, 0 },
{ SCENE_LAKE_HYLIA, -2109, -882, 1724, 0 },
{ SCENE_LAKE_HYLIA, -328, -1238, 2705, 0 },
{ SCENE_LAKE_HYLIA, -3092, -1033, 3527, 0 },
// Gerudo Valley
{ SCENE_SPOT09, 2687, -269, 753, 0 },
{ SCENE_SPOT09, 2066, -132, 317, 0 },
{ SCENE_SPOT09, 523, -8, 635, 0 },
{ SCENE_SPOT09, 558, 36, -323, 0 },
{ SCENE_SPOT09, 615, 51, -839, 0 },
{ SCENE_SPOT09, -614, 32, 29, 0 },
{ SCENE_SPOT09, -639, -3, 553, 0 },
{ SCENE_SPOT09, -540, 10, -889, 0 },
{ SCENE_SPOT09, -1666, 58, 378, 0 },
{ SCENE_SPOT09, -3044, 210, -648, 0 },
{ SCENE_GERUDO_VALLEY, 2687, -269, 753, 0 },
{ SCENE_GERUDO_VALLEY, 2066, -132, 317, 0 },
{ SCENE_GERUDO_VALLEY, 523, -8, 635, 0 },
{ SCENE_GERUDO_VALLEY, 558, 36, -323, 0 },
{ SCENE_GERUDO_VALLEY, 615, 51, -839, 0 },
{ SCENE_GERUDO_VALLEY, -614, 32, 29, 0 },
{ SCENE_GERUDO_VALLEY, -639, -3, 553, 0 },
{ SCENE_GERUDO_VALLEY, -540, 10, -889, 0 },
{ SCENE_GERUDO_VALLEY, -1666, 58, 378, 0 },
{ SCENE_GERUDO_VALLEY, -3044, 210, -648, 0 },
// Gerudo's Fortress
{ SCENE_SPOT12, -678, 21, -623, 0 },
{ SCENE_SPOT12, 149, 333, -2499, 0 },
{ SCENE_SPOT12, 499, 581, -547, 0 },
{ SCENE_SPOT12, 3187, 1413, -3775, 0 },
{ SCENE_SPOT12, 3198, 1413, 307, 0 },
{ SCENE_SPOT12, 3380, 1413, -1200, 0 },
{ SCENE_SPOT12, -966, 1, -56, 0 },
{ SCENE_SPOT12, -966, 24, -761, 0 },
{ SCENE_SPOT12, -694, 174, -2820, 0 },
{ SCENE_GERUDOS_FORTRESS, -678, 21, -623, 0 },
{ SCENE_GERUDOS_FORTRESS, 149, 333, -2499, 0 },
{ SCENE_GERUDOS_FORTRESS, 499, 581, -547, 0 },
{ SCENE_GERUDOS_FORTRESS, 3187, 1413, -3775, 0 },
{ SCENE_GERUDOS_FORTRESS, 3198, 1413, 307, 0 },
{ SCENE_GERUDOS_FORTRESS, 3380, 1413, -1200, 0 },
{ SCENE_GERUDOS_FORTRESS, -966, 1, -56, 0 },
{ SCENE_GERUDOS_FORTRESS, -966, 24, -761, 0 },
{ SCENE_GERUDOS_FORTRESS, -694, 174, -2820, 0 },
// Lon Lon Ranch
{ SCENE_SPOT20, 1039, 0, 2051, 0 },
{ SCENE_SPOT20, -1443, 0, 1429, 0 },
{ SCENE_SPOT20, 856, 0, -918, 0 }, // Hardcoded to always load in lon lon
{ SCENE_SPOT20, 882, 0, -2256, 0 },
{ SCENE_SPOT20, -1003, 0, -755, 0 }, // Hardcoded to always load in lon lon
{ SCENE_SPOT20, -2254, 0, -629, 0 },
{ SCENE_SPOT20, 907, 0, -2336, 0 },
{ SCENE_LON_LON_RANCH, 1039, 0, 2051, 0 },
{ SCENE_LON_LON_RANCH, -1443, 0, 1429, 0 },
{ SCENE_LON_LON_RANCH, 856, 0, -918, 0 }, // Hardcoded to always load in lon lon
{ SCENE_LON_LON_RANCH, 882, 0, -2256, 0 },
{ SCENE_LON_LON_RANCH, -1003, 0, -755, 0 }, // Hardcoded to always load in lon lon
{ SCENE_LON_LON_RANCH, -2254, 0, -629, 0 },
{ SCENE_LON_LON_RANCH, 907, 0, -2336, 0 },
};
typedef struct {
@ -455,7 +455,7 @@ s32 EnHorse_BgCheckBridgeJumpPoint(EnHorse* this, PlayState* play) {
f32 xMax;
s32 i;
if (play->sceneId != SCENE_SPOT09) {
if (play->sceneId != SCENE_GERUDO_VALLEY) {
return false;
}
if (this->actor.speedXZ < 12.8f) {
@ -680,7 +680,7 @@ s32 EnHorse_Spawn(EnHorse* this, PlayState* play) {
for (i = 0; i < 169; i++) {
if (sHorseSpawns[i].sceneId == play->sceneId) {
player = GET_PLAYER(play);
if (play->sceneId != SCENE_SPOT20 ||
if (play->sceneId != SCENE_LON_LON_RANCH ||
//! Same flag checked twice
(Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) &&
(GET_EVENTINF_HORSES_STATE() != EVENTINF_HORSES_STATE_6 ||
@ -786,9 +786,9 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
this->actor.params = 1;
}
if (play->sceneId == SCENE_SOUKO) {
if (play->sceneId == SCENE_LON_LON_BUILDINGS) {
this->stateFlags = ENHORSE_UNRIDEABLE;
} else if (play->sceneId == SCENE_SPOT12 && this->type == HORSE_HNI) {
} else if (play->sceneId == SCENE_GERUDOS_FORTRESS && this->type == HORSE_HNI) {
this->stateFlags = ENHORSE_FLAG_18 | ENHORSE_UNRIDEABLE;
} else {
if (this->actor.params == 3) {
@ -808,7 +808,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
}
}
if (play->sceneId == SCENE_SPOT20 && GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6 &&
if (play->sceneId == SCENE_LON_LON_RANCH && GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6 &&
!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && !DREG(1)) {
this->stateFlags |= ENHORSE_FLAG_25;
}
@ -829,7 +829,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
this->actor.focus.pos.y += 70.0f;
this->playerControlled = false;
if ((play->sceneId == SCENE_SPOT20) && !IS_CUTSCENE_LAYER) {
if ((play->sceneId == SCENE_LON_LON_RANCH) && !IS_CUTSCENE_LAYER) {
if (this->type == HORSE_HNI) {
if (this->actor.world.rot.z == 0 || !IS_DAY) {
Actor_Kill(&this->actor);
@ -847,7 +847,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
Actor_Kill(&this->actor);
return;
}
} else if (play->sceneId == SCENE_MALON_STABLE) {
} else if (play->sceneId == SCENE_STABLE) {
if (IS_DAY || Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || DREG(1) != 0 || !LINK_IS_ADULT) {
Actor_Kill(&this->actor);
return;
@ -883,12 +883,12 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
} else if (this->actor.params == 8) {
EnHorse_InitHorsebackArchery(this);
Interface_InitHorsebackArchery(play);
} else if (play->sceneId == SCENE_SPOT20 && !Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && !DREG(1)) {
} else if (play->sceneId == SCENE_LON_LON_RANCH && !Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && !DREG(1)) {
EnHorse_InitFleePlayer(this);
} else {
if (play->sceneId == SCENE_SOUKO) {
if (play->sceneId == SCENE_LON_LON_BUILDINGS) {
EnHorse_ResetIdleAnimation(this);
} else if (play->sceneId == SCENE_SPOT12 && this->type == HORSE_HNI) {
} else if (play->sceneId == SCENE_GERUDOS_FORTRESS && this->type == HORSE_HNI) {
EnHorse_ResetIdleAnimation(this);
} else {
EnHorse_StartIdleRidable(this);
@ -2526,7 +2526,7 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, PlayState* play) {
if ((this->hbaFlags & 1) || (this->hbaTimer >= 46)) {
if ((isFanfarePlaying != true) && (gSaveContext.minigameState != 3)) {
gSaveContext.cutsceneIndex = 0;
play->nextEntranceIndex = ENTR_SPOT12_16;
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_16;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
}
@ -3092,7 +3092,7 @@ void EnHorse_BgCheckSlowMoving(EnHorse* this, PlayState* play) {
CollisionPoly* colPoly;
s32 bgId;
if (play->sceneId == SCENE_SPOT20) {
if (play->sceneId == SCENE_LON_LON_RANCH) {
yOffset = 19.0f;
} else {
yOffset = 40.0f;
@ -3129,7 +3129,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
Vec3f intersect;
Vec3f obstacleTop;
Actor_UpdateBgCheckInfo(play, &this->actor, play->sceneId == SCENE_SPOT20 ? 19.0f : 40.0f, 35.0f, 100.0f,
Actor_UpdateBgCheckInfo(play, &this->actor, play->sceneId == SCENE_LON_LON_RANCH ? 19.0f : 40.0f, 35.0f, 100.0f,
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
UPDBGCHECKINFO_FLAG_4);
@ -3553,7 +3553,8 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
CollisionCheck_SetOC(play, &play->colChkCtx, &this->cyl1.base);
CollisionCheck_SetOC(play, &play->colChkCtx, &this->cyl2.base);
if ((player->stateFlags1 & PLAYER_STATE1_0) && player->rideActor != NULL) {
if (play->sceneId != SCENE_SPOT20 || (play->sceneId == SCENE_SPOT20 && (thisx->world.pos.z < -2400.0f))) {
if (play->sceneId != SCENE_LON_LON_RANCH ||
(play->sceneId == SCENE_LON_LON_RANCH && (thisx->world.pos.z < -2400.0f))) {
EnHorse_UpdateConveyors(this, play);
}
}
@ -3572,7 +3573,7 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
this->stateFlags &= ~ENHORSE_FLAG_24;
}
if (play->sceneId == SCENE_SPOT09 && !GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) {
if (play->sceneId == SCENE_GERUDO_VALLEY && !GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) {
EnHorse_CheckBridgeJumps(this, play);
}
@ -3599,7 +3600,7 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
this->cyl1.base.atFlags &= ~AT_ON;
}
if (gSaveContext.entranceIndex != ENTR_SPOT20_0 || gSaveContext.sceneLayer != 9) {
if (gSaveContext.entranceIndex != ENTR_LON_LON_RANCH_0 || gSaveContext.sceneLayer != 9) {
if (this->dustFlags & 1) {
this->dustFlags &= ~1;
func_800287AC(play, &this->frontRightHoof, &dustVel, &dustAcc, EnHorse_RandInt(100) + 200,

View file

@ -108,7 +108,7 @@ s32 EnHorseGameCheck_DestroyIngoRace(EnHorseGameCheckBase* base, PlayState* play
void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, PlayState* play) {
gSaveContext.cutsceneIndex = 0;
if (this->result == INGORACE_PLAYER_WIN) {
play->nextEntranceIndex = ENTR_SPOT20_7;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_7;
if (GET_EVENTINF(EVENTINF_HORSES_06)) {
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_6);
SET_EVENTINF_HORSES_0F(1);
@ -121,7 +121,7 @@ void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, PlayState*
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
}
} else {
play->nextEntranceIndex = ENTR_SPOT20_8;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_8;
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_3);
play->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
SET_EVENTINF_HORSES_0F(1);
@ -294,21 +294,21 @@ s32 EnHorseGameCheck_DestroyMalonRace(EnHorseGameCheckBase* base, PlayState* pla
void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, PlayState* play) {
if ((this->result == MALONRACE_SUCCESS) || (this->result == MALONRACE_TIME_UP)) {
gSaveContext.cutsceneIndex = 0;
play->nextEntranceIndex = ENTR_SPOT20_7;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_7;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;
} else if (this->result == MALONRACE_FAILURE) {
gSaveContext.timerSeconds = 240;
gSaveContext.timerState = TIMER_STATE_UP_FREEZE;
gSaveContext.cutsceneIndex = 0;
play->nextEntranceIndex = ENTR_SPOT20_7;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_7;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;
} else {
// "not supported"
osSyncPrintf("En_HGC_Spot20_Ta_end():対応せず\n");
gSaveContext.cutsceneIndex = 0;
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;
}
@ -444,7 +444,7 @@ void EnHorseGameCheck_Init(Actor* thisx, PlayState* play) {
s32 pad;
EnHorseGameCheckBase* this = (EnHorseGameCheckBase*)thisx;
if ((play->sceneId == SCENE_SPOT20) && (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || DREG(1))) {
if ((play->sceneId == SCENE_LON_LON_RANCH) && (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || DREG(1))) {
this->actor.params = HORSEGAME_MALON_RACE;
}
if (sInitFuncs[this->actor.params] != NULL) {

View file

@ -164,7 +164,7 @@ void EnHorseLinkChild_Init(Actor* thisx, PlayState* play) {
if (IS_CUTSCENE_LAYER) {
func_80A69EC0(this);
} else if (play->sceneId == SCENE_SPOT20) {
} else if (play->sceneId == SCENE_LON_LON_RANCH) {
if (!Flags_GetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
return;
@ -351,7 +351,7 @@ void func_80A6A068(EnHorseLinkChild* this, PlayState* play) {
player = GET_PLAYER(play);
distFromLink = Actor_WorldDistXZToActor(&this->actor, &player->actor);
if (gSaveContext.entranceIndex == ENTR_SPOT20_1) {
if (gSaveContext.entranceIndex == ENTR_LON_LON_RANCH_1) {
Audio_PlaySfxGeneral(NA_SE_EV_KID_HORSE_NEIGH, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
func_80A6A724(this);
@ -359,7 +359,7 @@ void func_80A6A068(EnHorseLinkChild* this, PlayState* play) {
}
if ((GET_EVENTCHKINF(EVENTCHKINF_16) && (DREG(53) != 0)) ||
((play->sceneId == SCENE_SPOT20) && (gSaveContext.cutsceneIndex == 0xFFF1))) {
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.cutsceneIndex == 0xFFF1))) {
func_80A6A4DC(this);
} else {
this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_16);
@ -559,7 +559,7 @@ void EnHorseLinkChild_Update(Actor* thisx, PlayState* play) {
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
UPDBGCHECKINFO_FLAG_4);
if ((play->sceneId == SCENE_SPOT20) && (this->actor.world.pos.z < -2400.0f)) {
if ((play->sceneId == SCENE_LON_LON_RANCH) && (this->actor.world.pos.z < -2400.0f)) {
this->actor.world.pos.z = -2400.0f;
}

View file

@ -201,7 +201,7 @@ void EnHorseNormal_Init(Actor* thisx, PlayState* play) {
Collider_InitCylinder(play, &this->cloneCollider);
Collider_SetCylinder(play, &this->cloneCollider, &this->actor, &sCylinderInit2);
CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
if (play->sceneId == SCENE_SPOT20) {
if (play->sceneId == SCENE_LON_LON_RANCH) {
if (this->actor.world.rot.z == 0 || !IS_DAY) {
Actor_Kill(&this->actor);
return;
@ -235,7 +235,7 @@ void EnHorseNormal_Init(Actor* thisx, PlayState* play) {
func_80A6C6B0(this);
return;
}
} else if (play->sceneId == SCENE_MALON_STABLE) {
} else if (play->sceneId == SCENE_STABLE) {
if (IS_DAY) {
Actor_Kill(&this->actor);
return;
@ -245,7 +245,7 @@ void EnHorseNormal_Init(Actor* thisx, PlayState* play) {
func_80A6C6B0(this);
return;
}
} else if (play->sceneId == SCENE_SPOT12) {
} else if (play->sceneId == SCENE_GERUDOS_FORTRESS) {
if (this->actor.world.pos.x == 3707.0f && this->actor.world.pos.y == 1413.0f &&
this->actor.world.pos.z == -665.0f) {
Skin_Init(play, &this->skin, &gHorseNormalSkel, &gHorseNormalIdleAnim);
@ -583,7 +583,7 @@ void EnHorseNormal_Update(Actor* thisx, PlayState* play) {
Actor_UpdateBgCheckInfo(play, &this->actor, 20.0f, 35.0f, 100.0f,
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
UPDBGCHECKINFO_FLAG_4);
if (play->sceneId == SCENE_SPOT20 && this->actor.world.pos.z < -2400.0f) {
if (play->sceneId == SCENE_LON_LON_RANCH && this->actor.world.pos.z < -2400.0f) {
this->actor.world.pos.z = -2400.0f;
}
this->actor.focus.pos = this->actor.world.pos;
@ -654,7 +654,7 @@ void EnHorseNormal_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_en_horse_normal.c", 2224);
if (play->sceneId != SCENE_SPOT20 || play->sceneId != SCENE_MALON_STABLE) {
if (play->sceneId != SCENE_LON_LON_RANCH || play->sceneId != SCENE_STABLE) {
func_80A6C8E0(this, play);
}
Gfx_SetupDL_25Opa(play->state.gfxCtx);
@ -668,7 +668,7 @@ void EnHorseNormal_Draw(Actor* thisx, PlayState* play) {
f32 distFromGround = this->actor.world.pos.y - this->actor.floorHeight;
f32 temp_f0_4;
if (play->sceneId == SCENE_MALON_STABLE) {
if (play->sceneId == SCENE_STABLE) {
if (this->actor.world.pos.x == 355.0f && this->actor.world.pos.y == 0.0f &&
this->actor.world.pos.z == -245.0f) {
clonePos.x = 235.0f;
@ -682,7 +682,7 @@ void EnHorseNormal_Draw(Actor* thisx, PlayState* play) {
clonePos.z = 100.0f;
cloneRotY = 0x7FFF;
}
} else if (play->sceneId == SCENE_SPOT20) {
} else if (play->sceneId == SCENE_LON_LON_RANCH) {
if (this->actor.world.pos.x == -730.0f && this->actor.world.pos.y == 0.0f &&
this->actor.world.pos.z == -1100.0f) {
clonePos.x = 780.0f;

View file

@ -428,7 +428,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
switch (this->actor.params & 0x7F) {
case ENHY_TYPE_AOB:
if (play->sceneId == SCENE_KAKARIKO) {
if (play->sceneId == SCENE_KAKARIKO_CENTER_GUEST_HOUSE) {
return (this->unk_330 & EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO_MASK)
? 0x508D
: (GET_INFTABLE(INFTABLE_CB) ? 0x508C : 0x508B);
@ -453,9 +453,9 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
return GET_INFTABLE(INFTABLE_C0) ? 0x7017 : 0x7016;
}
case ENHY_TYPE_AHG_2:
if (play->sceneId == SCENE_KAKARIKO) {
if (play->sceneId == SCENE_KAKARIKO_CENTER_GUEST_HOUSE) {
return 0x5086;
} else if (play->sceneId == SCENE_SPOT01) {
} else if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
return 0x5085;
} else if (GET_EVENTCHKINF(EVENTCHKINF_80)) {
return GET_INFTABLE(INFTABLE_C3) ? 0x701A : 0x7047;
@ -478,9 +478,9 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
case ENHY_TYPE_BBA:
return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704A : (GET_INFTABLE(INFTABLE_C6) ? 0x7022 : 0x7021);
case ENHY_TYPE_BJI_7:
if (play->sceneId == SCENE_KAKARIKO) {
if (play->sceneId == SCENE_KAKARIKO_CENTER_GUEST_HOUSE) {
return 0x5088;
} else if (play->sceneId == SCENE_SPOT01) {
} else if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
return 0x5087;
} else {
return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704D : (GET_INFTABLE(INFTABLE_C7) ? 0x7028 : 0x7027);
@ -492,17 +492,17 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
return GET_INFTABLE(INFTABLE_C8) ? 0x701E : 0x701D;
}
case ENHY_TYPE_BOJ_9:
if (play->sceneId == SCENE_KAKARIKO) {
if (play->sceneId == SCENE_KAKARIKO_CENTER_GUEST_HOUSE) {
return GET_EVENTCHKINF(EVENTCHKINF_AA) ? 0x5082 : 0x5081;
} else if (play->sceneId == SCENE_SPOT01) {
} else if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
return CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) ? 0x5080 : 0x507F;
} else {
return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7049 : (GET_INFTABLE(INFTABLE_CA) ? 0x7020 : 0x701F);
}
case ENHY_TYPE_BOJ_10:
if (play->sceneId == SCENE_LABO) {
if (play->sceneId == SCENE_IMPAS_HOUSE) {
return GET_EVENTCHKINF(EVENTCHKINF_AA) ? 0x507E : 0x507D;
} else if (play->sceneId == SCENE_SPOT01) {
} else if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
return CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) ? 0x507C : 0x507B;
} else {
return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7046 : (GET_INFTABLE(INFTABLE_CD) ? 0x7019 : 0x7018);
@ -510,7 +510,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
case ENHY_TYPE_CNE_11:
return GET_INFTABLE(INFTABLE_8B) ? (GET_INFTABLE(INFTABLE_CC) ? 0x7014 : 0x70A4) : 0x7014;
case ENHY_TYPE_BOJ_12:
if (play->sceneId == SCENE_SPOT01) {
if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
return !IS_DAY ? 0x5084 : 0x5083;
} else {
return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7044 : 0x7015;
@ -808,7 +808,7 @@ void func_80A70978(EnHy* this, PlayState* play) {
s32 EnHy_ShouldSpawn(EnHy* this, PlayState* play) {
switch (play->sceneId) {
case SCENE_SPOT01:
case SCENE_KAKARIKO_VILLAGE:
if (!((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_9 || (this->actor.params & 0x7F) == ENHY_TYPE_BOJ_10 ||
(this->actor.params & 0x7F) == ENHY_TYPE_BOJ_12 || (this->actor.params & 0x7F) == ENHY_TYPE_AHG_2 ||
(this->actor.params & 0x7F) == ENHY_TYPE_BJI_7)) {
@ -820,7 +820,7 @@ s32 EnHy_ShouldSpawn(EnHy* this, PlayState* play) {
} else {
return true;
}
case SCENE_LABO:
case SCENE_IMPAS_HOUSE:
if ((this->actor.params & 0x7F) != ENHY_TYPE_BOJ_10) {
return true;
} else if (LINK_IS_CHILD) {
@ -830,7 +830,7 @@ s32 EnHy_ShouldSpawn(EnHy* this, PlayState* play) {
} else {
return true;
}
case SCENE_IMPA:
case SCENE_DOG_LADY_HOUSE:
if ((this->actor.params & 0x7F) != ENHY_TYPE_AOB) {
return true;
} else if (IS_DAY) {
@ -838,7 +838,7 @@ s32 EnHy_ShouldSpawn(EnHy* this, PlayState* play) {
} else {
return true;
}
case SCENE_KAKARIKO:
case SCENE_KAKARIKO_CENTER_GUEST_HOUSE:
if ((this->actor.params & 0x7F) == ENHY_TYPE_AOB) {
return !LINK_IS_ADULT ? false : true;
} else if (!((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_9 ||
@ -852,8 +852,8 @@ s32 EnHy_ShouldSpawn(EnHy* this, PlayState* play) {
} else {
return true;
}
case SCENE_MARKET_ALLEY:
case SCENE_MARKET_ALLEY_N:
case SCENE_BACK_ALLEY_DAY:
case SCENE_BACK_ALLEY_NIGHT:
if ((this->actor.params & 0x7F) != ENHY_TYPE_BOJ_14) {
return true;
} else if (IS_NIGHT) {
@ -911,12 +911,12 @@ void EnHy_InitImpl(EnHy* this, PlayState* play) {
CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, sModelInfo[this->actor.params & 0x7F].animInfoIndex);
if ((play->sceneId == SCENE_MARKET_ALLEY) || (play->sceneId == SCENE_MARKET_DAY)) {
if ((play->sceneId == SCENE_BACK_ALLEY_DAY) || (play->sceneId == SCENE_MARKET_DAY)) {
this->actor.flags &= ~ACTOR_FLAG_4;
this->actor.uncullZoneScale = 0.0f;
}
if (play->sceneId == SCENE_KAKARIKO) {
if (play->sceneId == SCENE_KAKARIKO_CENTER_GUEST_HOUSE) {
this->unk_330 = gSaveContext.eventChkInf[EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO_INDEX];
}

View file

@ -363,15 +363,15 @@ s32 func_80A7975C(EnIn* this, PlayState* play) {
}
s32 func_80A79830(EnIn* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT20 && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 1 &&
if (play->sceneId == SCENE_LON_LON_RANCH && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 1 &&
!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
return 1;
}
if (play->sceneId == SCENE_MALON_STABLE && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 3 &&
if (play->sceneId == SCENE_STABLE && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 3 &&
GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
return 1;
}
if (play->sceneId == SCENE_MALON_STABLE && LINK_IS_CHILD && IS_NIGHT) {
if (play->sceneId == SCENE_STABLE && LINK_IS_CHILD && IS_NIGHT) {
if ((this->actor.shape.rot.z == 2) && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
return 1;
}
@ -379,7 +379,7 @@ s32 func_80A79830(EnIn* this, PlayState* play) {
return 1;
}
}
if (play->sceneId == SCENE_SPOT20 && LINK_IS_ADULT && IS_DAY) {
if (play->sceneId == SCENE_LON_LON_RANCH && LINK_IS_ADULT && IS_DAY) {
if ((this->actor.shape.rot.z == 5) && !GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
return 2;
}
@ -387,7 +387,7 @@ s32 func_80A79830(EnIn* this, PlayState* play) {
return 4;
}
}
if (play->sceneId == SCENE_SOUKO && LINK_IS_ADULT && IS_NIGHT) {
if (play->sceneId == SCENE_LON_LON_BUILDINGS && LINK_IS_ADULT && IS_NIGHT) {
if (this->actor.shape.rot.z == 6 && !GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
return 3;
}
@ -424,7 +424,7 @@ void func_80A79AB4(EnIn* this, PlayState* play) {
}
void func_80A79BAC(EnIn* this, PlayState* play, s32 index, u32 transitionType) {
s16 entrances[] = { ENTR_SPOT20_8, ENTR_SPOT20_6, ENTR_SPOT20_0 };
s16 entrances[] = { ENTR_LON_LON_RANCH_8, ENTR_LON_LON_RANCH_6, ENTR_LON_LON_RANCH_0 };
play->nextEntranceIndex = entrances[index];
if (index == 2) {
@ -870,7 +870,7 @@ void func_80A7AEF0(EnIn* this, PlayState* play) {
pos.z += 90.0f * Math_CosS(this->actor.shape.rot.y);
yaw = Math_Vec3f_Yaw(&pos, &player->actor.world.pos);
if (ABS(yaw) > 0x4000) {
play->nextEntranceIndex = ENTR_SPOT00_15;
play->nextEntranceIndex = ENTR_HYRULE_FIELD_15;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
this->actionFunc = func_80A7B018;

View file

@ -147,7 +147,7 @@ void func_80A89A6C(EnJsjutan* this, PlayState* play) {
i = 1;
// Credits scene. The magic carpet man is friends with the bean guy and the lakeside professor.
if ((gSaveContext.entranceIndex == ENTR_SPOT20_0) && (gSaveContext.sceneLayer == 8)) {
if ((gSaveContext.entranceIndex == ENTR_LON_LON_RANCH_0) && (gSaveContext.sceneLayer == 8)) {
isInCreditsScene = true;
actorProfessor = play->actorCtx.actorLists[ACTORCAT_NPC].head;

View file

@ -972,7 +972,7 @@ void func_80A9877C(EnKo* this, PlayState* play) {
}
if (Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->lookDist, func_80A97610,
func_80A97738) &&
ENKO_TYPE == ENKO_TYPE_CHILD_FADO && play->sceneId == SCENE_SPOT10) {
ENKO_TYPE == ENKO_TYPE_CHILD_FADO && play->sceneId == SCENE_LOST_WOODS) {
this->actor.textId = INV_CONTENT(ITEM_TRADE_ADULT) > ITEM_ODD_POTION ? 0x10B9 : 0x10DF;
if (func_8002F368(play) == EXCH_ITEM_ODD_POTION) {
@ -986,7 +986,7 @@ void func_80A9877C(EnKo* this, PlayState* play) {
// Checks if the Kokiri should spawn based on quest progress
s32 EnKo_CanSpawn(EnKo* this, PlayState* play) {
switch (play->sceneId) {
case SCENE_SPOT04:
case SCENE_KOKIRI_FOREST:
if (ENKO_TYPE >= ENKO_TYPE_CHILD_7 && ENKO_TYPE != ENKO_TYPE_CHILD_FADO) {
return false;
}
@ -994,13 +994,13 @@ s32 EnKo_CanSpawn(EnKo* this, PlayState* play) {
return false;
}
return true;
case SCENE_KOKIRI_HOME:
case SCENE_KNOW_IT_ALL_BROS_HOUSE:
if (ENKO_TYPE != ENKO_TYPE_CHILD_7 && ENKO_TYPE != ENKO_TYPE_CHILD_8 && ENKO_TYPE != ENKO_TYPE_CHILD_11) {
return false;
} else {
return true;
}
case SCENE_KOKIRI_HOME3:
case SCENE_TWINS_HOUSE:
if (LINK_IS_ADULT && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) {
if (ENKO_TYPE != ENKO_TYPE_CHILD_1 && ENKO_TYPE != ENKO_TYPE_CHILD_9) {
return false;
@ -1013,7 +1013,7 @@ s32 EnKo_CanSpawn(EnKo* this, PlayState* play) {
} else {
return true;
}
case SCENE_KOKIRI_HOME4:
case SCENE_MIDOS_HOUSE:
if (LINK_IS_ADULT && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) {
if (ENKO_TYPE != ENKO_TYPE_CHILD_0 && ENKO_TYPE != ENKO_TYPE_CHILD_4) {
return false;
@ -1023,7 +1023,7 @@ s32 EnKo_CanSpawn(EnKo* this, PlayState* play) {
} else {
return false;
}
case SCENE_KOKIRI_HOME5:
case SCENE_SARIAS_HOUSE:
if (LINK_IS_ADULT && !CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) {
if (ENKO_TYPE != ENKO_TYPE_CHILD_6) {
return false;
@ -1047,7 +1047,7 @@ s32 EnKo_CanSpawn(EnKo* this, PlayState* play) {
return true;
}
case SCENE_SPOT10:
case SCENE_LOST_WOODS:
return (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_ODD_POTION) ? true : false;
default:
return false;
@ -1093,7 +1093,7 @@ s32 EnKo_GetForestQuestState2(EnKo* this) {
void func_80A98DB4(EnKo* this, PlayState* play) {
f32 dist;
if (play->sceneId != SCENE_SPOT10 && play->sceneId != SCENE_SPOT04) {
if (play->sceneId != SCENE_LOST_WOODS && play->sceneId != SCENE_KOKIRI_FOREST) {
this->modelAlpha = 255.0f;
return;
}
@ -1112,7 +1112,7 @@ void func_80A98DB4(EnKo* this, PlayState* play) {
}
s32 func_80A98ECC(EnKo* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT10 && ENKO_TYPE == ENKO_TYPE_CHILD_FADO) {
if (play->sceneId == SCENE_LOST_WOODS && ENKO_TYPE == ENKO_TYPE_CHILD_FADO) {
return func_80A97E18(this, play);
}
switch (EnKo_GetForestQuestState(this)) {

View file

@ -191,7 +191,7 @@ s32 func_80AA08C4(EnMa1* this, PlayState* play) {
!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) && !GET_INFTABLE(INFTABLE_8B)) {
return 1;
}
if ((play->sceneId == SCENE_SPOT15) && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
if ((play->sceneId == SCENE_HYRULE_CASTLE) && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
if (GET_INFTABLE(INFTABLE_8B)) {
return 1;
} else {
@ -199,10 +199,11 @@ s32 func_80AA08C4(EnMa1* this, PlayState* play) {
return 0;
}
}
if ((play->sceneId == SCENE_SOUKO) && IS_NIGHT && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
if ((play->sceneId == SCENE_LON_LON_BUILDINGS) && IS_NIGHT &&
GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
return 1;
}
if (play->sceneId != SCENE_SPOT20) {
if (play->sceneId != SCENE_LON_LON_RANCH) {
return 0;
}
if ((this->actor.shape.rot.z == 3) && IS_DAY && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
@ -309,7 +310,7 @@ void func_80AA0D88(EnMa1* this, PlayState* play) {
}
}
if ((play->sceneId == SCENE_SPOT15) && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
if ((play->sceneId == SCENE_HYRULE_CASTLE) && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
} else if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) {
@ -387,7 +388,7 @@ void func_80AA10EC(EnMa1* this, PlayState* play) {
void func_80AA1150(EnMa1* this, PlayState* play) {
GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_23;
if (play->msgCtx.ocarinaMode == OCARINA_MODE_03) {
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
gSaveContext.nextCutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_WHITE, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;

View file

@ -141,15 +141,15 @@ u16 func_80AA1B58(EnMa2* this, PlayState* play) {
if (LINK_IS_CHILD) {
return 0;
}
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_MALON_STABLE) && IS_DAY &&
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_STABLE) && IS_DAY &&
(this->actor.shape.rot.z == 5)) {
return 1;
}
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_SPOT20) && IS_NIGHT &&
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_LON_LON_RANCH) && IS_NIGHT &&
(this->actor.shape.rot.z == 6)) {
return 2;
}
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) || (play->sceneId != SCENE_SPOT20)) {
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) || (play->sceneId != SCENE_LON_LON_RANCH)) {
return 0;
}
if ((this->actor.shape.rot.z == 7) && IS_DAY) {

View file

@ -119,7 +119,7 @@ s16 func_80AA2BD4(PlayState* play, Actor* thisx) {
switch (Message_GetState(&play->msgCtx)) {
case TEXT_STATE_EVENT:
if (Message_ShouldAdvance(play)) {
play->nextEntranceIndex = ENTR_SPOT20_0;
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
gSaveContext.nextCutsceneIndex = 0xFFF0;
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
play->transitionTrigger = TRANS_TRIGGER_START;

View file

@ -451,11 +451,11 @@ u16 EnMd_GetText(PlayState* play, Actor* thisx) {
EnMd* this = (EnMd*)thisx;
switch (play->sceneId) {
case SCENE_SPOT04:
case SCENE_KOKIRI_FOREST:
return EnMd_GetTextKokiriForest(play, this);
case SCENE_KOKIRI_HOME4:
case SCENE_MIDOS_HOUSE:
return EnMd_GetTextKokiriHome(play, this);
case SCENE_SPOT10:
case SCENE_LOST_WOODS:
return EnMd_GetTextLostWoods(play, this);
default:
return 0;
@ -505,13 +505,13 @@ s16 func_80AAAF04(PlayState* play, Actor* thisx) {
}
u8 EnMd_ShouldSpawn(EnMd* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
if (!GET_EVENTCHKINF(EVENTCHKINF_1C) && !GET_EVENTCHKINF(EVENTCHKINF_40)) {
return 1;
}
}
if (play->sceneId == SCENE_KOKIRI_HOME4) {
if (play->sceneId == SCENE_MIDOS_HOUSE) {
if (GET_EVENTCHKINF(EVENTCHKINF_1C) || GET_EVENTCHKINF(EVENTCHKINF_40)) {
if (!LINK_IS_ADULT) {
return 1;
@ -519,7 +519,7 @@ u8 EnMd_ShouldSpawn(EnMd* this, PlayState* play) {
}
}
if (play->sceneId == SCENE_SPOT10) {
if (play->sceneId == SCENE_LOST_WOODS) {
return 1;
}
@ -637,9 +637,9 @@ u8 EnMd_SetMovedPos(EnMd* this, PlayState* play) {
void func_80AAB5A4(EnMd* this, PlayState* play) {
f32 temp;
if (play->sceneId != SCENE_KOKIRI_HOME4) {
if (play->sceneId != SCENE_MIDOS_HOUSE) {
temp = (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) &&
(play->sceneId == SCENE_SPOT04))
(play->sceneId == SCENE_KOKIRI_FOREST))
? 100.0f
: 400.0f;
this->alpha = func_80034DD4(&this->actor, play, this->alpha, temp);
@ -672,16 +672,16 @@ void EnMd_Init(Actor* thisx, PlayState* play) {
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_ELF, this->actor.world.pos.x,
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, FAIRY_KOKIRI);
if (((play->sceneId == SCENE_SPOT04) && !GET_EVENTCHKINF(EVENTCHKINF_04)) ||
((play->sceneId == SCENE_SPOT04) && GET_EVENTCHKINF(EVENTCHKINF_04) &&
if (((play->sceneId == SCENE_KOKIRI_FOREST) && !GET_EVENTCHKINF(EVENTCHKINF_04)) ||
((play->sceneId == SCENE_KOKIRI_FOREST) && GET_EVENTCHKINF(EVENTCHKINF_04) &&
CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) ||
((play->sceneId == SCENE_SPOT10) && !GET_EVENTCHKINF(EVENTCHKINF_0A))) {
((play->sceneId == SCENE_LOST_WOODS) && !GET_EVENTCHKINF(EVENTCHKINF_0A))) {
this->actor.home.pos = this->actor.world.pos;
this->actionFunc = func_80AAB948;
return;
}
if (play->sceneId != SCENE_KOKIRI_HOME4) {
if (play->sceneId != SCENE_MIDOS_HOUSE) {
EnMd_SetMovedPos(this, play);
}
@ -736,14 +736,14 @@ void func_80AAB948(EnMd* this, PlayState* play) {
if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) {
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) &&
(play->sceneId == SCENE_SPOT04)) {
(play->sceneId == SCENE_KOKIRI_FOREST)) {
play->msgCtx.msgMode = MSGMODE_PAUSED;
}
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
SET_EVENTCHKINF(EVENTCHKINF_04);
}
if (play->sceneId == SCENE_SPOT10) {
if (play->sceneId == SCENE_LOST_WOODS) {
SET_EVENTCHKINF(EVENTCHKINF_0A);
}
@ -760,7 +760,7 @@ void func_80AAB948(EnMd* this, PlayState* play) {
func_80034F54(play, this->unk_214, this->unk_236, ENMD_LIMB_MAX);
}
if ((this->interactInfo.talkState == NPC_TALK_STATE_IDLE) && (play->sceneId == SCENE_SPOT10)) {
if ((this->interactInfo.talkState == NPC_TALK_STATE_IDLE) && (play->sceneId == SCENE_LOST_WOODS)) {
if (player->stateFlags2 & PLAYER_STATE2_24) {
player->stateFlags2 |= PLAYER_STATE2_25;
player->unk_6A8 = &this->actor;
@ -803,7 +803,8 @@ void func_80AABD0C(EnMd* this, PlayState* play) {
return;
}
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) && (play->sceneId == SCENE_SPOT04)) {
if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) &&
(play->sceneId == SCENE_KOKIRI_FOREST)) {
Message_CloseTextbox(play);
SET_EVENTCHKINF(EVENTCHKINF_1C);
Actor_Kill(&this->actor);

View file

@ -168,7 +168,8 @@ void EnMs_Update(Actor* thisx, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
this->actionFunc(this, play);
if (gSaveContext.entranceIndex == ENTR_SPOT20_0 && gSaveContext.sceneLayer == 8) { // ride carpet if in credits
if (gSaveContext.entranceIndex == ENTR_LON_LON_RANCH_0 &&
gSaveContext.sceneLayer == 8) { // ride carpet if in credits
Actor_MoveForward(&this->actor);
osSyncPrintf("OOOHHHHHH %f\n", this->actor.velocity.y);
Actor_UpdateBgCheckInfo(play, &this->actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2);

View file

@ -155,7 +155,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gCuccoSkel, &gCuccoAnim, this->jointTable, this->morphTable, 16);
if (play->sceneId == SCENE_SPOT01) {
if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
for (i = 0; i < ARRAY_COUNT(sKakarikoPosList); i++) {
if (fabsf(this->actor.world.pos.x - sKakarikoPosList[i].x) < 40.0f &&
fabsf(this->actor.world.pos.z - sKakarikoPosList[i].z) < 40.0f) {
@ -228,7 +228,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
case 0xD:
case 0xE:
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit2);
if (play->sceneId == SCENE_LINK_HOME && !GET_EVENTCHKINF(EVENTCHKINF_1E)) {
if (play->sceneId == SCENE_LINKS_HOUSE && !GET_EVENTCHKINF(EVENTCHKINF_1E)) {
Actor_Kill(&this->actor);
}
break;
@ -974,12 +974,12 @@ void EnNiw_Update(Actor* thisx, PlayState* play) {
Actor_SetFocus(&this->actor, this->unk_304);
Actor_MoveForward(&this->actor);
if (this->actionFunc != func_80AB6EB4 && this->actionFunc != func_80AB6450 && play->sceneId != SCENE_SPOT03) {
if (this->actionFunc != func_80AB6EB4 && this->actionFunc != func_80AB6450 && play->sceneId != SCENE_ZORAS_RIVER) {
Actor_UpdateBgCheckInfo(play, &this->actor, 20.0f, 20.0f, 60.0f,
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_2 |
UPDBGCHECKINFO_FLAG_3 | UPDBGCHECKINFO_FLAG_4);
}
if (play->sceneId == SCENE_SPOT03) {
if (play->sceneId == SCENE_ZORAS_RIVER) {
Actor_UpdateBgCheckInfo(play, &this->actor, 20.0f, 20.0f, 60.0f,
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
UPDBGCHECKINFO_FLAG_4);

View file

@ -77,7 +77,7 @@ void EnNiwLady_Init(Actor* thisx, PlayState* play) {
return;
}
this->unk_278 = 0;
if (play->sceneId == SCENE_LABO) {
if (play->sceneId == SCENE_IMPAS_HOUSE) {
this->unk_278 = 1;
}
if ((this->unk_278 != 0) && IS_DAY) {

View file

@ -149,10 +149,11 @@ void func_80ABF0CC(EnOkarinaTag* this, PlayState* play) {
if (this->switchFlag >= 0) {
Flags_SetSwitch(play, this->switchFlag);
}
if (play->sceneId == SCENE_MIZUSIN) {
if (play->sceneId == SCENE_WATER_TEMPLE) {
play->msgCtx.msgMode = MSGMODE_PAUSED;
}
if ((play->sceneId != SCENE_DAIYOUSEI_IZUMI) && (play->sceneId != SCENE_YOUSEI_IZUMI_YOKO)) {
if ((play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) &&
(play->sceneId != SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS)) {
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
}
func_80078884(NA_SE_SY_CORRECT_CHIME);

View file

@ -1059,7 +1059,7 @@ s32 func_80ACC5CC(EnOwl* this) {
s32 func_80ACC624(EnOwl* this, PlayState* play) {
s32 switchFlag = (this->actor.params & 0xFC0) >> 6;
if (play->sceneId != SCENE_SPOT11) {
if (play->sceneId != SCENE_DESERT_COLOSSUS) {
return true;
} else if (switchFlag == 0xA) {
return true;

View file

@ -227,7 +227,7 @@ void EnRiverSound_Update(Actor* thisx, PlayState* play) {
}
} else if ((thisx->params == RS_GORON_CITY_SARIAS_SONG) || (thisx->params == RS_GREAT_FAIRY)) {
func_8002DBD0(&player->actor, &thisx->home.pos, &thisx->world.pos);
} else if (play->sceneId == SCENE_DDAN_BOSS && Flags_GetClear(play, thisx->room)) {
} else if (play->sceneId == SCENE_DODONGOS_CAVERN_BOSS && Flags_GetClear(play, thisx->room)) {
Actor_Kill(thisx);
}
}

View file

@ -118,7 +118,7 @@ void func_80AE7590(EnRl* this, PlayState* play) {
Vec3f pos;
s16 sceneId = play->sceneId;
if (gSaveContext.sceneLayer == 4 && sceneId == SCENE_KENJYANOMA && play->csCtx.state != CS_STATE_IDLE &&
if (gSaveContext.sceneLayer == 4 && sceneId == SCENE_CHAMBER_OF_THE_SAGES && play->csCtx.state != CS_STATE_IDLE &&
play->csCtx.npcActions[6] != NULL && play->csCtx.npcActions[6]->action == 2 && !this->lightMedallionGiven) {
player = GET_PLAYER(play);
pos.x = player->actor.world.pos.x;

View file

@ -217,7 +217,8 @@ s16 func_80AF56F4(PlayState* play, Actor* thisx) {
}
void func_80AF57D8(EnSa* this, PlayState* play) {
if (play->sceneId != SCENE_SPOT05 || ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) < 0x1555 ||
if (play->sceneId != SCENE_SACRED_FOREST_MEADOW ||
ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) < 0x1555 ||
this->interactInfo.talkState != NPC_TALK_STATE_IDLE) {
Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 30.0f,
func_80AF55E0, func_80AF56F4);
@ -381,21 +382,21 @@ void EnSa_ChangeAnim(EnSa* this, s32 index) {
s32 func_80AF5DFC(EnSa* this, PlayState* play) {
if (gSaveContext.cutsceneIndex >= 0xFFF0 && gSaveContext.cutsceneIndex != 0xFFFD) {
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
return 4;
}
if (play->sceneId == SCENE_SPOT05) {
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW) {
return 5;
}
}
if (play->sceneId == SCENE_KOKIRI_HOME5 && !LINK_IS_ADULT &&
if (play->sceneId == SCENE_SARIAS_HOUSE && !LINK_IS_ADULT &&
INV_CONTENT(ITEM_OCARINA_FAIRY) == ITEM_OCARINA_FAIRY && !GET_EVENTCHKINF(EVENTCHKINF_40)) {
return 1;
}
if (play->sceneId == SCENE_SPOT05 && GET_EVENTCHKINF(EVENTCHKINF_40)) {
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW && GET_EVENTCHKINF(EVENTCHKINF_40)) {
return CHECK_QUEST_ITEM(QUEST_SONG_SARIA) ? 2 : 5;
}
if (play->sceneId == SCENE_SPOT04 && !CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) {
if (play->sceneId == SCENE_KOKIRI_FOREST && !CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) {
if (GET_INFTABLE(INFTABLE_00)) {
return 1;
}
@ -408,17 +409,17 @@ void func_80AF5F34(EnSa* this, PlayState* play) {
Player* player = GET_PLAYER(play);
s16 trackingMode = NPC_TRACKING_PLAYER_AUTO_TURN;
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
trackingMode = (this->actionFunc == func_80AF68E4) ? NPC_TRACKING_NONE : NPC_TRACKING_FULL_BODY;
}
if (play->sceneId == SCENE_SPOT05) {
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW) {
trackingMode = (this->skelAnime.animation == &gSariaPlayingOcarinaAnim) ? NPC_TRACKING_NONE : NPC_TRACKING_HEAD;
}
if (play->sceneId == SCENE_SPOT05 && this->actionFunc == func_80AF6448 &&
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW && this->actionFunc == func_80AF6448 &&
this->skelAnime.animation == &gSariaStopPlayingOcarinaAnim) {
trackingMode = NPC_TRACKING_NONE;
}
if (play->sceneId == SCENE_SPOT05 && this->actionFunc == func_80AF68E4 &&
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW && this->actionFunc == func_80AF68E4 &&
this->skelAnime.animation == &gSariaOcarinaToMouthAnim) {
trackingMode = NPC_TRACKING_NONE;
}
@ -538,7 +539,7 @@ void EnSa_Destroy(Actor* thisx, PlayState* play) {
}
void func_80AF6448(EnSa* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE) {
switch (this->actor.textId) {
case 0x1002:
@ -607,7 +608,7 @@ void func_80AF6448(EnSa* this, PlayState* play) {
EnSa_ChangeAnim(this, ENSA_ANIM1_6);
}
}
if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE && play->sceneId == SCENE_SPOT05) {
if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE && play->sceneId == SCENE_SACRED_FOREST_MEADOW) {
Animation_Change(&this->skelAnime, &gSariaStopPlayingOcarinaAnim, 1.0f, 0.0f, 10.0f, ANIMMODE_ONCE, -10.0f);
this->actionFunc = func_80AF67D0;
}
@ -690,7 +691,7 @@ void func_80AF68E4(EnSa* this, PlayState* play) {
this->actor.velocity.x = (endPos.x - startPos.x) / temp_f0;
this->actor.velocity.y = (endPos.y - startPos.y) / temp_f0;
gravity = this->actor.gravity;
if (play->sceneId == SCENE_SPOT05) {
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW) {
gravity = 0.0f;
}
this->actor.velocity.y += gravity;
@ -703,12 +704,12 @@ void func_80AF68E4(EnSa* this, PlayState* play) {
}
void func_80AF6B20(EnSa* this, PlayState* play) {
if (play->sceneId == SCENE_SPOT05) {
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW) {
Item_Give(play, ITEM_SONG_SARIA);
EnSa_ChangeAnim(this, ENSA_ANIM1_6);
}
if (play->sceneId == SCENE_SPOT04) {
if (play->sceneId == SCENE_KOKIRI_FOREST) {
EnSa_ChangeAnim(this, ENSA_ANIM1_4);
this->actor.world.pos = this->actor.home.pos;
this->actor.world.rot = this->unk_21A;
@ -748,7 +749,7 @@ void EnSa_Update(Actor* thisx, PlayState* play) {
func_8002D7EC(&this->actor);
}
if (play->sceneId != SCENE_SPOT05) {
if (play->sceneId != SCENE_SACRED_FOREST_MEADOW) {
Actor_UpdateBgCheckInfo(play, &this->actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2);
}
@ -777,7 +778,7 @@ s32 EnSa_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
Matrix_RotateX(BINANG_TO_RAD_ALT(sp18.x), MTXMODE_APPLY);
}
if (play->sceneId == SCENE_SPOT05 && limbIndex == 15) {
if (play->sceneId == SCENE_SACRED_FOREST_MEADOW && limbIndex == 15) {
*dList = gSariaRightHandAndOcarinaDL;
}

View file

@ -184,7 +184,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
Actor_Kill(&this->actor);
} else if (!LINK_IS_ADULT) {
Actor_Kill(&this->actor);
} else if (play->sceneId == SCENE_MALON_STABLE && !IS_DAY) {
} else if (play->sceneId == SCENE_STABLE && !IS_DAY) {
Actor_Kill(&this->actor);
osSyncPrintf(VT_FGCOL(CYAN) " 夜はいない \n" VT_RST);
} else {
@ -198,7 +198,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
default: // Child era Talon
// "Other Talon"
osSyncPrintf(VT_FGCOL(CYAN) " その他のタロン \n" VT_RST);
if (play->sceneId == SCENE_SPOT15) {
if (play->sceneId == SCENE_HYRULE_CASTLE) {
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
} else if (GET_EVENTCHKINF(EVENTCHKINF_TALON_WOKEN_IN_CASTLE)) {
@ -213,7 +213,7 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
this->currentAnimation = &gTalonSleepAnim;
this->actor.shape.shadowScale = 54.0f;
}
} else if (play->sceneId == SCENE_SOUKO) {
} else if (play->sceneId == SCENE_LON_LON_BUILDINGS) {
osSyncPrintf(VT_FGCOL(CYAN) " ロンロン牧場の倉庫 の タロン\n" VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
@ -277,7 +277,7 @@ void EnTa_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
if (this->actor.params != ENTA_IN_KAKARIKO && this->actor.params != ENTA_RETURNED_FROM_KAKARIKO &&
play->sceneId == SCENE_SOUKO) {
play->sceneId == SCENE_LON_LON_BUILDINGS) {
gSaveContext.timerState = TIMER_STATE_OFF;
}
@ -717,7 +717,7 @@ void EnTa_TalkCuccoGameEnd(EnTa* this, PlayState* play) {
EnTa_AnimateHandsUpDown(this);
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) {
play->nextEntranceIndex = ENTR_SOUKO_2;
play->nextEntranceIndex = ENTR_LON_LON_BUILDINGS_2;
if (GET_EVENTINF(EVENTINF_CUCCO_GAME_WON)) {
play->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);

View file

@ -61,7 +61,7 @@ u16 EnTg_GetTextId(PlayState* play, Actor* thisx) {
return temp;
}
// Use a different set of dialogue in Kakariko Village (Adult)
if (play->sceneId == SCENE_SPOT01) {
if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
if (this->nextDialogue % 2 != 0) {
phi = 0x5089;
} else {

View file

@ -492,7 +492,7 @@ void EnTk_Init(Actor* thisx, PlayState* play) {
CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
if (gSaveContext.dayTime <= CLOCK_TIME(18, 0) || gSaveContext.dayTime >= CLOCK_TIME(21, 0) || LINK_IS_ADULT ||
play->sceneId != SCENE_SPOT02) {
play->sceneId != SCENE_GRAVEYARD) {
Actor_Kill(&this->actor);
return;
}

View file

@ -96,17 +96,17 @@ void EnToryo_Init(Actor* thisx, PlayState* play) {
s32 pad;
switch (play->sceneId) {
case SCENE_SPOT09:
case SCENE_GERUDO_VALLEY:
if (LINK_AGE_IN_YEARS == YEARS_ADULT) {
this->stateFlags |= 1;
}
break;
case SCENE_SPOT01:
case SCENE_KAKARIKO_VILLAGE:
if ((LINK_AGE_IN_YEARS == YEARS_CHILD) && IS_DAY) {
this->stateFlags |= 2;
}
break;
case SCENE_KAKARIKO:
case SCENE_KAKARIKO_CENTER_GUEST_HOUSE:
if ((LINK_AGE_IN_YEARS == YEARS_CHILD) && IS_NIGHT) {
this->stateFlags |= 4;
}

View file

@ -387,7 +387,7 @@ void EnViewer_UpdateImpl(EnViewer* this, PlayState* play) {
break;
}
} else if (type == ENVIEWER_TYPE_2_ZELDA) {
if (play->sceneId == SCENE_SPOT00) { // Hyrule Field
if (play->sceneId == SCENE_HYRULE_FIELD) { // Hyrule Field
switch (this->state) {
case 0:
if (play->csCtx.state != CS_STATE_IDLE) {
@ -587,7 +587,7 @@ void EnViewer_DrawHorse(EnViewer* this, PlayState* play) {
}
s32 EnViewer_ZeldaOverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
if (play->sceneId == SCENE_SPOT00) { // Hyrule Field
if (play->sceneId == SCENE_HYRULE_FIELD) { // Hyrule Field
if (limbIndex == 2) {
*dList = gChildZeldaCutsceneDressDL;
}
@ -613,7 +613,7 @@ s32 EnViewer_ZeldaOverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList,
void EnViewer_ZeldaPostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
s32 pad;
if (play->sceneId == SCENE_TOKINOMA) {
if (play->sceneId == SCENE_TEMPLE_OF_TIME) {
if (limbIndex == 16) {
OPEN_DISPS(play->state.gfxCtx, "../z_en_viewer.c", 1568);
gSPDisplayList(POLY_OPA_DISP++, gChildZeldaOcarinaOfTimeDL);
@ -624,7 +624,7 @@ void EnViewer_ZeldaPostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec
void EnViewer_DrawZelda(EnViewer* this, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_en_viewer.c", 1583);
if (play->sceneId == SCENE_SPOT00) { // Hyrule Field
if (play->sceneId == SCENE_HYRULE_FIELD) { // Hyrule Field
if (play->csCtx.frames < 771) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gChildZeldaEyeInTex));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gChildZeldaEyeOutTex));

View file

@ -84,7 +84,7 @@ void EnWonderTalk2_Init(Actor* thisx, PlayState* play) {
Actor_Kill(&this->actor);
return;
}
if ((this->talkMode == 1) && (play->sceneId == SCENE_MEN) && (this->switchFlag != 0x08) &&
if ((this->talkMode == 1) && (play->sceneId == SCENE_GERUDO_TRAINING_GROUND) && (this->switchFlag != 0x08) &&
(this->switchFlag != 0x16) && (this->switchFlag != 0x2F)) {
this->unk_15A = false;

View file

@ -399,7 +399,7 @@ void EnXc_SetLandingSFX(EnXc* this, PlayState* play) {
u32 sfxId;
s16 sceneId = play->sceneId;
if ((gSaveContext.sceneLayer != 4) || (sceneId != SCENE_SPOT11)) {
if ((gSaveContext.sceneLayer != 4) || (sceneId != SCENE_DESERT_COLOSSUS)) {
if (Animation_OnFrame(&this->skelAnime, 11.0f)) {
sfxId = SFX_FLAG;
sfxId += SurfaceType_GetSfxId(&play->colCtx, this->actor.floorPoly, this->actor.floorBgId);
@ -414,7 +414,7 @@ void EnXc_SetColossusAppearSFX(EnXc* this, PlayState* play) {
if (gSaveContext.sceneLayer == 4) {
sceneId = play->sceneId;
if (sceneId == SCENE_SPOT11) {
if (sceneId == SCENE_DESERT_COLOSSUS) {
CutsceneContext* csCtx = &play->csCtx;
u16 frameCount = csCtx->frames;
f32 wDest[2];
@ -438,7 +438,7 @@ void EnXc_SetColossusAppearSFX(EnXc* this, PlayState* play) {
void func_80B3D118(PlayState* play) {
s16 sceneId;
if ((gSaveContext.sceneLayer != 4) || (sceneId = play->sceneId, sceneId != SCENE_SPOT11)) {
if ((gSaveContext.sceneLayer != 4) || (sceneId = play->sceneId, sceneId != SCENE_DESERT_COLOSSUS)) {
func_800788CC(NA_SE_PL_SKIP);
}
}
@ -454,7 +454,7 @@ void EnXc_SetColossusWindSFX(PlayState* play) {
s32 pad;
s16 sceneId = play->sceneId;
if (sceneId == SCENE_SPOT11) {
if (sceneId == SCENE_DESERT_COLOSSUS) {
CutsceneContext* csCtx = &play->csCtx;
u16 frameCount = csCtx->frames;
@ -522,7 +522,7 @@ void EnXc_InitFlame(EnXc* this, PlayState* play) {
s32 pad;
s16 sceneId = play->sceneId;
if (sceneId == SCENE_SPOT17) {
if (sceneId == SCENE_DEATH_MOUNTAIN_CRATER) {
CsCmdActorAction* npcAction = EnXc_GetCsCmd(play, 0);
if (npcAction != NULL) {
s32 action = npcAction->action;
@ -864,7 +864,7 @@ void EnXc_SetupDisappear(EnXc* this, PlayState* play) {
s16 sceneId = play->sceneId;
// Sheik fades away if end of Bolero CS, kill actor otherwise
if (sceneId == SCENE_SPOT17) {
if (sceneId == SCENE_DEATH_MOUNTAIN_CRATER) {
this->action = SHEIK_ACTION_FADE;
this->drawMode = SHEIK_DRAW_NOTHING;
this->actor.shape.shadowAlpha = 0;

View file

@ -1660,9 +1660,9 @@ u16 func_80B572F0(PlayState* play) {
s16 sceneId = play->sceneId;
u16 ret;
if (sceneId == SCENE_GANON_SONOGO) {
if (sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) {
ret = 0x71A8;
} else if (sceneId == SCENE_GANON_FINAL) {
} else if (sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) {
ret = 0x71A9;
} else {
ret = 0x71AB;
@ -1754,7 +1754,7 @@ s32 func_80B575D0(EnZl3* this, PlayState* play) {
s32 func_80B575F0(EnZl3* this, PlayState* play) {
s16 sceneId = play->sceneId;
if ((sceneId == SCENE_GANON_SONOGO) && (func_80B54DB4(this) == 0x26)) {
if ((sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) && (func_80B54DB4(this) == 0x26)) {
s32 unk_314 = this->unk_314;
if (unk_314 == 1) {
@ -1767,7 +1767,7 @@ s32 func_80B575F0(EnZl3* this, PlayState* play) {
void func_80B5764C(EnZl3* this, PlayState* play) {
s16 sceneId = play->sceneId;
if ((sceneId == SCENE_GANON_SONOGO) && (func_80B54DB4(this) == 0x26)) {
if ((sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) && (func_80B54DB4(this) == 0x26)) {
s32 unk_314 = this->unk_314 + 1;
if ((unk_314 == 1) && !Play_InCsMode(play)) {
@ -1832,7 +1832,7 @@ s32 func_80B57890(EnZl3* this, PlayState* play) {
if (play) {} // Needed to match, this if can be almost anywhere and it still matches
if (sceneId == SCENE_GANON_SONOGO) {
if (sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) {
if ((result == 0x24) && (spawn == 0)) {
return 1;
}
@ -1848,10 +1848,11 @@ s32 func_80B57890(EnZl3* this, PlayState* play) {
if ((result == 0x28) && (spawn == 6)) {
return 1;
}
} else if (sceneId == SCENE_GANON_FINAL) {
} else if (sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) {
if ((result == 0x20) && (spawn == 0) && Flags_GetSwitch(play, 0x37)) {
if ((play->sceneId == SCENE_GANON_DEMO) || (play->sceneId == SCENE_GANON_FINAL) ||
(play->sceneId == SCENE_GANON_SONOGO) || (play->sceneId == SCENE_GANONTIKA_SONOGO)) {
if ((play->sceneId == SCENE_GANON_BOSS) || (play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(play->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE)) {
return 1;
}
}
@ -1864,7 +1865,7 @@ s32 func_80B57890(EnZl3* this, PlayState* play) {
if ((result == 0x23) && (spawn == 6)) {
return 1;
}
} else if (sceneId == SCENE_GANONTIKA_SONOGO) {
} else if (sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE) {
if ((result == 0x29) && (spawn == 0)) {
return 1;
}
@ -2475,8 +2476,9 @@ s32 func_80B5944C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
s32 func_80B59698(EnZl3* this, PlayState* play) {
s32 cond = Flags_GetSwitch(play, 0x37) &&
((play->sceneId == SCENE_GANON_DEMO) || (play->sceneId == SCENE_GANON_FINAL) ||
(play->sceneId == SCENE_GANON_SONOGO) || (play->sceneId == SCENE_GANONTIKA_SONOGO));
((play->sceneId == SCENE_GANON_BOSS) || (play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(play->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE));
if (cond) {
u8 spawn = play->spawn;
@ -2491,8 +2493,9 @@ s32 func_80B59698(EnZl3* this, PlayState* play) {
s32 func_80B59768(EnZl3* this, PlayState* play) {
s32 cond = Flags_GetSwitch(play, 0x37) &&
((play->sceneId == SCENE_GANON_DEMO) || (play->sceneId == SCENE_GANON_FINAL) ||
(play->sceneId == SCENE_GANON_SONOGO) || (play->sceneId == SCENE_GANONTIKA_SONOGO));
((play->sceneId == SCENE_GANON_BOSS) || (play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(play->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE));
if (cond) {
u8 spawn = play->spawn;
@ -2549,8 +2552,9 @@ void func_80B59828(EnZl3* this, PlayState* play) {
func_80B54EA4(this, play);
cond = Flags_GetSwitch(play, 0x37) &&
((play->sceneId == SCENE_GANON_DEMO) || (play->sceneId == SCENE_GANON_FINAL) ||
(play->sceneId == SCENE_GANON_SONOGO) || (play->sceneId == SCENE_GANONTIKA_SONOGO));
((play->sceneId == SCENE_GANON_BOSS) || (play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) ||
(play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_INTERIOR) ||
(play->sceneId == SCENE_INSIDE_GANONS_CASTLE_COLLAPSE));
if (cond) {
func_80B53614(this, play);
}

View file

@ -378,7 +378,7 @@ void EnZl4_Init(Actor* thisx, PlayState* play) {
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0);
this->actionFunc = EnZl4_Idle;
} else {
if (gSaveContext.entranceIndex != ENTR_NAKANIWA_1) {
if (gSaveContext.entranceIndex != ENTR_CASTLE_COURTYARD_ZELDA_1) {
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_21);
this->csState = ZL4_CS_WAIT;
this->talkState = 0;
@ -778,7 +778,7 @@ s32 EnZl4_CsAskName(EnZl4* this, PlayState* play) {
this->talkTimer2++;
if (this->talkTimer2 == 130) {
play->msgCtx.msgMode = MSGMODE_PAUSED;
play->nextEntranceIndex = ENTR_HIRAL_DEMO_0;
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
gSaveContext.nextCutsceneIndex = 0xFFF7;
play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE;

View file

@ -752,7 +752,7 @@ void ObjBean_SetupWaitForPlayer(ObjBean* this) {
void ObjBean_WaitForPlayer(ObjBean* this, PlayState* play) {
if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
ObjBean_SetupFly(this);
if (play->sceneId == SCENE_SPOT10) { // Lost woods
if (play->sceneId == SCENE_LOST_WOODS) { // Lost woods
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS);
} else {
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC);
@ -788,7 +788,7 @@ void ObjBean_Fly(ObjBean* this, PlayState* play) {
func_8002F974(&this->dyna.actor, NA_SE_PL_PLANT_MOVE - SFX_FLAG);
if (play->sceneId == SCENE_SPOT10) {
if (play->sceneId == SCENE_LOST_WOODS) {
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS);
} else {
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC);

View file

@ -155,7 +155,7 @@ void ObjHsblock_Draw(Actor* thisx, PlayState* play) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_hsblock.c", 369),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (play->sceneId == SCENE_HIDAN) {
if (play->sceneId == SCENE_FIRE_TEMPLE) {
color = &sFireTempleColor;
} else {
defaultColor.r = mREG(13);

View file

@ -53,8 +53,9 @@ static Color_RGB8 sColors[][4] = {
};
static s16 sSceneIds[] = {
SCENE_YDAN, SCENE_DDAN, SCENE_BMORI1, SCENE_HIDAN, SCENE_MIZUSIN,
SCENE_JYASINZOU, SCENE_HAKADAN, SCENE_GANON, SCENE_MEN,
SCENE_DEKU_TREE, SCENE_DODONGOS_CAVERN, SCENE_FOREST_TEMPLE,
SCENE_FIRE_TEMPLE, SCENE_WATER_TEMPLE, SCENE_SPIRIT_TEMPLE,
SCENE_SHADOW_TEMPLE, SCENE_GANONS_TOWER, SCENE_GERUDO_TRAINING_GROUND,
};
static InitChainEntry sInitChain[] = {
@ -649,14 +650,14 @@ void ObjOshihiki_Draw(Actor* thisx, PlayState* play) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_MEN:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_GERUDO_TRAINING_GROUND:
gDPSetEnvColor(POLY_OPA_DISP++, this->color.r, this->color.g, this->color.b, 255);
break;
default:

View file

@ -132,22 +132,22 @@ void ObjectKankyo_Init(Actor* thisx, PlayState* play) {
}
if (gSaveContext.cutsceneTrigger != 0) {
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_2) {
if (gSaveContext.entranceIndex == ENTR_INSIDE_GANONS_CASTLE_2) {
this->effects[0].size = 0.1f;
}
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_3) {
if (gSaveContext.entranceIndex == ENTR_INSIDE_GANONS_CASTLE_3) {
this->effects[1].size = 0.1f;
}
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_4) {
if (gSaveContext.entranceIndex == ENTR_INSIDE_GANONS_CASTLE_4) {
this->effects[2].size = 0.1f;
}
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_5) {
if (gSaveContext.entranceIndex == ENTR_INSIDE_GANONS_CASTLE_5) {
this->effects[3].size = 0.1f;
}
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_6) {
if (gSaveContext.entranceIndex == ENTR_INSIDE_GANONS_CASTLE_6) {
this->effects[4].size = 0.1f;
}
if (gSaveContext.entranceIndex == ENTR_GANONTIKA_7) {
if (gSaveContext.entranceIndex == ENTR_INSIDE_GANONS_CASTLE_7) {
this->effects[5].size = 0.1f;
}
}
@ -191,7 +191,7 @@ void ObjectKankyo_Fairies(ObjectKankyo* this, PlayState* play) {
player = GET_PLAYER(play);
if (play->sceneId == SCENE_SPOT04 && gSaveContext.sceneLayer == 7) {
if (play->sceneId == SCENE_KOKIRI_FOREST && gSaveContext.sceneLayer == 7) {
dist = Math3D_Vec3f_DistXYZ(&this->prevEyePos, &play->view.eye);
this->prevEyePos.x = play->view.eye.x;
@ -227,7 +227,7 @@ void ObjectKankyo_Fairies(ObjectKankyo* this, PlayState* play) {
}
if (play->envCtx.precipitation[PRECIP_SNOW_MAX] < 64 &&
(gSaveContext.entranceIndex != ENTR_SPOT04_0 || gSaveContext.sceneLayer != 4 ||
(gSaveContext.entranceIndex != ENTR_KOKIRI_FOREST_0 || gSaveContext.sceneLayer != 4 ||
play->envCtx.precipitation[PRECIP_SNOW_MAX])) {
play->envCtx.precipitation[PRECIP_SNOW_MAX] += 16;
}

View file

@ -4060,13 +4060,13 @@ s32 func_808382DC(Player* this, PlayState* play) {
} else {
// Special case for getting crushed in Forest Temple's Checkboard Ceiling Hall or Shadow Temple's
// Falling Spike Trap Room, to respawn the player in a specific place
if (((play->sceneId == SCENE_BMORI1) && (play->roomCtx.curRoom.num == 15)) ||
((play->sceneId == SCENE_HAKADAN) && (play->roomCtx.curRoom.num == 10))) {
if (((play->sceneId == SCENE_FOREST_TEMPLE) && (play->roomCtx.curRoom.num == 15)) ||
((play->sceneId == SCENE_SHADOW_TEMPLE) && (play->roomCtx.curRoom.num == 10))) {
static SpecialRespawnInfo checkboardCeilingRespawn = { { 1992.0f, 403.0f, -3432.0f }, 0 };
static SpecialRespawnInfo fallingSpikeTrapRespawn = { { 1200.0f, -1343.0f, 3850.0f }, 0 };
SpecialRespawnInfo* respawnInfo;
if (play->sceneId == SCENE_BMORI1) {
if (play->sceneId == SCENE_FOREST_TEMPLE) {
respawnInfo = &checkboardCeilingRespawn;
} else {
respawnInfo = &fallingSpikeTrapRespawn;
@ -4364,30 +4364,30 @@ s32 func_80838FB8(PlayState* play, Player* this) {
*/
s16 sReturnEntranceGroupData[] = {
// ENTR_RETURN_DAIYOUSEI_IZUMI
/* 0 */ ENTR_SPOT16_4, // DMT from Magic Fairy Fountain
/* 1 */ ENTR_SPOT17_3, // DMC from Double Defense Fairy Fountain
/* 2 */ ENTR_SPOT15_2, // Hyrule Castle from Dins Fire Fairy Fountain
/* 0 */ ENTR_DEATH_MOUNTAIN_TRAIL_4, // DMT from Magic Fairy Fountain
/* 1 */ ENTR_DEATH_MOUNTAIN_CRATER_3, // DMC from Double Defense Fairy Fountain
/* 2 */ ENTR_HYRULE_CASTLE_2, // Hyrule Castle from Dins Fire Fairy Fountain
// ENTR_RETURN_2
/* 3 */ ENTR_SPOT01_9, // Kakariko from Potion Shop
/* 3 */ ENTR_KAKARIKO_VILLAGE_9, // Kakariko from Potion Shop
/* 4 */ ENTR_MARKET_DAY_5, // Market (child day) from Potion Shop
// ENTR_RETURN_SHOP1
/* 5 */ ENTR_SPOT01_3, // Kakariko from Bazaar
/* 5 */ ENTR_KAKARIKO_VILLAGE_3, // Kakariko from Bazaar
/* 6 */ ENTR_MARKET_DAY_6, // Market (child day) from Bazaar
// ENTR_RETURN_4
/* 7 */ ENTR_SPOT01_11, // Kakariko from House of Skulltulas
/* 8 */ ENTR_MARKET_ALLEY_2, // Back Alley (day) from Bombchu Shop
/* 7 */ ENTR_KAKARIKO_VILLAGE_11, // Kakariko from House of Skulltulas
/* 8 */ ENTR_BACK_ALLEY_DAY_2, // Back Alley (day) from Bombchu Shop
// ENTR_RETURN_SYATEKIJYOU
/* 9 */ ENTR_SPOT01_10, // Kakariko from Shooting Gallery
/* 9 */ ENTR_KAKARIKO_VILLAGE_10, // Kakariko from Shooting Gallery
/* 10 */ ENTR_MARKET_DAY_8, // Market (child day) from Shooting Gallery
// ENTR_RETURN_YOUSEI_IZUMI_YOKO
/* 11 */ ENTR_SPOT08_5, // Zoras Fountain from Farores Wind Fairy Fountain
/* 12 */ ENTR_SPOT15_2, // Hyrule Castle from Dins Fire Fairy Fountain
/* 13 */ ENTR_SPOT11_7, // Desert Colossus from Nayrus Love Fairy Fountain
/* 11 */ ENTR_ZORAS_FOUNTAIN_5, // Zoras Fountain from Farores Wind Fairy Fountain
/* 12 */ ENTR_HYRULE_CASTLE_2, // Hyrule Castle from Dins Fire Fairy Fountain
/* 13 */ ENTR_DESERT_COLOSSUS_7, // Desert Colossus from Nayrus Love Fairy Fountain
};
/**
@ -4503,8 +4503,8 @@ s32 func_80839034(PlayState* play, Player* this, CollisionPoly* poly, u32 bgId)
if ((this->actor.world.pos.y < -4000.0f) ||
(((this->unk_A7A == FLOOR_PROPERTY_5) || (this->unk_A7A == FLOOR_PROPERTY_12)) &&
((D_80853600 < 100.0f) || (this->fallDistance > 400.0f) ||
((play->sceneId != SCENE_HAKADAN) && (this->fallDistance > 200.0f)))) ||
((play->sceneId == SCENE_GANON_FINAL) && (this->fallDistance > 320.0f))) {
((play->sceneId != SCENE_SHADOW_TEMPLE) && (this->fallDistance > 200.0f)))) ||
((play->sceneId == SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR) && (this->fallDistance > 320.0f))) {
if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) {
if (this->unk_A7A == FLOOR_PROPERTY_5) {
@ -6422,7 +6422,8 @@ s32 func_8083E5A8(Player* this, PlayState* play) {
iREG(67) = false;
if ((Item_CheckObtainability(giEntry->itemId) == ITEM_NONE) || (play->sceneId == SCENE_BOWLING)) {
if ((Item_CheckObtainability(giEntry->itemId) == ITEM_NONE) ||
(play->sceneId == SCENE_BOMBCHU_BOWLING_ALLEY)) {
func_808323B4(play, this);
func_8083AE40(this, giEntry->objectId);
@ -9489,7 +9490,7 @@ void func_80846648(PlayState* play, Player* this) {
void func_80846660(PlayState* play, Player* this) {
func_80835C58(play, this, func_8084F710, 0);
if ((play->sceneId == SCENE_SPOT06) && IS_CUTSCENE_LAYER) {
if ((play->sceneId == SCENE_LAKE_HYLIA) && IS_CUTSCENE_LAYER) {
this->unk_84F = 1;
}
this->stateFlags1 |= PLAYER_STATE1_29;
@ -9682,8 +9683,8 @@ void Player_Init(Actor* thisx, PlayState* play2) {
if (!IS_CUTSCENE_LAYER &&
(gEntranceTable[((void)0, gSaveContext.entranceIndex) + ((void)0, gSaveContext.sceneLayer)].field &
ENTRANCE_INFO_DISPLAY_TITLE_CARD_FLAG) &&
((play->sceneId != SCENE_DDAN) || GET_EVENTCHKINF(EVENTCHKINF_B0)) &&
((play->sceneId != SCENE_NIGHT_SHOP) || GET_EVENTCHKINF(EVENTCHKINF_25))) {
((play->sceneId != SCENE_DODONGOS_CAVERN) || GET_EVENTCHKINF(EVENTCHKINF_B0)) &&
((play->sceneId != SCENE_BOMBCHU_SHOP) || GET_EVENTCHKINF(EVENTCHKINF_25))) {
TitleCard_InitPlaceName(play, &play->actorCtx.titleCtx, this->giObjectSegment, 160, 120, 144, 24, 20);
}
}
@ -9696,7 +9697,7 @@ void Player_Init(Actor* thisx, PlayState* play2) {
gSaveContext.respawn[RESPAWN_MODE_DOWN].data = 1;
if (play->sceneId <= SCENE_GANONTIKA_SONOGO) {
if (play->sceneId <= SCENE_INSIDE_GANONS_CASTLE_COLLAPSE) {
gSaveContext.infTable[INFTABLE_1AX_INDEX] |= gBitFlags[play->sceneId];
}
@ -10297,7 +10298,7 @@ void Player_UpdateCamAndSeqModes(PlayState* play, Player* this) {
Audio_SetBgmEnemyVolume(sqrtf(play->actorCtx.targetCtx.bgmEnemy->xyzDistToPlayerSq));
}
if (play->sceneId != SCENE_TURIBORI) {
if (play->sceneId != SCENE_FISHING_POND) {
Audio_SetSequenceMode(seqMode);
}
}
@ -10413,7 +10414,7 @@ void func_80848C74(PlayState* play, Player* this) {
if (spawnedFlame) {
func_8002F7DC(&this->actor, NA_SE_EV_TORCH - SFX_FLAG);
if (play->sceneId == SCENE_JYASINBOSS) {
if (play->sceneId == SCENE_SPIRIT_TEMPLE_BOSS) {
dmgCooldown = 0;
} else {
dmgCooldown = 7;
@ -12438,7 +12439,7 @@ s32 func_8084DFF4(PlayState* play, Player* this) {
} else {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) {
if (this->getItemId == GI_SILVER_GAUNTLETS) {
play->nextEntranceIndex = ENTR_SPOT11_0;
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_0;
play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.nextCutsceneIndex = 0xFFF1;
play->transitionType = TRANS_TYPE_SANDSTORM_END;
@ -12496,7 +12497,12 @@ void func_8084E368(Player* this, PlayState* play) {
}
static s16 sWarpSongEntrances[] = {
ENTR_SPOT05_2, ENTR_SPOT17_4, ENTR_SPOT06_8, ENTR_SPOT11_5, ENTR_SPOT02_7, ENTR_TOKINOMA_7,
ENTR_SACRED_FOREST_MEADOW_2,
ENTR_DEATH_MOUNTAIN_CRATER_4,
ENTR_LAKE_HYLIA_8,
ENTR_DESERT_COLOSSUS_5,
ENTR_GRAVEYARD_7,
ENTR_TEMPLE_OF_TIME_7,
};
void func_8084E3C4(Player* this, PlayState* play) {
@ -13028,7 +13034,7 @@ void func_8084F710(Player* this, PlayState* play) {
this->unk_850 = 1;
}
} else {
if ((play->sceneId == SCENE_SPOT04) && func_8083ADD4(play, this)) {
if ((play->sceneId == SCENE_KOKIRI_FOREST) && func_8083ADD4(play, this)) {
return;
}
func_80853080(this, play);
@ -13037,7 +13043,7 @@ void func_8084F710(Player* this, PlayState* play) {
Math_SmoothStepToF(&this->actor.velocity.y, 2.0f, 0.3f, 8.0f, 0.5f);
}
if ((play->sceneId == SCENE_KENJYANOMA) && func_8083ADD4(play, this)) {
if ((play->sceneId == SCENE_CHAMBER_OF_THE_SAGES) && func_8083ADD4(play, this)) {
return;
}
@ -13054,9 +13060,9 @@ void func_8084F88C(Player* this, PlayState* play) {
if ((this->unk_850++ > 8) && (play->transitionTrigger == TRANS_TRIGGER_OFF)) {
if (this->unk_84F != 0) {
if (play->sceneId == SCENE_ICE_DOUKUTO) {
if (play->sceneId == SCENE_ICE_CAVERN) {
Play_TriggerRespawn(play);
play->nextEntranceIndex = ENTR_ICE_DOUKUTO_0;
play->nextEntranceIndex = ENTR_ICE_CAVERN_0;
} else if (this->unk_84F < 0) {
Play_TriggerRespawn(play);
} else {
@ -14087,7 +14093,7 @@ void func_80851828(PlayState* play, Player* this, CsCmdActorAction* arg2) {
func_80845BA0(play, this, &sp1C, 10);
if (play->sceneId == SCENE_BDAN_BOSS) {
if (play->sceneId == SCENE_JABU_JABU_BOSS) {
if (this->unk_850 == 0) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) {
return;
@ -14566,7 +14572,7 @@ void func_80852944(PlayState* play, Player* this, CsCmdActorAction* arg2) {
void func_808529D0(PlayState* play, Player* this, CsCmdActorAction* arg2) {
this->actor.world.pos.x = arg2->startPos.x;
this->actor.world.pos.y = arg2->startPos.y;
if ((play->sceneId == SCENE_SPOT04) && !LINK_IS_ADULT) {
if ((play->sceneId == SCENE_KOKIRI_FOREST) && !LINK_IS_ADULT) {
this->actor.world.pos.y -= 1.0f;
}
this->actor.world.pos.z = arg2->startPos.z;

View file

@ -46,236 +46,242 @@ void MapSelect_LoadGame(MapSelectState* this, s32 entranceIndex) {
// "Translation" (Actual name)
static SceneSelectEntry sScenes[] = {
// "1: SPOT00" (Hyrule Field)
{ " 1:SPOT00", MapSelect_LoadGame, ENTR_SPOT00_0 },
{ " 1:SPOT00", MapSelect_LoadGame, ENTR_HYRULE_FIELD_0 },
// "2: SPOT01" (Kakariko Village)
{ " 2:SPOT01", MapSelect_LoadGame, ENTR_SPOT01_0 },
{ " 2:SPOT01", MapSelect_LoadGame, ENTR_KAKARIKO_VILLAGE_0 },
// "3: SPOT02" (Graveyard)
{ " 3:SPOT02", MapSelect_LoadGame, ENTR_SPOT02_0 },
{ " 3:SPOT02", MapSelect_LoadGame, ENTR_GRAVEYARD_0 },
// "4: SPOT03" (Zora's River)
{ " 4:SPOT03", MapSelect_LoadGame, ENTR_SPOT03_0 },
{ " 4:SPOT03", MapSelect_LoadGame, ENTR_ZORAS_RIVER_0 },
// "5: SPOT04" (Kokiri Forest)
{ " 5:SPOT04", MapSelect_LoadGame, ENTR_SPOT04_0 },
{ " 5:SPOT04", MapSelect_LoadGame, ENTR_KOKIRI_FOREST_0 },
// "6: SPOT05" (Sacred Forest Meadow)
{ " 6:SPOT05", MapSelect_LoadGame, ENTR_SPOT05_0 },
{ " 6:SPOT05", MapSelect_LoadGame, ENTR_SACRED_FOREST_MEADOW_0 },
// "7: SPOT06" (Lake Hylia)
{ " 7:SPOT06", MapSelect_LoadGame, ENTR_SPOT06_0 },
{ " 7:SPOT06", MapSelect_LoadGame, ENTR_LAKE_HYLIA_0 },
// "8: SPOT07" (Zora's Domain)
{ " 8:SPOT07", MapSelect_LoadGame, ENTR_SPOT07_0 },
{ " 8:SPOT07", MapSelect_LoadGame, ENTR_ZORAS_DOMAIN_0 },
// "9: SPOT08" (Zora's Fountain)
{ " 9:SPOT08", MapSelect_LoadGame, ENTR_SPOT08_0 },
{ " 9:SPOT08", MapSelect_LoadGame, ENTR_ZORAS_FOUNTAIN_0 },
// "10: SPOT09" (Gerudo Valley)
{ "10:SPOT09", MapSelect_LoadGame, ENTR_SPOT09_0 },
{ "10:SPOT09", MapSelect_LoadGame, ENTR_GERUDO_VALLEY_0 },
// "11: SPOT10" (Lost Woods)
{ "11:SPOT10", MapSelect_LoadGame, ENTR_SPOT10_0 },
{ "11:SPOT10", MapSelect_LoadGame, ENTR_LOST_WOODS_0 },
// "12: SPOT11" (Desert Colossus)
{ "12:SPOT11", MapSelect_LoadGame, ENTR_SPOT11_0 },
{ "12:SPOT11", MapSelect_LoadGame, ENTR_DESERT_COLOSSUS_0 },
// "13: SPOT12" (Gerudo's Fortress)
{ "13:SPOT12", MapSelect_LoadGame, ENTR_SPOT12_0 },
{ "13:SPOT12", MapSelect_LoadGame, ENTR_GERUDOS_FORTRESS_0 },
// "14: SPOT13" (Haunted Wasteland)
{ "14:SPOT13", MapSelect_LoadGame, ENTR_SPOT13_0 },
{ "14:SPOT13", MapSelect_LoadGame, ENTR_HAUNTED_WASTELAND_0 },
// "15: SPOT15" (Hyrule Castle)
{ "15:SPOT15", MapSelect_LoadGame, ENTR_SPOT15_0 },
{ "15:SPOT15", MapSelect_LoadGame, ENTR_HYRULE_CASTLE_0 },
// "16: SPOT16" (Death Mountain Trail)
{ "16:SPOT16", MapSelect_LoadGame, ENTR_SPOT16_0 },
{ "16:SPOT16", MapSelect_LoadGame, ENTR_DEATH_MOUNTAIN_TRAIL_0 },
// "17: SPOT17" (Death Mountain Crater)
{ "17:SPOT17", MapSelect_LoadGame, ENTR_SPOT17_0 },
{ "17:SPOT17", MapSelect_LoadGame, ENTR_DEATH_MOUNTAIN_CRATER_0 },
// "18: SPOT18" (Goron City)
{ "18:SPOT18", MapSelect_LoadGame, ENTR_SPOT18_0 },
{ "18:SPOT18", MapSelect_LoadGame, ENTR_GORON_CITY_0 },
// "19: SPOT20" (Lon Lon Ranch)
{ "19:SPOT20", MapSelect_LoadGame, ENTR_SPOT20_0 },
{ "19:SPOT20", MapSelect_LoadGame, ENTR_LON_LON_RANCH_0 },
// "20: Chamber of Time" (Temple Of Time)
{ "20:" GFXP_HIRAGANA "トキノマ", MapSelect_LoadGame, ENTR_TOKINOMA_0 },
{ "20:" GFXP_HIRAGANA "トキノマ", MapSelect_LoadGame, ENTR_TEMPLE_OF_TIME_0 },
// "21: Chamber of the Sages" (Chamber of the Sages)
{ "21:" GFXP_HIRAGANA "ケンジャノマ", MapSelect_LoadGame, ENTR_KENJYANOMA_0 },
{ "21:" GFXP_HIRAGANA "ケンジャノマ", MapSelect_LoadGame, ENTR_CHAMBER_OF_THE_SAGES_0 },
// "22: Target Range" (Shooting Gallery)
{ "22:" GFXP_HIRAGANA "シャテキジョウ", MapSelect_LoadGame, ENTR_SYATEKIJYOU_0 },
{ "22:" GFXP_HIRAGANA "シャテキジョウ", MapSelect_LoadGame, ENTR_SHOOTING_GALLERY_0 },
// "23: Hyrule Garden Game" (Hyrule Garden Minigame)
{ "23:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム", MapSelect_LoadGame, ENTR_HAIRAL_NIWA_0 },
{ "23:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム", MapSelect_LoadGame,
ENTR_CASTLE_COURTYARD_GUARDS_DAY_0 },
// "24: Grave Dive Hole" (Grave (Redead))
{ "24:" GFXP_HIRAGANA "ハカシタトビコミアナ", MapSelect_LoadGame, ENTR_HAKAANA_0 },
{ "24:" GFXP_HIRAGANA "ハカシタトビコミアナ", MapSelect_LoadGame, ENTR_REDEAD_GRAVE_0 },
// "25: Grave Dive Hole 2" (Grave (Fairy's Fountain))
{ "25:" GFXP_HIRAGANA "ハカシタトビコミアナ 2", MapSelect_LoadGame, ENTR_HAKAANA2_0 },
{ "25:" GFXP_HIRAGANA "ハカシタトビコミアナ 2", MapSelect_LoadGame, ENTR_GRAVE_WITH_FAIRYS_FOUNTAIN_0 },
// "26: Royal Family's Grave" (Royal Family's Tomb)
{ "26:" GFXP_HIRAGANA "オウケ ノ ハカアナ", MapSelect_LoadGame, ENTR_HAKAANA_OUKE_0 },
{ "26:" GFXP_HIRAGANA "オウケ ノ ハカアナ", MapSelect_LoadGame, ENTR_ROYAL_FAMILYS_TOMB_0 },
// "27: Great Fairy's Fountain" (Great Fairy's Fountain (Upgrades))
{ "27:" GFXP_HIRAGANA "ダイヨウセイノイズミ", MapSelect_LoadGame, ENTR_DAIYOUSEI_IZUMI_0 },
{ "27:" GFXP_HIRAGANA "ダイヨウセイノイズミ", MapSelect_LoadGame, ENTR_GREAT_FAIRYS_FOUNTAIN_MAGIC_0 },
// "28: Fairy Dive Hole" (Fairy's Fountain (Healing Fairies))
{ "28:" GFXP_HIRAGANA "トビコミ ヨウセイ アナ", MapSelect_LoadGame, ENTR_YOUSEI_IZUMI_TATE_0 },
{ "28:" GFXP_HIRAGANA "トビコミ ヨウセイ アナ", MapSelect_LoadGame, ENTR_FAIRYS_FOUNTAIN_0 },
// "29: Magic Stone Fairy's Fountain" (Great Fairy's Fountain (Spells))
{ "29:" GFXP_HIRAGANA "マホウセキ ヨウセイノイズミ", MapSelect_LoadGame, ENTR_YOUSEI_IZUMI_YOKO_0 },
{ "29:" GFXP_HIRAGANA "マホウセキ ヨウセイノイズミ", MapSelect_LoadGame, ENTR_GREAT_FAIRYS_FOUNTAIN_SPELLS_0 },
// "30: Final Battle With Ganon" (Battle With Ganon)
{ "30:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン", MapSelect_LoadGame, ENTR_GANON_FINAL_0 },
{ "30:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン", MapSelect_LoadGame, ENTR_GANONS_TOWER_COLLAPSE_EXTERIOR_0 },
// "31: Hyrule Inner Garden" (Castle Courtyard)
{ "31:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ナカニワ", MapSelect_LoadGame, ENTR_NAKANIWA_0 },
{ "31:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ナカニワ", MapSelect_LoadGame, ENTR_CASTLE_COURTYARD_ZELDA_0 },
// "32: Fishing" (Fishing Pond)
{ "32:" GFXP_HIRAGANA "ツリボリ", MapSelect_LoadGame, ENTR_TURIBORI_0 },
{ "32:" GFXP_HIRAGANA "ツリボリ", MapSelect_LoadGame, ENTR_FISHING_POND_0 },
// "33: Bombchu Bowling" (Bombchu Bowling Alley)
{ "33:" GFXP_KATAKANA "ボムチュウボーリング", MapSelect_LoadGame, ENTR_BOWLING_0 },
{ "33:" GFXP_KATAKANA "ボムチュウボーリング", MapSelect_LoadGame, ENTR_BOMBCHU_BOWLING_ALLEY_0 },
// "34: Lon Lon Ranch - Storehouse 1" (Talon's House)
{ "34:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 1", MapSelect_LoadGame, ENTR_SOUKO_0 },
{ "34:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 1", MapSelect_LoadGame, ENTR_LON_LON_BUILDINGS_0 },
// "35: Lon Lon Ranch - Storehouse 2" (Ranch Silo)
{ "35:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 2", MapSelect_LoadGame, ENTR_SOUKO_1 },
{ "35:" GFXP_KATAKANA "ロンロン" GFXP_HIRAGANA "ボクジョウ ソウコ 2", MapSelect_LoadGame, ENTR_LON_LON_BUILDINGS_1 },
// "36: Lookout Hut" (Guard House)
{ "36:" GFXP_HIRAGANA "ミハリ ゴヤ", MapSelect_LoadGame, ENTR_MIHARIGOYA_0 },
{ "36:" GFXP_HIRAGANA "ミハリ ゴヤ", MapSelect_LoadGame, ENTR_MARKET_GUARD_HOUSE_0 },
// "37: Magic Potion Shop" (Granny's Potion Shop)
{ "37:" GFXP_HIRAGANA "マホウ ノ クスリヤ", MapSelect_LoadGame, ENTR_MAHOUYA_0 },
{ "37:" GFXP_HIRAGANA "マホウ ノ クスリヤ", MapSelect_LoadGame, ENTR_POTION_SHOP_GRANNY_0 },
// "38: Treasure Chest Shop" (Treasure Chest Game)
{ "38:" GFXP_HIRAGANA "タカラバコヤ", MapSelect_LoadGame, ENTR_TAKARAYA_0 },
{ "38:" GFXP_HIRAGANA "タカラバコヤ", MapSelect_LoadGame, ENTR_TREASURE_BOX_SHOP_0 },
// "39: Gold Skulltula House" (House of Skulltula)
{ "39:" GFXP_HIRAGANA "キン " GFXP_KATAKANA "スタルチュラ ハウス", MapSelect_LoadGame, ENTR_KINSUTA_0 },
{ "39:" GFXP_HIRAGANA "キン " GFXP_KATAKANA "スタルチュラ ハウス", MapSelect_LoadGame, ENTR_HOUSE_OF_SKULLTULA_0 },
// "40: Castle Town - Entrance" (Market Entrance)
{ "40:" GFXP_HIRAGANA "ジョウカマチ イリグチ", MapSelect_LoadGame, ENTR_ENTRA_0 },
{ "40:" GFXP_HIRAGANA "ジョウカマチ イリグチ", MapSelect_LoadGame, ENTR_MARKET_ENTRANCE_DAY_0 },
// "41: Castle Town" (Market)
{ "41:" GFXP_HIRAGANA "ジョウカマチ", MapSelect_LoadGame, ENTR_MARKET_DAY_0 },
// "42: Back Alley" (Back Alley)
{ "42:" GFXP_HIRAGANA "ウラロジ", MapSelect_LoadGame, ENTR_MARKET_ALLEY_0 },
{ "42:" GFXP_HIRAGANA "ウラロジ", MapSelect_LoadGame, ENTR_BACK_ALLEY_DAY_0 },
// "43: In Front of the Temple of Time" (Temple of Time Exterior)
{ "43:" GFXP_HIRAGANA "トキノシンデン マエ", MapSelect_LoadGame, ENTR_SHRINE_0 },
{ "43:" GFXP_HIRAGANA "トキノシンデン マエ", MapSelect_LoadGame, ENTR_TEMPLE_OF_TIME_EXTERIOR_DAY_0 },
// "44: Link's House" (Link's House)
{ "44:" GFXP_HIRAGANA "リンクノイエ", MapSelect_LoadGame, ENTR_LINK_HOME_0 },
{ "44:" GFXP_HIRAGANA "リンクノイエ", MapSelect_LoadGame, ENTR_LINKS_HOUSE_0 },
// "45: Kakariko Village Row House" (Carpenter Boss's House)
{ "45:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラノナガヤ", MapSelect_LoadGame, ENTR_KAKARIKO_0 },
{ "45:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラノナガヤ", MapSelect_LoadGame, ENTR_KAKARIKO_CENTER_GUEST_HOUSE_0 },
// "46: Back Alley House" (Back Alley House (Man in Green))
{ "46:" GFXP_HIRAGANA "ウラロジノ イエ", MapSelect_LoadGame, ENTR_KAKARIKO3_0 },
{ "46:" GFXP_HIRAGANA "ウラロジノ イエ", MapSelect_LoadGame, ENTR_BACK_ALLEY_HOUSE_0 },
// "47: Kokiri Village - Know-It-All Brothers' House" (Know-It-All Brothers' House)
{ "47:" GFXP_HIRAGANA "コキリノムラ モノシリキョウダイノイエ", MapSelect_LoadGame, ENTR_KOKIRI_HOME_0 },
{ "47:" GFXP_HIRAGANA "コキリノムラ モノシリキョウダイノイエ", MapSelect_LoadGame, ENTR_KNOW_IT_ALL_BROS_HOUSE_0 },
// "48: Kokiri Village - Twins' House" (Twins' House)
{ "48:" GFXP_HIRAGANA "コキリノムラ フタゴノイエ", MapSelect_LoadGame, ENTR_KOKIRI_HOME3_0 },
{ "48:" GFXP_HIRAGANA "コキリノムラ フタゴノイエ", MapSelect_LoadGame, ENTR_TWINS_HOUSE_0 },
// "49: Kokiri Village - Mido's House" (Mido's House)
{ "49:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "ミド" GFXP_HIRAGANA "ノイエ", MapSelect_LoadGame, ENTR_KOKIRI_HOME4_0 },
{ "49:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "ミド" GFXP_HIRAGANA "ノイエ", MapSelect_LoadGame, ENTR_MIDOS_HOUSE_0 },
// "50: Kokiri Village - Saria's House" (Saria's House)
{ "50:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "サリア" GFXP_HIRAGANA "ノイエ", MapSelect_LoadGame, ENTR_KOKIRI_HOME5_0 },
{ "50:" GFXP_HIRAGANA "コキリノムラ " GFXP_KATAKANA "サリア" GFXP_HIRAGANA "ノイエ", MapSelect_LoadGame, ENTR_SARIAS_HOUSE_0 },
// "51: Stable" (Stable)
{ "51:" GFXP_HIRAGANA "ウマゴヤ", MapSelect_LoadGame, ENTR_MALON_STABLE_0 },
{ "51:" GFXP_HIRAGANA "ウマゴヤ", MapSelect_LoadGame, ENTR_STABLE_0 },
// "52: Grave Keeper's House" (Gravekeeper's Hut)
{ "52:" GFXP_HIRAGANA "ハカモリノイエ", MapSelect_LoadGame, ENTR_HUT_0 },
{ "52:" GFXP_HIRAGANA "ハカモリノイエ", MapSelect_LoadGame, ENTR_GRAVEKEEPERS_HUT_0 },
// "53: Back Alley - Dog Lady's House" (Back Alley House)
{ "53:" GFXP_HIRAGANA "ウラロジ イヌオバサンノイエ", MapSelect_LoadGame, ENTR_IMPA_0 },
{ "53:" GFXP_HIRAGANA "ウラロジ イヌオバサンノイエ", MapSelect_LoadGame, ENTR_DOG_LADY_HOUSE_0 },
// "54: Kakariko Village - Impa's House" (Impa's House)
{ "54:" GFXP_HIRAGANA "カカリコムラ " GFXP_KATAKANA "インパ" GFXP_HIRAGANA "ノイエ", MapSelect_LoadGame, ENTR_LABO_0 },
{ "54:" GFXP_HIRAGANA "カカリコムラ " GFXP_KATAKANA "インパ" GFXP_HIRAGANA "ノイエ", MapSelect_LoadGame, ENTR_IMPAS_HOUSE_0 },
// "55: Hylia Laboratory" (Lakeside Laboratory)
{ "55:" GFXP_KATAKANA "ハイリア" GFXP_HIRAGANA " ケンキュウジョ", MapSelect_LoadGame, ENTR_HYLIA_LABO_0 },
{ "55:" GFXP_KATAKANA "ハイリア" GFXP_HIRAGANA " ケンキュウジョ", MapSelect_LoadGame, ENTR_LAKESIDE_LABORATORY_0 },
// "56: Tent" (Carpenters' Tent)
{ "56:" GFXP_KATAKANA "テント", MapSelect_LoadGame, ENTR_TENT_0 },
{ "56:" GFXP_KATAKANA "テント", MapSelect_LoadGame, ENTR_CARPENTERS_TENT_0 },
// "57: Shield Shop" (Bazaar)
{ "57:" GFXP_HIRAGANA "タテノミセ", MapSelect_LoadGame, ENTR_SHOP1_0 },
{ "57:" GFXP_HIRAGANA "タテノミセ", MapSelect_LoadGame, ENTR_BAZAAR_0 },
// "58: Kokiri Shop" (Kokiri Shop)
{ "58:" GFXP_HIRAGANA "コキリゾクノミセ", MapSelect_LoadGame, ENTR_KOKIRI_SHOP_0 },
// "59: Goron Shop" (Goron Shop)
{ "59:" GFXP_KATAKANA "ゴロン" GFXP_HIRAGANA "ノミセ", MapSelect_LoadGame, ENTR_GOLON_0 },
{ "59:" GFXP_KATAKANA "ゴロン" GFXP_HIRAGANA "ノミセ", MapSelect_LoadGame, ENTR_GORON_SHOP_0 },
// "60: Zora Shop" (Zora Shop)
{ "60:" GFXP_KATAKANA "ゾーラ" GFXP_HIRAGANA "ノミセ", MapSelect_LoadGame, ENTR_ZOORA_0 },
{ "60:" GFXP_KATAKANA "ゾーラ" GFXP_HIRAGANA "ノミセ", MapSelect_LoadGame, ENTR_ZORA_SHOP_0 },
// "61: Kakariko Village - Potion Shop" (Kakariko Potion Shop)
{ "61:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラ クスリヤ", MapSelect_LoadGame, ENTR_DRAG_0 },
{ "61:" GFXP_KATAKANA "カカリコ" GFXP_HIRAGANA "ムラ クスリヤ", MapSelect_LoadGame, ENTR_POTION_SHOP_KAKARIKO_0 },
// "62: Castle Town - Potion Shop" (Market Potion Shop)
{ "62:" GFXP_HIRAGANA "ジョウカマチ クスリヤ", MapSelect_LoadGame, ENTR_ALLEY_SHOP_0 },
{ "62:" GFXP_HIRAGANA "ジョウカマチ クスリヤ", MapSelect_LoadGame, ENTR_POTION_SHOP_MARKET_0 },
// "63: Back Alley - Night Shop" (Bombchu Shop)
{ "63:" GFXP_HIRAGANA "ウラロジ ヨルノミセ", MapSelect_LoadGame, ENTR_NIGHT_SHOP_0 },
{ "63:" GFXP_HIRAGANA "ウラロジ ヨルノミセ", MapSelect_LoadGame, ENTR_BOMBCHU_SHOP_0 },
// "64: Mask Shop" (Happy Mask Shop)
{ "64:" GFXP_HIRAGANA "オメンヤ", MapSelect_LoadGame, ENTR_FACE_SHOP_0 },
{ "64:" GFXP_HIRAGANA "オメンヤ", MapSelect_LoadGame, ENTR_HAPPY_MASK_SHOP_0 },
// "65: Gerudo Training Area" (Gerudo Training Ground)
{ "65:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ノシュウレンジョウ", MapSelect_LoadGame, ENTR_MEN_0 },
{ "65:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ノシュウレンジョウ", MapSelect_LoadGame, ENTR_GERUDO_TRAINING_GROUND_0 },
// "66: Fairy Tree Dungeon" (Inside the Deku Tree)
{ "66:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_YDAN_0 },
{ "66:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_DEKU_TREE_0 },
// "67: Fairy Tree Dungeon - Boss" (Gohma's Lair)
{ "67:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_YDAN_BOSS_0 },
{ "67:" GFXP_HIRAGANA "ヨウセイノキノ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_DEKU_TREE_BOSS_0 },
// "68: Dondogo Dungeon" (Dodongo's Cavern)
{ "68:" GFXP_KATAKANA "ドドンゴ ダンジョン", MapSelect_LoadGame, ENTR_DDAN_0 },
{ "68:" GFXP_KATAKANA "ドドンゴ ダンジョン", MapSelect_LoadGame, ENTR_DODONGOS_CAVERN_0 },
// "69: Dondogo Dungeon - Boss" (King Dodongo's Lair)
{ "69:" GFXP_KATAKANA "ドドンゴ ダンジョン ボス", MapSelect_LoadGame, ENTR_DDAN_BOSS_0 },
{ "69:" GFXP_KATAKANA "ドドンゴ ダンジョン ボス", MapSelect_LoadGame, ENTR_DODONGOS_CAVERN_BOSS_0 },
// "70: Giant Fish Dungeon" (Inside Jabu-Jabu's Belly)
{ "70:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_BDAN_0 },
{ "70:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_JABU_JABU_0 },
// "71: Giant Fish Dungeon - Boss" (Barinade's Lair)
{ "71:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_BDAN_BOSS_0 },
{ "71:" GFXP_HIRAGANA "キョダイギョ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_JABU_JABU_BOSS_0 },
// "72: Forest Temple" (Forest Temple)
{ "72:" GFXP_HIRAGANA "モリノシンデン", MapSelect_LoadGame, ENTR_BMORI1_0 },
{ "72:" GFXP_HIRAGANA "モリノシンデン", MapSelect_LoadGame, ENTR_FOREST_TEMPLE_0 },
// "73: Forest Temple - Boss" (Phantom Ganon's Lair)
{ "73:" GFXP_HIRAGANA "モリノシンデン " GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_MORIBOSSROOM_0 },
{ "73:" GFXP_HIRAGANA "モリノシンデン " GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_FOREST_TEMPLE_BOSS_0 },
// "74: Dungeon Below the Well" (Bottom of the Well)
{ "74:" GFXP_HIRAGANA "イドシタ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_HAKADANCH_0 },
{ "74:" GFXP_HIRAGANA "イドシタ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_BOTTOM_OF_THE_WELL_0 },
// "75: Dungeon Beneath the Graves" (Shadow Temple)
{ "75:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_HAKADAN_0 },
{ "75:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_SHADOW_TEMPLE_0 },
// "76: Dungeon Beneath the Graves - Boss" (Bongo Bongo's Lair)
{ "76:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_HAKADAN_BS_0 },
{ "76:" GFXP_HIRAGANA "ハカシタ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_SHADOW_TEMPLE_BOSS_0 },
// "77: Fire Temple" (Fire Temple)
{ "77:" GFXP_HIRAGANA "ヒノシンデン", MapSelect_LoadGame, ENTR_HIDAN_0 },
{ "77:" GFXP_HIRAGANA "ヒノシンデン", MapSelect_LoadGame, ENTR_FIRE_TEMPLE_0 },
// "78: Fire Temple - Boss" (Volvagia's Lair)
{ "78:" GFXP_HIRAGANA "ヒノシンデン " GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_FIRE_BS_0 },
{ "78:" GFXP_HIRAGANA "ヒノシンデン " GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_FIRE_TEMPLE_BOSS_0 },
// "79: Water Temple" (Water Temple)
{ "79:" GFXP_HIRAGANA "ミズノシンデン", MapSelect_LoadGame, ENTR_MIZUSIN_0 },
{ "79:" GFXP_HIRAGANA "ミズノシンデン", MapSelect_LoadGame, ENTR_WATER_TEMPLE_0 },
// "80: Water Temple - Boss" (Morpha's Lair)
{ "80:" GFXP_HIRAGANA "ミズノシンデン " GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_MIZUSIN_BS_0 },
{ "80:" GFXP_HIRAGANA "ミズノシンデン " GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_WATER_TEMPLE_BOSS_0 },
// "81: Evil Goddess Statue Dungeon" (Spirit Temple)
{ "81:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_JYASINZOU_0 },
{ "81:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_SPIRIT_TEMPLE_0 },
// "82: Evil Goddess Statue Dungeon - Iron Knuckle" (Iron Knuckle's Lair)
{ "82:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン アイアンナック", MapSelect_LoadGame, ENTR_JYASINBOSS_0 },
{ "82:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン アイアンナック", MapSelect_LoadGame, ENTR_SPIRIT_TEMPLE_BOSS_0 },
// "83: Evil Goddess Statue Dungeon - Boss" (Twinrova's Lair)
{ "83:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_JYASINBOSS_2 },
{ "83:" GFXP_HIRAGANA "ジャシンゾウ " GFXP_KATAKANA "ダンジョン ボス", MapSelect_LoadGame, ENTR_SPIRIT_TEMPLE_BOSS_2 },
// "84: Ganon's Tower" (Ganon's Tower)
{ "84:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ", MapSelect_LoadGame, ENTR_GANON_0 },
{ "84:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ", MapSelect_LoadGame, ENTR_GANONS_TOWER_0 },
// "85: Ganon's Tower - Boss" (Ganondorf's Lair)
{ "85:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ" GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_GANON_BOSS_0 },
{ "85:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ" GFXP_KATAKANA "ボス", MapSelect_LoadGame, ENTR_GANONDORF_BOSS_0 },
// "86: Ice Cavern" (Ice Cavern)
{ "86:" GFXP_HIRAGANA "コオリノドウクツ", MapSelect_LoadGame, ENTR_ICE_DOUKUTO_0 },
{ "86:" GFXP_HIRAGANA "コオリノドウクツ", MapSelect_LoadGame, ENTR_ICE_CAVERN_0 },
// "87: Relay Beneath the Graves" (Dampé's Grave)
{ "87:" GFXP_HIRAGANA "ハカシタ" GFXP_KATAKANA "リレー", MapSelect_LoadGame, ENTR_HAKASITARELAY_0 },
{ "87:" GFXP_HIRAGANA "ハカシタ" GFXP_KATAKANA "リレー", MapSelect_LoadGame, ENTR_WINDMILL_AND_DAMPES_GRAVE_0 },
// "88: Ganon's Basement Dungeon" (Inside Ganon's Castle)
{ "88:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame, ENTR_GANONTIKA_0 },
{ "88:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ " GFXP_KATAKANA "ダンジョン", MapSelect_LoadGame,
ENTR_INSIDE_GANONS_CASTLE_0 },
// "89: Final Battle With Ganon - Cutscene & Battle" (Ganondorf's Death Scene & Tower Escape Exterior)
{ "89:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "サイシュウセン " GFXP_KATAKANA "デモ & バトル", MapSelect_LoadGame,
ENTR_GANON_DEMO_0 },
ENTR_GANON_BOSS_0 },
// "90: Ganon's Tower Aftermath 1" (Escaping Ganon's Tower 1)
{ "90:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 1", MapSelect_LoadGame, ENTR_GANON_SONOGO_0 },
{ "90:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 1", MapSelect_LoadGame,
ENTR_GANONS_TOWER_COLLAPSE_INTERIOR_0 },
// "91: Ganon's Tower Aftermath 2" (Escaping Ganon's Tower 2)
{ "91:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 2", MapSelect_LoadGame, ENTR_GANON_SONOGO_2 },
{ "91:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 2", MapSelect_LoadGame,
ENTR_GANONS_TOWER_COLLAPSE_INTERIOR_2 },
// "92: Ganon's Tower Aftermath 3" (Escaping Ganon's Tower 3)
{ "92:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 3", MapSelect_LoadGame, ENTR_GANON_SONOGO_4 },
{ "92:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 3", MapSelect_LoadGame,
ENTR_GANONS_TOWER_COLLAPSE_INTERIOR_4 },
// "93: Ganon's Tower Aftermath 4" (Escaping Ganon's Tower 4)
{ "93:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 4", MapSelect_LoadGame, ENTR_GANON_SONOGO_6 },
{ "93:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "ノトウ ソノゴ 4", MapSelect_LoadGame,
ENTR_GANONS_TOWER_COLLAPSE_INTERIOR_6 },
// "94: Ganon's Basement Aftermath" (Escaping Ganon's Castle)
{ "94:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ ソノゴ", MapSelect_LoadGame, ENTR_GANONTIKA_SONOGO_0 },
{ "94:" GFXP_KATAKANA "ガノン" GFXP_HIRAGANA "チカ ソノゴ", MapSelect_LoadGame, ENTR_INSIDE_GANONS_CASTLE_COLLAPSE_0 },
// "95: Gerudo Passage 1-2" (Thieves' Hideout 1)
{ "95:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 1-2", MapSelect_LoadGame, ENTR_GERUDOWAY_0 },
{ "95:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 1-2", MapSelect_LoadGame, ENTR_THIEVES_HIDEOUT_0 },
// "96: Gerudo Passage 3-4 9-10" (Thieves' Hideout 2)
{ "96:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 3-4 9-10", MapSelect_LoadGame, ENTR_GERUDOWAY_2 },
{ "96:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 3-4 9-10", MapSelect_LoadGame, ENTR_THIEVES_HIDEOUT_2 },
// "97: Gerudo Passage 5-6" (Thieves' Hideout 3)
{ "97:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 5-6", MapSelect_LoadGame, ENTR_GERUDOWAY_4 },
{ "97:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 5-6", MapSelect_LoadGame, ENTR_THIEVES_HIDEOUT_4 },
// "98: Gerudo Passage 7-8" (Thieves' Hideout 4)
{ "98:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 7-8", MapSelect_LoadGame, ENTR_GERUDOWAY_6 },
{ "98:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 7-8", MapSelect_LoadGame, ENTR_THIEVES_HIDEOUT_6 },
// "99: Gerudo Passage 11-12" (Thieves' Hideout 5)
{ "99:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 11-12", MapSelect_LoadGame, ENTR_GERUDOWAY_10 },
{ "99:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 11-12", MapSelect_LoadGame, ENTR_THIEVES_HIDEOUT_10 },
// "100: Gerudo Passage 13" (Thieves' Hideout 6)
{ "100:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 13", MapSelect_LoadGame, ENTR_GERUDOWAY_12 },
{ "100:" GFXP_KATAKANA "ゲルド" GFXP_HIRAGANA "ツウロ 13", MapSelect_LoadGame, ENTR_THIEVES_HIDEOUT_12 },
// "101: Hidden Dive Hole 0" (Grotto 0 - Gossip Stone & Chest)
{ "101:" GFXP_HIRAGANA "カクシトビコミアナ 0", MapSelect_LoadGame, ENTR_KAKUSIANA_0 },
{ "101:" GFXP_HIRAGANA "カクシトビコミアナ 0", MapSelect_LoadGame, ENTR_GROTTOS_0 },
// "102: Hidden Dive Hole 1" (Grotto 1 - Skulltula & Gold Skulltula)
{ "102:" GFXP_HIRAGANA "カクシトビコミアナ 1", MapSelect_LoadGame, ENTR_KAKUSIANA_1 },
{ "102:" GFXP_HIRAGANA "カクシトビコミアナ 1", MapSelect_LoadGame, ENTR_GROTTOS_1 },
// "103: Hidden Dive Hole 2" (Grotto 2 - Business Scrub & Heart Piece)
{ "103:" GFXP_HIRAGANA "カクシトビコミアナ 2", MapSelect_LoadGame, ENTR_KAKUSIANA_2 },
{ "103:" GFXP_HIRAGANA "カクシトビコミアナ 2", MapSelect_LoadGame, ENTR_GROTTOS_2 },
// "104: Hidden Dive Hole 3" (Grotto 3 - Redeads)
{ "104:" GFXP_HIRAGANA "カクシトビコミアナ 3", MapSelect_LoadGame, ENTR_KAKUSIANA_3 },
{ "104:" GFXP_HIRAGANA "カクシトビコミアナ 3", MapSelect_LoadGame, ENTR_GROTTOS_3 },
// "105: Hidden Dive Hole 4" (Grotto 4 - 3 Business Scrubs)
{ "105:" GFXP_HIRAGANA "カクシトビコミアナ 4", MapSelect_LoadGame, ENTR_KAKUSIANA_4 },
{ "105:" GFXP_HIRAGANA "カクシトビコミアナ 4", MapSelect_LoadGame, ENTR_GROTTOS_4 },
// "106: Hidden Dive Hole 5" (Grotto 5 - Gossip Stone, Skulltula, Cow)
{ "106:" GFXP_HIRAGANA "カクシトビコミアナ 5", MapSelect_LoadGame, ENTR_KAKUSIANA_5 },
{ "106:" GFXP_HIRAGANA "カクシトビコミアナ 5", MapSelect_LoadGame, ENTR_GROTTOS_5 },
// "107: Hidden Dive Hole 6" (Grotto 6 - Octorok)
{ "107:" GFXP_HIRAGANA "カクシトビコミアナ 6", MapSelect_LoadGame, ENTR_KAKUSIANA_6 },
{ "107:" GFXP_HIRAGANA "カクシトビコミアナ 6", MapSelect_LoadGame, ENTR_GROTTOS_6 },
// "108: Hidden Dive Hole 7" (Grotto 7 - Business Scrub & Deku Nut Upgrade)
{ "108:" GFXP_HIRAGANA "カクシトビコミアナ 7", MapSelect_LoadGame, ENTR_KAKUSIANA_7 },
{ "108:" GFXP_HIRAGANA "カクシトビコミアナ 7", MapSelect_LoadGame, ENTR_GROTTOS_7 },
// "109: Hidden Dive Hole 8" (Grotto 8 - 2 Wolfos)
{ "109:" GFXP_HIRAGANA "カクシトビコミアナ 8", MapSelect_LoadGame, ENTR_KAKUSIANA_8 },
{ "109:" GFXP_HIRAGANA "カクシトビコミアナ 8", MapSelect_LoadGame, ENTR_GROTTOS_8 },
// "110: Hidden Dive Hole 9" (Grotto 9 - Bombable Walls)
{ "110:" GFXP_HIRAGANA "カクシトビコミアナ 9", MapSelect_LoadGame, ENTR_KAKUSIANA_9 },
{ "110:" GFXP_HIRAGANA "カクシトビコミアナ 9", MapSelect_LoadGame, ENTR_GROTTOS_9 },
// "111: Hidden Dive Hole 10" (Grotto 10 - 2 Business Scrubs)
{ "111:" GFXP_HIRAGANA "カクシトビコミアナ 10", MapSelect_LoadGame, ENTR_KAKUSIANA_10 },
{ "111:" GFXP_HIRAGANA "カクシトビコミアナ 10", MapSelect_LoadGame, ENTR_GROTTOS_10 },
// "112: Hidden Dive Hole 11" (Grotto 11 - Tektite & Heart Piece)
{ "112:" GFXP_HIRAGANA "カクシトビコミアナ 11", MapSelect_LoadGame, ENTR_KAKUSIANA_11 },
{ "112:" GFXP_HIRAGANA "カクシトビコミアナ 11", MapSelect_LoadGame, ENTR_GROTTOS_11 },
// "113: Hidden Dive Hole 12" (Grotto 12 - Deku Stage)
{ "113:" GFXP_HIRAGANA "カクシトビコミアナ 12", MapSelect_LoadGame, ENTR_KAKUSIANA_12 },
{ "113:" GFXP_HIRAGANA "カクシトビコミアナ 12", MapSelect_LoadGame, ENTR_GROTTOS_12 },
// "114: Hidden Dive Hole 13" (Grotto 13 - Rupees & Cow)
{ "114:" GFXP_HIRAGANA "カクシトビコミアナ 13", MapSelect_LoadGame, ENTR_KAKUSIANA_13 },
{ "114:" GFXP_HIRAGANA "カクシトビコミアナ 13", MapSelect_LoadGame, ENTR_GROTTOS_13 },
// "115: Hyrule Cutscenes" (Cutscene Map)
{ "115:" GFXP_KATAKANA "ハイラル デモ", MapSelect_LoadGame, ENTR_HIRAL_DEMO_0 },
{ "115:" GFXP_KATAKANA "ハイラル デモ", MapSelect_LoadGame, ENTR_CUTSCENE_MAP_0 },
// "116: Special Room (Treasure Chest Warp)" (Ganondorf Test Room)
{ "116:" GFXP_HIRAGANA "ベッシツ (タカラバコ" GFXP_KATAKANA "ワープ)", MapSelect_LoadGame, ENTR_BESITU_0 },
// "117: Sasaki Test" (Sasa Test)

View file

@ -305,7 +305,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) {
KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gGoldSkulltulaIconTex, 24, 24, 8);
}
if ((play->sceneId >= SCENE_YDAN) && (play->sceneId <= SCENE_TAKARAYA)) {
if ((play->sceneId >= SCENE_DEKU_TREE) && (play->sceneId <= SCENE_TREASURE_BOX_SHOP)) {
stepR = (mapBgPulseR - mapBgPulseColors[mapBgPulseStage][0]) / mapBgPulseTimer;
stepG = (mapBgPulseG - mapBgPulseColors[mapBgPulseStage][1]) / mapBgPulseTimer;
stepB = (mapBgPulseB - mapBgPulseColors[mapBgPulseStage][2]) / mapBgPulseTimer;

View file

@ -2464,14 +2464,14 @@ void KaleidoScope_UpdateDungeonMap(PlayState* play) {
KaleidoScope_LoadDungeonMap(play);
Map_SetFloorPalettesData(play, pauseCtx->dungeonMapSlot - 3);
if ((play->sceneId >= SCENE_YDAN) && (play->sceneId <= SCENE_TAKARAYA)) {
if ((play->sceneId >= SCENE_DEKU_TREE) && (play->sceneId <= SCENE_TREASURE_BOX_SHOP)) {
if ((VREG(30) + 3) == pauseCtx->cursorPoint[PAUSE_MAP]) {
KaleidoScope_OverridePalIndexCI4(interfaceCtx->mapSegment, MAP_48x85_TEX_SIZE,
interfaceCtx->mapPaletteIndex, 14);
}
}
if ((play->sceneId >= SCENE_YDAN) && (play->sceneId <= SCENE_TAKARAYA)) {
if ((play->sceneId >= SCENE_DEKU_TREE) && (play->sceneId <= SCENE_TREASURE_BOX_SHOP)) {
if ((VREG(30) + 3) == pauseCtx->cursorPoint[PAUSE_MAP]) {
KaleidoScope_OverridePalIndexCI4(interfaceCtx->mapSegment + ALIGN16(MAP_48x85_TEX_SIZE), MAP_48x85_TEX_SIZE,
interfaceCtx->mapPaletteIndex, 14);
@ -2564,24 +2564,24 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->iconItemAltSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItem24Segment + size);
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
sInDungeonScene = true;
size2 = (uintptr_t)_icon_item_dungeon_staticSegmentRomEnd -
(uintptr_t)_icon_item_dungeon_staticSegmentRomStart;
@ -3345,57 +3345,57 @@ void KaleidoScope_Update(PlayState* play) {
Play_SaveSceneFlags(play);
switch (gSaveContext.entranceIndex) {
case ENTR_YDAN_0:
case ENTR_DDAN_0:
case ENTR_BDAN_0:
case ENTR_BMORI1_0:
case ENTR_HIDAN_0:
case ENTR_MIZUSIN_0:
case ENTR_JYASINZOU_0:
case ENTR_HAKADAN_0:
case ENTR_GANON_0:
case ENTR_MEN_0:
case ENTR_ICE_DOUKUTO_0:
case ENTR_GERUDOWAY_0:
case ENTR_HAKADANCH_0:
case ENTR_GANONTIKA_0:
case ENTR_GANON_SONOGO_0:
case ENTR_DEKU_TREE_0:
case ENTR_DODONGOS_CAVERN_0:
case ENTR_JABU_JABU_0:
case ENTR_FOREST_TEMPLE_0:
case ENTR_FIRE_TEMPLE_0:
case ENTR_WATER_TEMPLE_0:
case ENTR_SPIRIT_TEMPLE_0:
case ENTR_SHADOW_TEMPLE_0:
case ENTR_GANONS_TOWER_0:
case ENTR_GERUDO_TRAINING_GROUND_0:
case ENTR_ICE_CAVERN_0:
case ENTR_THIEVES_HIDEOUT_0:
case ENTR_BOTTOM_OF_THE_WELL_0:
case ENTR_INSIDE_GANONS_CASTLE_0:
case ENTR_GANONS_TOWER_COLLAPSE_INTERIOR_0:
break;
case ENTR_YDAN_BOSS_0:
gSaveContext.entranceIndex = ENTR_YDAN_0;
case ENTR_DEKU_TREE_BOSS_0:
gSaveContext.entranceIndex = ENTR_DEKU_TREE_0;
break;
case ENTR_DDAN_BOSS_0:
gSaveContext.entranceIndex = ENTR_DDAN_0;
case ENTR_DODONGOS_CAVERN_BOSS_0:
gSaveContext.entranceIndex = ENTR_DODONGOS_CAVERN_0;
break;
case ENTR_BDAN_BOSS_0:
gSaveContext.entranceIndex = ENTR_BDAN_0;
case ENTR_JABU_JABU_BOSS_0:
gSaveContext.entranceIndex = ENTR_JABU_JABU_0;
break;
case ENTR_MORIBOSSROOM_0:
gSaveContext.entranceIndex = ENTR_BMORI1_0;
case ENTR_FOREST_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_FOREST_TEMPLE_0;
break;
case ENTR_FIRE_BS_0:
gSaveContext.entranceIndex = ENTR_HIDAN_0;
case ENTR_FIRE_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_FIRE_TEMPLE_0;
break;
case ENTR_MIZUSIN_BS_0:
gSaveContext.entranceIndex = ENTR_MIZUSIN_0;
case ENTR_WATER_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_WATER_TEMPLE_0;
break;
case ENTR_JYASINBOSS_0:
gSaveContext.entranceIndex = ENTR_JYASINZOU_0;
case ENTR_SPIRIT_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_SPIRIT_TEMPLE_0;
break;
case ENTR_HAKADAN_BS_0:
gSaveContext.entranceIndex = ENTR_HAKADAN_0;
case ENTR_SHADOW_TEMPLE_BOSS_0:
gSaveContext.entranceIndex = ENTR_SHADOW_TEMPLE_0;
break;
case ENTR_GANON_BOSS_0:
gSaveContext.entranceIndex = ENTR_GANON_0;
case ENTR_GANONDORF_BOSS_0:
gSaveContext.entranceIndex = ENTR_GANONS_TOWER_0;
break;
}
} else {
@ -3478,24 +3478,24 @@ void KaleidoScope_Update(PlayState* play) {
func_800418D0(&play->colCtx, play);
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
Map_InitData(play, play->interfaceCtx.mapRoomNum);
break;
}

View file

@ -60,8 +60,8 @@ void PauseMapMark_DrawForDungeon(PlayState* play) {
break;
}
if ((mapMarkData->markType == PAUSE_MAP_MARK_BOSS) && (play->sceneId >= SCENE_YDAN_BOSS) &&
(play->sceneId <= SCENE_GANON_FINAL)) {
if ((mapMarkData->markType == PAUSE_MAP_MARK_BOSS) && (play->sceneId >= SCENE_DEKU_TREE_BOSS) &&
(play->sceneId <= SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR)) {
if (gBossMarkState == 0) {
Math_ApproachF(&gBossMarkScale, 1.5f, 1.0f, 0.041f);
if (gBossMarkScale == 1.5f) {
@ -99,14 +99,14 @@ void PauseMapMark_DrawForDungeon(PlayState* play) {
display = false;
} else {
switch (play->sceneId) {
case SCENE_YDAN_BOSS:
case SCENE_DDAN_BOSS:
case SCENE_BDAN_BOSS:
case SCENE_MORIBOSSROOM:
case SCENE_FIRE_BS:
case SCENE_MIZUSIN_BS:
case SCENE_JYASINBOSS:
case SCENE_HAKADAN_BS:
case SCENE_DEKU_TREE_BOSS:
case SCENE_DODONGOS_CAVERN_BOSS:
case SCENE_JABU_JABU_BOSS:
case SCENE_FOREST_TEMPLE_BOSS:
case SCENE_FIRE_TEMPLE_BOSS:
case SCENE_WATER_TEMPLE_BOSS:
case SCENE_SPIRIT_TEMPLE_BOSS:
case SCENE_SHADOW_TEMPLE_BOSS:
display = false;
break;
default:
@ -151,16 +151,16 @@ void PauseMapMark_Draw(PlayState* play) {
PauseMapMark_Init(play);
switch (play->sceneId) {
case SCENE_YDAN:
case SCENE_DDAN:
case SCENE_BDAN:
case SCENE_BMORI1:
case SCENE_HIDAN:
case SCENE_MIZUSIN:
case SCENE_JYASINZOU:
case SCENE_HAKADAN:
case SCENE_HAKADANCH:
case SCENE_ICE_DOUKUTO:
case SCENE_DEKU_TREE:
case SCENE_DODONGOS_CAVERN:
case SCENE_JABU_JABU:
case SCENE_FOREST_TEMPLE:
case SCENE_FIRE_TEMPLE:
case SCENE_WATER_TEMPLE:
case SCENE_SPIRIT_TEMPLE:
case SCENE_SHADOW_TEMPLE:
case SCENE_BOTTOM_OF_THE_WELL:
case SCENE_ICE_CAVERN:
PauseMapMark_DrawForDungeon(play);
break;
}

View file

@ -9,6 +9,109 @@ simpleReplace = {
"ACTORTYPE":"ACTORCAT",
"DistToLink":"DistToPlayer",
"HitItem":"HitInfo",
"ENTR_YDAN_BOSS": "ENTR_DEKU_TREE_BOSS",
"ENTR_DDAN_BOSS": "ENTR_DODONGOS_CAVERN_BOSS",
"ENTR_BDAN_BOSS": "ENTR_JABU_JABU_BOSS",
"ENTR_MORIBOSSROOM": "ENTR_FOREST_TEMPLE_BOSS",
"ENTR_FIRE_BS": "ENTR_FIRE_TEMPLE_BOSS",
"ENTR_MIZUSIN_BS": "ENTR_WATER_TEMPLE_BOSS",
"ENTR_JYASINBOSS": "ENTR_SPIRIT_TEMPLE_BOSS",
"ENTR_HAKADAN_BS": "ENTR_SHADOW_TEMPLE_BOSS",
"ENTR_GANON_BOSS": "ENTR_GANONDORF_BOSS",
"ENTR_YDAN": "ENTR_DEKU_TREE",
"ENTR_DDAN": "ENTR_DODONGOS_CAVERN",
"ENTR_BDAN": "ENTR_JABU_JABU",
"ENTR_BMORI1": "ENTR_FOREST_TEMPLE",
"ENTR_HIDAN": "ENTR_FIRE_TEMPLE",
"ENTR_MIZUSIN": "ENTR_WATER_TEMPLE",
"ENTR_JYASINZOU": "ENTR_SPIRIT_TEMPLE",
"ENTR_HAKADANCH": "ENTR_BOTTOM_OF_THE_WELL",
"ENTR_HAKADAN": "ENTR_SHADOW_TEMPLE",
"ENTR_ICE_DOUKUTO": "ENTR_ICE_CAVERN",
"ENTR_MEN": "ENTR_GERUDO_TRAINING_GROUND",
"ENTR_GERUDOWAY": "ENTR_THIEVES_HIDEOUT",
"ENTR_GANONTIKA_SONOGO": "ENTR_INSIDE_GANONS_CASTLE_COLLAPSE",
"ENTR_GANONTIKA": "ENTR_INSIDE_GANONS_CASTLE",
"ENTR_GANON_SONOGO": "ENTR_GANONS_TOWER_COLLAPSE_INTERIOR",
"ENTR_TAKARAYA": "ENTR_TREASURE_BOX_SHOP",
"ENTR_GANON_FINAL": "ENTR_GANONS_TOWER_COLLAPSE_EXTERIOR",
"ENTR_ENTRA_N": "ENTR_MARKET_ENTRANCE_NIGHT",
"ENTR_ENTRA": "ENTR_MARKET_ENTRANCE_DAY",
"ENTR_ENRUI": "ENTR_MARKET_ENTRANCE_RUINS",
"ENTR_MARKET_ALLEY_N": "ENTR_BACK_ALLEY_NIGHT",
"ENTR_MARKET_ALLEY": "ENTR_BACK_ALLEY_DAY",
"ENTR_MARKET_DAY": "ENTR_MARKET_DAY",
"ENTR_MARKET_NIGHT": "ENTR_MARKET_NIGHT",
"ENTR_MARKET_RUINS": "ENTR_MARKET_RUINS",
"ENTR_SHRINE_N": "ENTR_TEMPLE_OF_TIME_EXTERIOR_NIGHT",
"ENTR_SHRINE_R": "ENTR_TEMPLE_OF_TIME_EXTERIOR_RUINS",
"ENTR_SHRINE": "ENTR_TEMPLE_OF_TIME_EXTERIOR_DAY",
"ENTR_KOKIRI_HOME3": "ENTR_TWINS_HOUSE",
"ENTR_KOKIRI_HOME4": "ENTR_MIDOS_HOUSE",
"ENTR_KOKIRI_HOME5": "ENTR_SARIAS_HOUSE",
"ENTR_KOKIRI_HOME": "ENTR_KNOW_IT_ALL_BROS_HOUSE",
"ENTR_KAKARIKO3": "ENTR_BACK_ALLEY_HOUSE",
"ENTR_KAKARIKO": "ENTR_KAKARIKO_CENTER_GUEST_HOUSE",
"ENTR_SHOP1": "ENTR_BAZAAR",
"ENTR_KOKIRI_SHOP": "ENTR_KOKIRI_SHOP",
"ENTR_GOLON": "ENTR_GORON_SHOP",
"ENTR_ZOORA": "ENTR_ZORA_SHOP",
"ENTR_DRAG": "ENTR_POTION_SHOP_KAKARIKO",
"ENTR_ALLEY_SHOP": "ENTR_POTION_SHOP_MARKET",
"ENTR_NIGHT_SHOP": "ENTR_BOMBCHU_SHOP",
"ENTR_FACE_SHOP": "ENTR_HAPPY_MASK_SHOP",
"ENTR_LINK_HOME": "ENTR_LINKS_HOUSE",
"ENTR_IMPA": "ENTR_DOG_LADY_HOUSE",
"ENTR_MALON_STABLE": "ENTR_STABLE",
"ENTR_LABO": "ENTR_IMPAS_HOUSE",
"ENTR_HYLIA_LABO": "ENTR_LAKESIDE_LABORATORY",
"ENTR_TENT": "ENTR_CARPENTERS_TENT",
"ENTR_HUT": "ENTR_GRAVEKEEPERS_HUT",
"ENTR_DAIYOUSEI_IZUMI": "ENTR_GREAT_FAIRYS_FOUNTAIN_MAGIC",
"ENTR_YOUSEI_IZUMI_TATE": "ENTR_FAIRYS_FOUNTAIN",
"ENTR_YOUSEI_IZUMI_YOKO": "ENTR_GREAT_FAIRYS_FOUNTAIN_SPELLS",
"ENTR_KAKUSIANA": "ENTR_GROTTOS",
"ENTR_HAKAANA2": "ENTR_GRAVE_WITH_FAIRYS_FOUNTAIN",
"ENTR_HAKAANA_OUKE": "ENTR_ROYAL_FAMILYS_TOMB",
"ENTR_HAKAANA": "ENTR_REDEAD_GRAVE",
"ENTR_SYATEKIJYOU": "ENTR_SHOOTING_GALLERY",
"ENTR_TOKINOMA": "ENTR_TEMPLE_OF_TIME",
"ENTR_KENJYANOMA": "ENTR_CHAMBER_OF_THE_SAGES",
"ENTR_HAIRAL_NIWA_N": "ENTR_CASTLE_COURTYARD_GUARDS_NIGHT",
"ENTR_HAIRAL_NIWA_": "ENTR_CASTLE_COURTYARD_GUARDS_DAY_",
"ENTR_HIRAL_DEMO": "ENTR_CUTSCENE_MAP",
"ENTR_HAKASITARELAY": "ENTR_WINDMILL_AND_DAMPES_GRAVE",
"ENTR_TURIBORI": "ENTR_FISHING_POND",
"ENTR_NAKANIWA": "ENTR_CASTLE_COURTYARD_ZELDA",
"ENTR_BOWLING": "ENTR_BOMBCHU_BOWLING_ALLEY",
"ENTR_SOUKO": "ENTR_LON_LON_BUILDINGS",
"ENTR_MIHARIGOYA": "ENTR_MARKET_GUARD_HOUSE",
"ENTR_MAHOUYA": "ENTR_POTION_SHOP_GRANNY",
"ENTR_GANON_DEMO": "ENTR_GANON_BOSS",
"ENTR_KINSUTA": "ENTR_HOUSE_OF_SKULLTULA",
"ENTR_SPOT00": "ENTR_HYRULE_FIELD",
"ENTR_SPOT01": "ENTR_KAKARIKO_VILLAGE",
"ENTR_SPOT02": "ENTR_GRAVEYARD",
"ENTR_SPOT03": "ENTR_ZORAS_RIVER",
"ENTR_SPOT04": "ENTR_KOKIRI_FOREST",
"ENTR_SPOT05": "ENTR_SACRED_FOREST_MEADOW",
"ENTR_SPOT06": "ENTR_LAKE_HYLIA",
"ENTR_SPOT07": "ENTR_ZORAS_DOMAIN",
"ENTR_SPOT08": "ENTR_ZORAS_FOUNTAIN",
"ENTR_SPOT09": "ENTR_GERUDO_VALLEY",
"ENTR_SPOT10": "ENTR_LOST_WOODS",
"ENTR_SPOT11": "ENTR_DESERT_COLOSSUS",
"ENTR_SPOT12": "ENTR_GERUDOS_FORTRESS",
"ENTR_SPOT13": "ENTR_HAUNTED_WASTELAND",
"ENTR_SPOT15": "ENTR_HYRULE_CASTLE",
"ENTR_SPOT16": "ENTR_DEATH_MOUNTAIN_TRAIL",
"ENTR_SPOT17": "ENTR_DEATH_MOUNTAIN_CRATER",
"ENTR_SPOT18": "ENTR_GORON_CITY",
"ENTR_SPOT20": "ENTR_LON_LON_RANCH",
"ENTR_GANON_TOU": "ENTR_OUTSIDE_GANONS_CASTLE",
"ENTR_GANON_0": "ENTR_GANONS_TOWER_0",
"ENTR_GANON_1": "ENTR_GANONS_TOWER_1",
"ENTR_GANON_2": "ENTR_GANONS_TOWER_2",
}
# all occurrences of keys will be replaced by associated value,
@ -168,6 +271,157 @@ wordReplace = {
"func_800D2A34": "Matrix_SetTranslateUniformScaleMtxF",
"func_800D2A98": "Matrix_SetTranslateUniformScaleMtx",
"func_800D2CEC": "Matrix_SetTranslateScaleMtx2",
"SCENE_YDAN": "SCENE_DEKU_TREE",
"SCENE_DDAN": "SCENE_DODONGOS_CAVERN",
"SCENE_BDAN": "SCENE_JABU_JABU",
"SCENE_BMORI1": "SCENE_FOREST_TEMPLE",
"SCENE_HIDAN": "SCENE_FIRE_TEMPLE",
"SCENE_MIZUSIN": "SCENE_WATER_TEMPLE",
"SCENE_JYASINZOU": "SCENE_SPIRIT_TEMPLE",
"SCENE_HAKADAN": "SCENE_SHADOW_TEMPLE",
"SCENE_HAKADANCH": "SCENE_BOTTOM_OF_THE_WELL",
"SCENE_ICE_DOUKUTO": "SCENE_ICE_CAVERN",
"SCENE_GANON": "SCENE_GANONS_TOWER",
"SCENE_MEN": "SCENE_GERUDO_TRAINING_GROUND",
"SCENE_GERUDOWAY": "SCENE_THIEVES_HIDEOUT",
"SCENE_GANONTIKA": "SCENE_INSIDE_GANONS_CASTLE",
"SCENE_GANON_SONOGO": "SCENE_GANONS_TOWER_COLLAPSE_INTERIOR",
"SCENE_GANONTIKA_SONOGO": "SCENE_INSIDE_GANONS_CASTLE_COLLAPSE",
"SCENE_TAKARAYA": "SCENE_TREASURE_BOX_SHOP",
"SCENE_YDAN_BOSS": "SCENE_DEKU_TREE_BOSS",
"SCENE_DDAN_BOSS": "SCENE_DODONGOS_CAVERN_BOSS",
"SCENE_BDAN_BOSS": "SCENE_JABU_JABU_BOSS",
"SCENE_MORIBOSSROOM": "SCENE_FOREST_TEMPLE_BOSS",
"SCENE_FIRE_BS": "SCENE_FIRE_TEMPLE_BOSS",
"SCENE_MIZUSIN_BS": "SCENE_WATER_TEMPLE_BOSS",
"SCENE_JYASINBOSS": "SCENE_SPIRIT_TEMPLE_BOSS",
"SCENE_HAKADAN_BS": "SCENE_SHADOW_TEMPLE_BOSS",
"SCENE_GANON_BOSS": "SCENE_GANONDORF_BOSS",
"SCENE_GANON_FINAL": "SCENE_GANONS_TOWER_COLLAPSE_EXTERIOR",
"SCENE_ENTRA": "SCENE_MARKET_ENTRANCE_DAY",
"SCENE_ENTRA_N": "SCENE_MARKET_ENTRANCE_NIGHT",
"SCENE_ENRUI": "SCENE_MARKET_ENTRANCE_RUINS",
"SCENE_MARKET_ALLEY": "SCENE_BACK_ALLEY_DAY",
"SCENE_MARKET_ALLEY_N": "SCENE_BACK_ALLEY_NIGHT",
"SCENE_MARKET_DAY": "SCENE_MARKET_DAY",
"SCENE_MARKET_NIGHT": "SCENE_MARKET_NIGHT",
"SCENE_MARKET_RUINS": "SCENE_MARKET_RUINS",
"SCENE_SHRINE": "SCENE_TEMPLE_OF_TIME_EXTERIOR_DAY",
"SCENE_SHRINE_N": "SCENE_TEMPLE_OF_TIME_EXTERIOR_NIGHT",
"SCENE_SHRINE_R": "SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS",
"SCENE_KOKIRI_HOME": "SCENE_KNOW_IT_ALL_BROS_HOUSE",
"SCENE_KOKIRI_HOME3": "SCENE_TWINS_HOUSE",
"SCENE_KOKIRI_HOME4": "SCENE_MIDOS_HOUSE",
"SCENE_KOKIRI_HOME5": "SCENE_SARIAS_HOUSE",
"SCENE_KAKARIKO": "SCENE_KAKARIKO_CENTER_GUEST_HOUSE",
"SCENE_KAKARIKO3": "SCENE_BACK_ALLEY_HOUSE",
"SCENE_SHOP1": "SCENE_BAZAAR",
"SCENE_KOKIRI_SHOP": "SCENE_KOKIRI_SHOP",
"SCENE_GOLON": "SCENE_GORON_SHOP",
"SCENE_ZOORA": "SCENE_ZORA_SHOP",
"SCENE_DRAG": "SCENE_POTION_SHOP_KAKARIKO",
"SCENE_ALLEY_SHOP": "SCENE_POTION_SHOP_MARKET",
"SCENE_NIGHT_SHOP": "SCENE_BOMBCHU_SHOP",
"SCENE_FACE_SHOP": "SCENE_HAPPY_MASK_SHOP",
"SCENE_LINK_HOME": "SCENE_LINKS_HOUSE",
"SCENE_IMPA": "SCENE_DOG_LADY_HOUSE",
"SCENE_MALON_STABLE": "SCENE_STABLE",
"SCENE_LABO": "SCENE_IMPAS_HOUSE",
"SCENE_HYLIA_LABO": "SCENE_LAKESIDE_LABORATORY",
"SCENE_TENT": "SCENE_CARPENTERS_TENT",
"SCENE_HUT": "SCENE_GRAVEKEEPERS_HUT",
"SCENE_DAIYOUSEI_IZUMI": "SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC",
"SCENE_YOUSEI_IZUMI_TATE": "SCENE_FAIRYS_FOUNTAIN",
"SCENE_YOUSEI_IZUMI_YOKO": "SCENE_GREAT_FAIRYS_FOUNTAIN_SPELLS",
"SCENE_KAKUSIANA": "SCENE_GROTTOS",
"SCENE_HAKAANA": "SCENE_REDEAD_GRAVE",
"SCENE_HAKAANA2": "SCENE_GRAVE_WITH_FAIRYS_FOUNTAIN",
"SCENE_HAKAANA_OUKE": "SCENE_ROYAL_FAMILYS_TOMB",
"SCENE_SYATEKIJYOU": "SCENE_SHOOTING_GALLERY",
"SCENE_TOKINOMA": "SCENE_TEMPLE_OF_TIME",
"SCENE_KENJYANOMA": "SCENE_CHAMBER_OF_THE_SAGES",
"SCENE_HAIRAL_NIWA": "SCENE_CASTLE_COURTYARD_GUARDS_DAY",
"SCENE_HAIRAL_NIWA_N": "SCENE_CASTLE_COURTYARD_GUARDS_NIGHT",
"SCENE_HIRAL_DEMO": "SCENE_CUTSCENE_MAP",
"SCENE_HAKASITARELAY": "SCENE_WINDMILL_AND_DAMPES_GRAVE",
"SCENE_TURIBORI": "SCENE_FISHING_POND",
"SCENE_NAKANIWA": "SCENE_CASTLE_COURTYARD_ZELDA",
"SCENE_BOWLING": "SCENE_BOMBCHU_BOWLING_ALLEY",
"SCENE_SOUKO": "SCENE_LON_LON_BUILDINGS",
"SCENE_MIHARIGOYA": "SCENE_MARKET_GUARD_HOUSE",
"SCENE_MAHOUYA": "SCENE_POTION_SHOP_GRANNY",
"SCENE_GANON_DEMO": "SCENE_GANON_BOSS",
"SCENE_KINSUTA": "SCENE_HOUSE_OF_SKULLTULA",
"SCENE_SPOT00": "SCENE_HYRULE_FIELD",
"SCENE_SPOT01": "SCENE_KAKARIKO_VILLAGE",
"SCENE_SPOT02": "SCENE_GRAVEYARD",
"SCENE_SPOT03": "SCENE_ZORAS_RIVER",
"SCENE_SPOT04": "SCENE_KOKIRI_FOREST",
"SCENE_SPOT05": "SCENE_SACRED_FOREST_MEADOW",
"SCENE_SPOT06": "SCENE_LAKE_HYLIA",
"SCENE_SPOT07": "SCENE_ZORAS_DOMAIN",
"SCENE_SPOT08": "SCENE_ZORAS_FOUNTAIN",
"SCENE_SPOT09": "SCENE_GERUDO_VALLEY",
"SCENE_SPOT10": "SCENE_LOST_WOODS",
"SCENE_SPOT11": "SCENE_DESERT_COLOSSUS",
"SCENE_SPOT12": "SCENE_GERUDOS_FORTRESS",
"SCENE_SPOT13": "SCENE_HAUNTED_WASTELAND",
"SCENE_SPOT15": "SCENE_HYRULE_CASTLE",
"SCENE_SPOT16": "SCENE_DEATH_MOUNTAIN_TRAIL",
"SCENE_SPOT17": "SCENE_DEATH_MOUNTAIN_CRATER",
"SCENE_SPOT18": "SCENE_GORON_CITY",
"SCENE_SPOT20": "SCENE_LON_LON_RANCH",
"SCENE_GANON_TOU": "SCENE_OUTSIDE_GANONS_CASTLE",
"SDC_SPOT00": "SDC_HYRULE_FIELD",
"SDC_SPOT01": "SDC_KAKARIKO_VILLAGE",
"SDC_SPOT03": "SDC_ZORAS_RIVER",
"SDC_SPOT04": "SDC_KOKIRI_FOREST",
"SDC_SPOT06": "SDC_LAKE_HYLIA",
"SDC_SPOT07": "SDC_ZORAS_DOMAIN",
"SDC_SPOT08": "SDC_ZORAS_FOUNTAIN",
"SDC_SPOT09": "SDC_GERUDO_VALLEY",
"SDC_SPOT10": "SDC_LOST_WOODS",
"SDC_SPOT11": "SDC_DESERT_COLOSSUS",
"SDC_SPOT12": "SDC_GERUDOS_FORTRESS",
"SDC_SPOT13": "SDC_HAUNTED_WASTELAND",
"SDC_SPOT15": "SDC_HYRULE_CASTLE",
"SDC_SPOT16": "SDC_DEATH_MOUNTAIN_TRAIL",
"SDC_SPOT17": "SDC_DEATH_MOUNTAIN_CRATER",
"SDC_SPOT18": "SDC_GORON_CITY",
"SDC_SPOT20": "SDC_LON_LON_RANCH",
"SDC_HIDAN": "SDC_FIRE_TEMPLE",
"SDC_YDAN": "SDC_DEKU_TREE",
"SDC_DDAN": "SDC_DODONGOS_CAVERN",
"SDC_BDAN": "SDC_JABU_JABU",
"SDC_BMORI1": "SDC_FOREST_TEMPLE",
"SDC_MIZUSIN": "SDC_WATER_TEMPLE",
"SDC_HAKADAN": "SDC_SHADOW_TEMPLE",
"SDC_JYASINZOU": "SDC_SPIRIT_TEMPLE",
"SDC_GANONTIKA": "SDC_INSIDE_GANONS_CASTLE",
"SDC_MEN": "SDC_GERUDO_TRAINING_GROUND",
"SDC_YDAN_BOSS": "SDC_DEKU_TREE_BOSS",
"SDC_MIZUSIN_BS": "SDC_WATER_TEMPLE_BOSS",
"SDC_TOKINOMA": "SDC_TEMPLE_OF_TIME",
"SDC_KAKUSIANA": "SDC_GROTTOS",
"SDC_KENJYANOMA": "SDC_CHAMBER_OF_THE_SAGES",
"SDC_GREAT_FAIRY_FOUNTAIN": "SDC_GREAT_FAIRYS_FOUNTAIN",
"SDC_SYATEKIJYOU": "SDC_SHOOTING_GALLERY",
"SDC_HAIRAL_NIWA": "SDC_CASTLE_COURTYARD_GUARDS",
"SDC_GANON_CASTLE_EXTERIOR": "SDC_OUTSIDE_GANONS_CASTLE",
"SDC_ICE_DOUKUTO": "SDC_ICE_CAVERN",
"SDC_GANON_FINAL": "SDC_GANONS_TOWER_COLLAPSE_EXTERIOR",
"SDC_FAIRY_FOUNTAIN": "SDC_FAIRYS_FOUNTAIN",
"SDC_GERUDOWAY": "SDC_THIEVES_HIDEOUT",
"SDC_BOWLING": "SDC_BOMBCHU_BOWLING_ALLEY",
"SDC_HAKAANA_OUKE": "SDC_ROYAL_FAMILYS_TOMB",
"SDC_HYLIA_LABO": "SDC_LAKESIDE_LABORATORY",
"SDC_SOUKO": "SDC_LON_LON_BUILDINGS",
"SDC_MIHARIGOYA": "SDC_MARKET_GUARD_HOUSE",
"SDC_MAHOUYA": "SDC_POTION_SHOP_GRANNY",
"SDC_TURIBORI": "SDC_FISHING_POND",
"SDC_GANON_SONOGO": "SDC_GANONS_TOWER_COLLAPSE_INTERIOR",
"SDC_GANONTIKA_SONOGO": "SDC_INSIDE_GANONS_CASTLE_COLLAPSE",
"ENTR_HAIRAL_NIWA": "ENTR_CASTLE_COURTYARD_GUARDS_DAY",
}
# [a-zA-Z0-9_]