diff --git a/src/main.cpp b/src/main.cpp index e3a8423..a62adab 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,9 +5,9 @@ WUPS_PLUGIN_NAME("Padcon"); WUPS_PLUGIN_DESCRIPTION("Turns the gamepad screen on/off or shuts the GamePad " "off when pressing ZL + ZR + L + R + Plus/Minus."); -WUPS_PLUGIN_VERSION("v1.2-Mod"); +WUPS_PLUGIN_VERSION("v1.2.1-Mod"); WUPS_PLUGIN_AUTHOR("Maschell, Brawl"); -WUPS_PLUGIN_LICENSE("GPL"); +WUPS_PLUGIN_LICENSE("GPLv3"); uint8_t cooldown = 0; @@ -20,10 +20,10 @@ DECL_FUNCTION(int32_t, VPADRead, VPADChan chan, VPADStatus *buffer, cooldown = 60; // 1 second cooldown uint32_t hold = buffer[0].hold; + VPADLcdMode lcdMode; if (hold == (VPAD_BUTTON_ZL | VPAD_BUTTON_ZR | VPAD_BUTTON_L | VPAD_BUTTON_R | VPAD_BUTTON_PLUS)) { - VPADLcdMode lcdMode; VPADGetLcdMode(VPAD_CHAN_0, &lcdMode); if (lcdMode == VPAD_LCD_ON) { @@ -33,7 +33,17 @@ DECL_FUNCTION(int32_t, VPADRead, VPADChan chan, VPADStatus *buffer, } } else if (hold == (VPAD_BUTTON_ZL | VPAD_BUTTON_ZR | VPAD_BUTTON_L | VPAD_BUTTON_R | VPAD_BUTTON_MINUS)) { - CCRSysDRCShutdown(); + VPADGetLcdMode(VPAD_CHAN_0, &lcdMode); + + int32_t ret = 0; + + if (lcdMode == VPAD_LCD_OFF) { + ret = VPADSetLcdMode(VPAD_CHAN_0, VPAD_LCD_ON); + } + + if (ret == 0) { + CCRSysDRCShutdown(); + } } } }