X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fcartoons.c;h=1f430493f64334296300851c3f479f078fa7c8f7;hb=12a8eb6ca28aa97f422e7cf9317f01eb0dfc9a11;hp=ee56a8df3fe7fff10513604830261190f23f72f9;hpb=ed5a795f1fd2d48a1372d46c06d86d2faab7e3c4;p=rocksndiamonds.git diff --git a/src/cartoons.c b/src/cartoons.c index ee56a8df..1f430493 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -23,15 +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; } - - if (setup.soft_scrolling && game_status == GAME_MODE_PLAYING) + else if (level.game_engine_type == GAME_ENGINE_TYPE_SP) + { + BlitScreenToBitmap_SP(backbuffer); + } + else if (setup.soft_scrolling) /* GAME_ENGINE_TYPE_RND */ { int fx = FX, fy = FY; @@ -40,6 +46,7 @@ static void PrepareBackbuffer() BlitBitmap(fieldbuffer, backbuffer, fx, fy, SXSIZE, SYSIZE, SX, SY); } +#endif } boolean ToonNeedsRedraw() @@ -80,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,