Glitch-Aiding CS Tweaks/Fixes/Addition (#6192)

unskip door shutter cutscene

add second jabu OI door to glitch-aiding cutscenes

add dc boss door shutter

fix spirit mq switch

add comments
This commit is contained in:
Eric Hoey 2026-01-22 09:27:07 -05:00 committed by GitHub
parent 2da233c40b
commit 894b8e6c86
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -297,9 +297,10 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
}
switch (actor->id) {
case ACTOR_OBJ_SWITCH: {
// The DC boss door can be unlocked with OI; One Point is required for it
// The Water Temple Dragon Room chest can be obtained with a cutscene dive
if (((actor->params == 8224 && gPlayState->sceneNum == SCENE_DODONGOS_CAVERN) ||
(actor->params == 6979 && gPlayState->sceneNum == SCENE_WATER_TEMPLE) ||
(actor->params == 8961 && gPlayState->sceneNum == SCENE_SPIRIT_TEMPLE)) &&
(actor->params == 6979 && gPlayState->sceneNum == SCENE_WATER_TEMPLE)) &&
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.GlitchAiding"), 0)) {
break;
}
@ -312,9 +313,12 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
case ACTOR_BG_BDAN_SWITCH: {
// The switch in jabu that you are intended to press with a box to reach barinade
// can be skipped by either a frame perfect roll open or with OI
// Additionally, the blue switch that you are intended to press with Ruto
// can be skipped 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 &&
if ((actor->params == 14848 || actor->params == 14336) &&
gPlayState->sceneNum == SCENE_JABU_JABU &&
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.GlitchAiding"), 0)) {
break;
}
@ -339,6 +343,7 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
break;
}
case ACTOR_EN_BOX: {
// The chest that drops in MQ Jabu allowing unintended door entry
if (actor->params == -30457 && gPlayState->sceneNum == SCENE_JABU_JABU &&
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.GlitchAiding"), 0)) {
break;
@ -348,6 +353,17 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
RateLimitedSuccessChime();
break;
}
case ACTOR_EN_SIOFUKI: {
// The Spirit Temple MQ water jet cutscene is required for an actor glitch
// setup that skips the grate
if (actor->params == 6359 && gPlayState->sceneNum == SCENE_SPIRIT_TEMPLE &&
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.GlitchAiding"), 0)) {
*should = true;
break;
}
*should = false;
break;
}
case ACTOR_BG_HIDAN_FWBIG:
case ACTOR_EN_EX_ITEM:
case ACTOR_EN_DNT_NOMAL:
@ -357,7 +373,17 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
break;
}
case ACTOR_EN_TA:
case ACTOR_DOOR_SHUTTER:
case ACTOR_DOOR_SHUTTER: {
// The shutter cutscene occurs post-switch cutscene to focus Link on the unlocked doors
if (((actor->params == 9402 && gPlayState->sceneNum == SCENE_JABU_JABU) ||
(actor->params == 20460 && gPlayState->sceneNum == SCENE_DODONGOS_CAVERN)) &&
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.GlitchAiding"), 0)) {
break;
}
*should = false;
RateLimitedSuccessChime();
break;
}
case ACTOR_BG_ICE_SHUTTER:
case ACTOR_OBJ_LIGHTSWITCH:
case ACTOR_OBJ_SYOKUDAI: