X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?p=physics.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=988f5d1e07a1d58735f996d8cb298491dc068e80;hp=05f9a25b09b484eac0503ff221cb0737e295ba9b;hb=5e0713e5967be038b1b0cc5f0ffbd0180e3f7099;hpb=6029825fe57b4a07ab4782b338d5c427c9e6af06 diff --git a/src/main.cpp b/src/main.cpp index 05f9a25..988f5d1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -#include -#include -using namespace pg; +#include +#include +using namespace bear; #include using std::cout; @@ -85,7 +85,9 @@ static float s_fAccDrawWait = 0; static int s_iUPS, s_iFPS; static int s_iUpdateCount, s_iDrawCount; -static MICRO s_micLastSecond; + +static Ticks s_micLastSecond; +static Timer s_timer; static const float s_fGameStep = 10; @@ -109,9 +111,13 @@ void mainInit() installSignal(); debug::init(); + + s_timer.init(); } void mainClean() { + s_timer.fini(); + debug::fini(); } @@ -177,7 +183,7 @@ void run() void updateFPSCounters() { // Check if a second has passed to recalculate UPS and FPS - if (tickCountMicro() - s_micLastSecond >= 1000000) + if (s_timer.query() - s_micLastSecond >= 1000000) { s_iUPS = s_iUpdateCount; s_iFPS = s_iDrawCount; @@ -186,7 +192,7 @@ void updateFPSCounters() s_iUpdateCount -= s_iUPS; s_iDrawCount -= s_iFPS; - s_micLastSecond = tickCountMicro(); + s_micLastSecond = s_timer.query(); if(cfg::showFPS()) { @@ -233,18 +239,20 @@ int startUpdateThread(void*) { updatesInit(); - s_micLastSecond = tickCountMicro(); + s_micLastSecond = s_timer.query(); while(s_bIsRunning) { - MICRO time = tickCountMicro(); + Timer timer; + timer.init(); handleInput(); update(s_fGameStep); updateFPSCounters(); - time = tickCountMicro() - time; + const Ticks ticks = timer.query(); + timer.fini(); - float wait = (1000000.0 / s_iTargetUPS - time); + float wait = (1000000.0 / s_iTargetUPS - ticks.microseconds()); s_fAccUpdateWait += 0 < wait ? wait : 0; if(s_iMinWaitMicro < s_fAccUpdateWait) @@ -266,11 +274,13 @@ int startDrawThread(void*) while(s_bIsRunning) { - MICRO time = tickCountMicro(); + Timer timer; + timer.init(); draw(); - time = tickCountMicro() - time; + const Ticks ticks = timer.query(); + timer.fini(); - float wait = (1000000.0 / s_iTargetFPS - time); + float wait = (1000000.0 / s_iTargetFPS - ticks.microseconds()); s_fAccDrawWait += 0 < wait ? wait : 0; if(s_iMinWaitMicro < s_fAccDrawWait)