Fixed description of mouse aiming, made D-Pad icon translucent if none of its items have been obtained yet

This commit is contained in:
Mr-Wiseguy 2024-04-26 19:35:19 -04:00
parent b28614b128
commit 3537a22ccd
2 changed files with 16 additions and 2 deletions

View File

@ -138,10 +138,10 @@
<b>Note: To recalibrate controller gyro, set the controller down on a still, flat surface for 5 seconds.</b> <b>Note: To recalibrate controller gyro, set the controller down on a still, flat surface for 5 seconds.</b>
</p> </p>
<p data-if="cur_config_index == 3"> <p data-if="cur_config_index == 3">
Controls the sensitivity of mouse aiming when using items in first person for controllers that support it. <b>Setting this to zero will disable mouse aiming.</b> Controls the sensitivity of mouse aiming. <b>Setting this to zero will disable mouse aiming.</b>
<br /> <br />
<br /> <br />
<b>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.</b> <b>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.</b>
</p> </p>
<p data-if="cur_config_index == 4"> <p data-if="cur_config_index == 4">
Allows the game to read controller input when out of focus. Allows the game to read controller input when out of focus.

View File

@ -2100,6 +2100,20 @@ void draw_dpad(PlayState* play) {
alpha = MAX(alpha, cur_alpha); 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); 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, 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, DPAD_DSDX, DPAD_DTDY,