From 521a41f028a8e0090aed2f91664d7f549d60e9fa Mon Sep 17 00:00:00 2001 From: "jason@long.name" Date: Sun, 1 Sep 2013 16:32:25 +0000 Subject: [PATCH] tiles.rc: use description numbers from tiles.rc rather than hardcoded numbers git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@821 d9718cc8-9f43-0410-858b-315f434eb58c --- src/micropolisj/engine/Micropolis.java | 2 +- src/micropolisj/engine/TileConstants.java | 23 +++++++---------------- src/micropolisj/engine/Tiles.java | 5 ----- src/micropolisj/gui/NotificationPane.java | 2 +- 4 files changed, 9 insertions(+), 23 deletions(-) diff --git a/src/micropolisj/engine/Micropolis.java b/src/micropolisj/engine/Micropolis.java index 30a5daf..802e146 100644 --- a/src/micropolisj/engine/Micropolis.java +++ b/src/micropolisj/engine/Micropolis.java @@ -2549,7 +2549,7 @@ public class Micropolis public ZoneStatus queryZoneStatus(int xpos, int ypos) { ZoneStatus zs = new ZoneStatus(); - zs.building = getBuildingId(getTile(xpos, ypos)); + zs.building = getDescriptionNumber(getTile(xpos, ypos)); int z; z = (popDensity[ypos/2][xpos/2] / 64) % 4; diff --git a/src/micropolisj/engine/TileConstants.java b/src/micropolisj/engine/TileConstants.java index 664d0d5..23d35dc 100644 --- a/src/micropolisj/engine/TileConstants.java +++ b/src/micropolisj/engine/TileConstants.java @@ -208,16 +208,6 @@ public class TileConstants private TileConstants() {} - private static int [] buildingBases = { - DIRT, RIVER, TREEBASE, RUBBLE, - FLOOD, RADTILE, FIRE, ROADBASE, - POWERBASE, RAILBASE, RESBASE, COMBASE, - INDBASE, PORTBASE, AIRPORTBASE, COALBASE, - FIRESTBASE, POLICESTBASE, STADIUMBASE, NUCLEARBASE, - HBRDG0, RADAR_ANIM, FOUNTAIN, INDBASE2, - FOOTBALLGAME1, VBRDG0, URANIUM_FUEL, LAST_TILE - }; - /** * Checks whether the tile can be auto-bulldozed for * placement of road, rail, or wire. @@ -253,14 +243,15 @@ public class TileConstants } //used by queryZoneStatus - public static int getBuildingId(int tile) + public static int getDescriptionNumber(int tile) { tile &= LOMASK; - int i = Arrays.binarySearch(buildingBases, tile); - if (i >= 0) { - return i; - } else { - return -i - 2; + TileSpec ts = Tiles.get(tile); + if (ts != null) { + return ts.getDescriptionNumber(); + } + else { + return -1; } } diff --git a/src/micropolisj/engine/Tiles.java b/src/micropolisj/engine/Tiles.java index aac9ea5..db334f6 100644 --- a/src/micropolisj/engine/Tiles.java +++ b/src/micropolisj/engine/Tiles.java @@ -106,11 +106,6 @@ public class Tiles { for (int i = 0; i < tiles.length; i++) { // do something here - int old = TileConstants.getBuildingId(i); - int n = Tiles.get(i).getDescriptionNumber(); - if (old != n) { - System.err.println("Tile "+i+": expected "+old+" but got "+n); - } } } } diff --git a/src/micropolisj/gui/NotificationPane.java b/src/micropolisj/gui/NotificationPane.java index 38d69f3..f46d30c 100644 --- a/src/micropolisj/gui/NotificationPane.java +++ b/src/micropolisj/gui/NotificationPane.java @@ -114,7 +114,7 @@ public class NotificationPane extends JPanel headerLbl.setText(strings.getString("notification.query_hdr")); headerLbl.setBackground(QUERY_COLOR); - String buildingStr = s_strings.getString("zone."+zone.building); + String buildingStr = zone.building != -1 ? s_strings.getString("zone."+zone.building) : ""; String popDensityStr = s_strings.getString("status."+zone.popDensity); String landValueStr = s_strings.getString("status."+zone.landValue); String crimeLevelStr = s_strings.getString("status."+zone.crimeLevel);