# HG changeset patch # User fred@reichbier.de # Date 1216318764 -7200 # Node ID f193d0c14685eaeff7a47660d3293aef20af2a9f # Parent a2d653eb9e99f54a287bc14e4d7f6525549c6332 layer support diff -r a2d653eb9e99 -r f193d0c14685 src/test.d --- a/src/test.d Thu Jul 17 18:52:55 2008 +0200 +++ b/src/test.d Thu Jul 17 20:19:24 2008 +0200 @@ -10,15 +10,22 @@ import imagecache; import tilemap; import tileset; +import xmlmap; +import tools; int main(char[][] args) { +// Tilemap map = parse_map(read_file_contents("map-example.xml")); Cache cache = new Cache("gfx"); Tileset tileset = new Tileset(cache); Tilemap map = new Tilemap(tileset, 5, 5, 32, 32); tileset.add_tile(0, "grass.png"); + tileset.add_tile(1, "grass-stone-water-east.png"); for(int x=0; x < 5; x++) { - map.map[x][x] = 0; + for(int y=0; y < 5; y++) { + map.map[0][x][y] = 0; + } } + map.map[1][1][1] = 1; Renderer render = new Renderer("Blubb", 600, 480, 32); TileConsumer consumer = new TileConsumer(render, map); diff -r a2d653eb9e99 -r f193d0c14685 src/tilemap.d --- a/src/tilemap.d Thu Jul 17 18:52:55 2008 +0200 +++ b/src/tilemap.d Thu Jul 17 20:19:24 2008 +0200 @@ -11,7 +11,7 @@ typedef Sprite[] SpriteArray; class Tilemap { - public int[int][int] map; + public int[int][int][int] map; // Layer: x: y: Tile-ID private Tileset tileset; public int width, height, tilewidth, tileheight; @@ -37,16 +37,18 @@ SpriteArray sprites; Sprite sprite; int real_x, real_y; - for(int x=0; x