diff --git a/src/Affection.hs b/src/Affection.hs index 7210c40..c989a9b 100644 --- a/src/Affection.hs +++ b/src/Affection.hs @@ -1,4 +1,5 @@ {-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE BangPatterns #-} module Affection ( withAffection , getAffection @@ -108,10 +109,11 @@ withAffection AffectionConfig{..} = do -- clean the renderer form last time SDL.clear renderer -- compute dt and update elapsedTime - let dt = (fromIntegral $ toNanoSecs $ diffTimeSpec lastTime now) / (fromIntegral 10 ^ 9) + let !dt = (fromIntegral $ toNanoSecs $ diffTimeSpec lastTime now) / (fromIntegral 10 ^ 9) + !ne = elapsedTime ad + dt put $ ad { drawStack = [] - , elapsedTime = elapsedTime ad + dt + , elapsedTime = ne } -- poll events evs <- preHandleEvents =<< liftIO SDL.pollEvents