diff options
| -rw-r--r-- | externals/ffmpeg/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.cpp | 59 | 
2 files changed, 42 insertions, 28 deletions
| diff --git a/externals/ffmpeg/CMakeLists.txt b/externals/ffmpeg/CMakeLists.txt index c57b54f77..be8325b47 100644 --- a/externals/ffmpeg/CMakeLists.txt +++ b/externals/ffmpeg/CMakeLists.txt @@ -95,7 +95,8 @@ if (NOT WIN32)          # ffnvenc could load CUDA libraries at the runtime using dlopen/dlsym or LoadLibrary/GetProcAddress          # here we handle the hard-linking senario where CUDA is linked during compilation          if (CUDA_FOUND) -            list(APPEND FFmpeg_HWACCEL_FLAGS --extra-cflags=-I${CUDA_INCLUDE_DIRS}) +            # This line causes build error if CUDA_INCLUDE_DIRS is anything but a single non-empty value +            #list(APPEND FFmpeg_HWACCEL_FLAGS --extra-cflags=-I${CUDA_INCLUDE_DIRS})              list(APPEND FFmpeg_HWACCEL_LIBRARIES ${CUDA_LIBRARIES})              list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})              list(APPEND FFmpeg_HWACCEL_LDFLAGS ${CUDA_LDFLAGS}) @@ -119,6 +120,8 @@ if (NOT WIN32)      # `configure` parameters builds only exactly what yuzu needs from FFmpeg      # `--disable-vdpau` is needed to avoid linking issues +    set(FFmpeg_CC ${CMAKE_C_COMPILER_LAUNCHER}  ${CMAKE_C_COMPILER}) +    set(FFmpeg_CXX ${CMAKE_CXX_COMPILER_LAUNCHER}  ${CMAKE_CXX_COMPILER})      add_custom_command(          OUTPUT              ${FFmpeg_MAKEFILE} @@ -137,12 +140,14 @@ if (NOT WIN32)                  --enable-decoder=h264                  --enable-decoder=vp8                  --enable-decoder=vp9 -                --cc="${CMAKE_C_COMPILER}" -                --cxx="${CMAKE_CXX_COMPILER}" +                --cc="${FFmpeg_CC}" +                --cxx="${FFmpeg_CXX}"                  ${FFmpeg_HWACCEL_FLAGS}          WORKING_DIRECTORY              ${FFmpeg_BUILD_DIR}      ) +    unset(FFmpeg_CC) +    unset(FFmpeg_CXX)      unset(FFmpeg_HWACCEL_FLAGS)      # Workaround for Ubuntu 18.04's older version of make not being able to call make as a child diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index d2132b408..7029287a9 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -147,7 +147,7 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) {      // Retrieve the names from Qt      if (param.Get("engine", "") == "keyboard") {          const QString button_str = GetKeyName(param.Get("code", 0)); -        return QObject::tr("%1%2").arg(toggle, button_str); +        return QObject::tr("%1%2%3").arg(toggle, inverted, button_str);      }      if (common_button_name == Common::Input::ButtonNames::Invalid) { @@ -341,7 +341,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i                          emulated_controller->SetButtonParam(button_id, {});                          button_map[button_id]->setText(tr("[not set]"));                      }); -                    if (param.Has("button") || param.Has("hat")) { +                    if (param.Has("code") || param.Has("button") || param.Has("hat")) {                          context_menu.addAction(tr("Toggle button"), [&] {                              const bool toggle_value = !param.Get("toggle", false);                              param.Set("toggle", toggle_value); @@ -349,8 +349,8 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i                              emulated_controller->SetButtonParam(button_id, param);                          });                          context_menu.addAction(tr("Invert button"), [&] { -                            const bool toggle_value = !param.Get("inverted", false); -                            param.Set("inverted", toggle_value); +                            const bool invert_value = !param.Get("inverted", false); +                            param.Set("inverted", invert_value);                              button_map[button_id]->setText(ButtonToText(param));                              emulated_controller->SetButtonParam(button_id, param);                          }); @@ -510,28 +510,37 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i          analog_map_modifier_button[analog_id]->setContextMenuPolicy(Qt::CustomContextMenu); -        connect(analog_map_modifier_button[analog_id], &QPushButton::customContextMenuRequested, -                [=, this](const QPoint& menu_location) { -                    QMenu context_menu; -                    Common::ParamPackage param = emulated_controller->GetStickParam(analog_id); -                    context_menu.addAction(tr("Clear"), [&] { -                        param.Set("modifier", ""); -                        analog_map_modifier_button[analog_id]->setText(tr("[not set]")); -                        emulated_controller->SetStickParam(analog_id, param); -                    }); -                    context_menu.addAction(tr("Toggle button"), [&] { -                        Common::ParamPackage modifier_param = -                            Common::ParamPackage{param.Get("modifier", "")}; -                        const bool toggle_value = !modifier_param.Get("toggle", false); -                        modifier_param.Set("toggle", toggle_value); -                        param.Set("modifier", modifier_param.Serialize()); -                        analog_map_modifier_button[analog_id]->setText( -                            ButtonToText(modifier_param)); -                        emulated_controller->SetStickParam(analog_id, param); -                    }); -                    context_menu.exec( -                        analog_map_modifier_button[analog_id]->mapToGlobal(menu_location)); +        connect( +            analog_map_modifier_button[analog_id], &QPushButton::customContextMenuRequested, +            [=, this](const QPoint& menu_location) { +                QMenu context_menu; +                Common::ParamPackage param = emulated_controller->GetStickParam(analog_id); +                context_menu.addAction(tr("Clear"), [&] { +                    param.Set("modifier", ""); +                    analog_map_modifier_button[analog_id]->setText(tr("[not set]")); +                    emulated_controller->SetStickParam(analog_id, param); +                }); +                context_menu.addAction(tr("Toggle button"), [&] { +                    Common::ParamPackage modifier_param = +                        Common::ParamPackage{param.Get("modifier", "")}; +                    const bool toggle_value = !modifier_param.Get("toggle", false); +                    modifier_param.Set("toggle", toggle_value); +                    param.Set("modifier", modifier_param.Serialize()); +                    analog_map_modifier_button[analog_id]->setText(ButtonToText(modifier_param)); +                    emulated_controller->SetStickParam(analog_id, param);                  }); +                context_menu.addAction(tr("Invert button"), [&] { +                    Common::ParamPackage modifier_param = +                        Common::ParamPackage{param.Get("modifier", "")}; +                    const bool invert_value = !modifier_param.Get("inverted", false); +                    modifier_param.Set("inverted", invert_value); +                    param.Set("modifier", modifier_param.Serialize()); +                    analog_map_modifier_button[analog_id]->setText(ButtonToText(modifier_param)); +                    emulated_controller->SetStickParam(analog_id, param); +                }); +                context_menu.exec( +                    analog_map_modifier_button[analog_id]->mapToGlobal(menu_location)); +            });          connect(analog_map_range_spinbox[analog_id], qOverload<int>(&QSpinBox::valueChanged),                  [=, this] { | 
