X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fcartoons.c;h=9b6626b6cc777b76cb8f06908b968007adc09269;hb=67df7f8e7d36881be28794e9744dab2136679cc1;hp=fd53e502a2e955124eaf9c656cb0b721cf83a11a;hpb=74c0f7de91268e40d15948f473eac51a9760b9c0;p=rocksndiamonds.git diff --git a/src/cartoons.c b/src/cartoons.c index fd53e502..9b6626b6 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -23,7 +23,15 @@ static struct ToonInfo toons[MAX_NUM_TOONS]; static void PrepareBackbuffer() { - /* Fill empty backbuffer for animation functions */ + if (game_status == GAME_MODE_PLAYING && + 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) { int xx, yy; @@ -51,16 +59,7 @@ static void PrepareBackbuffer() boolean ToonNeedsRedraw() { -#if 1 return TRUE; -#else - return (game_status == GAME_MODE_INFO || - game_status == GAME_MODE_LEVELS || - game_status == GAME_MODE_SETUP || - (game_status == GAME_MODE_MAIN && - ((redraw_mask & REDRAW_MICROLEVEL) || - (redraw_mask & REDRAW_MICROLABEL)))); -#endif } void InitToons() @@ -68,13 +67,13 @@ void InitToons() int num_toons = MAX_NUM_TOONS; int i; - if (global.num_toons > 0 && global.num_toons < MAX_NUM_TOONS) + if (global.num_toons >= 0 && global.num_toons < MAX_NUM_TOONS) num_toons = global.num_toons; - for (i=0; i < num_toons; i++) + for (i = 0; i < num_toons; i++) { int graphic = IMG_TOON_1 + i; - struct FileInfo *image = getImageListEntry(graphic); + struct FileInfo *image = getImageListEntryFromImageID(graphic); toons[i].bitmap = graphic_info[graphic].bitmap;