From 65635452fd75aa1de64feb7fb987e5efd6fb38a7 Mon Sep 17 00:00:00 2001 From: skyjake Date: Fri, 27 Jan 2012 11:26:36 +0200 Subject: [PATCH] Fixed: Allow processing sharp events when frametime is paused There are no sharp ticks when frame time does not advance, so process all sharp events immediately. --- doomsday/engine/portable/include/dd_loop.h | 1 + doomsday/engine/portable/src/dd_input.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doomsday/engine/portable/include/dd_loop.h b/doomsday/engine/portable/include/dd_loop.h index 773bc039d4..c0ca846844 100644 --- a/doomsday/engine/portable/include/dd_loop.h +++ b/doomsday/engine/portable/include/dd_loop.h @@ -46,5 +46,6 @@ void DD_EndFrame(void); float DD_GetFrameRate(void); void DD_ResetTimer(void); boolean DD_IsSharpTick(void); +boolean DD_IsFrameTimeAdvancing(void); #endif diff --git a/doomsday/engine/portable/src/dd_input.c b/doomsday/engine/portable/src/dd_input.c index dd6f01cc79..ca558436a3 100644 --- a/doomsday/engine/portable/src/dd_input.c +++ b/doomsday/engine/portable/src/dd_input.c @@ -982,7 +982,7 @@ void DD_ProcessEvents(timespan_t ticLength) void DD_ProcessSharpEvents(timespan_t ticLength) { // Sharp ticks may have some events queued on the side. - if(DD_IsSharpTick()) + if(DD_IsSharpTick() || !DD_IsFrameTimeAdvancing()) { dispatchEvents(&sharpQueue, ticLength); }