Wrap around hand selection when going out of bounds horizontally

This commit is contained in:
Marcel Schnelle
2025-09-21 17:50:51 +09:00
parent 9dc5f7ccc3
commit a9f44e74d4
+15 -2
View File
@@ -851,8 +851,21 @@ void card_draw()
void hand_set_focus(int index) void hand_set_focus(int index)
{ {
if (index < 0 || index > hand_top || hand_state != HAND_SELECT) return; if (hand_state != HAND_SELECT) return;
selection_x = index;
// Wrap around to the other side of the hand when going out of bounds on either side
if (index < 0)
{
selection_x = hand_top;
}
else if (index > hand_top)
{
selection_x = 0;
}
else
{
selection_x = index;
}
play_sfx(SFX_CARD_FOCUS, MM_BASE_PITCH_RATE + rand() % 512); play_sfx(SFX_CARD_FOCUS, MM_BASE_PITCH_RATE + rand() % 512);
} }