projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed detecting running animations ('restart' bit may also be set)
[rocksndiamonds.git]
/
src
/
anim.c
diff --git
a/src/anim.c
b/src/anim.c
index e603a9d38a0e3760e616a83f623db24c2aac39d1..28af9c0027e8bcfc19d8285eab6abb5d14855bb1 100644
(file)
--- a/
src/anim.c
+++ b/
src/anim.c
@@
-880,6
+880,11
@@
static boolean SetGlobalAnimPart_Viewport(struct GlobalAnimPartControlInfo *part
int mx = MIN(MAX(0, gfx.mouse_x), WIN_XSIZE - 1);
int my = MIN(MAX(0, gfx.mouse_y), WIN_YSIZE - 1);
int mx = MIN(MAX(0, gfx.mouse_x), WIN_XSIZE - 1);
int my = MIN(MAX(0, gfx.mouse_y), WIN_YSIZE - 1);
+ // prevent displaying off-screen custom mouse cursor in upper left corner
+ if (gfx.mouse_x == POS_OFFSCREEN &&
+ gfx.mouse_y == POS_OFFSCREEN)
+ mx = my = POS_OFFSCREEN;
+
viewport_x = mx - part->control_info.x;
viewport_y = my - part->control_info.y;
viewport_width = part->graphic_info.width;
viewport_x = mx - part->control_info.x;
viewport_y = my - part->control_info.y;
viewport_width = part->graphic_info.width;
@@
-1153,7
+1158,7
@@
static void InitGlobalAnim_Triggered(struct GlobalAnimPartControlInfo *part,
{
struct GlobalAnimPartControlInfo *part2 = &anim2->part[part2_nr];
{
struct GlobalAnimPartControlInfo *part2 = &anim2->part[part2_nr];
- if (
part2->state != ANIM_STATE_RUNNING
)
+ if (
!(part2->state & ANIM_STATE_RUNNING)
)
continue;
if (isClickablePart(part2, mask))
continue;
if (isClickablePart(part2, mask))
@@
-1786,7
+1791,7
@@
static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
if (!part->clickable)
continue;
if (!part->clickable)
continue;
- if (
part->state != ANIM_STATE_RUNNING
)
+ if (
!(part->state & ANIM_STATE_RUNNING)
)
continue;
// always handle "any" click events (clicking anywhere on screen) ...
continue;
// always handle "any" click events (clicking anywhere on screen) ...