Browse Source

add int8array

David Rose 24 years ago
parent
commit
fed1ab7c35

+ 8 - 0
direct/src/extensions/Datagram-extensions.py

@@ -24,6 +24,10 @@
             self.addString(arg)
             self.addString(arg)
         elif subatomicType == STBlob:
         elif subatomicType == STBlob:
             self.addString(arg)
             self.addString(arg)
+        elif subatomicType == STInt8array:
+            self.addUint8(len(arg) << 1)
+            for i in arg:
+                self.addInt8(int(i*divisor))
         elif subatomicType == STInt16array:
         elif subatomicType == STInt16array:
             self.addUint16(len(arg) << 1)
             self.addUint16(len(arg) << 1)
             for i in arg:
             for i in arg:
@@ -32,6 +36,10 @@
             self.addUint16(len(arg) << 2)
             self.addUint16(len(arg) << 2)
             for i in arg:
             for i in arg:
                 self.addInt32(int(i*divisor))
                 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:
         elif subatomicType == STUint16array:
             self.addUint16(len(arg) << 1)
             self.addUint16(len(arg) << 1)
             for i in arg:
             for i in arg:

+ 20 - 0
direct/src/extensions/DatagramIterator-extensions.py

@@ -26,6 +26,11 @@
                 retVal = self.getString()
                 retVal = self.getString()
             elif subatomicType == STBlob:
             elif subatomicType == STBlob:
                 retVal = self.getString()
                 retVal = self.getString()
+            elif subatomicType == STInt8array:
+                len = self.getUint8() >> 1
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getInt8())
             elif subatomicType == STInt16array:
             elif subatomicType == STInt16array:
                 len = self.getUint16() >> 1
                 len = self.getUint16() >> 1
                 retVal = []
                 retVal = []
@@ -36,6 +41,11 @@
                 retVal = []
                 retVal = []
                 for i in range(len):
                 for i in range(len):
                     retVal.append(self.getInt32())
                     retVal.append(self.getInt32())
+            elif subatomicType == STUint8array:
+                len = self.getUint8() >> 1
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getUint8())
             elif subatomicType == STUint16array:
             elif subatomicType == STUint16array:
                 len = self.getUint16() >> 1
                 len = self.getUint16() >> 1
                 retVal = []
                 retVal = []
@@ -72,6 +82,11 @@
                 retVal = self.getString()
                 retVal = self.getString()
             elif subatomicType == STBlob:
             elif subatomicType == STBlob:
                 retVal = self.getString()
                 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:
             elif subatomicType == STInt16array:
                 len = self.getUint16() >> 1
                 len = self.getUint16() >> 1
                 retVal = []
                 retVal = []
@@ -82,6 +97,11 @@
                 retVal = []
                 retVal = []
                 for i in range(len):
                 for i in range(len):
                     retVal.append(self.getInt32()/float(divisor))
                     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:
             elif subatomicType == STUint16array:
                 len = self.getUint16() >> 1
                 len = self.getUint16() >> 1
                 retVal = []
                 retVal = []