def readCheck(self):
     # Read Checkpoints (unsigned presumably)
     c8, c16, c32 = self.readu8(), self.readu16(), self.readu32()
     if c8 == c16 == c32 == self.checkCount:
         self.checkCount += 1
         # print "checkCount =", self.checkCount
         return self.checkCount
     else:
         self.checkCount += 1
         Torque_Util.dump_writeErr(
             "Error! Checkpoint mismatch! (%d %d %d(8,16,32), should be %d)" % (c8, c16, c32, self.checkCount - 1)
         )
 def readCheck(self):
     # Read Checkpoints (unsigned presumably)
     c8, c16, c32 = self.readu8(), self.readu16(), self.readu32()
     if c8 == c16 == c32 == self.checkCount:
         self.checkCount += 1
         #print "checkCount =", self.checkCount
         return self.checkCount
     else:
         self.checkCount += 1
         Torque_Util.dump_writeErr(
             "Error! Checkpoint mismatch! (%d %d %d(8,16,32), should be %d)"
             % (c8, c16, c32, self.checkCount - 1))
    def flush(self):
        # Get Sizes...
        sz8 = len(self.buffer8)
        sz16 = len(self.buffer16)
        sz32 = len(self.buffer32)
        if sz16 & 0x0001:
            self.write16(0)
            sz16 += 1
        while sz8 & 0x0003:
            self.write8(0)
            sz8 += 1
        # Actual Size must equal calculated size!
        offset16 = sz32
        offset8 = offset16 + (sz16 / 2)
        totalSize = offset8 + (sz8 / 4)
        # Write the resulting data to the file
        hdr = array('i')
        hdr.append(self.DTSVersion | (self.mExporterVersion << 16))
        hdr.append(totalSize)
        hdr.append(offset16)
        hdr.append(offset8)
        # Write Buffers to fs
        # ByteSwap buffers if neccesary

        if not little_endian():
            Torque_Util.dump_writeln(
                "Big endian platform, performing byteswap.")
            hdr.byteswap()
            self.buffer32.byteswap()
            self.buffer16.byteswap()
            self.buffer8.byteswap()
        # Piece of lovely cake! Yumm
        # Now comes in mac flavour!
        hdr.tofile(self.fs)
        self.buffer32.tofile(self.fs)
        self.buffer16.tofile(self.fs)
        self.buffer8.tofile(self.fs)
    def flush(self):
        # Get Sizes...
        sz8 = len(self.buffer8)
        sz16 = len(self.buffer16)
        sz32 = len(self.buffer32)
        if sz16 & 0x0001:
            self.write16(0)
            sz16 += 1
        while sz8 & 0x0003:
            self.write8(0)
            sz8 += 1
            # Actual Size must equal calculated size!
        offset16 = sz32
        offset8 = offset16 + (sz16 / 2)
        totalSize = offset8 + (sz8 / 4)
        # Write the resulting data to the file
        hdr = array("i")
        hdr.append(self.DTSVersion | (self.mExporterVersion << 16))
        hdr.append(totalSize)
        hdr.append(offset16)
        hdr.append(offset8)
        # Write Buffers to fs
        # ByteSwap buffers if neccesary

        if not little_endian():
            Torque_Util.dump_writeln("Big endian platform, performing byteswap.")
            hdr.byteswap()
            self.buffer32.byteswap()
            self.buffer16.byteswap()
            self.buffer8.byteswap()
            # Piece of lovely cake! Yumm
            # Now comes in mac flavour!
        hdr.tofile(self.fs)
        self.buffer32.tofile(self.fs)
        self.buffer16.tofile(self.fs)
        self.buffer8.tofile(self.fs)