X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fcartoons.c;h=1f430493f64334296300851c3f479f078fa7c8f7;hb=12a8eb6ca28aa97f422e7cf9317f01eb0dfc9a11;hp=9b6626b6cc777b76cb8f06908b968007adc09269;hpb=67df7f8e7d36881be28794e9744dab2136679cc1;p=rocksndiamonds.git diff --git a/src/cartoons.c b/src/cartoons.c index 9b6626b6..1f430493 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -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,