- moved lots of code around, made gameloop even more into a class
[supertux.git] / src / timer.cpp
index a31e93f..52b1b08 100644 (file)
@@ -19,7 +19,7 @@ unsigned int st_pause_ticks, st_pause_count;
 unsigned int st_get_ticks(void)
 {
   if(st_pause_count != 0)
-    return SDL_GetTicks() - st_pause_ticks - SDL_GetTicks() + st_pause_count;
+    return /*SDL_GetTicks()*/ - st_pause_ticks /*- SDL_GetTicks()*/ + st_pause_count;
   else
     return SDL_GetTicks() - st_pause_ticks;
 }
@@ -37,6 +37,9 @@ void st_pause_ticks_start(void)
 
 void st_pause_ticks_stop(void)
 {
+if(st_pause_count == 0)
+return;
+
   st_pause_ticks += SDL_GetTicks() - st_pause_count;
   st_pause_count = 0;
 }
@@ -116,11 +119,13 @@ void timer_fread(timer_type* ptimer, FILE* fi)
   fread(&ptimer->period,sizeof(unsigned int),1,fi);
   fread(&diff_ticks,sizeof(unsigned int),1,fi);
   fread(&tick_mode,sizeof(unsigned int),1,fi);
-  if(tick_mode == true)
+
+  if (tick_mode)
     ptimer->get_ticks = st_get_ticks;
   else
     ptimer->get_ticks = SDL_GetTicks;
-  if(diff_ticks != 0)
+
+  if (diff_ticks != 0)
     ptimer->time = ptimer->get_ticks() - diff_ticks;
   else
     ptimer->time = 0;