X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=c808a904b5bb6955c8fbb713ed1cb14861735153;hb=0cedc9a28aebd8a9791c374fe71d6c86a908a87d;hp=72b5a2902aa290a0dc57f47b64a98cefaf1d2826;hpb=c0c5862d9ee59c70412b1c35e558101b109a8ec9;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 72b5a290..c808a904 100644 --- a/src/tools.c +++ b/src/tools.c @@ -140,6 +140,11 @@ void RedrawPlayfield(boolean force_redraw, int x, int y, int width, int height) /* currently there is no partial redraw -- always redraw whole playfield */ RedrawPlayfield_EM(TRUE); + +#if 1 + /* blit playfield from scroll buffer to normal back buffer for fading in */ + BlitScreenToBitmap_EM(backbuffer); +#endif } else if (game_status == GAME_MODE_PLAYING && !game.envelope_active) { @@ -438,11 +443,9 @@ void FadeExt(int fade_mask, int fade_mode) redraw_mask |= fade_mask; - if (fade_delay == 0) + if (!setup.fading || fade_delay == 0) { - if (fade_mode == FADE_MODE_CROSSFADE) - BlitBitmap(bitmap, backbuffer, x, y, width, height, x, y); - else if (fade_mode == FADE_MODE_FADE_OUT) + if (fade_mode == FADE_MODE_FADE_OUT) ClearRectangle(backbuffer, x, y, width, height); BackToFront(); @@ -470,6 +473,11 @@ void FadeCross(int fade_mask) FadeExt(fade_mask, FADE_MODE_CROSSFADE); } +void FadeCrossSaveBackbuffer() +{ + BlitBitmap(backbuffer, bitmap_db_cross, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0); +} + void SetMainBackgroundImageIfDefined(int graphic) { if (graphic_info[graphic].bitmap)