From cec9829f7a364d49efd9eaecd48ecaf6e9c56a96 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sun, 5 Jan 2025 17:14:55 +0100 Subject: [PATCH 1/2] Add support for ButtonComboModule_GetControllerTypeStr --- include/buttoncombo/api.h | 9 +++++++++ source/cppApi.cpp | 4 ++++ source/utils.cpp | 25 +++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/include/buttoncombo/api.h b/include/buttoncombo/api.h index fee853f..a07712c 100644 --- a/include/buttoncombo/api.h +++ b/include/buttoncombo/api.h @@ -13,6 +13,13 @@ extern "C" { **/ const char *ButtonComboModule_GetStatusStr(ButtonComboModule_Error status); +/** + * Returns a ButtonComboModule_ControllerTypes as a string + * @param controller + * @return String representation of a given controller +**/ +const char *ButtonComboModule_GetControllerTypeStr(ButtonComboModule_ControllerTypes controller); + /** * This function has to be called before any other function of this lib (except ButtonComboModule_GetVersion) can be used. * @@ -134,6 +141,8 @@ ButtonComboModule_Error ButtonComboModule_DetectButtonCombo_Blocking(const Butto namespace ButtonComboModule { std::string_view GetStatusStr(ButtonComboModule_Error status); + std::string_view GetControllerTypeStr(ButtonComboModule_ControllerTypes controller); + std::optional CreateComboPressDownEx(std::string_view label, ButtonComboModule_ControllerTypes controllerMask, ButtonComboModule_Buttons combo, diff --git a/source/cppApi.cpp b/source/cppApi.cpp index 94e10c1..d3fa4e7 100644 --- a/source/cppApi.cpp +++ b/source/cppApi.cpp @@ -10,6 +10,10 @@ namespace ButtonComboModule { return ButtonComboModule_GetStatusStr(status); } + std::string_view GetControllerTypeStr(const ButtonComboModule_ControllerTypes controller) { + return ButtonComboModule_GetControllerTypeStr(controller); + } + std::optional CreateComboPressDownEx(const std::string_view label, const ButtonComboModule_ControllerTypes controllerMask, const ButtonComboModule_Buttons combo, diff --git a/source/utils.cpp b/source/utils.cpp index 6044956..69e4310 100644 --- a/source/utils.cpp +++ b/source/utils.cpp @@ -62,6 +62,31 @@ const char *ButtonComboModule_GetStatusStr(const ButtonComboModule_Error status) return "BUTTON_COMBO_MODULE_ERROR_UNKNOWN_ERROR"; } +const char *ButtonComboModule_GetControllerTypeStr(const ButtonComboModule_ControllerTypes controller) { + switch (controller) { + case BUTTON_COMBO_MODULE_CONTROLLER_VPAD_0: + return "BUTTON_COMBO_MODULE_CONTROLLER_VPAD_0"; + case BUTTON_COMBO_MODULE_CONTROLLER_VPAD_1: + return "BUTTON_COMBO_MODULE_CONTROLLER_VPAD_1"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_0: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_0"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_1: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_1"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_2: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_2"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_3: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_3"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_4: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_4"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_5: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_5"; + case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_6: + return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_6"; + default:; + } + return ""; +} + ButtonComboModule_Error ButtonComboModule_InitLibrary() { if (sLibInitDone) { return BUTTON_COMBO_MODULE_ERROR_SUCCESS; From a858cca8301b1f52993f4db2b4d620a0359fca3b Mon Sep 17 00:00:00 2001 From: Maschell Date: Sun, 5 Jan 2025 17:15:06 +0100 Subject: [PATCH 2/2] Fix some C++ APIs --- source/cppApi.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/cppApi.cpp b/source/cppApi.cpp index d3fa4e7..dc96913 100644 --- a/source/cppApi.cpp +++ b/source/cppApi.cpp @@ -106,19 +106,19 @@ namespace ButtonComboModule { return std::move(*res); } - ButtonCombo CreatePressDown(const std::string_view label, - const ButtonComboModule_Buttons combo, - const ButtonComboModule_ComboCallback callback, - void *context, - ButtonComboModule_ComboStatus &outStatus) { + ButtonCombo CreateComboPressDown(const std::string_view label, + const ButtonComboModule_Buttons combo, + const ButtonComboModule_ComboCallback callback, + void *context, + ButtonComboModule_ComboStatus &outStatus) { return CreateComboPressDownEx(label, BUTTON_COMBO_MODULE_CONTROLLER_ALL, combo, callback, context, false, outStatus); } - ButtonCombo CreatePressDownObserver(const std::string_view label, - const ButtonComboModule_Buttons combo, - const ButtonComboModule_ComboCallback callback, - void *context, - ButtonComboModule_ComboStatus &outStatus) { + ButtonCombo CreateComboPressDownObserver(const std::string_view label, + const ButtonComboModule_Buttons combo, + const ButtonComboModule_ComboCallback callback, + void *context, + ButtonComboModule_ComboStatus &outStatus) { return CreateComboPressDownEx(label, BUTTON_COMBO_MODULE_CONTROLLER_ALL, combo, callback, context, true, outStatus); }