def load(): global stars palette = tile.tiles["platform"].subpalettes["blue"] f = file.open("parallax", "star.spk") header = struct.unpack("<H",f.read(2))[0] header = struct.unpack("<"+str(header)+"H",f.read(header*2)) star = [] for x in range(len(header)): img = pygame.surface.Surface((640,480),pygame.SRCALPHA,32) layer = [] for y in range(header[x]): posx, posy, posfile = struct.unpack("<3H2x",f.read(8)) pos = f.tell() ; f.seek(posfile) sizex, sizey = struct.unpack("<2H",f.read(4)) data = f.read(sizex*sizey) f.seek(pos) surf = pygame.image.fromstring(data,(sizex,sizey),"P") surf.set_palette(palette) surf.set_colorkey(0) for xadd in (-640,0,640): for yadd in (-480,0,480): img.blit(surf,(posx-sizex/2+xadd,posy-sizex/2+yadd)) star.append(img) stars = pygame.Surface((640,480)) for x in star: #for xadd in (0,320/2,320,320*3/2): # for yadd in (0,240/2,240,240*3/2): stars.blit(x, (xadd, yadd)) #stars = pygame.transform.smoothscale(stars, (1280, 960)) return stars
def load(): global stars palette = tile.tiles["platform"].subpalettes["blue"] f = file.open("parallax", "star.spk") header = struct.unpack("<H", f.read(2))[0] header = struct.unpack("<" + str(header) + "H", f.read(header * 2)) star = [] for x in range(len(header)): img = pygame.surface.Surface((640, 480), pygame.SRCALPHA, 32) layer = [] for y in range(header[x]): posx, posy, posfile = struct.unpack("<3H2x", f.read(8)) pos = f.tell() f.seek(posfile) sizex, sizey = struct.unpack("<2H", f.read(4)) data = f.read(sizex * sizey) f.seek(pos) surf = pygame.image.fromstring(data, (sizex, sizey), "P") surf.set_palette(palette) surf.set_colorkey(0) for xadd in (-640, 0, 640): for yadd in (-480, 0, 480): img.blit( surf, (posx - sizex / 2 + xadd, posy - sizex / 2 + yadd)) star.append(img) stars = pygame.Surface((640, 480)) for x in star: #for xadd in (0,320/2,320,320*3/2): # for yadd in (0,240/2,240,240*3/2): stars.blit(x, (xadd, yadd)) #stars = pygame.transform.smoothscale(stars, (1280, 960)) return stars
def replace(self, filename): """ Returns a file object for a filename that should be replaced by the contents written to the file object when the transaction is committed. """ self._checkCwd() self._makeOriginal(filename) self._journalCommand('replace', filename) return File.open(self._replacement(filename))
def __init__(self, file_prefix): cdict.cdict.__init__(self, self.read_tile) self.file_prefix = file_prefix for i in ("cv5", "vx4", "vr4", "wpe"): setattr(self, i, file.open("tileset", self.file_prefix + "." + i)) self.palette = self.read_palette() self.minitiles = cdict.cdict(self.read_minitile) self.rows = cdict.cdict(self.read_row) self.subpalettes = cdict.cdict(self.read_subpalette)
def read_subpalette(self, name): i = pygame.image.load( file.open("tileset", self.file_prefix, name + '.pcx')) #assert i.get_height() == 1 return [i.get_at((x, 0))[:3] for x in xrange(i.get_width())]
# Read/Write file example # Copyright (C) 2019-2021 Logaev Maxim (turbocat2001), GPLv3 import file fw = file.open('my.txt', 'w') # Open file for writing fw.write("I love KolibriOS") # Write symbols to my.txt file fw.close() # Close file fr = file.open('my.txt', 'r') # Open file for reading str = fr.read() # Read symbols from file print(str) # Print to console fr.close() # Close file
def read_subpalette(self, name): i = pygame.image.load(file.open("tileset", self.file_prefix, name+'.pcx')) #assert i.get_height() == 1 return [i.get_at((x, 0))[:3] for x in xrange(i.get_width())]