# HG changeset patch # User Jeremy Thurgood # Date 1315950573 -7200 # Node ID 41e8d4ce3af24078f1c9571598c28b3216a56a29 # Parent 7fbbe27120a953b44d0dc95cc0aaf4bdb989e1a6 TileSprites are less magic. diff -r 7fbbe27120a9 -r 41e8d4ce3af2 mamba/level.py --- a/mamba/level.py Tue Sep 13 23:24:20 2011 +0200 +++ b/mamba/level.py Tue Sep 13 23:49:33 2011 +0200 @@ -35,7 +35,7 @@ } THING_MAP = { - 'a': mktile(sprites.BaseSprite, image_name='red'), + 'a': mktile(sprites.TileSprite, image_name='red'), } @@ -46,7 +46,7 @@ def load_tiles(self): self.tiles = {} - self.floor = sprites.TileSprite(tileset=self.name, + self.floor = sprites.TileSprite('.', tileset=self.name, image_name='floor').image for name, value in TILE_MAP.items(): if value is not None: diff -r 7fbbe27120a9 -r 41e8d4ce3af2 mamba/sprites.py --- a/mamba/sprites.py Tue Sep 13 23:24:20 2011 +0200 +++ b/mamba/sprites.py Tue Sep 13 23:49:33 2011 +0200 @@ -82,11 +82,8 @@ variants_class = InvariantSpriteImageVariants variants = None - def __init__(self, tile_char=None, tileset=None, image_name=None, - mutators=(), solid=False): + def __init__(self, tileset=None, image_name=None, mutators=()): super(BaseSprite, self).__init__() - self.tile_char = tile_char - self.solid = solid if tileset is not None: self.tileset = tileset if image_name is not None: @@ -109,16 +106,17 @@ def use_variant(self, *args): self.image = self.load_image(*self.get_variant(*args)) + +class TileSprite(BaseSprite): + def __init__(self, tile_char, solid=False, **kw): + super(TileSprite, self).__init__(**kw) + self.tile_char = tile_char + self.solid = solid + def get_solid(self, snake_mutations): return self.solid -class TileSprite(BaseSprite): - def __init__(self, tileset, **kw): - kw['tileset'] = tileset - super(TileSprite, self).__init__(**kw) - - class SingleImageTileSprite(TileSprite): image_name = None # subclasses will override this