def input(self, args): self.x1 = args[0] self.y1 = args[1] self.x2 = args[2] self.y2 = args[3] data = args[4] if len(args) == 6: # Transformed sprite self.transform = ( self.str2num(4, data[0:4]), self.str2num(4, data[4:8]), self.str2num(4, data[8:12]), self.str2num(4, data[12:16]), self.str2num(4, data[16:20]), self.str2num(4, data[20:24])) data = data[24:] # Construct a reasonable sprite block from the data supplied # One sprite and offset to sprite sprdata = self.number(4, 1) + \ self.number(4, 0x10) free = self.str2num(4, data[0:4]) + 0x10 sprdata = sprdata + self.number(4, free) + data # Create a spritefile object sprites = spritefile.spritefile(StringIO.StringIO(sprdata)) # Use the first, and only, sprite self.name = sprites.sprites.keys()[0] self.sprite = sprites.sprites[self.name]
def input(self, args): self.x1 = args[0] self.y1 = args[1] self.x2 = args[2] self.y2 = args[3] data = args[4] if len(args) == 6: # Transformed sprite self.transform = (self.str2num(4, data[0:4]), self.str2num(4, data[4:8]), self.str2num(4, data[8:12]), self.str2num(4, data[12:16]), self.str2num(4, data[16:20]), self.str2num(4, data[20:24])) data = data[24:] # Construct a reasonable sprite block from the data supplied # One sprite and offset to sprite sprdata = self.number(4, 1) + \ self.number(4, 0x10) free = self.str2num(4, data[0:4]) + 0x10 sprdata = sprdata + self.number(4, free) + data # Create a spritefile object sprites = spritefile.spritefile(StringIO.StringIO(sprdata)) # Use the first, and only, sprite self.name = sprites.sprites.keys()[0] self.sprite = sprites.sprites[self.name]
def output(self): # Create a new spritefile object sprites = spritefile.spritefile() # Add the sprite sprites.sprites[self.name] = self.sprite # Write the sprite to an output stream stream = StringIO.StringIO() sprites.write(stream) # Return the text string stored in the stream return StringIO.StringIO.read()