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 | 21 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_system.ui | 228 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 5 | ||||
| -rw-r--r-- | src/yuzu/main.ui | 3 | 
5 files changed, 165 insertions, 104 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 b4b4a4a56..ab5d46492 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(QStringLiteral("00000000")); +    }); +      scene = new QGraphicsScene;      ui->current_user_icon->setScene(scene); @@ -155,6 +161,13 @@ 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()); + +    const auto rng_seed = +        QString("%1").arg(Settings::values.rng_seed.value_or(0), 8, 16, QLatin1Char{'0'}).toUpper(); +    ui->rng_seed_edit->setText(rng_seed);  }  void ConfigureSystem::PopulateUserList() { @@ -195,6 +208,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();  } @@ -240,7 +259,7 @@ void ConfigureSystem::RefreshConsoleID() {  void ConfigureSystem::SelectUser(const QModelIndex& index) {      Settings::values.current_user = -        std::clamp<std::size_t>(index.row(), 0, profile_manager->GetUserCount() - 1); +        std::clamp<s32>(index.row(), 0, static_cast<s32>(profile_manager->GetUserCount() - 1));      UpdateCurrentUser(); diff --git a/src/yuzu/configuration/configure_system.ui b/src/yuzu/configuration/configure_system.ui index 020b32a37..a91580893 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 notr="true">HHHHHHHH</string> +          </property> +          <property name="maxLength"> +           <number>8</number>            </property>           </widget>          </item> diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 74a44be37..131ad19de 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -933,7 +933,8 @@ void GMainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_pa      const auto full = res == "Full";      const auto entry_size = CalculateRomFSEntrySize(extracted, full); -    QProgressDialog progress(tr("Extracting RomFS..."), tr("Cancel"), 0, entry_size, this); +    QProgressDialog progress(tr("Extracting RomFS..."), tr("Cancel"), 0, +                             static_cast<s32>(entry_size), this);      progress.setWindowModality(Qt::WindowModal);      progress.setMinimumDuration(100); @@ -1621,7 +1622,7 @@ void GMainWindow::closeEvent(QCloseEvent* event) {          return;      } -    if (ui.action_Fullscreen->isChecked()) { +    if (!ui.action_Fullscreen->isChecked()) {          UISettings::values.geometry = saveGeometry();          UISettings::values.renderwindow_geometry = render_window->saveGeometry();      } diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui index 28cf269e7..75e96387f 100644 --- a/src/yuzu/main.ui +++ b/src/yuzu/main.ui @@ -70,6 +70,8 @@      <addaction name="separator"/>      <addaction name="action_Load_Amiibo"/>      <addaction name="separator"/> +    <addaction name="action_Open_yuzu_Folder"/> +    <addaction name="separator"/>      <addaction name="action_Exit"/>     </widget>     <widget class="QMenu" name="menu_Emulation"> @@ -110,7 +112,6 @@       <string>&Help</string>      </property>      <addaction name="action_Report_Compatibility"/> -    <addaction name="action_Open_yuzu_Folder" />      <addaction name="separator"/>      <addaction name="action_About"/>     </widget> | 
