changeset 278:f6bd57494e81

Better tile/level tools. Also better game board.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 05 Sep 2009 14:40:58 +0000
parents 548bd549923c
children bcb392e54df0
files data/images/gameover_lose.png data/images/gameover_win.png data/images/splash.png data/level1.tga data/levels/farm.tga gamelib/gameboard.py regenerate_level_data.py
diffstat 7 files changed, 44 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
Binary file data/images/gameover_lose.png has changed
Binary file data/images/gameover_win.png has changed
Binary file data/images/splash.png has changed
Binary file data/level1.tga has changed
Binary file data/levels/farm.tga has changed
--- a/gamelib/gameboard.py	Sat Sep 05 14:32:01 2009 +0000
+++ b/gamelib/gameboard.py	Sat Sep 05 14:40:58 2009 +0000
@@ -241,7 +241,7 @@
         self.disp = main_app
         self.tv = tiles.FarmVid()
         self.tv.png_folder_load_tiles(data.filepath('tiles'))
-        self.tv.tga_load_level(data.filepath('level1.tga'))
+        self.tv.tga_load_level(data.filepath('levels/farm.tga'))
         self.create_display()
 
         self.selected_tool = None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/regenerate_level_data.py	Sat Sep 05 14:40:58 2009 +0000
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+
+import os.path
+
+import pygame
+from pygame.locals import SWSURFACE, SRCALPHA
+
+from gamelib import tiles, buildings
+import regenerate_pngs
+
+LEVEL_PATH = "data/levels"
+TILE_WIDTH = 20
+TILE_HEIGHT = 20
+TILES_X = 8
+TILES_Y = 8
+WIDTH = TILES_X * TILE_WIDTH
+HEIGHT = TILES_Y * TILE_HEIGHT
+
+def generate_image(name, basepath):
+    fn, _ = os.path.splitext(os.path.basename(name))
+    svg_name = os.path.join(basepath, fn+".svg")
+    png_name = os.path.join(LEVEL_PATH, fn+".png")
+    regenerate_pngs.svg_to_png(svg_name, png_name, TILE_WIDTH, TILE_HEIGHT)
+    return pygame.image.load(png_name)
+
+def get_tile_mappings():
+    tile_map = {}
+    for building in buildings.BUILDINGS:
+        tn = building.TILE_NO
+        tile_map[tn] = generate_image(building.IMAGE, regenerate_pngs.SPRITE_PATH)
+    for tn, (_, tile_png) in tiles.TileMap.DEFAULT_TILES.items():
+        if tn not in tile_map:
+            tile_map[tn] = generate_image(tile_png, regenerate_pngs.TILE_PATH)
+    return tile_map
+
+if __name__ == '__main__':
+    s = pygame.Surface((WIDTH, HEIGHT), SWSURFACE|SRCALPHA, 32)
+    s.fill((0,0,0,0))
+    for n, img in get_tile_mappings().items():
+        rect = (TILE_WIDTH*(n % TILES_X), TILE_HEIGHT*(n / TILES_X), TILE_WIDTH, TILE_HEIGHT)
+        print n, rect
+        s.blit(img, rect)
+    pygame.image.save(s, os.path.join(LEVEL_PATH, "tiles.tga"))