From 5ba8f1c1b0b33810e56f4a990ee6b813a51180d7 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 20 Mar 2016 16:22:54 +0100 Subject: [PATCH] fixed forced screen redraw in every frame (again) --- src/tools.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 -- 2.34.1