diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index d50db74e8c..805bbcea26 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -819,10 +819,10 @@ struct SetGameMetadata SetGameMetadata(SConfig* config_, DiscIO::Region* region_) : config(config_), region(region_) {} bool operator()(const BootParameters::Disc& disc) const { - config->SetRunningGameMetadata(*disc.volume, disc.volume->GetGamePartition()); + *region = disc.volume->GetRegion(); config->bWii = disc.volume->GetVolumeType() == DiscIO::Platform::WiiDisc; config->m_disc_booted_from_game_list = true; - *region = disc.volume->GetRegion(); + config->SetRunningGameMetadata(*disc.volume, disc.volume->GetGamePartition()); return true; } @@ -831,9 +831,8 @@ struct SetGameMetadata if (!executable.reader->IsValid()) return false; - config->bWii = executable.reader->IsWii(); - *region = DiscIO::Region::Unknown; + config->bWii = executable.reader->IsWii(); // Strip the .elf/.dol file extension and directories before the name SplitPath(executable.path, nullptr, &config->m_debugger_game_id, nullptr); @@ -854,9 +853,10 @@ struct SetGameMetadata } const IOS::ES::TMDReader& tmd = wad.GetTMD(); - config->SetRunningGameMetadata(tmd, DiscIO::Platform::WiiWAD); - config->bWii = true; *region = tmd.GetRegion(); + config->bWii = true; + config->SetRunningGameMetadata(tmd, DiscIO::Platform::WiiWAD); + return true; } @@ -869,16 +869,18 @@ struct SetGameMetadata PanicAlertT("This title cannot be booted."); return false; } - config->SetRunningGameMetadata(tmd, DiscIO::Platform::WiiWAD); - config->bWii = true; + *region = tmd.GetRegion(); + config->bWii = true; + config->SetRunningGameMetadata(tmd, DiscIO::Platform::WiiWAD); + return true; } bool operator()(const BootParameters::IPL& ipl) const { - config->bWii = false; *region = ipl.region; + config->bWii = false; return true; } @@ -888,8 +890,8 @@ struct SetGameMetadata if (!dff_file) return false; - config->bWii = dff_file->GetIsWii(); *region = DiscIO::Region::NTSC_U; + config->bWii = dff_file->GetIsWii(); return true; }