X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=b8026898b0212a18490d2cfdac4e32b16eb76bde;hp=1d1c4ddab74dac7b8b66da271fc30c613a60ee7c;hb=c56ae03b51200429cfa20db7d61cfe907dc2e26e;hpb=34efaa3925a28cb95ecb05bf2c693c16f6edfe2f diff --git a/src/tools.c b/src/tools.c index 1d1c4dda..b8026898 100644 --- a/src/tools.c +++ b/src/tools.c @@ -117,13 +117,15 @@ void BackToFront() if (setup.soft_scrolling) { - fx += (ScreenMovDir & (MV_LEFT|MV_RIGHT) ? ScreenGfxPos : 0); - fy += (ScreenMovDir & (MV_UP|MV_DOWN) ? ScreenGfxPos : 0); + fx += (ScreenMovDir & (MV_LEFT | MV_RIGHT) ? ScreenGfxPos : 0); + fy += (ScreenMovDir & (MV_UP | MV_DOWN) ? ScreenGfxPos : 0); } - XCopyArea(display,buffer,window,gc, - fx,fy, SXSIZE,SYSIZE, - SX,SY); + if (setup.soft_scrolling || + ABS(ScreenGfxPos) + ScrollStepSize == TILEX || + ABS(ScreenGfxPos) == ScrollStepSize || + redraw_tiles > REDRAWTILES_THRESHOLD) + XCopyArea(display, buffer, window, gc, fx, fy, SXSIZE, SYSIZE, SX, SY); } redraw_mask &= ~REDRAW_MAIN; }