瀏覽代碼

sign extend now generates the same output for 2.2.2 and 2.4.1 (python versions)

Dave Schuyler 20 年之前
父節點
當前提交
8580dddb60
共有 1 個文件被更改,包括 3 次插入8 次删除
  1. 3 8
      direct/src/distributed/ClockDelta.py

+ 3 - 8
direct/src/distributed/ClockDelta.py

@@ -311,14 +311,9 @@ class ClockDelta(DirectObject.DirectObject):
         Preserves the lower NetworkTimeBits of the networkTime value,
         and extends the sign bit all the way up.
         """
-        if 1:
-            r = ((networkTime & NetworkTimeMask) << NetworkTimeTopBits) >> NetworkTimeTopBits
-        else:
-            if networkTime < 0:
-                # flip the sign, mask it as if it were positive, flip the sign back:
-                r = (networkTime * -1 & NetworkTimeSignedMask) * -1
-            else:
-                r = networkTime & NetworkTimeSignedMask
+        # this may not be exacly what is wanted (it wraps the value), but
+        # it matches the output that the old code did with Python 2.2.2.
+        r = ((networkTime+32768) & NetworkTimeMask) - 32768
         assert -32768 <= r <= 32767
         return r