diff --git a/build.xml b/build.xml index 37e7609..dd3ad6c 100644 --- a/build.xml +++ b/build.xml @@ -50,6 +50,12 @@ + + + + + diff --git a/src/micropolisj/gui/MainWindow.java b/src/micropolisj/gui/MainWindow.java index 7ad7f42..2d990bf 100644 --- a/src/micropolisj/gui/MainWindow.java +++ b/src/micropolisj/gui/MainWindow.java @@ -996,7 +996,7 @@ public class MainWindow extends JFrame int oldZoom = drawingArea.getTileSize(); int newZoom = zoomOut ? (oldZoom / 2) : (oldZoom * 2); - if (newZoom < 16) { newZoom = 16; } + if (newZoom < 8) { newZoom = 8; } if (newZoom > 32) { newZoom = 32; } if (oldZoom != newZoom) diff --git a/src/micropolisj/gui/TileImages.java b/src/micropolisj/gui/TileImages.java index 0fe9707..b8630ee 100644 --- a/src/micropolisj/gui/TileImages.java +++ b/src/micropolisj/gui/TileImages.java @@ -29,17 +29,22 @@ public class TileImages this.TILE_WIDTH = size; this.TILE_HEIGHT = size; - //if (size != 16) { - // this.images = loadTileImages("/tiles_"+size+"x"+size+".png", size); - //} - //else { + if (size != 16) { + this.images = loadTileImages("/tiles_"+size+"x"+size+".png", size); + } + else { this.images = loadTileImages("/tiles.png", 16); - //} + } } + static Map savedInstances = new HashMap(); + public static TileImages getInstance(int size) { - return new TileImages(size); + if (!savedInstances.containsKey(size)) { + savedInstances.put(size, new TileImages(size)); + } + return savedInstances.get(size); } public Image getTileImage(int cell)