X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fanim.c;h=28af9c0027e8bcfc19d8285eab6abb5d14855bb1;hp=e603a9d38a0e3760e616a83f623db24c2aac39d1;hb=5d31861d0469803eff9e76c6213464ac006236d7;hpb=d89a9ba5381e625d4e993d9ee5a69b9010b43180 diff --git a/src/anim.c b/src/anim.c index e603a9d3..28af9c00 100644 --- 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); + // 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; @@ -1153,7 +1158,7 @@ static void InitGlobalAnim_Triggered(struct GlobalAnimPartControlInfo *part, { struct GlobalAnimPartControlInfo *part2 = &anim2->part[part2_nr]; - if (part2->state != ANIM_STATE_RUNNING) + if (!(part2->state & ANIM_STATE_RUNNING)) 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->state != ANIM_STATE_RUNNING) + if (!(part->state & ANIM_STATE_RUNNING)) continue; // always handle "any" click events (clicking anywhere on screen) ...