|
From: <bur...@us...> - 2010-04-18 10:21:26
|
Revision: 6764
http://freecol.svn.sourceforge.net/freecol/?rev=6764&view=rev
Author: burschik
Date: 2010-04-18 10:21:20 +0000 (Sun, 18 Apr 2010)
Log Message:
-----------
Let ResourceManager handle beaches.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/client/gui/CanvasMapEditorMouseListener.java
freecol/trunk/src/net/sf/freecol/client/gui/ImageLibrary.java
freecol/trunk/src/net/sf/freecol/client/gui/panel/RiverStylePanel.java
freecol/trunk/src/net/sf/freecol/common/io/FreeColTcFile.java
freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java
freecol/trunk/src/net/sf/freecol/common/model/TileType.java
freecol/trunk/src/net/sf/freecol/common/resources/ResourceManager.java
Added Paths:
-----------
freecol/trunk/data/freecol/resources/images/terrain/
freecol/trunk/data/freecol/resources/images/terrain/beach/
Removed Paths:
-------------
freecol/trunk/data/images/terrain/beach/
Modified: freecol/trunk/src/net/sf/freecol/client/gui/CanvasMapEditorMouseListener.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/CanvasMapEditorMouseListener.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/client/gui/CanvasMapEditorMouseListener.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -44,7 +44,7 @@
import net.sf.freecol.common.model.Map.Position;
import net.sf.freecol.common.model.Tile;
import net.sf.freecol.common.model.TileImprovement;
-import net.sf.freecol.common.model.TileType;
+import net.sf.freecol.common.resources.ResourceManager;
import net.sf.freecol.server.generator.TerrainGenerator;
/**
@@ -155,7 +155,7 @@
// user canceled
} else if (style == 0) {
tile.getTileItemContainer().removeTileItem(river);
- } else if (0 < style && style < ImageLibrary.RIVER_STYLES) {
+ } else if (0 < style && style < ResourceManager.RIVER_STYLES) {
river.setStyle(style);
} else {
logger.warning("Unknown river style: " + style);
Modified: freecol/trunk/src/net/sf/freecol/client/gui/ImageLibrary.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/ImageLibrary.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/client/gui/ImageLibrary.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -71,9 +71,6 @@
private static final Logger logger = Logger.getLogger(ImageLibrary.class.getName());
- public static final int RIVER_STYLES = 81;
- public static final int BEACH_STYLES = 256;
-
public static final String UNIT_SELECT = "unitSelect.image",
DELETE = "delete.image",
PLOWED = "model.improvement.plow.image",
@@ -85,26 +82,18 @@
private static final String path = new String("images/"),
extension = new String(".png"),
terrainDirectory = new String("terrain/"),
- beachDirectory = new String("beach/"),
- beachName = new String("beach"),
tileName = new String("center"),
borderName = new String("border"),
unexploredDirectory = new String("unexplored/"),
- unexploredName = new String("unexplored"),
- riverDirectory = new String("river/"),
- riverName = new String("river");
+ unexploredName = new String("unexplored");
private final String dataDirectory;
/**
* A ArrayList of Image objects.
*/
- private List<ImageIcon> rivers;
-
- private List<ImageIcon> beaches;
-
private Map<String, ImageIcon> terrain1, terrain2, overlay1, overlay2,
- forests, deltas;
+ forests;
private Map<String, ArrayList<ImageIcon>> border1, border2, coast1, coast2;
@@ -181,7 +170,6 @@
loadTerrain(gc, resourceLocator, doLookup);
loadForests(gc, resourceLocator, doLookup);
- loadBeaches(gc, resourceLocator, doLookup);
}
/**
@@ -201,10 +189,6 @@
*/
public ImageLibrary getScaledImageLibrary(float scalingFactor) throws FreeColException {
ImageLibrary scaledLibrary = new ImageLibrary("", scalingFactor);
- scaledLibrary.beaches = scaleImages(beaches, scalingFactor);
- scaledLibrary.rivers = scaleImages(rivers, scalingFactor);
- scaledLibrary.deltas = scaleImages(deltas, scalingFactor);
-
scaledLibrary.terrain1 = scaleImages(terrain1, scalingFactor);
scaledLibrary.terrain2 = scaleImages(terrain2, scalingFactor);
scaledLibrary.overlay1 = scaleImages(overlay1, scalingFactor);
@@ -368,19 +352,6 @@
border1.put(type.getId(), tempArrayList1);
border2.put(type.getId(), tempArrayList2);
- if (type.getArtCoast() != null) {
- tempArrayList1 = new ArrayList<ImageIcon>();
- tempArrayList2 = new ArrayList<ImageIcon>();
- for (Direction direction : Direction.values()) {
- filePath = dataDirectory + path + type.getArtCoast() + borderName + "_" +
- direction.toString();
- tempArrayList1.add(findImage(filePath + "_even" + extension, resourceLocator, doLookup));
- tempArrayList2.add(findImage(filePath + "_odd" + extension, resourceLocator, doLookup));
- }
-
- coast1.put(type.getId(), tempArrayList1);
- coast2.put(type.getId(), tempArrayList2);
- }
}
String unexploredPath = dataDirectory + path + terrainDirectory + unexploredDirectory + tileName;
@@ -401,33 +372,6 @@
}
/**
- * Loads the beach images from file into memory.
- *
- * @param gc The GraphicsConfiguration is needed to create images that are
- * compatible with the local environment.
- * @param resourceLocator The class that is used to locate data files.
- * @param doLookup Must be set to 'false' if the path to the image files has
- * been manually provided by the user. If set to 'true' then a
- * lookup will be done to search for image files from
- * net.sf.freecol, in this case the images need to be placed in
- * net.sf.freecol/images.
- * @throws FreeColException If one of the data files could not be found.
- */
- private void loadBeaches(GraphicsConfiguration gc, Class<FreeCol> resourceLocator, boolean doLookup)
- throws FreeColException {
- logger.fine("loading beach images");
- beaches = new ArrayList<ImageIcon>(BEACH_STYLES);
- for (int i = 1; i < BEACH_STYLES; i++) {
- String filePath = dataDirectory + path + terrainDirectory + beachDirectory
- + beachName + i + extension;
- beaches.add(findImage(filePath, resourceLocator, doLookup));
- }
- // beach0 is never used
- beaches.add(0, beaches.get(0));
-
- }
-
- /**
* Loads the forest images from file into memory.
*
* @param gc The GraphicsConfiguration is needed to create images that are
@@ -728,7 +672,7 @@
* @return The image at the given index.
*/
public Image getBeachImage(int index) {
- return beaches.get(index).getImage();
+ return ResourceManager.getImage("beach" + index);
}
/**
Modified: freecol/trunk/src/net/sf/freecol/client/gui/panel/RiverStylePanel.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/client/gui/panel/RiverStylePanel.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/client/gui/panel/RiverStylePanel.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -29,6 +29,7 @@
import net.sf.freecol.client.gui.Canvas;
import net.sf.freecol.client.gui.i18n.Messages;
+import net.sf.freecol.common.resources.ResourceManager;
/**
@@ -60,7 +61,7 @@
deleteButton.setActionCommand(String.valueOf(DELETE));
deleteButton.addActionListener(this);
stylesPanel.add(deleteButton);
- for (int index = 1; index < getLibrary().RIVER_STYLES; index++) {
+ for (int index = 1; index < ResourceManager.RIVER_STYLES; index++) {
JButton riverButton = new JButton(getLibrary().getScaledImageIcon(getLibrary().getRiverImage(index), 0.5f));
riverButton.setActionCommand(String.valueOf(index));
riverButton.addActionListener(this);
Modified: freecol/trunk/src/net/sf/freecol/common/io/FreeColTcFile.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/io/FreeColTcFile.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/common/io/FreeColTcFile.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -27,10 +27,10 @@
import net.sf.freecol.common.model.Map.Direction;
import net.sf.freecol.common.model.ResourceType;
import net.sf.freecol.common.model.Specification;
-import net.sf.freecol.common.model.TileImprovementType;
import net.sf.freecol.common.model.Unit.Role;
import net.sf.freecol.common.model.UnitType;
import net.sf.freecol.common.resources.ResourceFactory;
+import net.sf.freecol.common.resources.ResourceManager;
import net.sf.freecol.common.resources.ResourceMapping;
/**
@@ -65,6 +65,7 @@
result = new ResourceMapping();
}
result.addAll(createRiverMapping());
+ result.addAll(createBeachMapping());
result.addAll(super.getResourceMapping());
} catch (IOException e) {
throw new RuntimeException(e);
@@ -133,7 +134,7 @@
ResourceMapping map = new ResourceMapping();
String pathPrefix = "resources/images/river/";
String key, path;
- for (int index = 0; index < TileImprovementType.RIVER_STYLES; index++) {
+ for (int index = 0; index < ResourceManager.RIVER_STYLES; index++) {
path = pathPrefix +"river" + index + ".png";
map.add("river" + index, ResourceFactory.createResource(getURI(path)));
}
@@ -148,4 +149,16 @@
return map;
}
+ public ResourceMapping createBeachMapping() {
+ ResourceMapping map = new ResourceMapping();
+ String pathPrefix = "resources/images/terrain/beach/";
+ String key, path;
+ // beach0 is never used
+ for (int index = 1; index < ResourceManager.BEACH_STYLES; index++) {
+ path = pathPrefix +"beach" + index + ".png";
+ map.add("beach" + index, ResourceFactory.createResource(getURI(path)));
+ }
+ return map;
+ }
+
}
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileImprovementType.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -33,9 +33,6 @@
public final class TileImprovementType extends FreeColGameObjectType {
- // the number of different river styles
- public static final int RIVER_STYLES = 81;
-
private static int nextIndex = 0;
private boolean natural;
Modified: freecol/trunk/src/net/sf/freecol/common/model/TileType.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/model/TileType.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/common/model/TileType.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -40,7 +40,6 @@
private String artBasic;
private String artOverlay;
private String artForest;
- private String artCoast;
private boolean forest;
private boolean water;
@@ -112,10 +111,6 @@
return artForest;
}
- public String getArtCoast() {
- return artCoast;
- }
-
public boolean isForested() {
return forest;
}
@@ -395,7 +390,6 @@
artBasic = in.getAttributeValue(null, "basic");
artOverlay = in.getAttributeValue(null, "overlay");
artForest = in.getAttributeValue(null, "forest");
- artCoast = getAttribute(in, "coast", (water ? null : "terrain/beach/"));
in.nextTag(); // close this element
} else if ("gen".equals(childName)) {
humidity[0] = getAttribute(in, "humidityMin", 0);
Modified: freecol/trunk/src/net/sf/freecol/common/resources/ResourceManager.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/common/resources/ResourceManager.java 2010-04-18 08:45:19 UTC (rev 6763)
+++ freecol/trunk/src/net/sf/freecol/common/resources/ResourceManager.java 2010-04-18 10:21:20 UTC (rev 6764)
@@ -38,6 +38,12 @@
*/
public class ResourceManager {
+ // the number of different river styles
+ public static final int RIVER_STYLES = 81;
+
+ // the number of different beach styles
+ public static final int BEACH_STYLES = 256;
+
/*
* The following fields are mappings from resource IDs
* to resources. A mapping is defined within a specific
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|