From e2e67a18108340bb40f11e5f8b8e11017e170efa Mon Sep 17 00:00:00 2001 From: Jason Long Date: Thu, 8 Jan 2015 08:33:04 -0500 Subject: [PATCH] MakeTiles: impl ComposeFrame class, to track where a composed frame came from --- src/micropolisj/build_tool/MakeTiles.java | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/micropolisj/build_tool/MakeTiles.java b/src/micropolisj/build_tool/MakeTiles.java index 0a15d77..be2bcb4 100644 --- a/src/micropolisj/build_tool/MakeTiles.java +++ b/src/micropolisj/build_tool/MakeTiles.java @@ -60,6 +60,17 @@ public class MakeTiles } } + static class ComposeFrame extends TileImageSprite + { + TileImage refImage; + + ComposeFrame(ComposeBuffer parentBuffer, TileImage refImage) + { + super(parentBuffer); + this.refImage = refImage; + } + } + static class ComposeBuffer extends TileImage { File outFile; @@ -77,9 +88,9 @@ public class MakeTiles this.useAlpha = useAlpha; } - TileImageSprite prepareTile(Dimension size) + TileImageSprite prepareTile(Dimension size, TileImage refImage) { - TileImageSprite s = new TileImageSprite(this); + TileImageSprite s = new ComposeFrame(this, refImage); s.offsetY = this.nextOffsetY + size.height - TILE_SIZE; this.nextOffsetY += size.height; this.maxWidth = Math.max(maxWidth, size.width); @@ -113,9 +124,10 @@ public class MakeTiles this.stanTiles = new ComposeBuffer(outputDir, "tiles.png", false); } - TileImageSprite prepareTile(int size) + TileImageSprite prepareTile(TileImage refImage) { - return stanTiles.prepareTile(new Dimension(size, size)); + Dimension size = new Dimension(TILE_SIZE, TILE_SIZE); + return stanTiles.prepareTile(size, refImage); } void createBuffers() @@ -225,7 +237,7 @@ public class MakeTiles return dest; } else { - TileImageSprite s = c.prepareTile(TILE_SIZE); + TileImageSprite s = c.prepareTile(ref); return s; } }