It's fixed now...
I've adapted tick approach in Nuno's article and my main loop looks like that:
The only thing update function (timer) does now is to increase TicksInQueue.Code:repeat while TicksInQueue>0 do begin if ((CurrentState<>nil) and (not quit)) then CurrentState.Update; Dec(TicksInQueue); end; if not quit then CurrentState.BeforeDraw; if not quit then CurrentState.Draw; if not quit then CurrentState.Main; until quit;
Bookmarks