X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fcartoons.c;h=8ca4bdd5efde9c2e81ffbf96bc1796d1a2adcf17;hb=refs%2Fheads%2Freleases;hp=c2b6e76a6b7d56698b8217cc402ffab25aae2975;hpb=0bb8665ef2b5ff5430dd6808b0be7761912ce4e2;p=rocksndiamonds.git diff --git a/src/cartoons.c b/src/cartoons.c index c2b6e76a..8ca4bdd5 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -23,30 +23,18 @@ 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 (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; @@ -95,7 +83,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,