From 633409b2bf5e7b41caaa168cac1cf1fe5ae3d4d2 Mon Sep 17 00:00:00 2001 From: Darren Ranalli Date: Wed, 23 Jul 2003 01:08:09 +0000 Subject: [PATCH] fixed 32-bit timestamp bug --- direct/src/distributed/ClockDelta.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/direct/src/distributed/ClockDelta.py b/direct/src/distributed/ClockDelta.py index 60c0831eb1..038085b886 100644 --- a/direct/src/distributed/ClockDelta.py +++ b/direct/src/distributed/ClockDelta.py @@ -52,18 +52,18 @@ class ClockDelta(DirectObject.DirectObject): self.delta += timeDelta def resynchronize(self, localTime, networkTime): - """resynchronize(self, float localTime, int networkTime) + """resynchronize(self, float localTime, uint32 networkTime) Resets the relative delta so that the indicated networkTime and localTime map to the same instant. The return value is the amount by which the clock changes, in seconds. """ - - newDelta = float(localTime) - float(networkTime) / NetworkTimePrecision + newDelta = (float(localTime) - + (float(networkTime) / NetworkTimePrecision)) change = newDelta - self.delta self.delta = newDelta - return self.networkToLocalTime(self.localToNetworkTime(change), 0.0) + return change ### Primary interface functions ### @@ -120,21 +120,23 @@ class ClockDelta(DirectObject.DirectObject): ### Convenience functions ### - def getRealNetworkTime(self): + def getRealNetworkTime(self, bits=16): """getRealNetworkTime(self) Returns the current getRealTime() expressed as a network time. """ - return self.localToNetworkTime(self.globalClock.getRealTime()) + return self.localToNetworkTime(self.globalClock.getRealTime(), + bits=bits) - def getFrameNetworkTime(self): + def getFrameNetworkTime(self, bits=16): """getFrameNetworkTime(self) Returns the current getFrameTime() expressed as a network time. """ - return self.localToNetworkTime(self.globalClock.getFrameTime()) + return self.localToNetworkTime(self.globalClock.getFrameTime(), + bits=bits) - def localElapsedTime(self, networkTime): + def localElapsedTime(self, networkTime, bits=16): """localElapsedTime(self, int networkTime) Returns the amount of time elapsed (in seconds) on the client @@ -143,7 +145,7 @@ class ClockDelta(DirectObject.DirectObject): """ now = self.globalClock.getFrameTime() - dt = now - self.networkToLocalTime(networkTime, now) + dt = now - self.networkToLocalTime(networkTime, now, bits=bits) if (dt >= 0.0): return dt