projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0110b89
)
added slightly larger delay after first joystick movement on menu screens
author
Holger Schemel
<info@artsoft.org>
Sun, 2 Jul 2017 21:55:00 +0000
(23:55 +0200)
committer
Holger Schemel
<info@artsoft.org>
Sun, 2 Jul 2017 21:55:00 +0000
(23:55 +0200)
src/events.c
patch
|
blob
|
history
diff --git
a/src/events.c
b/src/events.c
index a870bf7433f4156337d627d82632ecf2ebf53a14..dccf50030d251c58bf543a94ee820a4dec3372a9 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-2010,10
+2010,23
@@
void HandleJoystick()
case GAME_MODE_INFO:
{
static unsigned int joystickmove_delay = 0;
case GAME_MODE_INFO:
{
static unsigned int joystickmove_delay = 0;
+ static unsigned int joystickmove_delay_value = GADGET_FRAME_DELAY;
+ static int joystick_last = 0;
if (joystick && !button &&
if (joystick && !button &&
- !DelayReached(&joystickmove_delay, GADGET_FRAME_DELAY))
+ !DelayReached(&joystickmove_delay, joystickmove_delay_value))
+ {
+ /* delay joystick actions if buttons/axes continually pressed */
newbutton = dx = dy = 0;
newbutton = dx = dy = 0;
+ }
+ else
+ {
+ /* start with longer delay, then continue with shorter delay */
+ if (joystick != joystick_last)
+ joystickmove_delay_value = GADGET_FRAME_DELAY_FIRST;
+ else
+ joystickmove_delay_value = GADGET_FRAME_DELAY;
+ }
if (game_status == GAME_MODE_TITLE)
HandleTitleScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
if (game_status == GAME_MODE_TITLE)
HandleTitleScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
@@
-2027,6
+2040,9
@@
void HandleJoystick()
HandleSetupScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
else if (game_status == GAME_MODE_INFO)
HandleInfoScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
HandleSetupScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
else if (game_status == GAME_MODE_INFO)
HandleInfoScreen(0,0,dx,dy, newbutton ? MB_MENU_CHOICE : MB_MENU_MARK);
+
+ joystick_last = joystick;
+
break;
}
break;
}