forked from suyu/suyu
Set: Allow setting device nickname
This commit is contained in:
parent
a4696285af
commit
c5f519e1e4
9 changed files with 42 additions and 2 deletions
|
@ -40,6 +40,7 @@ void LogSettings() {
|
||||||
LOG_INFO(Config, "yuzu Configuration:");
|
LOG_INFO(Config, "yuzu Configuration:");
|
||||||
log_setting("Controls_UseDockedMode", values.use_docked_mode.GetValue());
|
log_setting("Controls_UseDockedMode", values.use_docked_mode.GetValue());
|
||||||
log_setting("System_RngSeed", values.rng_seed.GetValue().value_or(0));
|
log_setting("System_RngSeed", values.rng_seed.GetValue().value_or(0));
|
||||||
|
log_setting("System_DeviceName", values.device_name.GetValue());
|
||||||
log_setting("System_CurrentUser", values.current_user.GetValue());
|
log_setting("System_CurrentUser", values.current_user.GetValue());
|
||||||
log_setting("System_LanguageIndex", values.language_index.GetValue());
|
log_setting("System_LanguageIndex", values.language_index.GetValue());
|
||||||
log_setting("System_RegionIndex", values.region_index.GetValue());
|
log_setting("System_RegionIndex", values.region_index.GetValue());
|
||||||
|
|
|
@ -458,6 +458,7 @@ struct Values {
|
||||||
|
|
||||||
// System
|
// System
|
||||||
SwitchableSetting<std::optional<u32>> rng_seed{std::optional<u32>(), "rng_seed"};
|
SwitchableSetting<std::optional<u32>> rng_seed{std::optional<u32>(), "rng_seed"};
|
||||||
|
Setting<std::string> device_name{"Yuzu", "device_name"};
|
||||||
// Measured in seconds since epoch
|
// Measured in seconds since epoch
|
||||||
std::optional<s64> custom_rtc;
|
std::optional<s64> custom_rtc;
|
||||||
// Set on game boot, reset on stop. Seconds difference between current time and `custom_rtc`
|
// Set on game boot, reset on stop. Seconds difference between current time and `custom_rtc`
|
||||||
|
|
|
@ -191,6 +191,13 @@ void SET::GetKeyCodeMap2(Kernel::HLERequestContext& ctx) {
|
||||||
GetKeyCodeMapImpl(ctx);
|
GetKeyCodeMapImpl(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SET::GetDeviceNickName(Kernel::HLERequestContext& ctx) {
|
||||||
|
LOG_DEBUG(Service_SET, "called");
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(ResultSuccess);
|
||||||
|
ctx.WriteBuffer(Settings::values.device_name.GetValue());
|
||||||
|
}
|
||||||
|
|
||||||
SET::SET(Core::System& system_) : ServiceFramework{system_, "set"} {
|
SET::SET(Core::System& system_) : ServiceFramework{system_, "set"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
|
@ -205,7 +212,7 @@ SET::SET(Core::System& system_) : ServiceFramework{system_, "set"} {
|
||||||
{8, &SET::GetQuestFlag, "GetQuestFlag"},
|
{8, &SET::GetQuestFlag, "GetQuestFlag"},
|
||||||
{9, &SET::GetKeyCodeMap2, "GetKeyCodeMap2"},
|
{9, &SET::GetKeyCodeMap2, "GetKeyCodeMap2"},
|
||||||
{10, nullptr, "GetFirmwareVersionForDebug"},
|
{10, nullptr, "GetFirmwareVersionForDebug"},
|
||||||
{11, nullptr, "GetDeviceNickName"},
|
{11, &SET::GetDeviceNickName, "GetDeviceNickName"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ private:
|
||||||
void GetRegionCode(Kernel::HLERequestContext& ctx);
|
void GetRegionCode(Kernel::HLERequestContext& ctx);
|
||||||
void GetKeyCodeMap(Kernel::HLERequestContext& ctx);
|
void GetKeyCodeMap(Kernel::HLERequestContext& ctx);
|
||||||
void GetKeyCodeMap2(Kernel::HLERequestContext& ctx);
|
void GetKeyCodeMap2(Kernel::HLERequestContext& ctx);
|
||||||
|
void GetDeviceNickName(Kernel::HLERequestContext& ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Service::Set
|
} // namespace Service::Set
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
|
#include "common/settings.h"
|
||||||
#include "core/file_sys/errors.h"
|
#include "core/file_sys/errors.h"
|
||||||
#include "core/file_sys/system_archive/system_version.h"
|
#include "core/file_sys/system_archive/system_version.h"
|
||||||
#include "core/hle/ipc_helpers.h"
|
#include "core/hle/ipc_helpers.h"
|
||||||
|
@ -176,6 +177,13 @@ void SET_SYS::GetSettingsItemValue(Kernel::HLERequestContext& ctx) {
|
||||||
rb.Push(response);
|
rb.Push(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SET_SYS::GetDeviceNickName(Kernel::HLERequestContext& ctx) {
|
||||||
|
LOG_DEBUG(Service_SET, "called");
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(ResultSuccess);
|
||||||
|
ctx.WriteBuffer(::Settings::values.device_name.GetValue());
|
||||||
|
}
|
||||||
|
|
||||||
SET_SYS::SET_SYS(Core::System& system_) : ServiceFramework{system_, "set:sys"} {
|
SET_SYS::SET_SYS(Core::System& system_) : ServiceFramework{system_, "set:sys"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
|
@ -253,7 +261,7 @@ SET_SYS::SET_SYS(Core::System& system_) : ServiceFramework{system_, "set:sys"} {
|
||||||
{74, nullptr, "SetWirelessLanEnableFlag"},
|
{74, nullptr, "SetWirelessLanEnableFlag"},
|
||||||
{75, nullptr, "GetInitialLaunchSettings"},
|
{75, nullptr, "GetInitialLaunchSettings"},
|
||||||
{76, nullptr, "SetInitialLaunchSettings"},
|
{76, nullptr, "SetInitialLaunchSettings"},
|
||||||
{77, nullptr, "GetDeviceNickName"},
|
{77, &SET_SYS::GetDeviceNickName, "GetDeviceNickName"},
|
||||||
{78, nullptr, "SetDeviceNickName"},
|
{78, nullptr, "SetDeviceNickName"},
|
||||||
{79, nullptr, "GetProductModel"},
|
{79, nullptr, "GetProductModel"},
|
||||||
{80, nullptr, "GetLdnChannel"},
|
{80, nullptr, "GetLdnChannel"},
|
||||||
|
|
|
@ -29,6 +29,7 @@ private:
|
||||||
void GetFirmwareVersion2(Kernel::HLERequestContext& ctx);
|
void GetFirmwareVersion2(Kernel::HLERequestContext& ctx);
|
||||||
void GetColorSetId(Kernel::HLERequestContext& ctx);
|
void GetColorSetId(Kernel::HLERequestContext& ctx);
|
||||||
void SetColorSetId(Kernel::HLERequestContext& ctx);
|
void SetColorSetId(Kernel::HLERequestContext& ctx);
|
||||||
|
void GetDeviceNickName(Kernel::HLERequestContext& ctx);
|
||||||
|
|
||||||
ColorSet color_set = ColorSet::BasicWhite;
|
ColorSet color_set = ColorSet::BasicWhite;
|
||||||
};
|
};
|
||||||
|
|
|
@ -783,6 +783,8 @@ void Config::ReadSystemValues() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ReadBasicSetting(Settings::values.device_name);
|
||||||
|
|
||||||
if (global) {
|
if (global) {
|
||||||
ReadBasicSetting(Settings::values.current_user);
|
ReadBasicSetting(Settings::values.current_user);
|
||||||
Settings::values.current_user = std::clamp<int>(Settings::values.current_user.GetValue(), 0,
|
Settings::values.current_user = std::clamp<int>(Settings::values.current_user.GetValue(), 0,
|
||||||
|
@ -1405,6 +1407,7 @@ void Config::SaveSystemValues() {
|
||||||
Settings::values.rng_seed.UsingGlobal());
|
Settings::values.rng_seed.UsingGlobal());
|
||||||
WriteSetting(QStringLiteral("rng_seed"), Settings::values.rng_seed.GetValue(global).value_or(0),
|
WriteSetting(QStringLiteral("rng_seed"), Settings::values.rng_seed.GetValue(global).value_or(0),
|
||||||
0, Settings::values.rng_seed.UsingGlobal());
|
0, Settings::values.rng_seed.UsingGlobal());
|
||||||
|
WriteBasicSetting(Settings::values.device_name);
|
||||||
|
|
||||||
if (global) {
|
if (global) {
|
||||||
WriteBasicSetting(Settings::values.current_user);
|
WriteBasicSetting(Settings::values.current_user);
|
||||||
|
|
|
@ -72,6 +72,8 @@ void ConfigureSystem::SetConfiguration() {
|
||||||
ui->custom_rtc_checkbox->setChecked(Settings::values.custom_rtc.has_value());
|
ui->custom_rtc_checkbox->setChecked(Settings::values.custom_rtc.has_value());
|
||||||
ui->custom_rtc_edit->setEnabled(Settings::values.custom_rtc.has_value());
|
ui->custom_rtc_edit->setEnabled(Settings::values.custom_rtc.has_value());
|
||||||
ui->custom_rtc_edit->setDateTime(QDateTime::fromSecsSinceEpoch(rtc_time));
|
ui->custom_rtc_edit->setDateTime(QDateTime::fromSecsSinceEpoch(rtc_time));
|
||||||
|
ui->device_name_edit->setText(
|
||||||
|
QString::fromUtf8(Settings::values.device_name.GetValue().c_str()));
|
||||||
|
|
||||||
if (Settings::IsConfiguringGlobal()) {
|
if (Settings::IsConfiguringGlobal()) {
|
||||||
ui->combo_language->setCurrentIndex(Settings::values.language_index.GetValue());
|
ui->combo_language->setCurrentIndex(Settings::values.language_index.GetValue());
|
||||||
|
@ -115,6 +117,8 @@ void ConfigureSystem::ApplyConfiguration() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Settings::values.device_name = ui->device_name_edit->text().toStdString();
|
||||||
|
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -432,6 +432,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="device_name_label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Device Name</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QComboBox" name="combo_sound">
|
<widget class="QComboBox" name="combo_sound">
|
||||||
<item>
|
<item>
|
||||||
|
@ -476,6 +483,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QLineEdit" name="device_name_edit">
|
||||||
|
<property name="maxLength">
|
||||||
|
<number>128</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="6" column="1">
|
<item row="6" column="1">
|
||||||
<widget class="QLineEdit" name="rng_seed_edit">
|
<widget class="QLineEdit" name="rng_seed_edit">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
|
Loading…
Reference in a new issue