From 31dc9003c5facdf12c28d20b1276e722064c8729 Mon Sep 17 00:00:00 2001 From: zhupengfei Date: Thu, 13 Sep 2018 23:01:58 +0800 Subject: [PATCH] citra_qt/configuration: Add Play Coins setting --- src/citra_qt/configuration/configure_system.cpp | 16 +++++++++++++++- src/citra_qt/configuration/configure_system.h | 1 + src/citra_qt/configuration/configure_system.ui | 16 +++++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/citra_qt/configuration/configure_system.cpp b/src/citra_qt/configuration/configure_system.cpp index 7917244fb..48450e00d 100644 --- a/src/citra_qt/configuration/configure_system.cpp +++ b/src/citra_qt/configuration/configure_system.cpp @@ -8,6 +8,7 @@ #include "core/core.h" #include "core/hle/service/cfg/cfg.h" #include "core/hle/service/fs/archive.h" +#include "core/hle/service/ptm/ptm.h" #include "core/settings.h" #include "ui_configure_system.h" @@ -254,9 +255,9 @@ void ConfigureSystem::setConfiguration() { // Temporarily register archive types and load the config savegame file to memory. Service::FS::RegisterArchiveTypes(); cfg = std::make_shared(); + ReadSystemSettings(); Service::FS::UnregisterArchiveTypes(); - ReadSystemSettings(); ui->label_disable_info->hide(); } } @@ -293,6 +294,10 @@ void ConfigureSystem::ReadSystemSettings() { u64 console_id = cfg->GetConsoleUniqueId(); ui->label_console_id->setText( tr("Console ID: 0x%1").arg(QString::number(console_id, 16).toUpper())); + + // set play coin + play_coin = Service::PTM::Module::GetPlayCoins(); + ui->spinBox_play_coins->setValue(play_coin); } void ConfigureSystem::applyConfiguration() { @@ -340,6 +345,15 @@ void ConfigureSystem::applyConfiguration() { modified = true; } + // apply play coin + u16 new_play_coin = static_cast(ui->spinBox_play_coins->value()); + if (play_coin != new_play_coin) { + // archive types must be registered to set play coins + Service::FS::RegisterArchiveTypes(); + Service::PTM::Module::SetPlayCoins(new_play_coin); + Service::FS::UnregisterArchiveTypes(); + } + // update the config savegame if any item is modified. if (modified) cfg->UpdateConfigNANDSavegame(); diff --git a/src/citra_qt/configuration/configure_system.h b/src/citra_qt/configuration/configure_system.h index 53e5a328e..36c7d2e94 100644 --- a/src/citra_qt/configuration/configure_system.h +++ b/src/citra_qt/configuration/configure_system.h @@ -47,4 +47,5 @@ private: int language_index; int sound_index; u8 country_code; + u16 play_coin; }; diff --git a/src/citra_qt/configuration/configure_system.ui b/src/citra_qt/configuration/configure_system.ui index 925e86b89..74efa3b27 100644 --- a/src/citra_qt/configuration/configure_system.ui +++ b/src/citra_qt/configuration/configure_system.ui @@ -264,13 +264,27 @@ + + + Play Coins: + + + + + + + 300 + + + + Console ID: - +