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)