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:
parent
eb0a82c513
commit
186ecc72b5
96 changed files with 3577 additions and 3274 deletions
File diff suppressed because it is too large
Load diff
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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("ROOM_INF=%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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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("000 area_arrival=%x (%d)\n", gSaveContext.worldMapAreaData,
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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_]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue