rnd-20140514-2-src
[rocksndiamonds.git] / src / cartoons.c
index 9b6626b6cc777b76cb8f06908b968007adc09269..1f430493f64334296300851c3f479f078fa7c8f7 100644 (file)
@@ -1,7 +1,7 @@
 /***********************************************************
 * Rocks'n'Diamonds -- McDuffin Strikes Back!               *
 *----------------------------------------------------------*
-* (c) 1995-2002 Artsoft Entertainment                      *
+* (c) 1995-2006 Artsoft Entertainment                      *
 *               Holger Schemel                             *
 *               Detmolder Strasse 189                      *
 *               33604 Bielefeld                            *
@@ -23,30 +23,21 @@ static struct ToonInfo toons[MAX_NUM_TOONS];
 
 static void PrepareBackbuffer()
 {
-  if (game_status == GAME_MODE_PLAYING &&
-      level.game_engine_type == GAME_ENGINE_TYPE_EM)
+  if (game_status != GAME_MODE_PLAYING)
+    return;
+
+#if 1
+  BlitScreenToBitmap(backbuffer);
+#else
+  if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
   {
     BlitScreenToBitmap_EM(backbuffer);
-
-    return;
   }
-
-  /* fill empty backbuffer for animation functions */
-  if (setup.direct_draw && game_status == GAME_MODE_PLAYING)
+  else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
   {
-    int xx, yy;
-
-    SetDrawtoField(DRAW_BACKBUFFER);
-
-    for (xx = 0; xx < SCR_FIELDX; xx++)
-      for (yy = 0; yy < SCR_FIELDY; yy++)
-       DrawScreenField(xx, yy);
-    DrawAllPlayers();
-
-    SetDrawtoField(DRAW_DIRECT);
+    BlitScreenToBitmap_SP(backbuffer);
   }
-
-  if (setup.soft_scrolling && game_status == GAME_MODE_PLAYING)
+  else if (setup.soft_scrolling)       /* GAME_ENGINE_TYPE_RND */
   {
     int fx = FX, fy = FY;
 
@@ -55,6 +46,7 @@ static void PrepareBackbuffer()
 
     BlitBitmap(fieldbuffer, backbuffer, fx, fy, SXSIZE, SYSIZE, SX, SY);
   }
+#endif
 }
 
 boolean ToonNeedsRedraw()
@@ -95,7 +87,11 @@ void InitToons()
     toons[i].position = image->parameter[GFX_ARG_POSITION];
   }
 
+#if 1
+  InitToonScreen(bitmap_db_toons,
+#else
   InitToonScreen(bitmap_db_door,
+#endif
                 BackToFront, PrepareBackbuffer, ToonNeedsRedraw,
                 toons, num_toons,
                 REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,