fixed (reversed) setting hot spot for pointer-style global animations
[rocksndiamonds.git] / src / anim.c
index 454389d573d4b2bd757fec251f758f8b4ceaf261..3b96adfa55d0b9f1d11d9cd1c9f32e08cd9ac6e7 100644 (file)
@@ -880,14 +880,16 @@ 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);
 
-    viewport_x = mx + part->control_info.x;
-    viewport_y = my + part->control_info.y;
+    viewport_x = mx - part->control_info.x;
+    viewport_y = my - part->control_info.y;
     viewport_width  = part->graphic_info.width;
     viewport_height = part->graphic_info.height;
 
     part->drawing_stage = DRAW_GLOBAL_ANIM_STAGE_2;
 
-    gfx.cursor_mode_override = CURSOR_NONE;
+    // do not use global animation mouse pointer when reloading artwork
+    if (global.anim_status != GAME_MODE_LOADING)
+      gfx.cursor_mode_override = CURSOR_NONE;
   }
   else if (part->control_info.class == get_hash_from_key("door_1"))
   {