From 1fbd28f6bad50b426f24eb79674d4f115d351144 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 4 Jan 2025 13:15:55 +0100 Subject: [PATCH 1/2] Add support for missing wiimote buttons --- Dockerfile | 2 +- source/ButtonComboManager.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8f4059d..ca62fca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM ghcr.io/wiiu-env/devkitppc:20241128 -COPY --from=ghcr.io/wiiu-env/libbuttoncombo:20241231-a2f949b /artifacts $DEVKITPRO +COPY --from=ghcr.io/wiiu-env/libbuttoncombo:20250104-0663ede /artifacts $DEVKITPRO COPY --from=ghcr.io/wiiu-env/libfunctionpatcher:20241012 /artifacts $DEVKITPRO COPY --from=ghcr.io/wiiu-env/wiiumodulesystem:20240424 /artifacts $DEVKITPRO diff --git a/source/ButtonComboManager.cpp b/source/ButtonComboManager.cpp index 9e62b76..914dd60 100644 --- a/source/ButtonComboManager.cpp +++ b/source/ButtonComboManager.cpp @@ -126,6 +126,22 @@ namespace { conv_buttons |= BCMPAD_BUTTON_MINUS; } + if (buttons & WPAD_BUTTON_1) { + conv_buttons |= BCMPAD_BUTTON_1; + } + + if (buttons & WPAD_BUTTON_2) { + conv_buttons |= BCMPAD_BUTTON_2; + } + + if (buttons & WPAD_BUTTON_C) { + conv_buttons |= BCMPAD_BUTTON_C; + } + + if (buttons & WPAD_BUTTON_Z) { + conv_buttons |= BCMPAD_BUTTON_Z; + } + return conv_buttons; } From e4fda60e382e0ccad199270a4b8e48a998916461 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 4 Jan 2025 13:16:07 +0100 Subject: [PATCH 2/2] Minor clean ups --- source/ButtonComboManager.h | 3 +-- source/main.cpp | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/source/ButtonComboManager.h b/source/ButtonComboManager.h index ecb1591..69dcc1c 100644 --- a/source/ButtonComboManager.h +++ b/source/ButtonComboManager.h @@ -19,7 +19,7 @@ class ButtonComboManager { static std::optional> CreateComboInfo(const ButtonComboModule_ComboOptions &options, ButtonComboModule_Error &err); - ButtonComboInfoIF *GetComboInfoForHandle(ButtonComboModule_ComboHandle handle) const; + [[nodiscard]] ButtonComboInfoIF *GetComboInfoForHandle(ButtonComboModule_ComboHandle handle) const; void UpdateInputVPAD(VPADChan chan, const VPADStatus *buffer, uint32_t bufferSize, const VPADReadError *error); @@ -27,7 +27,6 @@ class ButtonComboManager { bool hasActiveComboWithTVButton(); - ButtonComboModule_ComboStatus CheckComboStatus(const ButtonComboInfoIF &other); void AddCombo(std::shared_ptr newComboInfo, ButtonComboModule_ComboHandle &outHandle, ButtonComboModule_ComboStatus &outStatus); diff --git a/source/main.cpp b/source/main.cpp index 6f36e4e..74123f6 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -32,7 +32,6 @@ WUMS_INITIALIZE() { } DEBUG_FUNCTION_LINE("Patch ButtonComboModule functions finished"); - gButtonComboManager = std::make_unique(); deinitLogging();