X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain.cpp;h=ddf2dbdeb40bcbda5a39c931d2353ecb4d364202;hb=88085362ef3590bdbae3fb4bf25796c84582cc73;hp=34aa2ce7dfb0253b9810dc40c2c0995f0d2e0812;hpb=f32a9b7c8eab3536ad354f85ee65c41d5b5da006;p=physics.git diff --git a/src/main.cpp b/src/main.cpp index 34aa2ce..ddf2dbd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,7 +15,13 @@ * along with this program. If not, see . */ -#include +#include +#include +using namespace bear; + +#include +using std::cout; +using std::endl; #include #include @@ -24,7 +30,6 @@ #include "handleSignal.h" #include "game.h" -#include "ticks.h" #include "graphics/graphics.h" #include "input/inputManager.h" @@ -80,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; @@ -88,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(); @@ -104,10 +111,14 @@ void mainInit() installSignal(); debug::init(); + + s_timer.init(); } void mainClean() { - debug::clean(); + s_timer.fini(); + + debug::fini(); } void updatesInit() @@ -172,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; @@ -181,7 +192,7 @@ void updateFPSCounters() s_iUpdateCount -= s_iUPS; s_iDrawCount -= s_iFPS; - s_micLastSecond = tickCountMicro(); + s_micLastSecond = s_timer.query(); if(cfg::showFPS()) { @@ -228,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) @@ -261,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)