mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-12-23 08:38:52 -05:00
Fix credits timing (#1254)
* Fix credits timing * Add documentation * Fix typo
This commit is contained in:
parent
d141876af4
commit
2c0ec96eff
@ -314,6 +314,8 @@ namespace GameMenuBar {
|
|||||||
CVar_SetS32("gCrouchStabHammerFix", 0);
|
CVar_SetS32("gCrouchStabHammerFix", 0);
|
||||||
// Fix all crouch stab
|
// Fix all crouch stab
|
||||||
CVar_SetS32("gCrouchStabFix", 0);
|
CVar_SetS32("gCrouchStabFix", 0);
|
||||||
|
// Fix credits timing
|
||||||
|
CVar_SetS32("gCreditsFix", 1);
|
||||||
// Fix Gerudo Warrior's clothing colors
|
// Fix Gerudo Warrior's clothing colors
|
||||||
CVar_SetS32("gGerudoWarriorClothingFix", 0);
|
CVar_SetS32("gGerudoWarriorClothingFix", 0);
|
||||||
|
|
||||||
@ -1166,6 +1168,8 @@ namespace GameMenuBar {
|
|||||||
UIWidgets::PaddedEnhancementCheckbox("Remove power crouch stab", "gCrouchStabFix", true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Remove power crouch stab", "gCrouchStabFix", true, false);
|
||||||
UIWidgets::Tooltip("Make crouch stabbing always do the same damage as a regular slash");
|
UIWidgets::Tooltip("Make crouch stabbing always do the same damage as a regular slash");
|
||||||
}
|
}
|
||||||
|
UIWidgets::PaddedEnhancementCheckbox("Fix credits timing", "gCreditsFix", true, false);
|
||||||
|
UIWidgets::Tooltip("Extend certain credits scenes so the music lines up properly with the visuals");
|
||||||
UIWidgets::PaddedEnhancementCheckbox("Fix Gerudo Warrior's clothing colors", "gGerudoWarriorClothingFix", true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Fix Gerudo Warrior's clothing colors", "gGerudoWarriorClothingFix", true, false);
|
||||||
UIWidgets::Tooltip("Prevent the Gerudo Warrior's clothes changing color when changing Link's tunic or using bombs in front of her");
|
UIWidgets::Tooltip("Prevent the Gerudo Warrior's clothes changing color when changing Link's tunic or using bombs in front of her");
|
||||||
|
|
||||||
|
@ -511,7 +511,54 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
|||||||
temp = 1;
|
temp = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((csCtx->frames == cmd->startFrame) || (temp != 0) || ((csCtx->frames > 20) && (randoCsSkip || debugCsSkip))) {
|
bool playCutscene = false;
|
||||||
|
if (!CVar_GetS32("gCreditsFix", 1) && (cmd->startFrame == csCtx->frames)) {
|
||||||
|
playCutscene = true;
|
||||||
|
} else if (CVar_GetS32("gCreditsFix", 1)) {
|
||||||
|
u16 delay = 0;
|
||||||
|
|
||||||
|
// HACK: Align visual timing with audio during credits sequence
|
||||||
|
switch (cmd->base) {
|
||||||
|
case 55: // Gerudo fortress (second scene of credits roll)
|
||||||
|
delay = 20;
|
||||||
|
break;
|
||||||
|
case 56: // Kakariko village
|
||||||
|
delay = 40;
|
||||||
|
break;
|
||||||
|
case 57: // Death mountain trail
|
||||||
|
delay = 20;
|
||||||
|
break;
|
||||||
|
case 58: // Goron city
|
||||||
|
delay = 20;
|
||||||
|
break;
|
||||||
|
case 59: // Lake hylia
|
||||||
|
delay = 20;
|
||||||
|
break;
|
||||||
|
case 62: // Kokiri forest (houses)
|
||||||
|
delay = 40;
|
||||||
|
break;
|
||||||
|
case 63: // Kokiri forest (deku tree)
|
||||||
|
delay = 40;
|
||||||
|
break;
|
||||||
|
case 74: // First gorons dancing
|
||||||
|
delay = 100;
|
||||||
|
break;
|
||||||
|
case 75: // Magic carpet guy and old shop keepers
|
||||||
|
delay = 180;
|
||||||
|
break;
|
||||||
|
case 77: // Sad mido and king zora (plays after scene 78)
|
||||||
|
delay = 100;
|
||||||
|
break;
|
||||||
|
case 78: // Second gorons dancing
|
||||||
|
delay = 160;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (cmd->startFrame + delay == csCtx->frames) {
|
||||||
|
playCutscene = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (playCutscene || (temp != 0) || ((csCtx->frames > 20) && (randoCsSkip || debugCsSkip))) {
|
||||||
|
|
||||||
csCtx->state = CS_STATE_UNSKIPPABLE_EXEC;
|
csCtx->state = CS_STATE_UNSKIPPABLE_EXEC;
|
||||||
Audio_SetCutsceneFlag(0);
|
Audio_SetCutsceneFlag(0);
|
||||||
|
Loading…
Reference in New Issue
Block a user