diff --git a/assets/config_menu/general.rml b/assets/config_menu/general.rml index 31c625a..f194478 100644 --- a/assets/config_menu/general.rml +++ b/assets/config_menu/general.rml @@ -138,10 +138,10 @@ Note: To recalibrate controller gyro, set the controller down on a still, flat surface for 5 seconds.

- Controls the sensitivity of mouse aiming when using items in first person for controllers that support it. Setting this to zero will disable mouse aiming. + Controls the sensitivity of mouse aiming. Setting this to zero will disable mouse aiming.

- Note: This option does not allow mouse buttons to activate items. Mouse aiming is meant for using inputs that are mapped to mouse movement, such as gyro on Steam Deck. + Note: This option does not allow mouse buttons to activate items. Mouse aiming is is intended to be used with inputs that are mapped to mouse movement, such as gyro on Steam Deck.

Allows the game to read controller input when out of focus. diff --git a/patches/input.c b/patches/input.c index e76621e..148337d 100644 --- a/patches/input.c +++ b/patches/input.c @@ -2100,6 +2100,20 @@ void draw_dpad(PlayState* play) { alpha = MAX(alpha, cur_alpha); } + // Check if none of the D-Pad items have been obtained and clamp the alpha to 70 if so. + bool item_obtained = false; + for (int i = 0; i < 4; i++) { + s32 item = extra_button_items[0][i]; + if ((item != ITEM_NONE) && (INV_CONTENT(item) == item)) { + item_obtained = true; + break; + } + } + + if (!item_obtained) { + alpha = MIN(alpha, 70); + } + gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); OVERLAY_DISP = Gfx_DrawRect_DropShadow(OVERLAY_DISP, DPAD_CENTER_X - (DPAD_W/2), DPAD_CENTER_Y - (DPAD_W/2), DPAD_W, DPAD_H, DPAD_DSDX, DPAD_DTDY,