fixed name of element 'beamer' to 'teleporter'
[rocksndiamonds.git] / src / game_sp / main.c
index f0b7603e13303df3080e15f951daf849a43c46d2..c7239cc80ed0371faa5ef8651877dd5bb75e2418 100644 (file)
@@ -54,12 +54,14 @@ void InitGameEngine_SP()
 
 void RedrawPlayfield_SP(boolean force_redraw)
 {
+  // skip redrawing playfield in warp mode or when testing tapes with "autotest"
+  if (DrawingDeactivatedField())
+    return;
+
   if (force_redraw)
     RestorePlayfield();
 
   UpdatePlayfield(force_redraw);
-
-  BlitScreenToBitmap_SP(window);
 }
 
 void UpdateGameDoorValues_SP()
@@ -75,7 +77,8 @@ void GameActions_SP(byte action[MAX_PLAYERS], boolean warp_mode)
   byte single_player_action = action[0];
   int x, y;
 
-  UpdateEngineValues(mScrollX / TILEX, mScrollY / TILEY);
+  UpdateEngineValues(mScrollX / TILEX, mScrollY / TILEY,
+                    MurphyScreenXPos / TILEX, MurphyScreenYPos / TILEY);
 
   subMainGameLoop_Main(single_player_action, warp_mode);
 
@@ -93,5 +96,8 @@ void GameActions_SP(byte action[MAX_PLAYERS], boolean warp_mode)
 
 int getRedDiskReleaseFlag_SP()
 {
+  /* 0: when Murphy is moving (including the destination tile!) */
+  /* 1: when Murphy is not moving for at least one game frame */
+
   return RedDiskReleaseFlag;
 }