diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 12 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_system.cpp | 17 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_system.ui | 228 | 
3 files changed, 157 insertions, 100 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index d4fd60a73..d3b7fa59d 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -134,6 +134,14 @@ void Config::ReadValues() {                                                      Service::Account::MAX_USERS - 1);      Settings::values.language_index = qt_config->value("language_index", 1).toInt(); + +    const auto enabled = qt_config->value("rng_seed_enabled", false).toBool(); +    if (enabled) { +        Settings::values.rng_seed = qt_config->value("rng_seed", 0).toULongLong(); +    } else { +        Settings::values.rng_seed = std::nullopt; +    } +      qt_config->endGroup();      qt_config->beginGroup("Miscellaneous"); @@ -272,6 +280,10 @@ void Config::SaveValues() {      qt_config->setValue("current_user", Settings::values.current_user);      qt_config->setValue("language_index", Settings::values.language_index); + +    qt_config->setValue("rng_seed_enabled", Settings::values.rng_seed.has_value()); +    qt_config->setValue("rng_seed", Settings::values.rng_seed.value_or(0)); +      qt_config->endGroup();      qt_config->beginGroup("Miscellaneous"); 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();  } diff --git a/src/yuzu/configuration/configure_system.ui b/src/yuzu/configuration/configure_system.ui index 020b32a37..d0fcd0163 100644 --- a/src/yuzu/configuration/configure_system.ui +++ b/src/yuzu/configuration/configure_system.ui @@ -6,7 +6,7 @@     <rect>      <x>0</x>      <y>0</y> -    <width>360</width> +    <width>366</width>      <height>483</height>     </rect>    </property> @@ -22,98 +22,6 @@          <string>System Settings</string>         </property>         <layout class="QGridLayout" name="gridLayout"> -        <item row="1" column="0"> -         <widget class="QLabel" name="label_language"> -          <property name="text"> -           <string>Language</string> -          </property> -         </widget> -        </item> -        <item row="0" column="0"> -         <widget class="QLabel" name="label_birthday"> -          <property name="text"> -           <string>Birthday</string> -          </property> -         </widget> -        </item> -        <item row="3" column="0"> -         <widget class="QLabel" name="label_console_id"> -          <property name="text"> -           <string>Console ID:</string> -          </property> -         </widget> -        </item> -        <item row="0" column="1"> -         <layout class="QHBoxLayout" name="horizontalLayout_birthday2"> -          <item> -           <widget class="QComboBox" name="combo_birthmonth"> -            <item> -             <property name="text"> -              <string>January</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>February</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>March</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>April</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>May</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>June</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>July</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>August</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>September</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>October</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>November</string> -             </property> -            </item> -            <item> -             <property name="text"> -              <string>December</string> -             </property> -            </item> -           </widget> -          </item> -          <item> -           <widget class="QComboBox" name="combo_birthday"/> -          </item> -         </layout> -        </item>          <item row="1" column="1">           <widget class="QComboBox" name="combo_language">            <property name="toolTip"> @@ -206,6 +114,13 @@            </item>           </widget>          </item> +        <item row="3" column="0"> +         <widget class="QLabel" name="label_console_id"> +          <property name="text"> +           <string>Console ID:</string> +          </property> +         </widget> +        </item>          <item row="2" column="0">           <widget class="QLabel" name="label_sound">            <property name="text"> @@ -213,6 +128,100 @@            </property>           </widget>          </item> +        <item row="0" column="0"> +         <widget class="QLabel" name="label_birthday"> +          <property name="text"> +           <string>Birthday</string> +          </property> +         </widget> +        </item> +        <item row="0" column="1"> +         <layout class="QHBoxLayout" name="horizontalLayout_birthday2"> +          <item> +           <widget class="QComboBox" name="combo_birthmonth"> +            <item> +             <property name="text"> +              <string>January</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>February</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>March</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>April</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>May</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>June</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>July</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>August</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>September</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>October</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>November</string> +             </property> +            </item> +            <item> +             <property name="text"> +              <string>December</string> +             </property> +            </item> +           </widget> +          </item> +          <item> +           <widget class="QComboBox" name="combo_birthday"/> +          </item> +         </layout> +        </item> +        <item row="3" column="1"> +         <widget class="QPushButton" name="button_regenerate_console_id"> +          <property name="sizePolicy"> +           <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +            <horstretch>0</horstretch> +            <verstretch>0</verstretch> +           </sizepolicy> +          </property> +          <property name="layoutDirection"> +           <enum>Qt::RightToLeft</enum> +          </property> +          <property name="text"> +           <string>Regenerate</string> +          </property> +         </widget> +        </item>          <item row="2" column="1">           <widget class="QComboBox" name="combo_sound">            <item> @@ -232,19 +241,38 @@            </item>           </widget>          </item> -        <item row="3" column="1"> -         <widget class="QPushButton" name="button_regenerate_console_id"> +        <item row="1" column="0"> +         <widget class="QLabel" name="label_language"> +          <property name="text"> +           <string>Language</string> +          </property> +         </widget> +        </item> +        <item row="4" column="0"> +         <widget class="QCheckBox" name="rng_seed_checkbox"> +          <property name="text"> +           <string>RNG Seed</string> +          </property> +         </widget> +        </item> +        <item row="4" column="1"> +         <widget class="QLineEdit" name="rng_seed_edit">            <property name="sizePolicy"> -           <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> +           <sizepolicy hsizetype="Minimum" vsizetype="Fixed">              <horstretch>0</horstretch>              <verstretch>0</verstretch>             </sizepolicy>            </property> -          <property name="layoutDirection"> -           <enum>Qt::RightToLeft</enum> +          <property name="font"> +           <font> +            <family>Lucida Console</family> +           </font>            </property> -          <property name="text"> -           <string>Regenerate</string> +          <property name="inputMask"> +           <string>HHHHHHHHHHHHHHHH</string> +          </property> +          <property name="maxLength"> +           <number>16</number>            </property>           </widget>          </item>  | 
