Browse Source

*** empty log message ***

Darren Ranalli 25 years ago
parent
commit
bbc1435e61

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

@@ -22,6 +22,24 @@
             self.addFloat64(arg)
         elif subatomicType == STString:
             self.addString(arg)
+        elif subatomicType == STBlob:
+            self.addString(arg)
+        elif subatomicType == STInt16array:
+            self.addUint16(len(arg) << 1)
+            for i in arg:
+                self.addInt16(int(i*divisor))
+        elif subatomicType == STInt32array:
+            self.addUint16(len(arg) << 2)
+            for i in arg:
+                self.addInt32(int(i*divisor))
+        elif subatomicType == STUint16array:
+            self.addUint16(len(arg) << 1)
+            for i in arg:
+                self.addUint16(int(i*divisor))
+        elif subatomicType == STUint32array:
+            self.addUint16(len(arg) << 2)
+            for i in arg:
+                self.addUint32(int(i*divisor))
         else:
             raise Exception("Error: No such type as: " + subatomicType)
         return None

+ 46 - 2
direct/src/extensions/DatagramIterator-extensions.py

@@ -24,6 +24,28 @@
                 retVal = self.getFloat64()
             elif subatomicType == STString:
                 retVal = self.getString()
+            elif subatomicType == STBlob:
+                retVal = self.getString()
+            elif subatomicType == STInt16array:
+                len = self.getUint16() >> 1
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getInt16())
+            elif subatomicType == STInt32array:
+                len = self.getUint16() >> 2
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getInt32())
+            elif subatomicType == STUint16array:
+                len = self.getUint16() >> 1
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getUint16())
+            elif subatomicType == STUint32array:
+                len = self.getUint16() >> 2
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getUint32())
             else:
                 raise Exception("Error: No such type as: " + str(subAtomicType))
         else:
@@ -48,11 +70,33 @@
                 retVal = self.getFloat64()
             elif subatomicType == STString:
                 retVal = self.getString()
+            elif subatomicType == STBlob:
+                retVal = self.getString()
+            elif subatomicType == STInt16array:
+                len = self.getUint16() >> 1
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getInt16()/float(divisor))
+            elif subatomicType == STInt32array:
+                len = self.getUint16() >> 2
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getInt32()/float(divisor))
+            elif subatomicType == STUint16array:
+                len = self.getUint16() >> 1
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getUint16()/float(divisor))
+            elif subatomicType == STUint32array:
+                len = self.getUint16() >> 2
+                retVal = []
+                for i in range(len):
+                    retVal.append(self.getUint32()/float(divisor))
             else:
                 raise Exception("Error: No such type as: " + str(subAtomicType))
 
 
-            
+
         return retVal
 
-                
+