Exemple #1
0
def main():
  global cv5,vx4,vf4,vr4
  global palette,minitiles
  d = pygame.display.set_mode((32*16*2,32*2))
  
  os.chdir("tileset/platform")
  cv5 = open("platform.cv5")
  vx4 = open("platform.vx4")
  vf4 = open("platform.vf4")
  vr4 = open("platform.vr4")
  wpe = open("platform.wpe")
  
  palette = wpe.read()
  palette = struct.unpack(str(len(palette))+"B",palette)
  palette = [palette[4*x:4*x+3] for x in range(len(palette)/4)]
  
  minitiles = cdict.cdict(read_minitile)
  tiles = cdict.cdict(read_tile)
  
  print "start"
  z = time.time()
  for x in range(1513): pass
  #tiles[x]
  print "stop"
  print time.time()-z
  for n, y in enumerate(tiles):
    d.fill((0,0,0))
    for x in range(len(y)-1):
      d.blit(pygame.transform.scale(y[x],(64,64)),(x*64,0))
    print n, y[-1]
    pygame.display.update()
    pygame.time.delay(1000)
Exemple #2
0
def main():
    global cv5, vx4, vf4, vr4
    global palette, minitiles
    d = pygame.display.set_mode((32 * 16 * 2, 32 * 2))

    os.chdir("tileset/platform")
    cv5 = open("platform.cv5")
    vx4 = open("platform.vx4")
    vf4 = open("platform.vf4")
    vr4 = open("platform.vr4")
    wpe = open("platform.wpe")

    palette = wpe.read()
    palette = struct.unpack(str(len(palette)) + "B", palette)
    palette = [palette[4 * x:4 * x + 3] for x in range(len(palette) / 4)]

    minitiles = cdict.cdict(read_minitile)
    tiles = cdict.cdict(read_tile)

    print "start"
    z = time.time()
    for x in range(1513):
        pass
    #tiles[x]
    print "stop"
    print time.time() - z
    for n, y in enumerate(tiles):
        d.fill((0, 0, 0))
        for x in range(len(y) - 1):
            d.blit(pygame.transform.scale(y[x], (64, 64)), (x * 64, 0))
        print n, y[-1]
        pygame.display.update()
        pygame.time.delay(1000)
Exemple #3
0
 def __init__(self, file_prefix):
     cdict.cdict.__init__(self, self.read_tile)
     for i in ("cv5", "vx4", "vf4", "vr4", "wpe"):
         setattr(self, i, open(file_prefix + "." + i))
     self.palette = self.read_palette()
     self.minitiles = cdict.cdict(self.read_minitile)
     self.rows = cdict.cdict(self.read_row)
Exemple #4
0
 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)
Exemple #5
0
 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)
Exemple #6
0
            c = radius - d
            c = 255*c/k
            c = int(c)
            if c < 0:
                c = 0
            elif c > 255:
                c = 255
            s.set_at((x,y), (c, c, c))
    return s

def make_fog(size, views):
    s = pygame.Surface(size)
    for pos, radius in views:
        o = overlays[radius]
        pos = (pos[0]-o.get_width()/2, pos[1]-o.get_height()/2)
        s.blit(o, pos, None, pygame.BLEND_MAX)
    return s

overlays = cdict.cdict(get_overlay)

if __name__ == "__main__":
    import random, time
    d = pygame.display.set_mode((256,256))
    while True:
        x = [((int(random.random()*256), int(random.random()*256)), int(random.random()*30)) for i in xrange(20)]
        f = make_fog((256,256), x)
        d.fill((0,0,0))
        d.blit(f, (0, 0))
        pygame.display.update()
        time.sleep(1)
Exemple #7
0
            return pygame.transform.flip(self.minitiles[index - 1], True,
                                         False)
        else:
            self.vr4.seek(index / 2 * 64)
            minitile = self.vr4.read(64)
            minitile = pygame.image.fromstring(minitile, (8, 8), "P")
            minitile.set_palette(self.palette)
            return minitile

    def read_row(self, index):
        self.cv5.seek(52 * index)
        row = self.cv5.read(52)
        return struct.unpack("26H", row)

    def read_tile(self, index):
        row = self.rows[index >> 4]
        rowd = row[10:]
        i = rowd[index & 15]
        tile = pygame.surface.Surface((32, 32), 0, 8)  # should be 8?
        tile.set_palette(self.palette)
        tile.set_colorkey(0)
        self.vx4.seek(i * 32)
        minindex = struct.unpack("16H", self.vx4.read(32))
        for x in range(4):
            for y in range(4):
                tile.blit(self.minitiles[minindex[x + y * 4]], (x * 8, y * 8))
        return tile


tiles = cdict.cdict(Tileset)
Exemple #8
0
class Image(cdict.cdict):
    def __init__(self, name):
        self.name = name
        cdict.cdict.__init__(self, self.image_getter)
    def image_getter(frame):
        return Image(self)

class Sprite(cdict.cdict):
    def __init__(self, name):
        self.sprite = grp.load(frame)
        cdict.cdict.__init__(self, self.image_getter)
    def image_getter(frame):
        return Image(self)
        

def image_getter(n

def sprite_getter(name):
    sprite = grp.load(name)
    def image_getter(frame)
        image = sprite.get(frame)
        def subimage_getter(palette
            subimage = image.subsurface(image.get_rect())
            subimage.set_palette(palettes.palettes[palette])
            return subimage
        return cdict.cdict(subimage_getter)
    return cdict.cdict(image_getter)

sprites = cdict.cdict(Sprite)
Exemple #9
0
        else:
            self.vr4.seek(index/2*64)
            minitile = self.vr4.read(64)
            minitile = pygame.image.fromstring(minitile,(8,8),"P")
            minitile.set_palette(self.palette)
            return minitile
    def read_row(self, index):
        self.cv5.seek(52*index)
        row = self.cv5.read(52)
        return struct.unpack("26H",row)
    def read_tile(self, index):
        row = self.rows[index>>4]
        rowd = row[10:]
        i = rowd[index&15]
        if 1:
            tile = pygame.surface.Surface((32,32),0,8) # should be 8?
            tile.set_palette(self.palette)
            self.vx4.seek(i*32)
            minindex = struct.unpack("16H",self.vx4.read(32))
            self.vf4.seek(i*32)
            walkable = self.vf4.read(32)
            walkable = walkable[::2]
            w = pygame.image.fromstring(walkable,(4,4),"P")
            w.set_palette([(0,0,0),(255,255,255)]*100)
            for x in range(4):
                for y in range(4):
                    tile.blit(self.minitiles[minindex[x+y*4]],(x*8,y*8))
        return tile, w
        
tiles = cdict.cdict(Tileset)
Exemple #10
0
            if c < 0:
                c = 0
            elif c > 255:
                c = 255
            s.set_at((x, y), (c, c, c))
    return s


def make_fog(size, views):
    s = pygame.Surface(size)
    for pos, radius in views:
        o = overlays[radius]
        pos = (pos[0] - o.get_width() / 2, pos[1] - o.get_height() / 2)
        s.blit(o, pos, None, pygame.BLEND_MAX)
    return s


overlays = cdict.cdict(get_overlay)

if __name__ == "__main__":
    import random, time
    d = pygame.display.set_mode((256, 256))
    while True:
        x = [((int(random.random() * 256), int(random.random() * 256)),
              int(random.random() * 30)) for i in xrange(20)]
        f = make_fog((256, 256), x)
        d.fill((0, 0, 0))
        d.blit(f, (0, 0))
        pygame.display.update()
        time.sleep(1)