Mercurial > rinkhals
comparison gamelib/tiles.py @ 303:e12d99215b74
Fix up data module unix-to-local path fixing. Fix similar problems in tile importing.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sat, 05 Sep 2009 17:35:17 +0000 |
parents | e694aa7731ed |
children | a8a7ada27fa2 |
comparison
equal
deleted
inserted
replaced
302:01c1682dc250 | 303:e12d99215b74 |
---|---|
1 """Extension to pgu's tilevid.""" | 1 """Extension to pgu's tilevid.""" |
2 | 2 |
3 from pgu import tilevid, vid | 3 from pgu import tilevid, vid |
4 import os | 4 import os |
5 import data | |
5 import imagecache | 6 import imagecache |
6 | 7 |
7 class TileMap(object): | 8 class TileMap(object): |
8 """Helper class for describing all the game tiles.""" | 9 """Helper class for describing all the game tiles.""" |
9 | 10 |
76 tilevid.Tilevid.__init__(self) | 77 tilevid.Tilevid.__init__(self) |
77 self.sprites = FarmSprites() | 78 self.sprites = FarmSprites() |
78 | 79 |
79 def png_folder_load_tiles(self, path): | 80 def png_folder_load_tiles(self, path): |
80 """Load tiles from a folder of PNG files.""" | 81 """Load tiles from a folder of PNG files.""" |
81 for dirpath, dirnames, filenames in os.walk(path): | 82 full_path = data.filepath(path) |
82 abstract_dirpath = "/".join(dirpath.split(os.path.sep)) | 83 for dirpath, dirnames, filenames in os.walk(full_path): |
84 relative_path = dirpath[len(full_path):] | |
85 relative_path = "/".join(relative_path.split(os.path.sep)) | |
83 for filename in filenames: | 86 for filename in filenames: |
84 image_name = abstract_dirpath + "/" + filename | 87 image_name = "/".join([path, relative_path, filename]) |
85 for tile_no in TILE_MAP.tiles_for_image(filename): | 88 for tile_no in TILE_MAP.tiles_for_image(filename): |
86 tile_name = TILE_MAP[tile_no] | 89 tile_name = TILE_MAP[tile_no] |
87 self.tiles[tile_no] = FarmTile(tile_no, tile_name, image_name) | 90 self.tiles[tile_no] = FarmTile(tile_no, tile_name, image_name) |
88 | 91 |
89 def sun(self, sun_on): | 92 def sun(self, sun_on): |