From 15395defa4652be5145dfcc1b3cc98d04a0c7f6a Mon Sep 17 00:00:00 2001 From: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com> Date: Fri, 23 Aug 2024 15:20:11 +0100 Subject: [PATCH] Add jabu box skip door and frog hint exceptions to cutscene skipping (#4300) * Add jaby box skip door one point to glitchAiding and frog hint exception to NoForcedDialouge * address review --- soh/soh/Enhancements/timesaver_hook_handlers.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/soh/soh/Enhancements/timesaver_hook_handlers.cpp b/soh/soh/Enhancements/timesaver_hook_handlers.cpp index 81c7d7727..0cd6ffb09 100644 --- a/soh/soh/Enhancements/timesaver_hook_handlers.cpp +++ b/soh/soh/Enhancements/timesaver_hook_handlers.cpp @@ -237,6 +237,12 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void* break; } case ACTOR_BG_BDAN_SWITCH: { + // The switch in jabu that you are intended to press with a box to reach barrinade + // can be skipped by either a frame perfect roll open or with OI + // The One Point for that switch is used in common setups for the former and is required for the latter to work + if (actor->params == 14848 && gPlayState->sceneNum == SCENE_JABU_JABU && !CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.GlitchAiding"), 0)){ + break; + } BgBdanSwitch* switchActor = static_cast(opt); switchActor->unk_1D8 = 0; switchActor->unk_1DA = 0; @@ -297,7 +303,9 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void* } break; case VB_WONDER_TALK: { - if (CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.NoForcedDialog"), IS_RANDO)) { + //We want to show the frog hint if it is on, regardless of cutscene settings + if (CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.NoForcedDialog"), IS_RANDO) && + !(gPlayState->sceneNum == SCENE_ZORAS_RIVER && IS_RANDO && RAND_GET_OPTION(RSK_FROGS_HINT))) { *should = false; } break;