diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2022-08-06 05:33:49 +0200 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2022-08-08 20:12:02 +0200 |
commit | 301702e548844e3df5099382e90766966940d0a9 (patch) | |
tree | 193c293f3abf95df5855f9161da9e48c921d70f0 /src/core/hid/emulated_controller.cpp | |
parent | Controller bugfixes in profile select (#8716) (diff) | |
download | yuzu-301702e548844e3df5099382e90766966940d0a9.tar yuzu-301702e548844e3df5099382e90766966940d0a9.tar.gz yuzu-301702e548844e3df5099382e90766966940d0a9.tar.bz2 yuzu-301702e548844e3df5099382e90766966940d0a9.tar.lz yuzu-301702e548844e3df5099382e90766966940d0a9.tar.xz yuzu-301702e548844e3df5099382e90766966940d0a9.tar.zst yuzu-301702e548844e3df5099382e90766966940d0a9.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hid/emulated_controller.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp index 8c3895937..085ff3fda 100644 --- a/src/core/hid/emulated_controller.cpp +++ b/src/core/hid/emulated_controller.cpp @@ -84,18 +84,19 @@ void EmulatedController::ReloadFromSettings() { motion_params[index] = Common::ParamPackage(player.motions[index]); } + controller.colors_state.fullkey = { + .body = GetNpadColor(player.body_color_left), + .button = GetNpadColor(player.button_color_left), + }; controller.colors_state.left = { - .body = player.body_color_left, - .button = player.button_color_left, + .body = GetNpadColor(player.body_color_left), + .button = GetNpadColor(player.button_color_left), }; - - controller.colors_state.right = { - .body = player.body_color_right, - .button = player.button_color_right, + controller.colors_state.left = { + .body = GetNpadColor(player.body_color_right), + .button = GetNpadColor(player.button_color_right), }; - controller.colors_state.fullkey = controller.colors_state.left; - // Other or debug controller should always be a pro controller if (npad_id_type != NpadIdType::Other) { SetNpadStyleIndex(MapSettingsTypeToNPad(player.controller_type)); @@ -1310,6 +1311,15 @@ const CameraState& EmulatedController::GetCamera() const { return controller.camera_state; } +NpadColor EmulatedController::GetNpadColor(u32 color) { + return { + .r = static_cast<u8>((color >> 16) & 0xFF), + .g = static_cast<u8>((color >> 8) & 0xFF), + .b = static_cast<u8>(color & 0xFF), + .a = 0xff, + }; +} + void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) { std::scoped_lock lock{callback_mutex}; for (const auto& poller_pair : callback_list) { |