diff --git a/include/config/config_debug.h b/include/config/config_debug.h index 0b33821f9..c3d3330e1 100644 --- a/include/config/config_debug.h +++ b/include/config/config_debug.h @@ -34,4 +34,9 @@ #define BOOT_CUTSCENE 0x0000 #define BOOT_PLAYER_NAME 0x15, 0x12, 0x17, 0x14, 0x3E, 0x3E, 0x3E, 0x3E // "LINK" +/** + * Remove debug scenes + */ +#define NO_DEBUG_SCENES + #endif diff --git a/include/tables/entrance_table.h b/include/tables/entrance_table.h index 17abdad34..0f9209f04 100644 --- a/include/tables/entrance_table.h +++ b/include/tables/entrance_table.h @@ -1,3 +1,5 @@ +#include "config.h" + /** * Entrance Table * @@ -7,7 +9,7 @@ * - Argument 3: Spawn number for this entrance * - Argument 4: Toggle if bgm should continue during the transition using this entrance (true or false) * NOTE: For non-cutscene layers, this field is only read from the `SCENE_LAYER_CHILD_DAY` layer. - * Meaning, the setting only matters for the first entry within a group of layers and that + * Meaning, the setting only matters for the first entry within a group of layers and that * setting will apply to the other 3 non-cutscene layers. * - Argument 5: Toggle if a title card should display when using this entrance (true or false) * - Argument 6: Transition type when entering using this entrance (second half of a scene transition) @@ -49,6 +51,7 @@ /* 0x016 */ DEFINE_ENTRANCE(ENTR_UNUSED_6E_2, SCENE_UNUSED_6E, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x017 */ DEFINE_ENTRANCE(ENTR_UNUSED_6E_3, SCENE_UNUSED_6E, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#ifndef NO_DEBUG_SCENES /* 0x018 */ DEFINE_ENTRANCE(ENTR_SASATEST_0, SCENE_SASATEST, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x019 */ DEFINE_ENTRANCE(ENTR_SASATEST_0_1, SCENE_SASATEST, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x01A */ DEFINE_ENTRANCE(ENTR_SASATEST_0_2, SCENE_SASATEST, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) @@ -68,6 +71,7 @@ /* 0x025 */ DEFINE_ENTRANCE(ENTR_TESTROOM_0_1, SCENE_TESTROOM, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x026 */ DEFINE_ENTRANCE(ENTR_TESTROOM_0_2, SCENE_TESTROOM, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x027 */ DEFINE_ENTRANCE(ENTR_TESTROOM_0_3, SCENE_TESTROOM, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#endif /* 0x028 */ DEFINE_ENTRANCE(ENTR_BDAN_0, SCENE_BDAN, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x029 */ DEFINE_ENTRANCE(ENTR_BDAN_0_1, SCENE_BDAN, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) @@ -107,10 +111,12 @@ /* 0x045 */ DEFINE_ENTRANCE(ENTR_HYLIA_LABO_0_2, SCENE_HYLIA_LABO, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)) /* 0x046 */ DEFINE_ENTRANCE(ENTR_HYLIA_LABO_0_3, SCENE_HYLIA_LABO, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)) +#ifndef NO_DEBUG_SCENES /* 0x047 */ DEFINE_ENTRANCE(ENTR_SUTARU_0, SCENE_SUTARU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x048 */ DEFINE_ENTRANCE(ENTR_SUTARU_0_1, SCENE_SUTARU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x049 */ DEFINE_ENTRANCE(ENTR_SUTARU_0_2, SCENE_SUTARU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x04A */ DEFINE_ENTRANCE(ENTR_SUTARU_0_3, SCENE_SUTARU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#endif /* 0x04B */ DEFINE_ENTRANCE(ENTR_HAKAANA2_0, SCENE_HAKAANA2, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_CIRCLE(TCA_STARBURST,TCC_BLACK, TCS_FAST)) /* 0x04C */ DEFINE_ENTRANCE(ENTR_HAKAANA2_0_1, SCENE_HAKAANA2, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_CIRCLE(TCA_STARBURST,TCC_BLACK, TCS_FAST)) @@ -162,10 +168,12 @@ /* 0x074 */ DEFINE_ENTRANCE(ENTR_MAHOUYA_0_2, SCENE_MAHOUYA, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)) /* 0x075 */ DEFINE_ENTRANCE(ENTR_MAHOUYA_0_3, SCENE_MAHOUYA, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)) +#ifndef NO_DEBUG_SCENES /* 0x076 */ DEFINE_ENTRANCE(ENTR_HAIRAL_NIWA2_0, SCENE_HAIRAL_NIWA2, 0, false, true, TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST), TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST)) /* 0x077 */ DEFINE_ENTRANCE(ENTR_HAIRAL_NIWA2_0_1, SCENE_HAIRAL_NIWA2, 0, false, true, TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST), TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST)) /* 0x078 */ DEFINE_ENTRANCE(ENTR_HAIRAL_NIWA2_0_2, SCENE_HAIRAL_NIWA2, 0, false, true, TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST), TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST)) /* 0x079 */ DEFINE_ENTRANCE(ENTR_HAIRAL_NIWA2_0_3, SCENE_HAIRAL_NIWA2, 0, false, true, TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST), TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST)) +#endif /* 0x07A */ DEFINE_ENTRANCE(ENTR_HAIRAL_NIWA_0, SCENE_HAIRAL_NIWA, 0, false, true, TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST), TRANS_TYPE_FADE_BLACK_FAST) /* 0x07B */ DEFINE_ENTRANCE(ENTR_HAIRAL_NIWA_N_0_1, SCENE_HAIRAL_NIWA_N, 0, false, true, TRANS_TYPE_CIRCLE(TCA_WAVE, TCC_BLACK, TCS_FAST), TRANS_TYPE_FADE_BLACK_FAST) @@ -198,10 +206,12 @@ /* 0x092 */ DEFINE_ENTRANCE(ENTR_JYASINBOSS_0_5, SCENE_JYASINBOSS, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x093 */ DEFINE_ENTRANCE(ENTR_JYASINBOSS_0_6, SCENE_JYASINBOSS, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#ifndef NO_DEBUG_SCENES /* 0x094 */ DEFINE_ENTRANCE(ENTR_TEST01_0, SCENE_TEST01, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x095 */ DEFINE_ENTRANCE(ENTR_TEST01_0_1, SCENE_TEST01, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x096 */ DEFINE_ENTRANCE(ENTR_TEST01_0_2, SCENE_TEST01, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x097 */ DEFINE_ENTRANCE(ENTR_TEST01_0_3, SCENE_TEST01, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#endif /* 0x098 */ DEFINE_ENTRANCE(ENTR_HAKADANCH_0, SCENE_HAKADANCH, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_FADE_BLACK_FAST) /* 0x099 */ DEFINE_ENTRANCE(ENTR_HAKADANCH_0_1, SCENE_HAKADANCH, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_FADE_BLACK_FAST) @@ -238,7 +248,9 @@ /* 0x0B4 */ DEFINE_ENTRANCE(ENTR_MARKET_RUINS_0_3, SCENE_MARKET_RUINS, 0, true, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x0B5 */ DEFINE_ENTRANCE(ENTR_MARKET_DAY_0_4, SCENE_MARKET_DAY, 0, false, true, TRANS_TYPE_WIPE_FAST, TRANS_TYPE_WIPE_FAST) +#ifndef NO_DEBUG_SCENES /* 0x0B6 */ DEFINE_ENTRANCE(ENTR_DEPTH_TEST_0, SCENE_DEPTH_TEST, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#endif /* 0x0B7 */ DEFINE_ENTRANCE(ENTR_SHOP1_0, SCENE_SHOP1, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)) /* 0x0B8 */ DEFINE_ENTRANCE(ENTR_SHOP1_0_1, SCENE_SHOP1, 0, false, true, TRANS_TYPE_FADE_BLACK_FAST, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)) @@ -1628,10 +1640,12 @@ /* 0x51E */ DEFINE_ENTRANCE(ENTR_GANON_FINAL_6_2, SCENE_GANON_FINAL, 6, true, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x51F */ DEFINE_ENTRANCE(ENTR_GANON_FINAL_6_3, SCENE_GANON_FINAL, 6, true, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#ifndef NO_DEBUG_SCENES /* 0x520 */ DEFINE_ENTRANCE(ENTR_BESITU_0, SCENE_BESITU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x521 */ DEFINE_ENTRANCE(ENTR_BESITU_0_1, SCENE_BESITU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x522 */ DEFINE_ENTRANCE(ENTR_BESITU_0_2, SCENE_BESITU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x523 */ DEFINE_ENTRANCE(ENTR_BESITU_0_3, SCENE_BESITU, 0, false, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) +#endif /* 0x524 */ DEFINE_ENTRANCE(ENTR_GANON_FINAL_7, SCENE_GANON_FINAL, 7, true, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) /* 0x525 */ DEFINE_ENTRANCE(ENTR_GANON_FINAL_7_1, SCENE_GANON_FINAL, 7, true, true, TRANS_TYPE_FADE_BLACK, TRANS_TYPE_FADE_BLACK) diff --git a/include/tables/scene_table.h b/include/tables/scene_table.h index c35f3779a..3fc9a4baa 100644 --- a/include/tables/scene_table.h +++ b/include/tables/scene_table.h @@ -1,3 +1,5 @@ +#include "config.h" + /** * Scene Table * @@ -110,6 +112,7 @@ /* 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) +#ifndef NO_DEBUG_SCENES // 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) @@ -120,3 +123,4 @@ /* 0x6B */ DEFINE_SCENE(hairal_niwa2_scene, g_pn_12, SCENE_HAIRAL_NIWA2, SDC_HAIRAL_NIWA, 0, 0) /* 0x6C */ DEFINE_SCENE(sasatest_scene, none, SCENE_SASATEST, SDC_DEFAULT, 0, 0) /* 0x6D */ DEFINE_SCENE(testroom_scene, none, SCENE_TESTROOM, SDC_DEFAULT, 0, 0) +#endif diff --git a/spec b/spec index 33555a001..ba82535d0 100644 --- a/spec +++ b/spec @@ -8439,6 +8439,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "syotes_scene" romalign 0x1000 @@ -8480,6 +8481,7 @@ beginseg include "build/assets/scenes/test_levels/depth_test/depth_test_room_0.o" number 3 endseg +#endif beginseg name "spot00_scene" @@ -8901,6 +8903,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "testroom_scene" romalign 0x1000 @@ -8942,6 +8945,7 @@ beginseg include "build/assets/scenes/test_levels/testroom/testroom_room_4.o" number 3 endseg +#endif beginseg name "kenjyanoma_scene" @@ -8978,6 +8982,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "sutaru_scene" romalign 0x1000 @@ -8991,6 +8996,7 @@ beginseg include "build/assets/scenes/test_levels/sutaru/sutaru_room_0.o" number 3 endseg +#endif beginseg name "link_home_scene" @@ -9230,6 +9236,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "sasatest_scene" romalign 0x1000 @@ -9243,6 +9250,7 @@ beginseg include "build/assets/scenes/test_levels/sasatest/sasatest_room_0.o" number 3 endseg +#endif beginseg name "market_alley_scene" @@ -9888,6 +9896,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "hairal_niwa2_scene" romalign 0x1000 @@ -9901,6 +9910,7 @@ beginseg include "build/assets/scenes/indoors/hairal_niwa2/hairal_niwa2_room_0.o" number 3 endseg +#endif beginseg name "hakasitarelay_scene" @@ -10315,6 +10325,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "besitu_scene" romalign 0x1000 @@ -10328,6 +10339,7 @@ beginseg include "build/assets/scenes/test_levels/besitu/besitu_room_0.o" number 3 endseg +#endif beginseg name "face_shop_scene" @@ -10378,6 +10390,7 @@ beginseg number 3 endseg +#ifndef NO_DEBUG_SCENES beginseg name "test01_scene" romalign 0x1000 @@ -10391,3 +10404,4 @@ beginseg include "build/assets/scenes/test_levels/test01/test01_room_0.o" number 3 endseg +#endif diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index 7fa97d93d..5ca444483 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -8,6 +8,7 @@ #include "global.h" #include "vt.h" #include "alloca.h" +#include "config.h" void MapSelect_LoadTitle(MapSelectState* this) { this->state.running = false; @@ -275,6 +276,7 @@ static SceneSelectEntry sScenes[] = { { "114:" GFXP_HIRAGANA "カクシトビコミアナ 13", MapSelect_LoadGame, ENTR_KAKUSIANA_13 }, // "115: Hyrule Cutscenes" (Cutscene Map) { "115:" GFXP_KATAKANA "ハイラル デモ", MapSelect_LoadGame, ENTR_HIRAL_DEMO_0 }, +#ifndef NO_DEBUG_SCENES // "116: Special Room (Treasure Chest Warp)" (Ganondorf Test Room) { "116:" GFXP_HIRAGANA "ベッシツ (タカラバコ" GFXP_KATAKANA "ワープ)", MapSelect_LoadGame, ENTR_BESITU_0 }, // "117: Sasaki Test" (Sasa Test) @@ -295,6 +297,7 @@ static SceneSelectEntry sScenes[] = { { "124:depth" GFXP_KATAKANA "テスト", MapSelect_LoadGame, ENTR_DEPTH_TEST_0 }, // "125: Hyrule Garden Game 2" (Early Hyrule Garden Game) { "125:" GFXP_KATAKANA "ハイラル" GFXP_HIRAGANA "ニワ" GFXP_KATAKANA "ゲーム2", MapSelect_LoadGame, ENTR_HAIRAL_NIWA2_0 }, +#endif // "title" (Title Screen) { "title", (void*)MapSelect_LoadTitle, 0 }, };