qt: Fix per-game config loading for 3DSX/ELF. (#6691)
Co-authored-by: Michael Theall <pigman46@gmail.com>
This commit is contained in:
parent
7a7f485640
commit
5e8ae4fa8a
@ -27,7 +27,8 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id_, const QString
|
|||||||
Core::System& system_)
|
Core::System& system_)
|
||||||
: QDialog(parent), ui(std::make_unique<Ui::ConfigurePerGame>()),
|
: QDialog(parent), ui(std::make_unique<Ui::ConfigurePerGame>()),
|
||||||
filename{file_name.toStdString()}, title_id{title_id_}, system{system_} {
|
filename{file_name.toStdString()}, title_id{title_id_}, system{system_} {
|
||||||
const auto config_file_name = title_id == 0 ? filename : fmt::format("{:016X}", title_id);
|
const auto config_file_name = title_id == 0 ? std::string(FileUtil::GetFilename(filename))
|
||||||
|
: fmt::format("{:016X}", title_id);
|
||||||
game_config = std::make_unique<Config>(config_file_name, Config::ConfigType::PerGameConfig);
|
game_config = std::make_unique<Config>(config_file_name, Config::ConfigType::PerGameConfig);
|
||||||
|
|
||||||
audio_tab = std::make_unique<ConfigureAudio>(this);
|
audio_tab = std::make_unique<ConfigureAudio>(this);
|
||||||
|
@ -1171,21 +1171,19 @@ void GMainWindow::BootGame(const QString& filename) {
|
|||||||
movie.PrepareForPlayback(movie_playback_path.toStdString());
|
movie.PrepareForPlayback(movie_playback_path.toStdString());
|
||||||
}
|
}
|
||||||
|
|
||||||
u64 title_id{0};
|
|
||||||
const std::string path = filename.toStdString();
|
const std::string path = filename.toStdString();
|
||||||
const auto loader = Loader::GetLoader(path);
|
const auto loader = Loader::GetLoader(path);
|
||||||
|
|
||||||
if (loader && loader->ReadProgramId(title_id) == Loader::ResultStatus::Success) {
|
u64 title_id{0};
|
||||||
|
loader->ReadProgramId(title_id);
|
||||||
|
|
||||||
// Load per game settings
|
// Load per game settings
|
||||||
const std::string name{FileUtil::GetFilename(filename.toStdString())};
|
const std::string name{FileUtil::GetFilename(filename.toStdString())};
|
||||||
const std::string config_file_name =
|
const std::string config_file_name = title_id == 0 ? name : fmt::format("{:016X}", title_id);
|
||||||
title_id == 0 ? name : fmt::format("{:016X}", title_id);
|
LOG_INFO(Frontend, "Loading per game config file for title {}", config_file_name);
|
||||||
Config per_game_config(config_file_name, Config::ConfigType::PerGameConfig);
|
Config per_game_config(config_file_name, Config::ConfigType::PerGameConfig);
|
||||||
system.ApplySettings();
|
system.ApplySettings();
|
||||||
|
|
||||||
LOG_INFO(Frontend, "Using per game config file for title id {}", config_file_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
Settings::LogSettings();
|
Settings::LogSettings();
|
||||||
|
|
||||||
// Save configurations
|
// Save configurations
|
||||||
|
Loading…
Reference in New Issue
Block a user