---
 src/game/stopwatch.cpp |    7 ++++---
 src/game/stopwatch.h   |    3 ++-
 src/game/time.cpp      |    5 ++++-
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/game/stopwatch.cpp b/src/game/stopwatch.cpp
index c64dad8..e09e743 100644
--- a/src/game/stopwatch.cpp
+++ b/src/game/stopwatch.cpp
@@ -28,8 +28,9 @@ Stopwatch::Stopwatch()
   Reset();
 }
 
-void Stopwatch::Reset()
+void Stopwatch::Reset(double speed_value)
 {
+  speed = speed_value;
   paused = false;
   start_time = SDL_GetTicks();
   paused_time = 0;
@@ -63,9 +64,9 @@ void Stopwatch::SetPause(bool value)
 uint Stopwatch::GetValue()
 {
   if (paused)
-    return pause_begin - start_time - paused_time;
+    return static_cast<uint>(speed * (pause_begin - start_time - paused_time));
   else
-    return SDL_GetTicks() - start_time - paused_time;
+    return static_cast<uint>(speed * (SDL_GetTicks() - start_time - 
paused_time));
 }
 
 bool Stopwatch::IsPaused()
diff --git a/src/game/stopwatch.h b/src/game/stopwatch.h
index 9341b03..ba5caa4 100644
--- a/src/game/stopwatch.h
+++ b/src/game/stopwatch.h
@@ -31,12 +31,13 @@ private:
   uint paused_time;
   uint pause_begin;
   bool paused;
+  double speed;
 private:
   void Stop();
   void Resume();
 public:
   Stopwatch();
-  void Reset();
+  void Reset(double speed = 1);
   void SetPause(bool value);
   uint GetValue();
   bool IsPaused();
diff --git a/src/game/time.cpp b/src/game/time.cpp
index c30879e..f9984a4 100644
--- a/src/game/time.cpp
+++ b/src/game/time.cpp
@@ -39,7 +39,10 @@ void Time::Reset()
   current_time = 0;
   waiting_for_user = false;
   waiting_for_network = false;
-  stopwatch.Reset();
+  if (IsLOGGING("slow"))
+    stopwatch.Reset(0.25);
+  else
+    stopwatch.Reset();
 }
 
 void Time::Increase()
-- 
1.5.4.3


_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à