diff options
Diffstat (limited to 'mwe/gameloop/include/timer.h')
| -rw-r--r-- | mwe/gameloop/include/timer.h | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/mwe/gameloop/include/timer.h b/mwe/gameloop/include/timer.h new file mode 100644 index 0000000..a245e5c --- /dev/null +++ b/mwe/gameloop/include/timer.h @@ -0,0 +1,30 @@ +#pragma once + +#include <SDL2/SDL.h> + +class LoopTimer { +public: +    static LoopTimer& getInstance(); +    void start(); +    void update(); +    double getDeltaTime() const; +    int getCurrentTime() const; +	void advanceFixedUpdate(); +	double getFixedDeltaTime() const; +    void setFPS(int FPS); +    int getFPS() const; +    void enforceFrameRate(); +	double getLag() const; +private: +    LoopTimer(); +	int FPS = 50; +	double gameScale = 1; +	double maximumDeltaTime = 0.25; +    double deltaTime; +	double frameTargetTime = FPS / 1000; +    double fixedDeltaTime = 0.01; +    double elapsedTime; +    double elapsedFixedTime; +	double time; +    uint64_t lastFrameTime; +}; |