X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=0650532c0cc8610ed6d5764646bff28d67828cb6;hb=b6847742a0713d8ed21bb6104476db54f8c1a4b9;hp=dba82c010ae8940b40af2627ff32c33e360aa8b1;hpb=7b084689def6fb5565defca820ba78c575ca1477;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index dba82c01..0650532c 100644 --- a/src/tools.c +++ b/src/tools.c @@ -144,7 +144,17 @@ void RedrawPlayfield(boolean force_redraw, int x, int y, int width, int height) /* blit playfield from scroll buffer to normal back buffer for fading in */ BlitScreenToBitmap_EM(backbuffer); } - else if (game_status == GAME_MODE_PLAYING && !game.envelope_active) + else if (game_status == GAME_MODE_PLAYING && + level.game_engine_type == GAME_ENGINE_TYPE_SP) + { + /* currently there is no partial redraw -- always redraw whole playfield */ + RedrawPlayfield_SP(TRUE); + + /* blit playfield from scroll buffer to normal back buffer for fading in */ + BlitScreenToBitmap_SP(backbuffer); + } + else if (game_status == GAME_MODE_PLAYING && + !game.envelope_active) { if (force_redraw) { @@ -548,7 +558,7 @@ static void FadeExt(int fade_mask, int fade_mode, int fade_type) } #endif - /* !!! what abount fade_mask == REDRAW_FIELD | REDRAW_ALL ??? !!! */ + /* !!! what about fade_mask == REDRAW_FIELD | REDRAW_ALL ??? !!! */ #if 0 printf("::: NOW FADING %d ... [%d]\n", fade_mode, fade_type); @@ -2811,9 +2821,13 @@ boolean Request(char *text, unsigned int req_state) } } - if (game_status == GAME_MODE_PLAYING && - level.game_engine_type == GAME_ENGINE_TYPE_EM) - BlitScreenToBitmap_EM(backbuffer); + if (game_status == GAME_MODE_PLAYING) + { + if (level.game_engine_type == GAME_ENGINE_TYPE_EM) + BlitScreenToBitmap_EM(backbuffer); + else if (level.game_engine_type == GAME_ENGINE_TYPE_SP) + BlitScreenToBitmap_SP(backbuffer); + } /* disable deactivated drawing when quick-loading level tape recording */ if (tape.playing && tape.deactivate_display) @@ -6044,6 +6058,8 @@ unsigned int InitRND(long seed) { if (level.game_engine_type == GAME_ENGINE_TYPE_EM) return InitEngineRandom_EM(seed); + else if (level.game_engine_type == GAME_ENGINE_TYPE_SP) + return InitEngineRandom_SP(seed); else return InitEngineRandom_RND(seed); }