projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added using single button for snap and drop when using native EM engine
[rocksndiamonds.git]
/
src
/
events.c
diff --git
a/src/events.c
b/src/events.c
index 64fda8081da0fab274d5f3008bb35369d4a5f486..6f6d41faa580f6ddf393613752fcb6434c91e725 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-378,6
+378,8
@@
void ClearPlayerAction()
key_joystick_mapping = 0;
for (i = 0; i < MAX_PLAYERS; i++)
stored_player[i].action = 0;
key_joystick_mapping = 0;
for (i = 0; i < MAX_PLAYERS; i++)
stored_player[i].action = 0;
+
+ ClearJoystickState();
}
void SleepWhileUnmapped()
}
void SleepWhileUnmapped()
@@
-1540,9
+1542,11
@@
void HandleKey(Key key, int key_status)
int i;
#if defined(TARGET_SDL2)
int i;
#if defined(TARGET_SDL2)
- /* map special
"play/pause" media key to default key for play/pause action
s */
+ /* map special
keys (media keys / remote control buttons) to default key
s */
if (key == KSYM_PlayPause)
key = KSYM_space;
if (key == KSYM_PlayPause)
key = KSYM_space;
+ else if (key == KSYM_Select)
+ key = KSYM_Return;
#endif
HandleSpecialGameControllerKeys(key, key_status);
#endif
HandleSpecialGameControllerKeys(key, key_status);
@@
-1556,6
+1560,9
@@
void HandleKey(Key key, int key_status)
static boolean element_dropped[MAX_PLAYERS] = { FALSE,FALSE,FALSE,FALSE };
int pnr;
static boolean element_dropped[MAX_PLAYERS] = { FALSE,FALSE,FALSE,FALSE };
int pnr;
+ /* initialize unifying snap and drop buttons (EM engine) */
+ game_em.use_single_button = game_em.use_single_button_initial;
+
for (pnr = 0; pnr < MAX_PLAYERS; pnr++)
{
byte key_action = 0;
for (pnr = 0; pnr < MAX_PLAYERS; pnr++)
{
byte key_action = 0;
@@
-1602,6
+1609,9
@@
void HandleKey(Key key, int key_status)
if (tape.single_step && tape.recording && tape.pausing)
{
if (tape.single_step && tape.recording && tape.pausing)
{
+ /* do not unify snap and drop buttons in single-step mode (EM engine) */
+ game_em.use_single_button = FALSE;
+
if (key_status == KEY_PRESSED && key_action & KEY_MOTION)
{
TapeTogglePause(TAPE_TOGGLE_AUTOMATIC);
if (key_status == KEY_PRESSED && key_action & KEY_MOTION)
{
TapeTogglePause(TAPE_TOGGLE_AUTOMATIC);