From 2a16fd7ffc1ec4e2dc90480c04f9867fdeec6a98 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sun, 11 Nov 2018 22:34:23 -0500 Subject: settings: Add config option to set RNG seed --- src/yuzu/configuration/configure_system.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/yuzu/configuration/configure_system.cpp') diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp index 4803d43bb..b001266f6 100644 --- a/src/yuzu/configuration/configure_system.cpp +++ b/src/yuzu/configuration/configure_system.cpp @@ -137,6 +137,12 @@ ConfigureSystem::ConfigureSystem(QWidget* parent) connect(ui->pm_remove, &QPushButton::pressed, this, &ConfigureSystem::DeleteUser); connect(ui->pm_set_image, &QPushButton::pressed, this, &ConfigureSystem::SetUserImage); + connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) { + ui->rng_seed_edit->setEnabled(checked); + if (!checked) + ui->rng_seed_edit->setText("0000000000000000"); + }); + scene = new QGraphicsScene; ui->current_user_icon->setScene(scene); @@ -155,6 +161,11 @@ void ConfigureSystem::setConfiguration() { PopulateUserList(); UpdateCurrentUser(); + + ui->rng_seed_checkbox->setChecked(Settings::values.rng_seed.has_value()); + ui->rng_seed_edit->setEnabled(Settings::values.rng_seed.has_value()); + ui->rng_seed_edit->setText( + QString::fromStdString(fmt::format("{:016X}", Settings::values.rng_seed.value_or(0)))); } void ConfigureSystem::PopulateUserList() { @@ -195,6 +206,12 @@ void ConfigureSystem::applyConfiguration() { return; Settings::values.language_index = ui->combo_language->currentIndex(); + + if (ui->rng_seed_checkbox->isChecked()) + Settings::values.rng_seed = ui->rng_seed_edit->text().toULongLong(nullptr, 16); + else + Settings::values.rng_seed = std::nullopt; + Settings::Apply(); } -- cgit v1.2.3 From cb1e63ef09a5cd775e916f6f4482cde3ea256f44 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 12 Nov 2018 21:46:21 -0500 Subject: svc: Return random seed for svcGetInfo RandomEntropy --- src/yuzu/configuration/configure_system.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/yuzu/configuration/configure_system.cpp') diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp index b001266f6..67f07ecb1 100644 --- a/src/yuzu/configuration/configure_system.cpp +++ b/src/yuzu/configuration/configure_system.cpp @@ -140,7 +140,7 @@ ConfigureSystem::ConfigureSystem(QWidget* parent) connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) { ui->rng_seed_edit->setEnabled(checked); if (!checked) - ui->rng_seed_edit->setText("0000000000000000"); + ui->rng_seed_edit->setText(QStringLiteral("0000000000000000")); }); scene = new QGraphicsScene; @@ -164,8 +164,11 @@ void ConfigureSystem::setConfiguration() { ui->rng_seed_checkbox->setChecked(Settings::values.rng_seed.has_value()); ui->rng_seed_edit->setEnabled(Settings::values.rng_seed.has_value()); - ui->rng_seed_edit->setText( - QString::fromStdString(fmt::format("{:016X}", Settings::values.rng_seed.value_or(0)))); + + const auto rng_seed = QString("%1") + .arg(Settings::values.rng_seed.value_or(0), 16, 16, QLatin1Char{'0'}) + .toUpper(); + ui->rng_seed_edit->setText(rng_seed); } void ConfigureSystem::PopulateUserList() { -- cgit v1.2.3