diff options
Diffstat (limited to 'src/yuzu/configuration')
20 files changed, 355 insertions, 194 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index baa3e55f3..c0ae6468b 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -35,6 +35,7 @@ const std::array<int, Settings::NativeButton::NumButtons> Config::default_button      Qt::Key_G,    Qt::Key_Q, Qt::Key_E,    Qt::Key_R,  Qt::Key_T,      Qt::Key_M,    Qt::Key_N, Qt::Key_Left, Qt::Key_Up, Qt::Key_Right,      Qt::Key_Down, Qt::Key_Q, Qt::Key_E,    0,          0, +    Qt::Key_Q,    Qt::Key_E,  };  const std::array<int, Settings::NativeMotion::NumMotions> Config::default_motions = { @@ -360,6 +361,7 @@ void Config::ReadAudioValues() {      qt_config->beginGroup(QStringLiteral("Audio"));      ReadCategory(Settings::Category::Audio); +    ReadCategory(Settings::Category::UiAudio);      qt_config->endGroup();  } @@ -900,6 +902,7 @@ void Config::SaveAudioValues() {      qt_config->beginGroup(QStringLiteral("Audio"));      WriteCategory(Settings::Category::Audio); +    WriteCategory(Settings::Category::UiAudio);      qt_config->endGroup();  } diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index 74ec4f771..1589ba057 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp index 81dd51ad3..9b6ef47a7 100644 --- a/src/yuzu/configuration/configure_audio.cpp +++ b/src/yuzu/configuration/configure_audio.cpp @@ -38,17 +38,21 @@ void ConfigureAudio::Setup(const ConfigurationShared::Builder& builder) {      std::map<u32, QWidget*> hold; -    auto push = [&](Settings::Category category) { +    auto push_settings = [&](Settings::Category category) {          for (auto* setting : Settings::values.linkage.by_category[category]) {              settings.push_back(setting);          } +    }; + +    auto push_ui_settings = [&](Settings::Category category) {          for (auto* setting : UISettings::values.linkage.by_category[category]) {              settings.push_back(setting);          }      }; -    push(Settings::Category::Audio); -    push(Settings::Category::SystemAudio); +    push_settings(Settings::Category::Audio); +    push_settings(Settings::Category::SystemAudio); +    push_ui_settings(Settings::Category::UiAudio);      for (auto* setting : settings) {          auto* widget = builder.BuildWidget(setting, apply_funcs); diff --git a/src/yuzu/configuration/configure_camera.h b/src/yuzu/configuration/configure_camera.h index 9a90512b3..3d822da7b 100644 --- a/src/yuzu/configuration/configure_camera.h +++ b/src/yuzu/configuration/configure_camera.h @@ -1,4 +1,4 @@ -// Text : Copyright 2022 yuzu Emulator Project +// Text : Copyright 2022 yuzu Emulator Project  // SPDX-License-Identifier: GPL-3.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp index b22fda746..ef421c754 100644 --- a/src/yuzu/configuration/configure_debug.cpp +++ b/src/yuzu/configuration/configure_debug.cpp @@ -27,16 +27,6 @@ ConfigureDebug::ConfigureDebug(const Core::System& system_, QWidget* parent)      connect(ui->toggle_gdbstub, &QCheckBox::toggled,              [&]() { ui->gdbport_spinbox->setEnabled(ui->toggle_gdbstub->isChecked()); }); - -    connect(ui->create_crash_dumps, &QCheckBox::stateChanged, [&](int) { -        if (crash_dump_warning_shown) { -            return; -        } -        QMessageBox::warning(this, tr("Restart Required"), -                             tr("yuzu is required to restart in order to apply this setting."), -                             QMessageBox::Ok, QMessageBox::Ok); -        crash_dump_warning_shown = true; -    });  }  ConfigureDebug::~ConfigureDebug() = default; @@ -89,13 +79,6 @@ void ConfigureDebug::SetConfiguration() {      ui->disable_web_applet->setEnabled(false);      ui->disable_web_applet->setText(tr("Web applet not compiled"));  #endif - -#ifdef YUZU_DBGHELP -    ui->create_crash_dumps->setChecked(Settings::values.create_crash_dumps.GetValue()); -#else -    ui->create_crash_dumps->setEnabled(false); -    ui->create_crash_dumps->setText(tr("MiniDump creation not compiled")); -#endif  }  void ConfigureDebug::ApplyConfiguration() { @@ -107,7 +90,6 @@ void ConfigureDebug::ApplyConfiguration() {      Settings::values.enable_fs_access_log = ui->fs_access_log->isChecked();      Settings::values.reporting_services = ui->reporting_services->isChecked();      Settings::values.dump_audio_commands = ui->dump_audio_commands->isChecked(); -    Settings::values.create_crash_dumps = ui->create_crash_dumps->isChecked();      Settings::values.quest_flag = ui->quest_flag->isChecked();      Settings::values.use_debug_asserts = ui->use_debug_asserts->isChecked();      Settings::values.use_auto_stub = ui->use_auto_stub->isChecked(); diff --git a/src/yuzu/configuration/configure_debug.ui b/src/yuzu/configuration/configure_debug.ui index 66b8b7459..76fe98924 100644 --- a/src/yuzu/configuration/configure_debug.ui +++ b/src/yuzu/configuration/configure_debug.ui @@ -471,13 +471,6 @@             </property>            </widget>           </item> -         <item row="4" column="0"> -          <widget class="QCheckBox" name="create_crash_dumps"> -           <property name="text"> -            <string>Create Minidump After Crash</string> -           </property> -          </widget> -         </item>           <item row="3" column="0">            <widget class="QCheckBox" name="dump_audio_commands">             <property name="toolTip"> diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp index 3dcad2701..02e23cce6 100644 --- a/src/yuzu/configuration/configure_input.cpp +++ b/src/yuzu/configuration/configure_input.cpp @@ -152,7 +152,7 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem,      connect(player_controllers[0], &ConfigureInputPlayer::HandheldStateChanged,              [this](bool is_handheld) { UpdateDockedState(is_handheld); }); -    advanced = new ConfigureInputAdvanced(this); +    advanced = new ConfigureInputAdvanced(hid_core, this);      ui->tabAdvanced->setLayout(new QHBoxLayout(ui->tabAdvanced));      ui->tabAdvanced->layout()->addWidget(advanced); diff --git a/src/yuzu/configuration/configure_input.h b/src/yuzu/configuration/configure_input.h index 136cd3a0a..beb503dae 100644 --- a/src/yuzu/configuration/configure_input.h +++ b/src/yuzu/configuration/configure_input.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_input_advanced.cpp b/src/yuzu/configuration/configure_input_advanced.cpp index 3cfd5d439..441cea3f6 100644 --- a/src/yuzu/configuration/configure_input_advanced.cpp +++ b/src/yuzu/configuration/configure_input_advanced.cpp @@ -4,11 +4,13 @@  #include <QColorDialog>  #include "common/settings.h"  #include "core/core.h" +#include "core/hid/emulated_controller.h" +#include "core/hid/hid_core.h"  #include "ui_configure_input_advanced.h"  #include "yuzu/configuration/configure_input_advanced.h" -ConfigureInputAdvanced::ConfigureInputAdvanced(QWidget* parent) -    : QWidget(parent), ui(std::make_unique<Ui::ConfigureInputAdvanced>()) { +ConfigureInputAdvanced::ConfigureInputAdvanced(Core::HID::HIDCore& hid_core_, QWidget* parent) +    : QWidget(parent), ui(std::make_unique<Ui::ConfigureInputAdvanced>()), hid_core{hid_core_} {      ui->setupUi(this);      controllers_color_buttons = {{ @@ -123,6 +125,8 @@ void ConfigureInputAdvanced::ApplyConfiguration() {          player.button_color_left = colors[1];          player.body_color_right = colors[2];          player.button_color_right = colors[3]; + +        hid_core.GetEmulatedControllerByIndex(player_idx)->ReloadColorsFromSettings();      }      Settings::values.debug_pad_enabled = ui->debug_enabled->isChecked(); diff --git a/src/yuzu/configuration/configure_input_advanced.h b/src/yuzu/configuration/configure_input_advanced.h index fc1230284..41f822c4a 100644 --- a/src/yuzu/configuration/configure_input_advanced.h +++ b/src/yuzu/configuration/configure_input_advanced.h @@ -14,11 +14,15 @@ namespace Ui {  class ConfigureInputAdvanced;  } +namespace Core::HID { +class HIDCore; +} // namespace Core::HID +  class ConfigureInputAdvanced : public QWidget {      Q_OBJECT  public: -    explicit ConfigureInputAdvanced(QWidget* parent = nullptr); +    explicit ConfigureInputAdvanced(Core::HID::HIDCore& hid_core_, QWidget* parent = nullptr);      ~ConfigureInputAdvanced() override;      void ApplyConfiguration(); @@ -44,4 +48,6 @@ private:      std::array<std::array<QColor, 4>, 8> controllers_colors;      std::array<std::array<QPushButton*, 4>, 8> controllers_color_buttons; + +    Core::HID::HIDCore& hid_core;  }; diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 576f5b571..9259e2a5d 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -322,11 +322,12 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i      setFocusPolicy(Qt::ClickFocus);      button_map = { -        ui->buttonA,        ui->buttonB,      ui->buttonX,         ui->buttonY, -        ui->buttonLStick,   ui->buttonRStick, ui->buttonL,         ui->buttonR, -        ui->buttonZL,       ui->buttonZR,     ui->buttonPlus,      ui->buttonMinus, -        ui->buttonDpadLeft, ui->buttonDpadUp, ui->buttonDpadRight, ui->buttonDpadDown, -        ui->buttonSL,       ui->buttonSR,     ui->buttonHome,      ui->buttonScreenshot, +        ui->buttonA,        ui->buttonB,       ui->buttonX,         ui->buttonY, +        ui->buttonLStick,   ui->buttonRStick,  ui->buttonL,         ui->buttonR, +        ui->buttonZL,       ui->buttonZR,      ui->buttonPlus,      ui->buttonMinus, +        ui->buttonDpadLeft, ui->buttonDpadUp,  ui->buttonDpadRight, ui->buttonDpadDown, +        ui->buttonSLLeft,   ui->buttonSRLeft,  ui->buttonHome,      ui->buttonScreenshot, +        ui->buttonSLRight,  ui->buttonSRRight,      };      analog_map_buttons = {{ @@ -1181,10 +1182,13 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() {      // List of all the widgets that will be hidden by any of the following layouts that need      // "unhidden" after the controller type changes -    const std::array<QWidget*, 11> layout_show = { -        ui->buttonShoulderButtonsSLSR, +    const std::array<QWidget*, 14> layout_show = { +        ui->buttonShoulderButtonsSLSRLeft, +        ui->buttonShoulderButtonsSLSRRight,          ui->horizontalSpacerShoulderButtonsWidget,          ui->horizontalSpacerShoulderButtonsWidget2, +        ui->horizontalSpacerShoulderButtonsWidget3, +        ui->horizontalSpacerShoulderButtonsWidget4,          ui->buttonShoulderButtonsLeft,          ui->buttonMiscButtonsMinusScreenshot,          ui->bottomLeft, @@ -1202,16 +1206,19 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() {      std::vector<QWidget*> layout_hidden;      switch (layout) {      case Core::HID::NpadStyleIndex::ProController: -    case Core::HID::NpadStyleIndex::JoyconDual:      case Core::HID::NpadStyleIndex::Handheld:          layout_hidden = { -            ui->buttonShoulderButtonsSLSR, +            ui->buttonShoulderButtonsSLSRLeft, +            ui->buttonShoulderButtonsSLSRRight,              ui->horizontalSpacerShoulderButtonsWidget2, +            ui->horizontalSpacerShoulderButtonsWidget4,          };          break;      case Core::HID::NpadStyleIndex::JoyconLeft:          layout_hidden = { +            ui->buttonShoulderButtonsSLSRRight,              ui->horizontalSpacerShoulderButtonsWidget2, +            ui->horizontalSpacerShoulderButtonsWidget3,              ui->buttonShoulderButtonsRight,              ui->buttonMiscButtonsPlusHome,              ui->bottomRight, @@ -1219,16 +1226,17 @@ void ConfigureInputPlayer::UpdateControllerAvailableButtons() {          break;      case Core::HID::NpadStyleIndex::JoyconRight:          layout_hidden = { -            ui->horizontalSpacerShoulderButtonsWidget, -            ui->buttonShoulderButtonsLeft, -            ui->buttonMiscButtonsMinusScreenshot, -            ui->bottomLeft, +            ui->buttonShoulderButtonsSLSRLeft,          ui->horizontalSpacerShoulderButtonsWidget, +            ui->horizontalSpacerShoulderButtonsWidget4, ui->buttonShoulderButtonsLeft, +            ui->buttonMiscButtonsMinusScreenshot,       ui->bottomLeft,          };          break;      case Core::HID::NpadStyleIndex::GameCube:          layout_hidden = { -            ui->buttonShoulderButtonsSLSR, +            ui->buttonShoulderButtonsSLSRLeft, +            ui->buttonShoulderButtonsSLSRRight,              ui->horizontalSpacerShoulderButtonsWidget2, +            ui->horizontalSpacerShoulderButtonsWidget4,              ui->buttonMiscButtonsMinusGroup,              ui->buttonMiscButtonsScreenshotGroup,          }; diff --git a/src/yuzu/configuration/configure_input_player.h b/src/yuzu/configuration/configure_input_player.h index d3255d2b4..fda09e925 100644 --- a/src/yuzu/configuration/configure_input_player.h +++ b/src/yuzu/configuration/configure_input_player.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_input_player.ui b/src/yuzu/configuration/configure_input_player.ui index 611a79477..5518cccd1 100644 --- a/src/yuzu/configuration/configure_input_player.ui +++ b/src/yuzu/configuration/configure_input_player.ui @@ -1208,6 +1208,159 @@               <property name="spacing">                <number>3</number>               </property> +              <item> +                <widget class="QWidget" name="buttonShoulderButtonsSLSRLeft" native="true"> +                  <layout class="QVBoxLayout" name="buttonShoulderButtonsSLSRLeftVerticalLayout"> +                    <property name="spacing"> +                      <number>0</number> +                    </property> +                    <property name="leftMargin"> +                      <number>0</number> +                    </property> +                    <property name="topMargin"> +                      <number>0</number> +                    </property> +                    <property name="rightMargin"> +                      <number>0</number> +                    </property> +                    <property name="bottomMargin"> +                      <number>0</number> +                    </property> +                    <item alignment="Qt::AlignHCenter"> +                      <widget class="QGroupBox" name="buttonShoulderButtonsSLLeftGroup"> +                        <property name="title"> +                          <string>SL</string> +                        </property> +                        <property name="alignment"> +                          <set>Qt::AlignCenter</set> +                        </property> +                        <layout class="QVBoxLayout" name="buttonShoulderButtonsSLLeftVerticalLayout"> +                          <property name="spacing"> +                            <number>3</number> +                          </property> +                          <property name="leftMargin"> +                            <number>3</number> +                          </property> +                          <property name="topMargin"> +                            <number>3</number> +                          </property> +                          <property name="rightMargin"> +                            <number>3</number> +                          </property> +                          <property name="bottomMargin"> +                            <number>3</number> +                          </property> +                          <item> +                            <widget class="QPushButton" name="buttonSLLeft"> +                              <property name="minimumSize"> +                                <size> +                                  <width>68</width> +                                  <height>0</height> +                                </size> +                              </property> +                              <property name="maximumSize"> +                                <size> +                                  <width>68</width> +                                  <height>16777215</height> +                                </size> +                              </property> +                              <property name="styleSheet"> +                                <string notr="true">min-width: 68px;</string> +                              </property> +                              <property name="text"> +                                <string>SL</string> +                              </property> +                            </widget> +                          </item> +                        </layout> +                      </widget> +                    </item> +                    <item alignment="Qt::AlignHCenter"> +                      <widget class="QGroupBox" name="buttonShoulderButtonsSRLeftGroup"> +                        <property name="title"> +                          <string>SR</string> +                        </property> +                        <property name="alignment"> +                          <set>Qt::AlignCenter</set> +                        </property> +                        <layout class="QVBoxLayout" name="buttonShoulderButtonsSRLeftVerticalLayout"> +                          <property name="spacing"> +                            <number>3</number> +                          </property> +                          <property name="leftMargin"> +                            <number>3</number> +                          </property> +                          <property name="topMargin"> +                            <number>3</number> +                          </property> +                          <property name="rightMargin"> +                            <number>3</number> +                          </property> +                          <property name="bottomMargin"> +                            <number>3</number> +                          </property> +                          <item> +                            <widget class="QPushButton" name="buttonSRLeft"> +                              <property name="minimumSize"> +                                <size> +                                  <width>68</width> +                                  <height>0</height> +                                </size> +                              </property> +                              <property name="maximumSize"> +                                <size> +                                  <width>68</width> +                                  <height>16777215</height> +                                </size> +                              </property> +                              <property name="styleSheet"> +                                <string notr="true">min-width: 68px;</string> +                              </property> +                              <property name="text"> +                                <string>SR</string> +                              </property> +                            </widget> +                          </item> +                        </layout> +                      </widget> +                    </item> +                  </layout> +                </widget> +              </item> +              <item> +                <widget class="QWidget" name="horizontalSpacerShoulderButtonsWidget4" native="true"> +                  <layout class="QHBoxLayout" name="horizontalSpacerShoulderButtonsWidget4Layout"> +                    <property name="spacing"> +                      <number>0</number> +                    </property> +                    <property name="leftMargin"> +                      <number>0</number> +                    </property> +                    <property name="topMargin"> +                      <number>0</number> +                    </property> +                    <property name="rightMargin"> +                      <number>0</number> +                    </property> +                    <property name="bottomMargin"> +                      <number>0</number> +                    </property> +                    <item> +                      <spacer name="horizontalSpacerShoulderButtons5"> +                        <property name="orientation"> +                          <enum>Qt::Horizontal</enum> +                        </property> +                        <property name="sizeHint" stdset="0"> +                          <size> +                            <width>0</width> +                            <height>20</height> +                          </size> +                        </property> +                      </spacer> +                    </item> +                  </layout> +                </widget> +              </item>               <item>                <widget class="QWidget" name="buttonShoulderButtonsLeft" native="true">                 <layout class="QVBoxLayout" name="buttonShoulderButtonsLeftVerticalLayout"> @@ -1830,125 +1983,125 @@                 </layout>                </widget>               </item> -             <item> -              <widget class="QWidget" name="buttonShoulderButtonsSLSR" native="true"> -               <layout class="QVBoxLayout" name="buttonShoulderButtonsSLSRVerticalLayout"> -                <property name="spacing"> -                 <number>0</number> -                </property> -                <property name="leftMargin"> -                 <number>0</number> -                </property> -                <property name="topMargin"> -                 <number>0</number> -                </property> -                <property name="rightMargin"> -                 <number>0</number> -                </property> -                <property name="bottomMargin"> -                 <number>0</number> -                </property> -                <item alignment="Qt::AlignHCenter"> -                 <widget class="QGroupBox" name="buttonShoulderButtonsSLGroup"> -                  <property name="title"> -                   <string>SL</string> -                  </property> -                  <property name="alignment"> -                   <set>Qt::AlignCenter</set> -                  </property> -                  <layout class="QVBoxLayout" name="buttonShoulderButtonsSLVerticalLayout"> -                   <property name="spacing"> -                    <number>3</number> -                   </property> -                   <property name="leftMargin"> -                    <number>3</number> -                   </property> -                   <property name="topMargin"> -                    <number>3</number> -                   </property> -                   <property name="rightMargin"> -                    <number>3</number> -                   </property> -                   <property name="bottomMargin"> -                    <number>3</number> -                   </property> -                   <item> -                    <widget class="QPushButton" name="buttonSL"> -                     <property name="minimumSize"> -                      <size> -                       <width>68</width> -                       <height>0</height> -                      </size> -                     </property> -                     <property name="maximumSize"> -                      <size> -                       <width>68</width> -                       <height>16777215</height> -                      </size> -                     </property> -                     <property name="styleSheet"> -                      <string notr="true">min-width: 68px;</string> -                     </property> -                     <property name="text"> -                      <string>SL</string> -                     </property> -                    </widget> -                   </item> -                  </layout> -                 </widget> -                </item> -                <item alignment="Qt::AlignHCenter"> -                 <widget class="QGroupBox" name="buttonShoulderButtonsSRGroup"> -                  <property name="title"> -                   <string>SR</string> -                  </property> -                  <property name="alignment"> -                   <set>Qt::AlignCenter</set> -                  </property> -                  <layout class="QVBoxLayout" name="buttonShoulderButtonsSRVerticalLayout"> -                   <property name="spacing"> -                    <number>3</number> -                   </property> -                   <property name="leftMargin"> -                    <number>3</number> -                   </property> -                   <property name="topMargin"> -                    <number>3</number> -                   </property> -                   <property name="rightMargin"> -                    <number>3</number> -                   </property> -                   <property name="bottomMargin"> -                    <number>3</number> -                   </property> -                   <item> -                    <widget class="QPushButton" name="buttonSR"> -                     <property name="minimumSize"> -                      <size> -                       <width>68</width> -                       <height>0</height> -                      </size> -                     </property> -                     <property name="maximumSize"> -                      <size> -                       <width>68</width> -                       <height>16777215</height> -                      </size> -                     </property> -                     <property name="styleSheet"> -                      <string notr="true">min-width: 68px;</string> -                     </property> -                     <property name="text"> -                      <string>SR</string> -                     </property> -                    </widget> -                   </item> +              <item> +                <widget class="QWidget" name="buttonShoulderButtonsSLSRRight" native="true"> +                  <layout class="QVBoxLayout" name="buttonShoulderButtonsSLSRRightVerticalLayout"> +                    <property name="spacing"> +                      <number>0</number> +                    </property> +                    <property name="leftMargin"> +                      <number>0</number> +                    </property> +                    <property name="topMargin"> +                      <number>0</number> +                    </property> +                    <property name="rightMargin"> +                      <number>0</number> +                    </property> +                    <property name="bottomMargin"> +                      <number>0</number> +                    </property> +                    <item alignment="Qt::AlignHCenter"> +                      <widget class="QGroupBox" name="buttonShoulderButtonsSLRightGroup"> +                        <property name="title"> +                          <string>SL</string> +                        </property> +                        <property name="alignment"> +                          <set>Qt::AlignCenter</set> +                        </property> +                        <layout class="QVBoxLayout" name="buttonShoulderButtonsSLRightVerticalLayout"> +                          <property name="spacing"> +                            <number>3</number> +                          </property> +                          <property name="leftMargin"> +                            <number>3</number> +                          </property> +                          <property name="topMargin"> +                            <number>3</number> +                          </property> +                          <property name="rightMargin"> +                            <number>3</number> +                          </property> +                          <property name="bottomMargin"> +                            <number>3</number> +                          </property> +                          <item> +                            <widget class="QPushButton" name="buttonSLRight"> +                              <property name="minimumSize"> +                                <size> +                                  <width>68</width> +                                  <height>0</height> +                                </size> +                              </property> +                              <property name="maximumSize"> +                                <size> +                                  <width>68</width> +                                  <height>16777215</height> +                                </size> +                              </property> +                              <property name="styleSheet"> +                                <string notr="true">min-width: 68px;</string> +                              </property> +                              <property name="text"> +                                <string>SL</string> +                              </property> +                            </widget> +                          </item> +                        </layout> +                      </widget> +                    </item> +                    <item alignment="Qt::AlignHCenter"> +                      <widget class="QGroupBox" name="buttonShoulderButtonsSRRightGroup"> +                        <property name="title"> +                          <string>SR</string> +                        </property> +                        <property name="alignment"> +                          <set>Qt::AlignCenter</set> +                        </property> +                        <layout class="QVBoxLayout" name="buttonShoulderButtonsSRRightVerticalLayout"> +                          <property name="spacing"> +                            <number>3</number> +                          </property> +                          <property name="leftMargin"> +                            <number>3</number> +                          </property> +                          <property name="topMargin"> +                            <number>3</number> +                          </property> +                          <property name="rightMargin"> +                            <number>3</number> +                          </property> +                          <property name="bottomMargin"> +                            <number>3</number> +                          </property> +                          <item> +                            <widget class="QPushButton" name="buttonSRRight"> +                              <property name="minimumSize"> +                                <size> +                                  <width>68</width> +                                  <height>0</height> +                                </size> +                              </property> +                              <property name="maximumSize"> +                                <size> +                                  <width>68</width> +                                  <height>16777215</height> +                                </size> +                              </property> +                              <property name="styleSheet"> +                                <string notr="true">min-width: 68px;</string> +                              </property> +                              <property name="text"> +                                <string>SR</string> +                              </property> +                            </widget> +                          </item> +                        </layout> +                      </widget> +                    </item>                    </layout> -                 </widget> -                </item> -               </layout> -              </widget> -             </item> +                </widget> +              </item>              </layout>             </item>              <item> diff --git a/src/yuzu/configuration/configure_input_player_widget.cpp b/src/yuzu/configuration/configure_input_player_widget.cpp index a188eef92..550cff9a0 100644 --- a/src/yuzu/configuration/configure_input_player_widget.cpp +++ b/src/yuzu/configuration/configure_input_player_widget.cpp @@ -297,8 +297,8 @@ void PlayerControlPreview::DrawLeftController(QPainter& p, const QPointF center)          // Sideview SL and SR buttons          button_color = colors.slider_button; -        DrawRoundButton(p, center + QPoint(59, 52), button_values[SR], 5, 12, Direction::Left); -        DrawRoundButton(p, center + QPoint(59, -69), button_values[SL], 5, 12, Direction::Left); +        DrawRoundButton(p, center + QPoint(59, 52), button_values[SRLeft], 5, 12, Direction::Left); +        DrawRoundButton(p, center + QPoint(59, -69), button_values[SLLeft], 5, 12, Direction::Left);          DrawLeftBody(p, center); @@ -353,8 +353,10 @@ void PlayerControlPreview::DrawLeftController(QPainter& p, const QPointF center)      // SR and SL buttons      p.setPen(colors.outline);      button_color = colors.slider_button; -    DrawRoundButton(p, center + QPoint(155, 52), button_values[SR], 5.2f, 12, Direction::None, 4); -    DrawRoundButton(p, center + QPoint(155, -69), button_values[SL], 5.2f, 12, Direction::None, 4); +    DrawRoundButton(p, center + QPoint(155, 52), button_values[SRLeft], 5.2f, 12, Direction::None, +                    4); +    DrawRoundButton(p, center + QPoint(155, -69), button_values[SLLeft], 5.2f, 12, Direction::None, +                    4);      // SR and SL text      p.setPen(colors.transparent); @@ -428,8 +430,10 @@ void PlayerControlPreview::DrawRightController(QPainter& p, const QPointF center          // Sideview SL and SR buttons          button_color = colors.slider_button; -        DrawRoundButton(p, center + QPoint(-59, 52), button_values[SL], 5, 11, Direction::Right); -        DrawRoundButton(p, center + QPoint(-59, -69), button_values[SR], 5, 11, Direction::Right); +        DrawRoundButton(p, center + QPoint(-59, 52), button_values[SLRight], 5, 11, +                        Direction::Right); +        DrawRoundButton(p, center + QPoint(-59, -69), button_values[SRRight], 5, 11, +                        Direction::Right);          DrawRightBody(p, center); @@ -484,8 +488,10 @@ void PlayerControlPreview::DrawRightController(QPainter& p, const QPointF center      // SR and SL buttons      p.setPen(colors.outline);      button_color = colors.slider_button; -    DrawRoundButton(p, center + QPoint(-155, 52), button_values[SL], 5, 12, Direction::None, 4.0f); -    DrawRoundButton(p, center + QPoint(-155, -69), button_values[SR], 5, 12, Direction::None, 4.0f); +    DrawRoundButton(p, center + QPoint(-155, 52), button_values[SLRight], 5, 12, Direction::None, +                    4.0f); +    DrawRoundButton(p, center + QPoint(-155, -69), button_values[SRRight], 5, 12, Direction::None, +                    4.0f);      // SR and SL text      p.setPen(colors.transparent); @@ -557,6 +563,19 @@ void PlayerControlPreview::DrawDualController(QPainter& p, const QPointF center)          DrawRoundButton(p, center + QPoint(-154, -72), button_values[Minus], 7, 4, Direction::Up,                          1); +        // Left SR and SL sideview buttons +        button_color = colors.slider_button; +        DrawRoundButton(p, center + QPoint(-20, -62), button_values[SLLeft], 4, 11, +                        Direction::Left); +        DrawRoundButton(p, center + QPoint(-20, 47), button_values[SRLeft], 4, 11, Direction::Left); + +        // Right SR and SL sideview buttons +        button_color = colors.slider_button; +        DrawRoundButton(p, center + QPoint(20, 47), button_values[SLRight], 4, 11, +                        Direction::Right); +        DrawRoundButton(p, center + QPoint(20, -62), button_values[SRRight], 4, 11, +                        Direction::Right); +          DrawDualBody(p, center);          // Right trigger top view @@ -1792,16 +1811,6 @@ void PlayerControlPreview::DrawDualBody(QPainter& p, const QPointF center) {      p.setBrush(colors.right);      DrawPolygon(p, qright_joycon_topview); -    // Right SR and SL sideview buttons -    p.setPen(colors.outline); -    p.setBrush(colors.slider_button); -    DrawRoundRectangle(p, center + QPoint(19, 47), 7, 22, 1); -    DrawRoundRectangle(p, center + QPoint(19, -62), 7, 22, 1); - -    // Left SR and SL sideview buttons -    DrawRoundRectangle(p, center + QPoint(-19, 47), 7, 22, 1); -    DrawRoundRectangle(p, center + QPoint(-19, -62), 7, 22, 1); -      // Right Sideview body      p.setBrush(colors.slider);      DrawPolygon(p, qright_joycon_slider); diff --git a/src/yuzu/configuration/configure_per_game.h b/src/yuzu/configuration/configure_per_game.h index 1a727f32c..cc2513001 100644 --- a/src/yuzu/configuration/configure_per_game.h +++ b/src/yuzu/configuration/configure_per_game.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_profile_manager.cpp b/src/yuzu/configuration/configure_profile_manager.cpp index a47089988..6d2219bf5 100644 --- a/src/yuzu/configuration/configure_profile_manager.cpp +++ b/src/yuzu/configuration/configure_profile_manager.cpp @@ -306,10 +306,10 @@ void ConfigureProfileManager::SetUserImage() {          return;      } -    // Some games crash when the profile image is too big. Resize any image bigger than 256x256 +    // Profile image must be 256x256      QImage image(image_path); -    if (image.width() > 256 || image.height() > 256) { -        image = image.scaled(256, 256, Qt::KeepAspectRatio); +    if (image.width() != 256 || image.height() != 256) { +        image = image.scaled(256, 256, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);          if (!image.save(image_path)) {              QMessageBox::warning(this, tr("Error resizing user image"),                                   tr("Unable to resize image")); diff --git a/src/yuzu/configuration/configure_ringcon.h b/src/yuzu/configuration/configure_ringcon.h index b23c27906..6fd95e2b8 100644 --- a/src/yuzu/configuration/configure_ringcon.h +++ b/src/yuzu/configuration/configure_ringcon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_tas.h b/src/yuzu/configuration/configure_tas.h index 4a6b0ba4e..a91891906 100644 --- a/src/yuzu/configuration/configure_tas.h +++ b/src/yuzu/configuration/configure_tas.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/configure_touchscreen_advanced.h b/src/yuzu/configuration/configure_touchscreen_advanced.h index 034dc0d46..b6fdffdc8 100644 --- a/src/yuzu/configuration/configure_touchscreen_advanced.h +++ b/src/yuzu/configuration/configure_touchscreen_advanced.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project  // SPDX-License-Identifier: GPL-2.0-or-later  #pragma once diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index 3fe448f27..1434b1a56 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp @@ -156,7 +156,6 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) {      // Ui General      INSERT(UISettings, select_user_on_boot, "Prompt for user on game boot", "");      INSERT(UISettings, pause_when_in_background, "Pause emulation when in background", ""); -    INSERT(UISettings, confirm_before_closing, "Confirm exit while emulation is running", "");      INSERT(UISettings, confirm_before_stopping, "Confirm before stopping emulation", "");      INSERT(UISettings, hide_mouse, "Hide mouse on inactivity", "");      INSERT(UISettings, controller_applet_disabled, "Disable controller applet", ""); | 
