diff --git a/direct/src/extensions/Datagram-extensions.py b/direct/src/extensions/Datagram-extensions.py index 68d9d0fa22..623b01fe12 100644 --- a/direct/src/extensions/Datagram-extensions.py +++ b/direct/src/extensions/Datagram-extensions.py @@ -24,6 +24,10 @@ self.addString(arg) elif subatomicType == STBlob: self.addString(arg) + elif subatomicType == STInt8array: + self.addUint8(len(arg) << 1) + for i in arg: + self.addInt8(int(i*divisor)) elif subatomicType == STInt16array: self.addUint16(len(arg) << 1) for i in arg: @@ -32,6 +36,10 @@ self.addUint16(len(arg) << 2) for i in arg: self.addInt32(int(i*divisor)) + elif subatomicType == STUint8array: + self.addUint8(len(arg) << 1) + for i in arg: + self.addUint8(int(i*divisor)) elif subatomicType == STUint16array: self.addUint16(len(arg) << 1) for i in arg: diff --git a/direct/src/extensions/DatagramIterator-extensions.py b/direct/src/extensions/DatagramIterator-extensions.py index 932f148f5e..6c5f8f4944 100644 --- a/direct/src/extensions/DatagramIterator-extensions.py +++ b/direct/src/extensions/DatagramIterator-extensions.py @@ -26,6 +26,11 @@ retVal = self.getString() elif subatomicType == STBlob: retVal = self.getString() + elif subatomicType == STInt8array: + len = self.getUint8() >> 1 + retVal = [] + for i in range(len): + retVal.append(self.getInt8()) elif subatomicType == STInt16array: len = self.getUint16() >> 1 retVal = [] @@ -36,6 +41,11 @@ retVal = [] for i in range(len): retVal.append(self.getInt32()) + elif subatomicType == STUint8array: + len = self.getUint8() >> 1 + retVal = [] + for i in range(len): + retVal.append(self.getUint8()) elif subatomicType == STUint16array: len = self.getUint16() >> 1 retVal = [] @@ -72,6 +82,11 @@ retVal = self.getString() elif subatomicType == STBlob: retVal = self.getString() + elif subatomicType == STInt8array: + len = self.getUint8() >> 1 + retVal = [] + for i in range(len): + retVal.append(self.getInt8()/float(divisor)) elif subatomicType == STInt16array: len = self.getUint16() >> 1 retVal = [] @@ -82,6 +97,11 @@ retVal = [] for i in range(len): retVal.append(self.getInt32()/float(divisor)) + elif subatomicType == STUint8array: + len = self.getUint8() >> 1 + retVal = [] + for i in range(len): + retVal.append(self.getUint8()/float(divisor)) elif subatomicType == STUint16array: len = self.getUint16() >> 1 retVal = []