Change SkipIntro to check any entrance shuffle rather than just overworld spawns. (#4428)

This commit is contained in:
Malkierian 2024-10-16 16:39:35 -07:00 committed by GitHub
parent 262ec4817b
commit e178df3e0c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,10 +15,9 @@ void SkipIntro_Register() {
// If we're playing rando and if starting age is adult and/or overworld spawns are shuffled we need to skip
// the cutscene regardless of the enhancement being on.
bool adultStart = gSaveContext.linkAge == LINK_AGE_ADULT;
bool shuffleOverworldSpawns =
OTRGlobals::Instance->gRandoContext->GetOption(RSK_SHUFFLE_OVERWORLD_SPAWNS).Is(true);
bool shuffleEntrances = OTRGlobals::Instance->gRandoContext->GetOption(RSK_SHUFFLE_ENTRANCES).Is(true);
if ((CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Intro"), IS_RANDO) ||
(IS_RANDO && (adultStart || shuffleOverworldSpawns))) &&
(IS_RANDO && (adultStart || shuffleEntrances))) &&
gSaveContext.cutsceneIndex == 0xFFF1) {
// Calculate spawn location. Start with vanilla, Link's house.
int32_t spawnEntrance = ENTR_LINKS_HOUSE_0;
@ -28,9 +27,9 @@ void SkipIntro_Register() {
if (adultStart) {
spawnEntrance = ENTR_TEMPLE_OF_TIME_7;
}
// If we're shuffling overworld spawns we'll need to get the Entrance Override
if (shuffleOverworldSpawns) {
// If we're shuffling overworld spawns the adult spawn is ENTR_HYRULE_FIELD_10 instead of
// If we're shuffling any entrances we'll need to get the Entrance Override
if (shuffleEntrances) {
// If we're shuffling any entrances, the adult spawn is ENTR_HYRULE_FIELD_10 instead of
// ENTR_TEMPLE_OF_TIME_7, so that spawn and Prelude don't share an entrance.
if (adultStart) {
spawnEntrance = ENTR_HYRULE_FIELD_10;