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)