X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=552eef2fbb5faa9234f13d0dda57b0cc117a22e5;hp=3948bcb1745ff83ad312b2ae5562cbf94af2bffe;hb=5ba8f1c1b0b33810e56f4a990ee6b813a51180d7;hpb=46881519bdb4df7d22412ce87efded94b4244e1d diff --git a/src/tools.c b/src/tools.c index 3948bcb1..552eef2f 100644 --- a/src/tools.c +++ b/src/tools.c @@ -506,8 +506,14 @@ static void PrintFrameTimeDebugging() void BackToFront() { + static int last_redraw_mask = REDRAW_NONE; + + // force screen redraw in every frame to continue drawing global animations + // (but always use the last redraw mask to prevent unwanted side effects) if (redraw_mask == REDRAW_NONE) - return; + redraw_mask = last_redraw_mask; + + last_redraw_mask = redraw_mask; #if 1 // masked border now drawn immediately when blitting backbuffer to window @@ -552,9 +558,6 @@ void BackToFront() redraw_mask = REDRAW_NONE; - // force screen redraw in every frame to continue drawing global animations - redraw_mask = REDRAW_FIELD; - #if DEBUG_FRAME_TIME PrintFrameTimeDebugging(); #endif