The member begin_time has influence on the result of IsImmobile().
This patch ensures by setting explode_with_timeout that the value doesn't get 
used.
Addionally the patch sets begin_time to 0 to prevent that future usages of it 
cause desynchronization in network games.
---
 src/weapon/mine.cpp |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/weapon/mine.cpp b/src/weapon/mine.cpp
index 55a5e00..c75ca0f 100644
--- a/src/weapon/mine.cpp
+++ b/src/weapon/mine.cpp
@@ -56,6 +56,12 @@ ObjMine::ObjMine(MineConfig& cfg,
   escape_time = 0;
 
   fake = false;
+
+  // Initialize begin_time so that it has the same value for all players in a 
network game:
+  // This makes it easier to compare logs and prevents desynchronization
+  // when new code starts to make use of begin_time when it should not.
+  begin_time = 0;
+  explode_with_timeout = false;
 }
 
 void ObjMine::FakeExplosion()
-- 
1.6.0.4


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

Répondre à