Skip to content

Commit

Permalink
System: Fix per-game fast boot applying too late
Browse files Browse the repository at this point in the history
  • Loading branch information
stenzek committed Oct 30, 2024
1 parent d24e8fd commit 2043128
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions src/core/system.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1717,16 +1717,6 @@ bool System::BootSystem(SystemBootParameters parameters, Error* error)
Settings::GetDiscRegionName(disc_region), Settings::GetConsoleRegionName(s_state.region));
}
}

const bool wants_fast_boot =
parameters.override_fast_boot.value_or(static_cast<bool>(g_settings.bios_patch_fast_boot));
if (wants_fast_boot)
{
if (disc_region == DiscRegion::NonPS1)
ERROR_LOG("Not fast booting non-PS1 disc.");
else
boot_mode = BootMode::FastBoot;
}
}
}
else
Expand Down Expand Up @@ -1802,6 +1792,13 @@ bool System::BootSystem(SystemBootParameters parameters, Error* error)
}
}

// Are we fast booting? Must be checked after updating game settings.
if (boot_mode == BootMode::FullBoot && disc_region != DiscRegion::NonPS1 &&
parameters.override_fast_boot.value_or(static_cast<bool>(g_settings.bios_patch_fast_boot)))
{
boot_mode = BootMode::FastBoot;
}

// Load BIOS image, component setup, check for subchannel in games that need it.
if (!SetBootMode(boot_mode, disc_region, error) ||
!Initialize(std::move(disc), disc_region, parameters.force_software_renderer,
Expand Down

0 comments on commit 2043128

Please sign in to comment.