From ec7641eadfec7e76ab9cbb91279b6c63c95cf163 Mon Sep 17 00:00:00 2001 From: Jason Long Date: Wed, 7 Jan 2015 21:16:40 -0500 Subject: [PATCH] MakeTiles: abstract tile mapping into prepareFrames() method --- src/micropolisj/build_tool/MakeTiles.java | 48 ++++++++++++----------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/micropolisj/build_tool/MakeTiles.java b/src/micropolisj/build_tool/MakeTiles.java index 061b9e3..a6eec56 100644 --- a/src/micropolisj/build_tool/MakeTiles.java +++ b/src/micropolisj/build_tool/MakeTiles.java @@ -173,29 +173,7 @@ public class MakeTiles continue; } - TileImage dest; - - if (ref.getFrameEndTime(0) > 0) { - - Animation ani = new Animation(); - int t = 0; - int n = ref.getFrameEndTime(t); - while (n > 0) { - TileImageSprite s = c.prepareTile(TILE_SIZE); - Animation.Frame f = new Animation.Frame(s, n-t); - - ani.addFrame(f); - - t = n; - n = ref.getFrameEndTime(t); - } - dest = ani; - } - else { - TileImageSprite s = c.prepareTile(TILE_SIZE); - dest = s; - } - + TileImage dest = prepareFrames(ref, c); TileMapping m = new TileMapping(tileName, ref, dest); mappings.add(m); } @@ -236,6 +214,30 @@ public class MakeTiles writeIndexFile(mappings, indexFile); } + static TileImage prepareFrames(TileImage ref, Composer c) + { + if (ref.getFrameEndTime(0) > 0) { + + Animation ani = new Animation(); + int t = 0; + int n = ref.getFrameEndTime(t); + while (n > 0) { + TileImageSprite s = c.prepareTile(TILE_SIZE); + Animation.Frame f = new Animation.Frame(s, n-t); + + ani.addFrame(f); + + t = n; + n = ref.getFrameEndTime(t); + } + return ani; + } + else { + TileImageSprite s = c.prepareTile(TILE_SIZE); + return s; + } + } + static void writeIndexFile(Collection mappings, File indexFile) throws IOException {