From fb284b821f11c3d8dd6f2e152667b8816e956163 Mon Sep 17 00:00:00 2001 From: David Rose Date: Thu, 10 Apr 2003 01:03:19 +0000 Subject: [PATCH] should round numbers before truncating to integer --- direct/src/extensions/Datagram-extensions.py | 32 ++++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/direct/src/extensions/Datagram-extensions.py b/direct/src/extensions/Datagram-extensions.py index f44969eb4f..dec008dc4f 100644 --- a/direct/src/extensions/Datagram-extensions.py +++ b/direct/src/extensions/Datagram-extensions.py @@ -3,21 +3,21 @@ # Import the type numbers import DCSubatomicType if subatomicType == DCSubatomicType.STInt8: - self.addInt8(int(arg*divisor)) + self.addInt8(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STInt16: - self.addInt16(int(arg*divisor)) + self.addInt16(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STInt32: - self.addInt32(int(arg*divisor)) + self.addInt32(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STInt64: - self.addInt64(int(arg*divisor)) + self.addInt64(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint8: - self.addUint8(int(arg*divisor)) + self.addUint8(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint16: - self.addUint16(int(arg*divisor)) + self.addUint16(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint32: - self.addUint32(int(arg*divisor)) + self.addUint32(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint64: - self.addUint64(int(arg*divisor)) + self.addUint64(int(arg*divisor+0.5)) elif subatomicType == DCSubatomicType.STFloat64: self.addFloat64(arg) elif subatomicType == DCSubatomicType.STString: @@ -27,32 +27,32 @@ elif subatomicType == DCSubatomicType.STInt8array: self.addUint16(len(arg)) for i in arg: - self.addInt8(int(i*divisor)) + self.addInt8(int(i*divisor+0.5)) elif subatomicType == DCSubatomicType.STInt16array: self.addUint16(len(arg) << 1) for i in arg: - self.addInt16(int(i*divisor)) + self.addInt16(int(i*divisor+0.5)) elif subatomicType == DCSubatomicType.STInt32array: self.addUint16(len(arg) << 2) for i in arg: - self.addInt32(int(i*divisor)) + self.addInt32(int(i*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint8array: self.addUint16(len(arg)) for i in arg: - self.addUint8(int(i*divisor)) + self.addUint8(int(i*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint16array: self.addUint16(len(arg) << 1) for i in arg: - self.addUint16(int(i*divisor)) + self.addUint16(int(i*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint32array: self.addUint16(len(arg) << 2) for i in arg: - self.addUint32(int(i*divisor)) + self.addUint32(int(i*divisor+0.5)) elif subatomicType == DCSubatomicType.STUint32uint8array: self.addUint16(len(arg) * 5) for i in arg: - self.addUint32(int(i[0]*divisor)) - self.addUint8(int(i[1]*divisor)) + self.addUint32(int(i[0]*divisor+0.5)) + self.addUint8(int(i[1]*divisor+0.5)) else: raise Exception("Error: No such type as: " + str(subatomicType)) return None