projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
removed artifact from removed X11 support
[rocksndiamonds.git]
/
src
/
events.c
diff --git
a/src/events.c
b/src/events.c
index b2bf0979495a2b8e139f49bd043c5cfef18641e3..c748bbcb41ebb5fa7ace9f22c4fa70f67f90aaf8 100644
(file)
--- a/
src/events.c
+++ b/
src/events.c
@@
-108,9
+108,8
@@
boolean SkipPressedMouseMotionEvent(const Event *event)
if (event->type != EVENT_MOTIONNOTIFY)
return FALSE;
if (event->type != EVENT_MOTIONNOTIFY)
return FALSE;
- /* only skip motion events with pressed button outside level editor */
- if (button_status == MB_RELEASED ||
- game_status == GAME_MODE_EDITOR || game_status == GAME_MODE_PLAYING)
+ /* only skip motion events with pressed button outside the game */
+ if (button_status == MB_RELEASED || game_status == GAME_MODE_PLAYING)
return FALSE;
if (PendingEvent())
return FALSE;
if (PendingEvent())
@@
-408,9
+407,6
@@
void HandleButtonEvent(ButtonEvent *event)
void HandleMotionEvent(MotionEvent *event)
{
void HandleMotionEvent(MotionEvent *event)
{
- if (!PointerInWindow(window))
- return; /* window and pointer are on different screens */
-
if (button_status == MB_RELEASED && game_status != GAME_MODE_EDITOR)
return;
if (button_status == MB_RELEASED && game_status != GAME_MODE_EDITOR)
return;
@@
-933,12
+929,14
@@
void HandleWindowManagerEvent(Event *event)
void HandleButton(int mx, int my, int button, int button_nr)
{
static int old_mx = 0, old_my = 0;
void HandleButton(int mx, int my, int button, int button_nr)
{
static int old_mx = 0, old_my = 0;
+ boolean button_hold = FALSE;
if (button < 0)
{
mx = old_mx;
my = old_my;
button = -button;
if (button < 0)
{
mx = old_mx;
my = old_my;
button = -button;
+ button_hold = TRUE;
}
else
{
}
else
{
@@
-947,6
+945,7
@@
void HandleButton(int mx, int my, int button, int button_nr)
}
#if defined(PLATFORM_ANDROID)
}
#if defined(PLATFORM_ANDROID)
+ // !!! for now, do not handle gadgets when playing -- maybe fix this !!!
if (game_status != GAME_MODE_PLAYING &&
HandleGadgets(mx, my, button))
{
if (game_status != GAME_MODE_PLAYING &&
HandleGadgets(mx, my, button))
{
@@
-961,6
+960,9
@@
void HandleButton(int mx, int my, int button, int button_nr)
}
#endif
}
#endif
+ if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing)
+ return;
+
/* do not use scroll wheel button events for anything other than gadgets */
if (IS_WHEEL_BUTTON(button_nr))
return;
/* do not use scroll wheel button events for anything other than gadgets */
if (IS_WHEEL_BUTTON(button_nr))
return;
@@
-1596,7
+1598,8
@@
void HandleKey(Key key, int key_status)
void HandleNoEvent()
{
void HandleNoEvent()
{
- if (button_status && game_status != GAME_MODE_PLAYING)
+ // if (button_status && game_status != GAME_MODE_PLAYING)
+ if (button_status && (game_status != GAME_MODE_PLAYING || tape.pausing))
{
HandleButton(0, 0, -button_status, button_status);
}
{
HandleButton(0, 0, -button_status, button_status);
}