From 4f75b94c99eeb1642a5ec46144542bfcd18af934 Mon Sep 17 00:00:00 2001 From: Tycho Date: Sun, 11 Jan 2015 01:54:18 +0000 Subject: Created new type cTickTime and rewrote cWorld::TickThread to use it --- src/World.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/World.cpp') diff --git a/src/World.cpp b/src/World.cpp index c08b44f77..2dd03497b 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -233,8 +233,7 @@ cWorld::cTickThread::cTickThread(cWorld & a_World) : void cWorld::cTickThread::Execute(void) { auto LastTime = std::chrono::steady_clock::now(); - static const auto msPerTick = std::chrono::milliseconds(50); - auto TickTime = std::chrono::steady_clock::duration(50); + auto TickTime = std::chrono::duration_cast(cTickTime(1)); while (!m_ShouldTerminate) { @@ -242,12 +241,12 @@ void cWorld::cTickThread::Execute(void) auto msec = std::chrono::duration_cast(NowTime - LastTime).count(); auto LastTickMsec = std::chrono::duration_cast>(TickTime).count(); m_World.Tick(static_cast(msec), LastTickMsec); - TickTime = std::chrono::steady_clock::now() - NowTime; + TickTime = std::chrono::duration_cast(std::chrono::steady_clock::now() - NowTime); - if (TickTime < msPerTick) + if (TickTime < cTickTime(1)) { - // Stretch tick time until it's at least msPerTick - std::this_thread::sleep_for(msPerTick - TickTime); + // Stretch tick time until it's at least 1 tick + std::this_thread::sleep_for(cTickTime(1) - TickTime); } LastTime = NowTime; -- cgit v1.2.3