cleanup of game mode handling
[rocksndiamonds.git] / src / events.c
index 041c49b4e13b54d0314a111cf00773e817b95800..e82d3667b42958144a01fdce30e24a70a3b8cec9 100644 (file)
@@ -66,7 +66,7 @@ static int FilterEventsExt(const Event *event)
 
   /* do no reset mouse cursor before all pending events have been processed */
   if (gfx.cursor_mode == cursor_mode_last &&
-      ((effectiveGameStatus() == GAME_MODE_TITLE &&
+      ((game_status == GAME_MODE_TITLE &&
        gfx.cursor_mode == CURSOR_NONE) ||
        (game_status == GAME_MODE_PLAYING &&
        gfx.cursor_mode == CURSOR_PLAYFIELD)))
@@ -208,7 +208,7 @@ void EventLoop(void)
     }
     else
     {
-      if (effectiveGameStatus() == GAME_MODE_TITLE)
+      if (game_status == GAME_MODE_TITLE)
       {
        /* when showing title screens, hide mouse pointer (if not moved) */
 
@@ -218,7 +218,8 @@ void EventLoop(void)
          SetMouseCursor(CURSOR_NONE);
        }
       }
-      else if (game_status == GAME_MODE_PLAYING && !tape.pausing)
+      else if (game_status == GAME_MODE_PLAYING && (!tape.pausing ||
+                                                   tape.single_step))
       {
        /* when playing, display a special mouse pointer inside the playfield */