summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-11-12 21:46:21 -0500
committerGravatar Zach Hilman2018-11-12 21:46:21 -0500
commitcb1e63ef09a5cd775e916f6f4482cde3ea256f44 (patch)
tree602da495ef586abd466d5a06cd28270337b38e75
parentsettings: Add config option to set RNG seed (diff)
downloadyuzu-cb1e63ef09a5cd775e916f6f4482cde3ea256f44.tar.gz
yuzu-cb1e63ef09a5cd775e916f6f4482cde3ea256f44.tar.xz
yuzu-cb1e63ef09a5cd775e916f6f4482cde3ea256f44.zip
svc: Return random seed for svcGetInfo RandomEntropy
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/svc.cpp3
-rw-r--r--src/yuzu/configuration/configure_system.cpp9
2 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 7e8e87c33..0bfe1e3be 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -34,6 +34,7 @@
34#include "core/hle/lock.h" 34#include "core/hle/lock.h"
35#include "core/hle/result.h" 35#include "core/hle/result.h"
36#include "core/hle/service/service.h" 36#include "core/hle/service/service.h"
37#include "core/settings.h"
37 38
38namespace Kernel { 39namespace Kernel {
39namespace { 40namespace {
@@ -558,7 +559,7 @@ static ResultCode GetInfo(u64* result, u64 info_id, u64 handle, u64 info_sub_id)
558 *result = 0; 559 *result = 0;
559 break; 560 break;
560 case GetInfoType::RandomEntropy: 561 case GetInfoType::RandomEntropy:
561 *result = 0; 562 *result = Settings::values.rng_seed.value_or(0);
562 break; 563 break;
563 case GetInfoType::ASLRRegionBaseAddr: 564 case GetInfoType::ASLRRegionBaseAddr:
564 *result = vm_manager.GetASLRRegionBaseAddress(); 565 *result = vm_manager.GetASLRRegionBaseAddress();
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)
140 connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) { 140 connect(ui->rng_seed_checkbox, &QCheckBox::stateChanged, this, [this](bool checked) {
141 ui->rng_seed_edit->setEnabled(checked); 141 ui->rng_seed_edit->setEnabled(checked);
142 if (!checked) 142 if (!checked)
143 ui->rng_seed_edit->setText("0000000000000000"); 143 ui->rng_seed_edit->setText(QStringLiteral("0000000000000000"));
144 }); 144 });
145 145
146 scene = new QGraphicsScene; 146 scene = new QGraphicsScene;
@@ -164,8 +164,11 @@ void ConfigureSystem::setConfiguration() {
164 164
165 ui->rng_seed_checkbox->setChecked(Settings::values.rng_seed.has_value()); 165 ui->rng_seed_checkbox->setChecked(Settings::values.rng_seed.has_value());
166 ui->rng_seed_edit->setEnabled(Settings::values.rng_seed.has_value()); 166 ui->rng_seed_edit->setEnabled(Settings::values.rng_seed.has_value());
167 ui->rng_seed_edit->setText( 167
168 QString::fromStdString(fmt::format("{:016X}", Settings::values.rng_seed.value_or(0)))); 168 const auto rng_seed = QString("%1")
169 .arg(Settings::values.rng_seed.value_or(0), 16, 16, QLatin1Char{'0'})
170 .toUpper();
171 ui->rng_seed_edit->setText(rng_seed);
169} 172}
170 173
171void ConfigureSystem::PopulateUserList() { 174void ConfigureSystem::PopulateUserList() {