#Replace the ManualHeater ComposeImg function with this. def ComposeImg( self ): self.image = self.blackImg.convert_alpha() tRange = self.hiTempLimit - self.lowTempLimit tempPercent = float(self.temperature-self.lowTempLimit)/tRange try: img = self.allImages[tempPercent] except KeyError: import os.path alpha = int(tempPercent*100) filename = os.path.join( settings.TMPDIR, 'burner'+ str(alpha) +'.tga') try: img = pygame.image.load(filename) if img == None: raise Exception("WTF") except Exception, e: log.debug( 'could not load cached burne' ) log.debug( e ) img = self.redImg.convert_alpha() change_alpha_mult( img, alpha ) img.unlock() try: pygame.image.save( img, filename ) except Exception, e: log.debug( 'could not save burne' ) log.debug( e ) self.allImages[tempPercent] = img self.image.blit( img, (0,0) ) x = self.xlens[self.cursorIndex] y = self.ylens[self.cursorIndex] self.cursorRect.center = ( self.rect.width/2 + x, self.rect.height/2 + y ) self.image.blit( self.cursorImg, self.cursorRect.topleft )