X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain.cpp;h=ddf2dbdeb40bcbda5a39c931d2353ecb4d364202;hb=88085362ef3590bdbae3fb4bf25796c84582cc73;hp=ce5a7ae49161fa31781caae7163fe90658cbc929;hpb=563db69aa499d6044c2ca2bac2f375e207be697f;p=physics.git diff --git a/src/main.cpp b/src/main.cpp index ce5a7ae..ddf2dbd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,8 +15,9 @@ * along with this program. If not, see . */ -#include -using namespace pg; +#include +#include +using namespace bear; #include using std::cout; @@ -29,7 +30,6 @@ using std::endl; #include "handleSignal.h" #include "game.h" -#include "ticks.h" #include "graphics/graphics.h" #include "input/inputManager.h" @@ -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; @@ -93,7 +95,7 @@ static bool s_bUpdateInitialized = false; static bool s_bDrawInitialized = false; /// ***** MAIN Method ***** -int main(int argc, char** args) +int main(int /*argc*/, char** /*args*/) { mainInit(); run(); @@ -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)