Advertisement
Guest User

realtime engine

a guest
May 18th, 2024
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. struct RealTimeEngine
  2. {
  3.   i32 m_lastTicks;
  4.   i32 m_coreSpeed;
  5.   bool m_running = true;
  6.  
  7.   RealTimeEngine(const i32 &coreSpeed = 120) : m_coreSpeed(coreSpeed), m_lastTicks(0){}
  8.   void Start() { m_lastTicks = clock(); m_running = true; }
  9.   void Stop() { m_running = false; }
  10.   i32 Steps()
  11.   {
  12.     if (m_running)
  13.     {
  14.       i32 tickDiff = clock() - m_lastTicks;
  15.       i32 stepDiff = tickDiff * m_coreSpeed / 1000;
  16.       m_lastTicks += stepDiff * 1000 / m_coreSpeed;
  17.       return stepDiff;
  18.     }
  19.     return 0;
  20.   }
  21. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement