You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(46) |
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(51) |
Feb
(10) |
Mar
|
Apr
|
May
(14) |
Jun
|
Jul
(13) |
Aug
(30) |
Sep
(83) |
Oct
(56) |
Nov
(148) |
Dec
(107) |
2010 |
Jan
(260) |
Feb
(164) |
Mar
(183) |
Apr
(99) |
May
(160) |
Jun
(40) |
Jul
(33) |
Aug
(48) |
Sep
(22) |
Oct
(24) |
Nov
(1) |
Dec
(12) |
2011 |
Jan
(6) |
Feb
(15) |
Mar
(13) |
Apr
(37) |
May
(27) |
Jun
(29) |
Jul
(33) |
Aug
(20) |
Sep
(17) |
Oct
(20) |
Nov
(33) |
Dec
(17) |
2012 |
Jan
(39) |
Feb
(38) |
Mar
(20) |
Apr
(21) |
May
(17) |
Jun
(22) |
Jul
(16) |
Aug
(3) |
Sep
(9) |
Oct
(10) |
Nov
|
Dec
|
From: Erik V. <ev...@us...> - 2010-02-03 20:21:27
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2061/rails/ui/swing Modified Files: ORUIManager.java Log Message: Some formatting Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** ORUIManager.java 3 Feb 2010 20:16:36 -0000 1.50 --- ORUIManager.java 3 Feb 2010 20:21:16 -0000 1.51 *************** *** 628,638 **** String selected = (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken", ! action.getPlayerName(), ! selectedHex.getName(), ! action.getCompanyName()), ! LocalText.getText("WhichStation"), ! JOptionPane.PLAIN_MESSAGE, null, ! prompts.toArray(), prompts.get(0)); if (selected == null) return; station = promptToCityMap.get(selected).getNumber(); --- 628,638 ---- String selected = (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken", ! action.getPlayerName(), ! selectedHex.getName(), ! action.getCompanyName()), ! LocalText.getText("WhichStation"), ! JOptionPane.PLAIN_MESSAGE, null, ! prompts.toArray(), prompts.get(0)); if (selected == null) return; station = promptToCityMap.get(selected).getNumber(); |
From: Erik V. <ev...@us...> - 2010-02-03 20:21:05
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2038 Modified Files: LocalisedText.properties Log Message: Home base on green OO tile can now be chosen in first turn Index: LocalisedText.properties =================================================================== RCS file: /cvsroot/rails/18xx/LocalisedText.properties,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -d -r1.104 -r1.105 *** LocalisedText.properties 3 Feb 2010 05:37:55 -0000 1.104 --- LocalisedText.properties 3 Feb 2010 20:20:57 -0000 1.105 *************** *** 372,376 **** SelectTrain=Select a train and press OK, or press Done. SelectCheapTrain=You can buy a cheaper new train by using {0}. ! SelectStationForToken=Select a station on this tile for this token SelectStationForTokenOption=Place token in station {0} with tracks to {1} SelectForAuctioning=\n{0} selects {1} for auctioning --- 372,376 ---- SelectTrain=Select a train and press OK, or press Done. SelectCheapTrain=You can buy a cheaper new train by using {0}. ! SelectStationForToken={0}, select a station on tile {1} for the {2} home base token SelectStationForTokenOption=Place token in station {0} with tracks to {1} SelectForAuctioning=\n{0} selects {1} for auctioning |
From: Erik V. <ev...@us...> - 2010-02-03 20:17:41
|
Update of /cvsroot/rails/18xx/tools In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1357/tools Added Files: ConvertTilesXML.java Util.java MakeGameTileSets.java XmlUtils.java Log Message: Home base on green OO tile can now be chosen in first turn --- NEW FILE: XmlUtils.java --- /* $Header: /cvsroot/rails/18xx/tools/XmlUtils.java,v 1.1 2010/02/03 20:16:38 evos Exp $*/ package tools; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.*; import org.xml.sax.SAXException; import rails.game.ConfigurationException; /** * Booch utility class providing helper functions for working with XML. */ public final class XmlUtils { /** * No-args private constructor, to prevent (meaningless) construction of one * of these. */ private XmlUtils() {} /** * Extracts the String value of a given attribute from a NodeNameMap. * Returns null if no such attribute can be found. See * extractStringAttribute(NamedNodeMap nnp, String attrName, String * defaultValue) * * @param nnp the NodeNameMap to search for the Attribute * @param attrName the name of the attribute who's value is desired * @return the named attribute's value or null if absent. */ /** @deprecated */ public static String extractStringAttribute(NamedNodeMap nnp, String attrName) { return extractStringAttribute(nnp, attrName, null); } /** * Extracts the String value of a given attribute from a NodeNameMap. * Returns a default value if no such attribute can be found. * * @param nnp the NodeNameMap to search for the Attribute * @param attrName the name of the attribute who's value is desired * @param defaultValue the value to be returned if the attribute is absent. * @return the named attribute's value, or the default value if absent. */ /** @deprecated */ public static String extractStringAttribute(NamedNodeMap nnp, String attrName, String defaultValue) { if (nnp == null) return defaultValue; Node nameAttr = nnp.getNamedItem(attrName); if (nameAttr == null) return defaultValue; return nameAttr.getNodeValue(); } /** * Extracts the integer value of a given attribute from a NodeNameMap. * Returns zero if no such attribute can be found. * * @see * @param nnp the NodeNameMap to search for the Attribute * @param attrName the name of the attribute who's value is desired * @return the named attribute's value, or zero if absent. */ /** @deprecated */ public static int extractIntegerAttribute(NamedNodeMap nnp, String attrName) throws ConfigurationException { return extractIntegerAttribute(nnp, attrName, 0); } /** * Extracts the integer value of a given attribute from a NodeNameMap. * Returns a default value if no such attribute can be found. * * @see * @param nnp the NodeNameMap to search for the Attribute * @param attrName the name of the attribute who's value is desired. * @param defaultValue The value returned if the attribute is absent. * @return the named attribute's value or the dedault value. */ /** @deprecated */ public static int extractIntegerAttribute(NamedNodeMap nnp, String attrName, int defaultValue) throws ConfigurationException { if (nnp == null) return defaultValue; Node nameAttr = nnp.getNamedItem(attrName); if (nameAttr == null) { return defaultValue; } String value = nameAttr.getNodeValue(); try { return Integer.parseInt(value); } catch (Exception e) { throw new ConfigurationException("Invalid integer value: " + value, e); } } /** * Extracts the boolean value of a given attribute from a NodeNameMap. Any * string that starts with T or t (for "true") or Y or y (for "yes") is * considered to represent true, all other values will produce false. * * @param nnp The NodeNameMap to search for the Attribute * @param attrName The name of the attribute who's value is desired * @return The named attribute's value, or false if absent. */ /** @deprecated */ public static boolean extractBooleanAttribute(NamedNodeMap nnp, String attrName) throws ConfigurationException { return extractBooleanAttribute(nnp, attrName, false); } /** * Extracts the boolean value of a given attribute from a NodeNameMap. * Returns a default value if no such attribute can be found. Any string * that starts with T or t (for "true") or Y or y (for "yes") is considered * to represent true, all other values will produce false. * * @param nnp The NodeNameMap to search for the Attribute * @param attrName The name of the attribute who's value is desired * @param defaultValue The value returned if the attribute is absent. * @return The named attribute's value or the default value. */ /** @deprecated */ public static boolean extractBooleanAttribute(NamedNodeMap nnp, String attrName, boolean defaultValue) throws ConfigurationException { if (nnp == null) return defaultValue; Node nameAttr = nnp.getNamedItem(attrName); if (nameAttr == null) { return defaultValue; } String value = nameAttr.getNodeValue(); return value.matches("^[TtYy].*"); } /** @deprecated */ public static int[] extractIntegerArrayAttribute(NamedNodeMap nnp, String attrName) throws ConfigurationException { if (nnp == null) return null; Node nameAttr = nnp.getNamedItem(attrName); if (nameAttr == null) return new int[0]; String[] values = nameAttr.getNodeValue().split(","); int[] result = new int[values.length]; int i = 0; try { for (i = 0; i < values.length; i++) { result[i] = Integer.parseInt(values[i]); } } catch (NumberFormatException e) { throw new ConfigurationException("Invalid integer '" + values[i] + "' in attribute '" + attrName + "'"); } return result; } /** * Opens and parses an xml file. Searches the root level of the file for an * element with the supplied name. * * @param fileName the name of the file to open * @param elementName the name of the element to find * @return the named element in the named file * @throws ConfigurationException if there is any problem opening and * parsing the file, or if the file does not contain a top level element * with the given name. */ public static Element findElementInFile(String fileName, String elementName) throws ConfigurationException { Document doc = null; try { // Step 1: create a DocumentBuilderFactory and setNamespaceAware DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); // Step 2: create a DocumentBuilder DocumentBuilder db = dbf.newDocumentBuilder(); // Step 3: parse the input file to get a Document object doc = db.parse(Util.getStreamForFile(fileName)); } catch (ParserConfigurationException e) { throw new ConfigurationException("Could not read/parse " + fileName + " to find element " + elementName, e); } catch (SAXException e) { throw new ConfigurationException("Could not read/parse " + fileName + " to find element " + elementName, e); } catch (IOException e) { throw new ConfigurationException("Could not read/parse " + fileName + " to find element " + elementName, e); } if (doc == null) { throw new ConfigurationException("Cannot find file " + fileName); } // Now find the named Element NodeList nodeList = doc.getChildNodes(); for (int iNode = 0; (iNode < nodeList.getLength()); iNode++) { Node childNode = nodeList.item(iNode); if ((childNode != null) && (childNode.getNodeName().equals(elementName)) && (childNode.getNodeType() == Node.ELEMENT_NODE)) { return (Element) childNode; } } throw new ConfigurationException("Could not find " + elementName + " in " + fileName); } } --- NEW FILE: Util.java --- /* $Header: /cvsroot/rails/18xx/tools/Util.java,v 1.1 2010/02/03 20:16:38 evos Exp $*/ package tools; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public final class Util { /** * No-args private constructor, to prevent (meaningless) construction of one * of these. */ private Util() {} public static boolean hasValue(String s) { return s != null && !s.equals(""); } /** * Open an input stream from a file, which may exist as a physical file or * in a JAR file. The name must be valid for both options. * * @author Erik Vos */ public static InputStream getStreamForFile(String fileName) throws IOException { File file = new File(fileName); if (file.exists()) { return new FileInputStream(file); } else { return null; } } } --- NEW FILE: ConvertTilesXML.java --- package tools; import java.io.*; import java.util.*; import java.util.regex.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.*; import rails.game.ConfigurationException; import rails.util.Util; import tools.XmlUtils; /** * Convert an XML tile dictionary, as created by Marco Rocci's Tile Designer, to * an XML file for use in Rails 18xx. <p> The default names are: */ public class ConvertTilesXML { private static String inputFilePath = "tiles/TileDictionary.xml"; private static String outputFilePath = "tiles/Tiles.xml"; private static Map<String, String> colourMap, gaugeMap, sidesMap, cityMap; private static Map<String, String[]> stationMap; private static Map<String, String> junctionPosition; /** Maps non-edge non-station junctions to tracks ending there. */ private static Map<String, List<Element>> unresolvedTrack; /** Maps tracks to edge/station junctions */ private static Map<Element, String> resolvedTrack; private static Pattern namePattern = Pattern.compile("^(\\d+)(/.*)?"); Document outputDoc; Element outputJunction; String tileNo; String colour; static { colourMap = new HashMap<String, String>(); colourMap.put("tlYellow", "yellow"); colourMap.put("tlGreen", "green"); colourMap.put("tlBrown", "brown"); colourMap.put("tlGray", "gray"); colourMap.put("tlOffMap", "red"); colourMap.put("tlMapFixed", "fixed"); colourMap.put("tlMapUpgradableToYellow", "white"); colourMap.put("tlMapUpgradableToGreen", "yellow"); colourMap.put("tlMapUpgradableToBrown", "green"); stationMap = new HashMap<String, String[]>(); stationMap.put("jtWhistlestop", new String[] { "Town", "0" }); stationMap.put("jtCity", new String[] { "City", "1" }); stationMap.put("jtDoubleCity", new String[] { "City", "2" }); stationMap.put("jtTripleCity", new String[] { "City", "3" }); stationMap.put("jtQuadrupleCity", new String[] { "City", "4" }); stationMap.put("jtNone", new String[] { "", "0" }); // Note: an additional station type is "Pass". gaugeMap = new HashMap<String, String>(); gaugeMap.put("ctNormal", "normal"); gaugeMap.put("ctSmall", "narrow"); gaugeMap.put("ctUniversal", "dual"); gaugeMap.put("ctTunnel", "normal"); gaugeMap.put("ctMountain", "normal"); // 1841 Pass: Station type is changed to Pass. sidesMap = new HashMap<String, String>(); sidesMap.put("tp4SideA", "side0"); sidesMap.put("tp4SideB", "side1"); sidesMap.put("tp4SideC", "side2"); sidesMap.put("tp4SideD", "side3"); sidesMap.put("tp4SideE", "side4"); sidesMap.put("tp4SideF", "side5"); cityMap = new HashMap<String, String>(); cityMap.put("tpCenter", "0"); cityMap.put("tp1SideA", "001"); cityMap.put("tp1CornerA", "051"); cityMap.put("tp1SideB", "101"); cityMap.put("tp1CornerB", "151"); cityMap.put("tp1SideC", "201"); cityMap.put("tp1CornerC", "251"); cityMap.put("tp1SideD", "301"); cityMap.put("tp1CornerD", "351"); cityMap.put("tp1SideE", "401"); cityMap.put("tp1CornerE", "451"); cityMap.put("tp1SideF", "501"); cityMap.put("tp1CornerF", "551"); cityMap.put("tp2SideA", "002"); cityMap.put("tp2CornerA", "052"); cityMap.put("tp2SideB", "102"); cityMap.put("tp2CornerB", "152"); cityMap.put("tp2SideC", "202"); cityMap.put("tp2CornerC", "252"); cityMap.put("tp2SideD", "302"); cityMap.put("tp2CornerD", "352"); cityMap.put("tp2SideE", "402"); cityMap.put("tp2CornerE", "452"); cityMap.put("tp2SideF", "502"); cityMap.put("tp2CornerF", "552"); cityMap.put("tp3SideA", "003"); cityMap.put("tp3CornerA", "053"); cityMap.put("tp3SideB", "103"); cityMap.put("tp3CornerB", "153"); cityMap.put("tp3SideC", "203"); cityMap.put("tp3CornerC", "253"); cityMap.put("tp3SideD", "303"); cityMap.put("tp3CornerD", "353"); cityMap.put("tp3SideE", "403"); cityMap.put("tp3CornerE", "453"); cityMap.put("tp3SideF", "503"); cityMap.put("tp3CornerF", "553"); cityMap.put("tpCurve1RightA", "006"); cityMap.put("tpCurve2RightA", "007"); cityMap.put("tpCurve2LeftA", "008"); cityMap.put("tpCurve1LeftA", "009"); cityMap.put("tpCurve1RightB", "106"); cityMap.put("tpCurve2RightB", "107"); cityMap.put("tpCurve2LeftB", "108"); cityMap.put("tpCurve1LeftB", "109"); cityMap.put("tpCurve1RightC", "206"); cityMap.put("tpCurve2RightC", "207"); cityMap.put("tpCurve2LeftC", "208"); cityMap.put("tpCurve1LeftC", "209"); cityMap.put("tpCurve1RightD", "306"); cityMap.put("tpCurve2RightD", "307"); cityMap.put("tpCurve2LeftD", "308"); cityMap.put("tpCurve1LeftD", "309"); cityMap.put("tpCurve1RightE", "406"); cityMap.put("tpCurve2RightE", "407"); cityMap.put("tpCurve2LeftE", "408"); cityMap.put("tpCurve1LeftE", "409"); cityMap.put("tpCurve1RightF", "506"); cityMap.put("tpCurve2RightF", "507"); cityMap.put("tpCurve2LeftF", "508"); cityMap.put("tpCurve1LeftF", "509"); } public static void main(String[] args) { if (args != null) { if (args.length > 0) inputFilePath = args[0]; if (args.length > 1) outputFilePath = args[1]; } try { new ConvertTilesXML(); } catch (ConfigurationException e) { e.printStackTrace(); } } private ConvertTilesXML() throws ConfigurationException { Element inputTopElement = XmlUtils.findElementInFile(inputFilePath, "tiles"); try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); DOMImplementation impl = builder.getDOMImplementation(); outputDoc = impl.createDocument(null, "Tiles", null); convertXML(inputTopElement, outputDoc); TransformerFactory.newInstance().newTransformer().transform( new DOMSource(outputDoc), new StreamResult(new FileOutputStream(new File( outputFilePath)))); } catch (Exception e) { throw new ConfigurationException("Document build error", e); } } private void convertXML(Element inputElement, Document outputDoc) throws ConfigurationException { NodeList children = inputElement.getElementsByTagName("tile"); for (int i = 0; i < children.getLength(); i++) { Element inputTile = (Element) children.item(i); Element outputTile = outputDoc.createElement("Tile"); outputDoc.getDocumentElement().appendChild(outputTile); convertTile(inputTile, outputTile); } } private void convertTile(Element inputTile, Element outputTile) throws ConfigurationException { String id = inputTile.getElementsByTagName("ID").item(0).getFirstChild().getNodeValue(); System.out.println(id); tileNo = id; outputTile.setAttribute("id", id); // int intId; try { Integer.parseInt(id); } catch (NumberFormatException e) { throw new ConfigurationException("Non-numeric ID: " + id, e); } String level = inputTile.getElementsByTagName("level").item(0).getFirstChild().getNodeValue(); colour = colourMap.get(level); if (colour == null) { throw new ConfigurationException("Unknown level: " + level); } else { outputTile.setAttribute("colour", colour); } String name = inputTile.getElementsByTagName("name").item(0).getFirstChild().getNodeValue(); Matcher m = namePattern.matcher(name); if (m.matches()) { outputTile.setAttribute("name", m.group(1)); } else outputTile.setAttribute("name", name); // The below does not work for "B+" /* * if (intId > 0) { throw new ConfigurationException("Tile with ID=" + * id + " has a name not starting with a number: " + name); } */ /* * Create map to hold the station 'identifiers', which are referred to * in the track definitions. */ junctionPosition = new HashMap<String, String>(); outputJunction = null; Element junctions = (Element) inputTile.getElementsByTagName("junctions").item(0); NodeList children = junctions.getElementsByTagName("junction"); for (int i = 0; i < children.getLength(); i++) { Element inputJunction = (Element) children.item(i); outputJunction = outputDoc.createElement("Station"); outputTile.appendChild(outputJunction); convertJunction(i, inputJunction, outputJunction); } unresolvedTrack = new HashMap<String, List<Element>>(); resolvedTrack = new HashMap<Element, String>(); Element connections = (Element) inputTile.getElementsByTagName("connections").item(0); children = connections.getElementsByTagName("connection"); for (int i = 0; i < children.getLength(); i++) { Element inputConnection = (Element) children.item(i); convertConnection(inputConnection, outputTile); } // Iterator it = unresolvedTrack.keySet().iterator(); String end1, end2; // while (it.hasNext()) for (String key : unresolvedTrack.keySet()) { // String key = (String) it.next(); List<Element> list = unresolvedTrack.get(key); Element[] ends = list.toArray(new Element[0]); if (ends.length <= 1) { throw new ConfigurationException("Loose end " + ends[0] + " in tile " + tileNo); } for (int i = 1; i < ends.length; i++) { end1 = resolvedTrack.get(ends[i]); if (end1 == null) { throw new ConfigurationException("Loose end " + ends[i] + " in tile " + tileNo); } for (int j = 0; j < i; j++) { end2 = resolvedTrack.get(ends[j]); if (end2 == null) { throw new ConfigurationException("Loose end " + ends[j] + " in tile " + tileNo); } Element outputConnection = outputDoc.createElement("Track"); outputConnection.setAttribute("gauge", ends[i].getAttribute("gauge")); outputConnection.setAttribute("from", end1); outputConnection.setAttribute("to", end2); outputTile.appendChild(outputConnection); } } } } private void convertJunction(int i, Element inputJunction, Element outputJunction) throws ConfigurationException { String cityId = "city" + (i + 1); outputJunction.setAttribute("id", cityId); String type = inputJunction.getElementsByTagName("junType").item(0).getFirstChild().getNodeValue(); String[] station = stationMap.get(type); if (station == null) { throw new ConfigurationException("Unknown junction type: " + type); } else { station = station.clone(); } /* * Off-map cities have the special type "OffMapCity" which does not * allow driving through. Original type "town" indicates that no token * can be placed. */ if (colour.equals("red")) { if (station[0].equals("Town")) station[1] = "0"; station[0] = "OffMapCity"; } outputJunction.setAttribute("type", station[0]); if (!station[1].equals("0")) { outputJunction.setAttribute("slots", station[1]); } // String[] p = (String[]) ((String[]) stationMap.get(type)).clone(); if (station == null) { throw new ConfigurationException("Unknown junction type: " + type); } // Junction revenue Element revenue = (Element) inputJunction.getElementsByTagName("revenue").item(0); if (revenue != null) { String value = revenue.getElementsByTagName("value").item(0).getFirstChild().getNodeValue(); outputJunction.setAttribute("value", value); } // Junction position String junctionPos = inputJunction.getElementsByTagName("position").item(0).getFirstChild().getNodeValue(); junctionPosition.put(junctionPos, cityId); String jName = cityMap.get(junctionPos); if (Util.hasValue(jName)) { outputJunction.setAttribute("position", jName); } else { throw new ConfigurationException("Unknown position: " + junctionPos); } } private void convertConnection(Element inputConnection, Element outputTile) throws ConfigurationException { String type = inputConnection.getElementsByTagName("conType").item(0).getFirstChild().getNodeValue(); String gauge = gaugeMap.get(type); Element outputConnection; if (gauge == null) { throw new ConfigurationException("Unknown gauge type: " + type); } else { outputConnection = outputDoc.createElement("Track"); outputConnection.setAttribute("gauge", gauge); } // 1841 special: A pass is not a track type but a station type. if (type.equals("ctMountain")) outputJunction.setAttribute("type", "pass"); boolean fromOK = convertTrackEnd(inputConnection, outputConnection, "position1", "from"); boolean toOK = convertTrackEnd(inputConnection, outputConnection, "position2", "to"); if (fromOK && toOK) outputTile.appendChild(outputConnection); } private boolean convertTrackEnd(Element inputConnection, Element outputConnection, String inputName, String outputName) throws ConfigurationException { String position = inputConnection.getElementsByTagName(inputName).item(0).getFirstChild().getNodeValue(); String end = sidesMap.get(position); if (end == null) end = junctionPosition.get(position); if (end != null) { outputConnection.setAttribute(outputName, end); resolvedTrack.put(outputConnection, end); return true; } else { if (!unresolvedTrack.containsKey(position)) { unresolvedTrack.put(position, new ArrayList<Element>()); } unresolvedTrack.get(position).add(outputConnection); return false; } } } --- NEW FILE: MakeGameTileSets.java --- package tools; import java.io.*; import java.util.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.*; import rails.game.ConfigurationException; import tools.XmlUtils; /** * Convert an XML tile dictionary, as created by Marco Rocci's Tile Designer, to * an XML file for use in Rails 18xx. */ public class MakeGameTileSets { private static String tilesFilePath = "tiles/Tiles.xml"; public static void main(String[] args) { try { if (args.length == 0) { System.out.println("Provide rails.game name(s) for which to create" + " tile sets as argument(s).\nALL implies all games below the data directory."); } else if (args[0].equalsIgnoreCase("ALL")) { List<String> games = new ArrayList<String>(); File gamesDir = new File("data"); if (gamesDir.exists() && gamesDir.isDirectory()) { File[] files = gamesDir.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory() && !files[i].getName().equalsIgnoreCase("CVS")) { games.add(files[i].getName()); } } } new MakeGameTileSets(games.toArray(new String[0])); } else { new MakeGameTileSets(args); } } catch (ConfigurationException e) { e.printStackTrace(); } } private MakeGameTileSets(String[] games) throws ConfigurationException { Element inputTopElement = XmlUtils.findElementInFile(tilesFilePath, "Tiles"); Map<String, Element> tileMap = new HashMap<String, Element>(); Element tileSpec; String tileName; NodeList tList = inputTopElement.getElementsByTagName("Tile"); for (int i = 0; i < tList.getLength(); i++) { tileSpec = (Element) tList.item(i); tileName = tileSpec.getAttribute("id"); tileMap.put(tileName, tileSpec); } for (int i = 0; i < games.length; i++) { makeTileSet(games[i], tileMap); } } private void makeTileSet(String gameName, Map<String, Element> tileMap) throws ConfigurationException { // Open and read the tile set for this rails.game String tileSetPath = "data/" + gameName + "/TileSet.xml"; Element tileSet = XmlUtils.findElementInFile(tileSetPath, "TileManager"); if (tileSet == null) return; NodeList tiles = tileSet.getElementsByTagName("Tile"); Map<String, Object> tilesInSet = new HashMap<String, Object>(); // Also open and read the map tiles. String mapPath = "data/" + gameName + "/Map.xml"; Element mapHexes = XmlUtils.findElementInFile(mapPath, "Map"); NodeList hexes = mapHexes.getElementsByTagName("Hex"); String tilesPath = "data/" + gameName + "/Tiles.xml"; Document outputDoc; String tileName; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); DOMImplementation impl = builder.getDOMImplementation(); outputDoc = impl.createDocument(null, "Tiles", null); // Scan the TileSet for (int i = 0; i < tiles.getLength(); i++) { tileName = ((Element) tiles.item(i)).getAttribute("id"); // Save the tile in a Map so that we can check completeness // later. tilesInSet.put(tileName, null); // Get the Tile specification Element tileSpec = tileMap.get(tileName); if (tileSpec != null) { // Copy it to the subset document Element copy = (Element) outputDoc.importNode( (tileMap.get(tileName)), true); outputDoc.getDocumentElement().appendChild(copy); } else { System.out.println("ERROR: specified " + gameName + " tile " + tileName + " not found in Tiles.xml."); } } // Scan the map, and add any missing tiles, with a warning. for (int i = 0; i < hexes.getLength(); i++) { tileName = ((Element) hexes.item(i)).getAttribute("tile"); // Does the preprinted tile occur in TileSet? if (tilesInSet.containsKey(tileName)) continue; // No, warn and add it to the tiles document. System.out.println("WARNING: " + gameName + " preprinted map tile " + tileName + " does not occur in TileSet!"); // Get the Tile specification // Element tileSpec = (Element) tileMap.get(tileName); // Copy it to the subset document Element copy = (Element) outputDoc.importNode( (tileMap.get(tileName)), true); outputDoc.getDocumentElement().appendChild(copy); } TransformerFactory.newInstance().newTransformer().transform( new DOMSource(outputDoc), new StreamResult(new FileOutputStream(new File(tilesPath)))); } catch (Exception e) { throw new ConfigurationException("Document build error", e); } } } |
From: Erik V. <ev...@us...> - 2010-02-03 20:17:40
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1357/rails/game Modified Files: MapHex.java PublicCompany.java OperatingRound.java PublicCompanyI.java Log Message: Home base on green OO tile can now be chosen in first turn Index: OperatingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/OperatingRound.java,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** OperatingRound.java 3 Feb 2010 05:37:54 -0000 1.95 --- OperatingRound.java 3 Feb 2010 20:16:40 -0000 1.96 *************** *** 493,498 **** // Checks ! // Must be correct step ! if (getStep() != STEP_LAY_TOKEN) { errMsg = LocalText.getText("WrongActionNoTokenLay"); break; --- 493,498 ---- // Checks ! // Must be correct step (exception: home base lay) ! if (getStep() != STEP_LAY_TOKEN && action.getType() != LayBaseToken.HOME_CITY) { errMsg = LocalText.getText("WrongActionNoTokenLay"); break; *************** *** 566,569 **** --- 566,572 ---- operatingCompany.layBaseToken(hex, cost); + // If this is a home base token lay, stop here + if (action.getType() == LayBaseToken.HOME_CITY) return true; + if (cost > 0) { new CashMove(operatingCompany, bank, cost); *************** *** 1926,1939 **** int step = getStep(); if (step == STEP_LAY_TRACK) { - setNormalTileLays(); - setSpecialTileLays(); - log.debug("Normal tile lays: " + currentNormalTileLays.size()); - log.debug("Special tile lays: " + currentSpecialTileLays.size()); ! possibleActions.addAll(currentNormalTileLays); ! possibleActions.addAll(currentSpecialTileLays); ! possibleActions.add(new NullAction(NullAction.SKIP)); } else if (step == STEP_LAY_TOKEN) { --- 1929,1951 ---- int step = getStep(); + boolean forced = false; if (step == STEP_LAY_TRACK) { ! if (!operatingCompany.hasLaidHomeBaseTokens()) { ! // This can occur if the home hex has two cities and track, ! // such as the green OO tile #59 ! possibleActions.add(new LayBaseToken (operatingCompany.getHomeHex())); ! forced = true; ! } else { ! setNormalTileLays(); ! setSpecialTileLays(); ! log.debug("Normal tile lays: " + currentNormalTileLays.size()); ! log.debug("Special tile lays: " + currentSpecialTileLays.size()); ! ! possibleActions.addAll(currentNormalTileLays); ! possibleActions.addAll(currentSpecialTileLays); ! possibleActions.add(new NullAction(NullAction.SKIP)); ! } } else if (step == STEP_LAY_TOKEN) { *************** *** 1962,1966 **** // The following additional "common" actions are only available if the // primary action is not forced. ! if (step >= 0) { setBonusTokenLays(); --- 1974,1978 ---- // The following additional "common" actions are only available if the // primary action is not forced. ! if (step >= 0 && !forced) { setBonusTokenLays(); *************** *** 2234,2238 **** return operatingCompany.getNumberOfTrains() < operatingCompany.getCurrentTrainLimit(); } ! /** * Can the company buy a train now? --- 2246,2250 ---- return operatingCompany.getNumberOfTrains() < operatingCompany.getCurrentTrainLimit(); } ! /** * Can the company buy a train now? Index: MapHex.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/MapHex.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** MapHex.java 31 Jan 2010 22:22:28 -0000 1.34 --- MapHex.java 3 Feb 2010 20:16:40 -0000 1.35 *************** *** 846,850 **** log.error("No cities for home station on hex " + name); } else { ! homes.put(company, cities.get(cityNumber - 1)); } } --- 846,850 ---- log.error("No cities for home station on hex " + name); } else { ! homes.put(company, cities.get(Math.max(cityNumber - 1, 0))); } } Index: PublicCompany.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PublicCompany.java,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** PublicCompany.java 2 Feb 2010 20:00:03 -0000 1.80 --- PublicCompany.java 3 Feb 2010 20:16:40 -0000 1.81 *************** *** 800,805 **** return mayTradeShares; } ! ! /** Stub that allows exclusions such as that 1856 CGR may not buy a 4 */ public boolean mayBuyTrainType (TrainI train) { return true; --- 800,805 ---- return mayTradeShares; } ! ! /** Stub that allows exclusions such as that 1856 CGR may not buy a 4 */ public boolean mayBuyTrainType (TrainI train) { return true; *************** *** 829,833 **** start(startSpace); } - } --- 829,832 ---- *************** *** 928,932 **** } ! public ModelObject getClosedModel () { return closedObject; --- 927,931 ---- } ! public ModelObject getClosedModel () { return closedObject; *************** *** 1034,1038 **** public void updatePlayersWorth() { ! Map<Player, Boolean> done = new HashMap<Player, Boolean>(8); Player owner; --- 1033,1037 ---- public void updatePlayersWorth() { ! Map<Player, Boolean> done = new HashMap<Player, Boolean>(8); Player owner; *************** *** 1673,1676 **** --- 1672,1676 ---- } + // Return value is not used public boolean layHomeBaseTokens() { *************** *** 1680,1685 **** // has a choice, such in 1830 Erie. if (hasLaidHomeBaseTokens()) return true; log.debug(name + " lays home base on " + homeHex.getName() + " city " ! + homeCityNumber); return homeHex.layBaseToken(this, homeCityNumber); } --- 1680,1699 ---- // has a choice, such in 1830 Erie. if (hasLaidHomeBaseTokens()) return true; + + if (homeCityNumber == 0) { + // This applies to cases like 1830 Erie and 1856 THB. + // On a trackless tile it does not matter, but if + // the tile has track (such as the green OO tile), + // the player must select a city. + Map<Integer, List<Track>> tracks + = homeHex.getCurrentTile().getTracksPerStationMap(); + if (tracks == null || tracks.isEmpty()) { + homeCityNumber = 1; + } else { + return false; + } + } log.debug(name + " lays home base on " + homeHex.getName() + " city " ! + homeCityNumber); return homeHex.layBaseToken(this, homeCityNumber); } Index: PublicCompanyI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PublicCompanyI.java,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** PublicCompanyI.java 2 Feb 2010 19:59:43 -0000 1.43 --- PublicCompanyI.java 3 Feb 2010 20:16:40 -0000 1.44 *************** *** 298,301 **** --- 298,302 ---- public boolean layHomeBaseTokens(); + public boolean hasLaidHomeBaseTokens(); public BaseToken getFreeToken(); *************** *** 352,356 **** public int sharesOwnedByPlayers(); public String getExtraShareMarks (); ! public ModelObject getClosedModel (); --- 353,357 ---- public int sharesOwnedByPlayers(); public String getExtraShareMarks (); ! public ModelObject getClosedModel (); |
From: Erik V. <ev...@us...> - 2010-02-03 20:17:19
|
Update of /cvsroot/rails/18xx/rails/game/action In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1357/rails/game/action Modified Files: LayToken.java LayBaseToken.java Log Message: Home base on green OO tile can now be chosen in first turn Index: LayBaseToken.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/action/LayBaseToken.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** LayBaseToken.java 31 Jan 2010 22:22:28 -0000 1.6 --- LayBaseToken.java 3 Feb 2010 20:16:40 -0000 1.7 *************** *** 26,29 **** --- 26,30 ---- public final static int LOCATION_SPECIFIC = 1; // Valid hex public final static int SPECIAL_PROPERTY = 2; // Directed by a special + public final static int HOME_CITY = 3; // If city on home hex is undefined in 1st turn // property *************** *** 52,55 **** --- 53,62 ---- } + public LayBaseToken (MapHex hex) { + super (hex); + setChosenHex (hex); + type = HOME_CITY; + } + public int getChosenStation() { return chosenStation; Index: LayToken.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/action/LayToken.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** LayToken.java 4 Jun 2008 19:00:29 -0000 1.9 --- LayToken.java 3 Feb 2010 20:16:38 -0000 1.10 *************** *** 1,4 **** /* $Header$ ! * * Created on 14-Sep-2006 * Change Log: --- 1,4 ---- /* $Header$ ! * * Created on 14-Sep-2006 * Change Log: *************** *** 6,9 **** --- 6,10 ---- package rails.game.action; + import java.util.ArrayList; import java.util.List; *************** *** 56,59 **** --- 57,66 ---- } + public LayToken (MapHex hex) { + this.locations = new ArrayList<MapHex>(1); + locations.add(hex); + buildLocationNameString(); + } + /** * @return Returns the chosenHex. *************** *** 90,94 **** * @return Returns the location. */ ! public MapHex getLocation() { if (locations != null) { return locations.get(0); --- 97,102 ---- * @return Returns the location. */ ! @Deprecated ! public MapHex getLocation() { if (locations != null) { return locations.get(0); |
From: Erik V. <ev...@us...> - 2010-02-03 20:17:19
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1357/rails/ui/swing Modified Files: ORUIManager.java Log Message: Home base on green OO tile can now be chosen in first turn Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** ORUIManager.java 3 Feb 2010 05:37:55 -0000 1.49 --- ORUIManager.java 3 Feb 2010 20:16:36 -0000 1.50 *************** *** 529,536 **** for (LayTile action : possibleActions.getType(LayTile.class)) { if (action.getType() == LayTile.SPECIAL_PROPERTY ! && !action.getSpecialProperty().requiresConnection() // sfy 1889 ! && action.getSpecialProperty().getLocations().contains(mapHex) ! ) ! { // log.debug(hex.getName()+" is a special property target"); return true; --- 529,533 ---- for (LayTile action : possibleActions.getType(LayTile.class)) { if (action.getType() == LayTile.SPECIAL_PROPERTY ! && action.getSpecialProperty().getLocations().contains(mapHex)) { // log.debug(hex.getName()+" is a special property target"); return true; *************** *** 631,635 **** String selected = (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken"), LocalText.getText("WhichStation"), JOptionPane.PLAIN_MESSAGE, null, --- 628,635 ---- String selected = (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken", ! action.getPlayerName(), ! selectedHex.getName(), ! action.getCompanyName()), LocalText.getText("WhichStation"), JOptionPane.PLAIN_MESSAGE, null, *************** *** 786,790 **** Bank.format(bTrain.getPresidentCashToAdd()))); } ! if (bTrain.getExtraMessage() != null) { b.append(" (").append(bTrain.getExtraMessage()+")"); --- 786,790 ---- Bank.format(bTrain.getPresidentCashToAdd()))); } ! if (bTrain.getExtraMessage() != null) { b.append(" (").append(bTrain.getExtraMessage()+")"); *************** *** 810,814 **** } setMessage(msgbuf.toString()); ! String selectedActionText = (String) JOptionPane.showInputDialog(orWindow, --- 810,814 ---- } setMessage(msgbuf.toString()); ! String selectedActionText = (String) JOptionPane.showInputDialog(orWindow, *************** *** 1119,1122 **** --- 1119,1131 ---- orWindow.requestFocus(); + // Check first action. + // If it's to lay a home token, handle that here + LayBaseToken lbt = possibleActions.getType(LayBaseToken.class).get(0); + if (lbt.getType() == LayBaseToken.HOME_CITY) { + map.setSelectedHex(map.getHexByName(lbt.getChosenHex().getName())); + layBaseToken (lbt); + return; + } + // Include bonus tokens List<LayToken> possibleTokenLays = |
From: Erik V. <ev...@us...> - 2010-02-03 20:17:18
|
Update of /cvsroot/rails/18xx/rails/ui/swing/hexmap In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1357/rails/ui/swing/hexmap Modified Files: HexMap.java Log Message: Home base on green OO tile can now be chosen in first turn Index: HexMap.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/hexmap/HexMap.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** HexMap.java 31 Jan 2010 22:22:36 -0000 1.21 --- HexMap.java 3 Feb 2010 20:16:40 -0000 1.22 *************** *** 203,206 **** --- 203,210 ---- } + public void setSelectedHex (GUIHex hex) { + selectedHex = hex; + } + public boolean isAHexSelected() // Not used { |
From: Erik V. <ev...@us...> - 2010-02-03 20:16:50
|
Update of /cvsroot/rails/18xx/data/1856 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1357/data/1856 Modified Files: CompanyManager.xml Log Message: Home base on green OO tile can now be chosen in first turn Index: CompanyManager.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1856/CompanyManager.xml,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** CompanyManager.xml 31 Jan 2010 22:15:58 -0000 1.33 --- CompanyManager.xml 3 Feb 2010 20:16:40 -0000 1.34 *************** *** 113,117 **** </Company> <Company name="THB" type="Public" tokens="2" fgColour="000000" bgColour="B0B040"> ! <Home hex="L15"/> <Destination hex="J11"/> </Company> --- 113,117 ---- </Company> <Company name="THB" type="Public" tokens="2" fgColour="000000" bgColour="B0B040"> ! <Home hex="L15" city="0"/><!-- City to be selected in first turn--> <Destination hex="J11"/> </Company> |
From: Erik V. <ev...@us...> - 2010-02-03 20:05:58
|
Update of /cvsroot/rails/18xx/data/1889 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32238/data/1889 Modified Files: Game.xml Log Message: Fixed money symbol Index: Game.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1889/Game.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Game.xml 3 Feb 2010 05:37:54 -0000 1.1 --- Game.xml 3 Feb 2010 20:05:42 -0000 1.2 *************** *** 46,50 **** <Component name="Bank" class="rails.game.Bank"> <Bank amount="7000"/> ! <Money format="¥@"/> </Component> <Component name="TileManager" class="rails.game.TileManager" --- 46,50 ---- <Component name="Bank" class="rails.game.Bank"> <Bank amount="7000"/> ! <Money format="¥@"/> </Component> <Component name="TileManager" class="rails.game.TileManager" |
From: Erik V. <ev...@us...> - 2010-02-03 20:01:36
|
Update of /cvsroot/rails/18xx/data/1889 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31761/data/1889 Modified Files: Tiles.xml Map.xml TileSet.xml Log Message: Fixed tile numbers Index: TileSet.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1889/TileSet.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TileSet.xml 3 Feb 2010 05:37:54 -0000 1.1 --- TileSet.xml 3 Feb 2010 20:01:28 -0000 1.2 *************** *** 16,21 **** <!-- Map: Fixed --> <Tile id="-8"/> <!--shallow curve--> ! <Tile id="-890030"/> <!--NEW TILE B3--> ! <Tile id="-890031"/> <!--NEW TILE G14--> <Tile id="-89511"/> <!--NEW TILE B7--> <Tile id="-902"/> <!--red off-board destinations--> --- 16,21 ---- <!-- Map: Fixed --> <Tile id="-8"/> <!--shallow curve--> ! <Tile id="-89030"/> <!--NEW TILE B3--> ! <Tile id="-89031"/> <!--NEW TILE G14--> <Tile id="-89511"/> <!--NEW TILE B7--> <Tile id="-902"/> <!--red off-board destinations--> Index: Map.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1889/Map.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Map.xml 3 Feb 2010 05:37:54 -0000 1.1 --- Map.xml 3 Feb 2010 20:01:28 -0000 1.2 *************** *** 3,7 **** <Hex name="A10" tile="-10" city="Sukomo"/> ! <Hex name="B3" tile="-890030" orientation="0" city="Yawatahama"/> <!--NEW TILE:-890030--> <Hex name="B5" tile="0"/> <Hex name="B7" tile="-89511" orientation="0" city="Uwajima"/> <!--NEW TILE:-89511--> --- 3,7 ---- <Hex name="A10" tile="-10" city="Sukomo"/> ! <Hex name="B3" tile="-89030" orientation="0" city="Yawatahama"/> <!--NEW TILE:-890030--> <Hex name="B5" tile="0"/> <Hex name="B7" tile="-89511" orientation="0" city="Uwajima"/> <!--NEW TILE:-89511--> *************** *** 35,39 **** <Hex name="G10" tile="-1" city="Nangoku"/> <Hex name="G12" tile="-10" city="Nahari"/> ! <Hex name="G14" tile="-890031" orientation="0" city="Muroto"/> <!--NEW TILE:-890031--> <Hex name="H3" tile="0"/> --- 35,39 ---- <Hex name="G10" tile="-1" city="Nangoku"/> <Hex name="G12" tile="-10" city="Nahari"/> ! <Hex name="G14" tile="-89031" orientation="0" city="Muroto"/> <!--NEW TILE:-890031--> <Hex name="H3" tile="0"/> Index: Tiles.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/1889/Tiles.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Tiles.xml 3 Feb 2010 05:37:54 -0000 1.1 --- Tiles.xml 3 Feb 2010 20:01:28 -0000 1.2 *************** *** 1 **** ! <?xml version="1.0" encoding="UTF-8" standalone="no"?><Tiles><Tile colour="white" id="0" name="empty"/><Tile colour="white" id="-1" name="1 village"><Station id="city1" position="002" type="Town"/></Tile><Tile colour="white" id="-10" name="1 city"><Station id="city1" position="302" slots="1" type="City"/></Tile><Tile colour="white" id="-89010" name="1889 I4"><Station id="city1" position="0" slots="1" type="City"/></Tile><Tile colour="fixed" id="-8" name="MF 8"><Track from="side2" gauge="normal" to="side0"/></Tile><Tile colour="fixed" id="-890030" name="1889 B3"><Station id="city1" position="252" type="Town" value="20"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="fixed" id="-890031" name="1889 G14"><Station id="city1" position="052" type="Town" value="20"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side1"/></Tile><Tile colour="fixed" id="-89511" name="1889 B7"><Station id="city1" position="0" slots="2" type="City" value="40"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="red" id="-902" name="OM 2 way"><Station id="city1" position="0" type="OffMapCity" value="-1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side1"/></Tile><Tile colour="yellow" id="-89115" name="1889 C4"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="yellow" id="-89012" name="1889 K5"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="green" id="-89015" name="1889 F9"><Station id="city1" position="0" slots="2" type="City" value="30"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="yellow" id="3" name="3"><Station id="city1" position="352" type="Town" value="10"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="yellow" id="5" name="5"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="yellow" id="6" name="6"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="yellow" id="7" name="7"><Track from="side3" gauge="normal" to="side4"/></Tile><Tile colour="yellow" id="8" name="8"><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="yellow" id="9" name="9"><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="yellow" id="57" name="57"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="yellow" id="58" name="58"><Station id="city1" position="401" type="Town" value="10"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="yellow" id="437" name="1889 Port"><Station id="city1" position="0" type="Town" value="30"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="yellow" id="438" name="1889 I4 yellow"><Station id="city1" position="0" slots="1" type="City" value="40"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="green" id="12" name="12"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="green" id="13" name="13"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="green" id="14" name="14"><Station id="city1" position="0" slots="2" type="City" value="30"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="green" id="15" name="15"><Station id="city1" position="0" slots="2" type="City" value="30"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="green" id="16" name="16"><Track from="side3" gauge="normal" to="side5"/><Track from="side4" gauge="normal" to="side0"/></Tile><Tile colour="green" id="19" name="19"><Track from="side5" gauge="normal" to="side1"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="green" id="20" name="20"><Track from="side1" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="green" id="23" name="23"><Track from="side4" gauge="normal" to="side0"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="green" id="24" name="24"><Track from="side3" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="green" id="25" name="25"><Track from="side1" gauge="normal" to="side3"/><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="green" id="26" name="26"><Track from="side5" gauge="normal" to="side0"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="green" id="27" name="27"><Track from="side3" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="green" id="28" name="28"><Track from="side3" gauge="normal" to="side5"/><Track from="side4" gauge="normal" to="side5"/></Tile><Tile colour="green" id="29" name="29"><Track from="side3" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="green" id="205" name="205"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="green" id="206" name="206"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="green" id="439" name="1889 I4 green"><Station id="city1" position="0" slots="2" type="City" value="50"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="green" id="440" name="1889 K5 green"><Station id="city1" position="0" slots="1" type="City" value="40"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="39" name="39"><Track from="side3" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side5"/><Track from="side4" gauge="normal" to="side5"/></Tile><Tile colour="brown" id="40" name="40"><Track from="side1" gauge="normal" to="side3"/><Track from="side1" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="brown" id="41" name="41"><Track from="side4" gauge="normal" to="side0"/><Track from="side4" gauge="normal" to="side3"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="42" name="42"><Track from="side3" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side0"/><Track from="side5" gauge="normal" to="side0"/></Tile><Tile colour="brown" id="45" name="45"><Track from="side1" gauge="normal" to="side5"/><Track from="side1" gauge="normal" to="side3"/><Track from="side5" gauge="normal" to="side0"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="brown" id="46" name="46"><Track from="side1" gauge="normal" to="side5"/><Track from="side1" gauge="normal" to="side0"/><Track from="side3" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="brown" id="47" name="47"><Track from="side3" gauge="normal" to="side0"/><Track from="side3" gauge="normal" to="side1"/><Track from="side4" gauge="normal" to="side0"/><Track from="side4" gauge="normal" to="side1"/></Tile><Tile colour="brown" id="448" name="1889 K dc brown"><Station id="city1" position="0" slots="2" type="City" value="40"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="465" name="1889 F9 brown "><Station id="city1" position="0" slots="3" type="City" value="60"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="brown" id="466" name="1889 K5 brown"><Station id="city1" position="0" slots="2" type="City" value="60"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="492" name="1889 I4 brown"><Station id="city1" position="0" slots="3" type="City" value="80"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="brown" id="611" name="611"><Station id="city1" position="0" slots="2" type="City" value="40"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side5"/></Tile></Tiles> --- 1,263 ---- ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <Tiles> ! <Tile colour="white" id="0" name="empty"/> ! <Tile colour="white" id="-1" name="1 village"> ! <Station id="city1" position="002" type="Town"/> ! </Tile> ! <Tile colour="white" id="-10" name="1 city"> ! <Station id="city1" position="302" slots="1" type="City"/> ! </Tile> ! <Tile colour="white" id="-89010" name="1889 I4"> ! <Station id="city1" position="0" slots="1" type="City"/> ! </Tile> ! <Tile colour="fixed" id="-8" name="MF 8"> ! <Track from="side2" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="fixed" id="-89030" name="1889 B3"> ! <Station id="city1" position="252" type="Town" value="20"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side2"/> ! </Tile> ! <Tile colour="fixed" id="-89031" name="1889 G14"> ! <Station id="city1" position="052" type="Town" value="20"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side1"/> ! </Tile> ! <Tile colour="fixed" id="-89511" name="1889 B7"> ! <Station id="city1" position="0" slots="2" type="City" value="40"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side2"/> ! </Tile> ! <Tile colour="red" id="-902" name="OM 2 way"> ! <Station id="city1" position="0" type="OffMapCity" value="-1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side1"/> ! </Tile> ! <Tile colour="yellow" id="-89115" name="1889 C4"> ! <Station id="city1" position="0" slots="1" type="City" value="20"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="yellow" id="-89012" name="1889 K5"> ! <Station id="city1" position="0" slots="1" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="green" id="-89015" name="1889 F9"> ! <Station id="city1" position="0" slots="2" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! </Tile> ! <Tile colour="yellow" id="3" name="3"> ! <Station id="city1" position="352" type="Town" value="10"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! </Tile> ! <Tile colour="yellow" id="5" name="5"> ! <Station id="city1" position="0" slots="1" type="City" value="20"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! </Tile> ! <Tile colour="yellow" id="6" name="6"> ! <Station id="city1" position="0" slots="1" type="City" value="20"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> ! </Tile> ! <Tile colour="yellow" id="7" name="7"> ! <Track from="side3" gauge="normal" to="side4"/> ! </Tile> ! <Tile colour="yellow" id="8" name="8"> ! <Track from="side3" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="yellow" id="9" name="9"> ! <Track from="side3" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="yellow" id="57" name="57"> ! <Station id="city1" position="0" slots="1" type="City" value="20"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="yellow" id="58" name="58"> ! <Station id="city1" position="401" type="Town" value="10"/> ! <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city1" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="yellow" id="437" name="1889 Port"> ! <Station id="city1" position="0" type="Town" value="30"/> ! <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city1" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="yellow" id="438" name="1889 I4 yellow"> ! <Station id="city1" position="0" slots="1" type="City" value="40"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side4"/> ! </Tile> ! <Tile colour="green" id="12" name="12"> ! <Station id="city1" position="0" slots="1" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="green" id="13" name="13"> ! <Station id="city1" position="0" slots="1" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side4"/> ! </Tile> ! <Tile colour="green" id="14" name="14"> ! <Station id="city1" position="0" slots="2" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="15" name="15"> ! <Station id="city1" position="0" slots="2" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city1" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="16" name="16"> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side4" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="19" name="19"> ! <Track from="side5" gauge="normal" to="side1"/> ! <Track from="side0" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="green" id="20" name="20"> ! <Track from="side1" gauge="normal" to="side4"/> ! <Track from="side3" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="23" name="23"> ! <Track from="side4" gauge="normal" to="side0"/> ! <Track from="side0" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="green" id="24" name="24"> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side3" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="25" name="25"> ! <Track from="side1" gauge="normal" to="side3"/> ! <Track from="side3" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="green" id="26" name="26"> ! <Track from="side5" gauge="normal" to="side0"/> ! <Track from="side0" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="green" id="27" name="27"> ! <Track from="side3" gauge="normal" to="side4"/> ! <Track from="side3" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="28" name="28"> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side4" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="green" id="29" name="29"> ! <Track from="side3" gauge="normal" to="side4"/> ! <Track from="side3" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="green" id="205" name="205"> ! <Station id="city1" position="0" slots="1" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="green" id="206" name="206"> ! <Station id="city1" position="0" slots="1" type="City" value="30"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="green" id="439" name="1889 I4 green"> ! <Station id="city1" position="0" slots="2" type="City" value="50"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="green" id="440" name="1889 K5 green"> ! <Station id="city1" position="0" slots="1" type="City" value="40"/> ! <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="brown" id="39" name="39"> ! <Track from="side3" gauge="normal" to="side4"/> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side4" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="brown" id="40" name="40"> ! <Track from="side1" gauge="normal" to="side3"/> ! <Track from="side1" gauge="normal" to="side5"/> ! <Track from="side3" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="brown" id="41" name="41"> ! <Track from="side4" gauge="normal" to="side0"/> ! <Track from="side4" gauge="normal" to="side3"/> ! <Track from="side0" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="brown" id="42" name="42"> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side3" gauge="normal" to="side0"/> ! <Track from="side5" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="brown" id="45" name="45"> ! <Track from="side1" gauge="normal" to="side5"/> ! <Track from="side1" gauge="normal" to="side3"/> ! <Track from="side5" gauge="normal" to="side0"/> ! <Track from="side3" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="brown" id="46" name="46"> ! <Track from="side1" gauge="normal" to="side5"/> ! <Track from="side1" gauge="normal" to="side0"/> ! <Track from="side3" gauge="normal" to="side5"/> ! <Track from="side3" gauge="normal" to="side0"/> ! </Tile> ! <Tile colour="brown" id="47" name="47"> ! <Track from="side3" gauge="normal" to="side0"/> ! <Track from="side3" gauge="normal" to="side1"/> ! <Track from="side4" gauge="normal" to="side0"/> ! <Track from="side4" gauge="normal" to="side1"/> ! </Tile> ! <Tile colour="brown" id="448" name="1889 K dc brown"> ! <Station id="city1" position="0" slots="2" type="City" value="40"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="brown" id="465" name="1889 F9 brown "> ! <Station id="city1" position="0" slots="3" type="City" value="60"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! </Tile> ! <Tile colour="brown" id="466" name="1889 K5 brown"> ! <Station id="city1" position="0" slots="2" type="City" value="60"/> ! <Track from="city1" gauge="normal" to="side5"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side3"/> ! </Tile> ! <Tile colour="brown" id="492" name="1889 I4 brown"> ! <Station id="city1" position="0" slots="3" type="City" value="80"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side1"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile> ! <Tile colour="brown" id="611" name="611"> ! <Station id="city1" position="0" slots="2" type="City" value="40"/> ! <Track from="city1" gauge="normal" to="side0"/> ! <Track from="city1" gauge="normal" to="side2"/> ! <Track from="city1" gauge="normal" to="side3"/> ! <Track from="city1" gauge="normal" to="side4"/> ! <Track from="city1" gauge="normal" to="side5"/> ! </Tile> ! </Tiles> \ No newline at end of file |
From: Erik V. <ev...@us...> - 2010-02-03 19:59:57
|
Update of /cvsroot/rails/18xx/.settings In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31548/.settings Modified Files: org.eclipse.core.resources.prefs Log Message: No change Index: org.eclipse.core.resources.prefs =================================================================== RCS file: /cvsroot/rails/18xx/.settings/org.eclipse.core.resources.prefs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** org.eclipse.core.resources.prefs 18 Dec 2009 20:04:34 -0000 1.1 --- org.eclipse.core.resources.prefs 3 Feb 2010 19:59:49 -0000 1.2 *************** *** 1,3 **** ! #Fri Dec 18 15:48:31 CET 2009 eclipse.preferences.version=1 encoding//tiles/TDwithID/tile0.svg=UTF-8 --- 1,3 ---- ! #Fri Jan 29 22:00:25 CET 2010 eclipse.preferences.version=1 encoding//tiles/TDwithID/tile0.svg=UTF-8 *************** *** 7,10 **** --- 7,11 ---- encoding//tiles/handmade/tile-903-inkscape.svg=UTF-8 encoding//tiles/handmade/tile-903.svg=UTF-8 + encoding//tiles/svg/tile-89031.svg=UTF-8 encoding//tiles/svg/tile-902.svg=UTF-8 encoding//tiles/svg/tile-903.svg=UTF-8 |
From: Erik V. <ev...@us...> - 2010-02-03 19:57:52
|
Update of /cvsroot/rails/18xx/tiles In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31387/tiles Modified Files: TileDictionary.18t Log Message: New tiles for 1889 Index: TileDictionary.18t =================================================================== RCS file: /cvsroot/rails/18xx/tiles/TileDictionary.18t,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TileDictionary.18t 24 Jan 2010 14:43:43 -0000 1.7 --- TileDictionary.18t 3 Feb 2010 19:57:44 -0000 1.8 *************** *** 13799,13802 **** --- 13799,14171 ---- JunType = jtWhistlestop end> + end + item + Code = -89030 + LongName = '1889 B3' + Category = 'Yawatahama' + CategoryPosition = tp1CornerC + Connections = < + item + Position1 = tp2CornerD + Position2 = tp4SideD + end + item + Position1 = tp2CornerD + Position2 = tp4SideC + end> + Junctions = < + item + JunType = jtWhistlestop + Position = tp2CornerD + Revenue = 20 + RevenuePosition = tp3CornerE + end> + end + item + Code = -89511 + LongName = '1889 Uwajima B7' + Category = 'Uwajima' + CategoryPosition = tpCurve2LeftD + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideA + end + item + Position1 = tpCenter + Position2 = tp4SideE + end + item + Position1 = tpCenter + Position2 = tp4SideC + end> + Junctions = < + item + JunType = jtDoubleCity + Revenue = 40 + end> + end + item + Code = -89015 + LongName = '1889 Kouchi F9' + Category = 'Kouchi' + CategoryPosition = tpCurve2LeftD + Level = tlMapUpgradableToBrown + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideA + end + item + Position1 = tpCenter + Position2 = tp4SideF + end + item + Position1 = tpCenter + Position2 = tp4SideB + end + item + Position1 = tpCenter + Position2 = tp4SideC + end> + Junctions = < + item + JunType = jtDoubleCity + Revenue = 30 + RevenuePosition = tp3CornerB + end> + end + item + Code = -89031 + LongName = '1889 G14' + Category = 'Muroto' + CategoryPosition = tp1SideB + Connections = < + item + Position1 = tp2CornerB + Position2 = tp4SideA + end + item + Position1 = tp2CornerB + Position2 = tp4SideB + end> + Junctions = < + item + JunType = jtWhistlestop + Position = tp2CornerB + Revenue = 20 + end> + end + item + Code = -89010 + LongName = '1889 Kotohira I4' + Category = 'Kotohira' + CategoryPosition = tp3SideA + Level = tlMapUpgradableToYellow + Connections = <> + Junctions = < + item + JunType = jtCity + end> + end + item + Code = -89012 + LongName = '1889 Takamatsu K5' + Category = 'Takamatsu' + CategoryPosition = tpCurve2LeftA + Level = tlMapUpgradableToGreen + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideE + end + item + Position1 = tpCenter + Position2 = tp4SideD + end + item + Position1 = tpCenter + Position2 = tp4SideF + end> + Junctions = < + item + JunType = jtCity + Revenue = 30 + RevenuePosition = tp3CornerE + end> + end + item + Code = -89115 + LongName = '1889 Ohzu C4' + Category = 'Ohzu' + CategoryPosition = tp2SideD + Level = tlMapUpgradableToGreen + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideF + end> + Junctions = < + item + JunType = jtCity + Revenue = 20 + RevenuePosition = tp3SideA + end> + end + item + Code = 437 + LongName = '1889 Port' + Category = 'Port' + CategoryPosition = tp2CornerB + Level = tlYellow + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideF + end + item + Position1 = tpCenter + Position2 = tp4SideD + end> + Junctions = < + item + JunType = jtWhistlestop + Revenue = 30 + end> + end + item + Code = 438 + LongName = '1889 Kotohira yellow' + Category = 'Kotohira' + CategoryPosition = tp3SideA + Level = tlYellow + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideC + end + item + Position1 = tpCenter + Position2 = tp4SideE + end> + Junctions = < + item + JunType = jtCity + Revenue = 40 + RevenuePosition = tp3CornerF + end> + end + item + Code = 439 + LongName = '1889 Kotohira green' + Category = 'Kotohira' + CategoryPosition = tp3SideA + Level = tlGreen + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideE + end + item + Position1 = tpCenter + Position2 = tp4SideC + end + item + Position1 = tpCenter + Position2 = tp4SideA + end> + Junctions = < + item + JunType = jtDoubleCity + Revenue = 50 + RevenuePosition = tp3CornerF + end> + end + item + Code = 440 + LongName = '1889 Takamatsu green' + Category = 'Takamatsu' + CategoryPosition = tp3SideA + Level = tlGreen + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideF + end + item + Position1 = tpCenter + Position2 = tp4SideE + end + item + Position1 = tpCenter + Position2 = tp4SideD + end> + Junctions = < + item + JunType = jtCity + Revenue = 40 + RevenuePosition = tp3CornerE + end> + end + item + Code = 448 + LongName = '1889 dc K brown' + Level = tlBrown + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideA + end + item + Position1 = tpCenter + Position2 = tp4SideB + end + item + Position1 = tpCenter + Position2 = tp4SideC + end + item + Position1 = tpCenter + Position2 = tp4SideD + end> + Junctions = < + item + JunType = jtDoubleCity + Revenue = 40 + end> + end + item + Code = 465 + LongName = '1889 Kouchi brown ' + Category = 'Kouchi' + CategoryPosition = tp3SideA + Level = tlBrown + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideB + end + item + Position1 = tpCenter + Position2 = tp4SideC + end + item + Position1 = tpCenter + Position2 = tp4SideD + end + item + Position1 = tpCenter + Position2 = tp4SideE + end> + Junctions = < + item + JunType = jtTripleCity + Revenue = 60 + RevenuePosition = tp3CornerF + end> + end + item + Code = 466 + LongName = '1889 Takamatsu brown' + Category = 'Takamatsu' + CategoryPosition = tpCurve2LeftA + Level = tlBrown + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideF + end + item + Position1 = tpCenter + Position2 = tp4SideE + end + item + Position1 = tpCenter + Position2 = tp4SideD + end> + Junctions = < + item + JunType = jtDoubleCity + Revenue = 60 + RevenuePosition = tp3CornerE + end> + end + item + Code = 492 + LongName = '1889 Kotohira brown' + Category = 'Kotohira' + CategoryPosition = tp3SideA + Level = tlBrown + Connections = < + item + Position1 = tpCenter + Position2 = tp4SideE + end + item + Position1 = tpCenter + Position2 = tp4SideD + end + item + Position1 = tpCenter + Position2 = tp4SideC + end + item + Position1 = tpCenter + Position2 = tp4SideB + end + item + Position1 = tpCenter + Position2 = tp4SideA + end + item + Position1 = tpCenter + Position2 = tp4SideF + end> + Junctions = < + item + JunType = jtTripleCity + Revenue = 80 + RevenuePosition = tp3CornerF + end> end> end |
Update of /cvsroot/rails/18xx/tiles/svg In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31328/tiles/svg Modified Files: tile0.svg tile3080.svg tile3082.svg tile3083.svg tile3081.svg Added Files: tile440.svg tile-89015.svg tile492.svg tile-89010.svg tile465.svg tile438.svg tile448.svg tile-89115.svg tile437.svg tile466.svg tile-89030.svg tile-89511.svg tile439.svg tile-89012.svg tile-89031.svg Log Message: New tiles for 1889 Index: tile3081.svg =================================================================== RCS file: /cvsroot/rails/18xx/tiles/svg/tile3081.svg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tile3081.svg 1 Apr 2008 17:15:08 -0000 1.2 --- tile3081.svg 3 Feb 2010 19:57:08 -0000 1.3 *************** *** 1,123 **** ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile81.svg"> ! <metadata ! id="metadata56"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs54" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="1.9182826" ! inkscape:cx="63.641161" ! inkscape:cy="28.496042" ! inkscape:window-x="0" ! inkscape:window-y="25" ! inkscape:current-layer="body" /> ! <title ! id="title31">SVG drawing</title> ! <desc ! id="desc33">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.403392e-3,0,0,-6.1739774e-3,1.8622791e-4,0.998587)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon37" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line39" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line41" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line43" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line45" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line47" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line49" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon51" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- 1,123 ---- ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile81.svg"> ! <metadata ! id="metadata56"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs54" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="1.9182826" ! inkscape:cx="63.641161" ! inkscape:cy="28.496042" ! inkscape:window-x="0" ! inkscape:window-y="25" ! inkscape:current-layer="body" /> ! <title ! id="title31">SVG drawing</title> ! <desc ! id="desc33">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.403392e-3,0,0,-6.1739774e-3,1.8622791e-4,0.998587)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon37" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line39" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line41" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line43" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line45" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line47" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line49" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon51" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- NEW FILE: tile-89030.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><line x1="260" y1="281" x2="230" y2="229" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt"/><path d="M 245,255 A 98,98 0 0,0 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,255 A 98,98 0 0,0 245,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 245,255 A 98,98 0 0,0 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 343,255 A 98,98 0 0,0 245,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><line x1="258" y1="278" x2="232" y2="232" stroke="#000000" stroke-width="26" stroke-linecap="butt"/><ellipse rx="38" ry="34" cx="123" cy="297" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="297" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">20</text><text x="245" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Yawatahama</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-89010.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0DCC0" stroke="#C0DCC0" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><text x="196" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Kotohira</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile466.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#B46301" stroke="#B46301" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">466</text><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="297" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="297" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">60</text><text x="206" y="76" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Takamatsu</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> Index: tile3080.svg =================================================================== RCS file: /cvsroot/rails/18xx/tiles/svg/tile3080.svg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tile3080.svg 1 Apr 2008 17:15:08 -0000 1.2 --- tile3080.svg 3 Feb 2010 19:57:07 -0000 1.3 *************** *** 1,123 **** ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile80.svg"> ! <metadata ! id="metadata28"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs26" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="2.9777052" ! inkscape:cx="68.786494" ! inkscape:cy="49.532802" ! inkscape:window-x="1728" ! inkscape:window-y="403" ! inkscape:current-layer="body" /> ! <title ! id="title3">SVG drawing</title> ! <desc ! id="desc5">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.4033119e-3,0,0,-6.2056863e-3,1.9365314e-4,1.0007817)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon9" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line11" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="40.5" ! x2="92.5" ! y2="80.5" ! id="line13" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line15" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line17" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="40.5" ! x2="92.5" ! y2="80.5" ! id="line19" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line21" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon23" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- 1,123 ---- ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile80.svg"> ! <metadata ! id="metadata28"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs26" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="2.9777052" ! inkscape:cx="68.786494" ! inkscape:cy="49.532802" ! inkscape:window-x="1728" ! inkscape:window-y="403" ! inkscape:current-layer="body" /> ! <title ! id="title3">SVG drawing</title> ! <desc ! id="desc5">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.4033119e-3,0,0,-6.2056863e-3,1.9365314e-4,1.0007817)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon9" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line11" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="40.5" ! x2="92.5" ! y2="80.5" ! id="line13" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line15" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line17" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="40.5" ! x2="92.5" ! y2="80.5" ! id="line19" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line21" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon23" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- NEW FILE: tile492.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#B46301" stroke="#B46301" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">492</text><polygon points="145,90 247,90 291,167 240,255 152,255 101,167" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="141" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="141" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="229" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,90 247,90 291,167 240,255 152,255 101,167" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="141" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="141" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="196" cy="229" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="49" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="49" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">80</text><text x="196" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Kotohira</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> Index: tile3082.svg =================================================================== RCS file: /cvsroot/rails/18xx/tiles/svg/tile3082.svg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tile3082.svg 1 Apr 2008 17:15:08 -0000 1.2 --- tile3082.svg 3 Feb 2010 19:57:07 -0000 1.3 *************** *** 1,123 **** ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile82.svg"> ! <metadata ! id="metadata84"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs82" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="2.3197836" ! inkscape:cx="74.08971" ! inkscape:cy="28.496042" ! inkscape:window-x="5" ! inkscape:window-y="49" ! inkscape:current-layer="body" /> ! <title ! id="title59">SVG drawing</title> ! <desc ! id="desc61">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.4034709e-3,0,0,-6.1429226e-3,1.7893737e-4,0.9980275)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon65" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line67" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line69" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line71" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line73" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line75" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line77" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon79" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- 1,123 ---- ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile82.svg"> ! <metadata ! id="metadata84"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs82" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="2.3197836" ! inkscape:cx="74.08971" ! inkscape:cy="28.496042" ! inkscape:window-x="5" ! inkscape:window-y="49" ! inkscape:current-layer="body" /> ! <title ! id="title59">SVG drawing</title> ! <desc ! id="desc61">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.4034709e-3,0,0,-6.1429226e-3,1.7893737e-4,0.9980275)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon65" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line67" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line69" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line71" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line73" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="161.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line75" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line77" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon79" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- NEW FILE: tile465.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#B46301" stroke="#B46301" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">465</text><polygon points="145,90 247,90 291,167 240,255 152,255 101,167" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="141" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="141" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="196" cy="229" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,90 247,90 291,167 240,255 152,255 101,167" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="141" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="141" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="196" cy="229" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="49" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="49" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">60</text><text x="196" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Kouchi</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile437.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">437</text><line x1="166" y1="170" x2="226" y2="170" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><line x1="170" y1="170" x2="222" y2="170" stroke="#000000" stroke-width="26" stroke-linecap="butt"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">30</text><text x="245" y="85" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Port</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-89511.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">40</text><text x="186" y="264" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Uwajima</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-89015.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#38AC00" stroke="#38AC00" stroke-width="1" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="269" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="269" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">30</text><text x="186" y="264" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Kouchi</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile438.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">438</text><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="49" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="49" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">40</text><text x="196" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Kotohira</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-89012.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="297" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="297" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">30</text><text x="206" y="76" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Takamatsu</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> Index: tile0.svg =================================================================== RCS file: /cvsroot/rails/18xx/tiles/svg/tile0.svg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tile0.svg 18 Dec 2009 19:59:43 -0000 1.2 --- tile0.svg 3 Feb 2010 19:57:07 -0000 1.3 *************** *** 1,2 **** <?xml version="1.0"?> ! <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0DCC0" stroke="#C0DCC0" stroke-width="1" stroke-linejoin="round"/><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- 1,8 ---- <?xml version="1.0"?> ! <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> ! <path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" ! fill="#C0DCC0" stroke="#C0DCC0" stroke-width="1" ! stroke-linejoin="round"/> ! <path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" ! fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/> ! </svg> \ No newline at end of file --- NEW FILE: tile-89031.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#C0C0C0" stroke="#C0C0C0" stroke-width="1" stroke-linejoin="round"/><line x1="260" y1="59" x2="230" y2="111" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt"/><path d="M 196,0 A 98,98 0 0,0 245,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 245,85 A 98,98 0 0,0 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,0 A 98,98 0 0,0 245,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 245,85 A 98,98 0 0,0 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><line x1="258" y1="62" x2="232" y2="108" stroke="#000000" stroke-width="26" stroke-linecap="butt"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">20</text><text x="235" y="147" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Muroto</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile448.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#B46301" stroke="#B46301" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">448</text><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,340" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="123" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="123" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">40</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile-89115.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#FFFF00" stroke="#FFFF00" stroke-width="1" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 49,85" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,85" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><circle cx="196" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="196" cy="43" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="196" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">20</text><text x="196" y="255" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Ohzu</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> --- NEW FILE: tile439.svg --- <?xml version="1.0"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="#38AC00" stroke="#38AC00" stroke-width="1" stroke-linejoin="round"/><text x="245" y="318" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Arial" font-size="34" font-weight="bold">439</text><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="12"/><path d="M 196,170 L 49,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#FFFFFF" stroke-width="34" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 49,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 343,255" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><path d="M 196,170 L 196,0" fill="none" stroke="#000000" stroke-width="26" stroke-linecap="butt" stroke-linejoin="round"/><polygon points="145,119 247,119 247,221 145,221" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="145" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><circle cx="247" cy="170" r="51" fill="#FFFFFF" stroke="#000000" stroke-width="4"/><ellipse rx="38" ry="34" cx="49" cy="170" fill="#FFFFFF" stroke="#000000" stroke-width="2" stroke-linejoin="round"/><text x="49" y="170" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="Bookman Old Style" font-size="51">50</text><text x="196" y="43" dy="0.3em" fill="#000000" stroke="#000000" text-anchor="middle" font-family="TimpaniHeavy" font-size="51">Kotohira</text><path d=" M 98,0 L 294,0 L 392,170 L 294,340 L 98,340 L 0,170 Z" fill="none" stroke="black" stroke-width="1" stroke-linejoin="round"/></svg> Index: tile3083.svg =================================================================== RCS file: /cvsroot/rails/18xx/tiles/svg/tile3083.svg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tile3083.svg 1 Apr 2008 17:15:08 -0000 1.2 --- tile3083.svg 3 Feb 2010 19:57:08 -0000 1.3 *************** *** 1,123 **** ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile83.svg"> ! <metadata ! id="metadata112"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs110" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="2.2166821" ! inkscape:cx="60.791557" ! inkscape:cy="34.195251" ! inkscape:window-x="10" ! inkscape:window-y="73" ! inkscape:current-layer="body" /> ! <title ! id="title87">SVG drawing</title> ! <desc ! id="desc89">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.403375e-3,0,0,-6.1807232e-3,1.8780923e-4,1.0007697)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon93" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line95" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line97" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line99" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line101" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line103" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line105" ! style="stroke-width:12;stroke-linecap:round" /> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon107" ! style="stroke-width:1;stroke-linejoin:round" /> ! </g></svg> --- 1,123 ---- ! <?xml version="1.0" encoding="UTF-8" standalone="no"?> ! <svg ! xmlns:dc="http://purl.org/dc/elements/1.1/" ! xmlns:cc="http://web.resource.org/cc/" ! xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ! xmlns:svg="http://www.w3.org/2000/svg" ! xmlns="http://www.w3.org/2000/svg" ! xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" ! xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ! version="1.0" ! baseProfile="full" ! id="body" ! width="100" ! height="100" ! viewBox="0 0 1 1" ! preserveAspectRatio="none" ! sodipodi:version="0.32" ! inkscape:version="0.45.1" ! inkscape:output_extension="org.inkscape.output.svg.inkscape" ! sodipodi:docbase="/home/blentz/Desktop/18EU_Tiles" ! sodipodi:docname="tile83.svg"> ! <metadata ! id="metadata112"> ! <rdf:RDF> ! <cc:Work ! rdf:about=""> ! <dc:format>image/svg+xml</dc:format> ! <dc:type ! rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> ! </cc:Work> ! </rdf:RDF> ! </metadata> ! <defs ! id="defs110" /> ! <sodipodi:namedview ! inkscape:window-height="592" ! inkscape:window-width="822" ! inkscape:pageshadow="2" ! inkscape:pageopacity="0.0" ! guidetolerance="10.0" ! gridtolerance="10.0" ! objecttolerance="10.0" ! borderopacity="1.0" ! bordercolor="#666666" ! pagecolor="#ffffff" ! id="base" ! width="100px" ! height="100px" ! inkscape:zoom="2.2166821" ! inkscape:cx="60.791557" ! inkscape:cy="34.195251" ! inkscape:window-x="10" ! inkscape:window-y="73" ! inkscape:current-layer="body" /> ! <title ! id="title87">SVG drawing</title> ! <desc ! id="desc89">This was produced by version 4.2 of GNU libplot, a free library for exporting 2-D vector graphics.</desc> ! <g ! id="content" ! transform="matrix(5.403375e-3,0,0,-6.1807232e-3,1.8780923e-4,1.0007697)" ! xml:space="preserve" ! stroke-miterlimit="10.433" ! fill-rule="evenodd" ! font-style="normal" ! font-variant="normal" ! font-weight="normal" ! font-stretch="normal" ! font-size-adjust="none" ! letter-spacing="normal" ! word-spacing="normal" ! style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;fill-opacity:1;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"> ! <polygon ! points="46.5,160.5 138.5,160.5 184.5,80.5 138.5,0.5 46.5,0.5 0.5,80.5 46.5,160.5 " ! id="polygon93" ! style="fill:#5eac38;fill-rule:nonzero;stroke:#5eac38;stroke-width:0;stroke-linejoin:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line95" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line97" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line99" ! style="stroke:#ffffff;stroke-width:16;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="160.5" ! x2="92.5" ! y2="80.5" ! id="line101" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="92.5" ! y1="0.5" ! x2="92.5" ! y2="80.5" ! id="line103" ! style="stroke-width:12;stroke-linecap:round" /> ! <line ! x1="23.5" ! y1="120.5" ! x2="92.5" ! y2="80.5" ! id="line105" ! style="strok... [truncated message content] |
From: Brett L. <wak...@us...> - 2010-02-03 05:38:02
|
Update of /cvsroot/rails/18xx/data/1889 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24614/data/1889 Added Files: TileSet.xml CompanyManager.xml StockMarket.xml Game.xml Map.xml Tiles.xml Log Message: Apply patches from Stefan Frey <ste...@we...> to implement 1889. --- NEW FILE: CompanyManager.xml --- <?xml version="1.0"?> <CompanyManager> <!-- Specific PrivateCompany to avoid closing of Uno-Takamatsu Ferry --> <CompanyType name="Private" class="rails.game.PrivateCompany"> </CompanyType> <CompanyType name="Public" class="rails.game.PublicCompany"> <IfOption name="BeginnerGame" value="no"> <CanBuyPrivates lowerPriceFactor="0.5" upperPriceFactor="2.0"/> </IfOption> <PoolPaysOut/> <Float percentage="50"/> <ShareUnit percentage="10"/> <BaseTokens> <!-- HomeBase lay options: "whenStarted", "whenFloated", "firstOR" (default) --> ` <HomeBase lay="firstOR"/> <!-- LayCost methods: only "sequence" (1830 style) implemented so far (default) --> <LayCost method="sequence" cost="0,40"/> </BaseTokens> <Certificate type="President" shares="2"/> <Certificate shares="1" number="8"/> <Trains number="4,4,3,2"/> </CompanyType> <IfOption name="BeginnerGame" value="yes"> <Company name="A" type="Private" basePrice="20" revenue="5" longName="Takamatsu E-Railroad"> </Company> <Company name="B" type="Private" basePrice="40" revenue="15" longName="Mitsubishi Ferry"> </Company> <Company name="C" type="Private" basePrice="40" revenue="15" longName="Ehime Railway" > </Company> <Company name="D" type="Private" basePrice="60" revenue="20" longName="Sumitomo Mines Railway"> </Company> <Company name="E" type="Private" basePrice="60" revenue="20" longName="Dougo Railway"> </Company> <Company name="F" type="Private" basePrice="90" revenue="25" longName="South Iyo Railway"> </Company> </IfOption> <IfOption name="BeginnerGame" value="no"> <Company name="A" type="Private" basePrice="20" revenue="5" longName="Takamatsu E-Railroad"> <Blocking hex="K4"/> <!-- no special property --> </Company> <Company name="B" type="Private" basePrice="30" revenue="5" longName="Mitsubishi Ferry"> <SpecialProperties> <SpecialProperty condition="ifOwnedByPlayer" when="tileLayingStep" class="rails.game.special.SpecialTileLay"> <SpecialTileLay location="B11,G10,I12,J9" tile="437" extra="yes" free="yes"/> </SpecialProperty> <!-- TODO: Additional Property required: --> <!-- <SpecialProperty condition="ifOwnedByPlayer" when="betweenOR" class="rails.game.special.SpecialTileLay"> <SpecialTileLay location="B11,G10,I12,J9" tile="437" extra="yes" free="yes"/> </SpecialProperty> --> </SpecialProperties> </Company> <Company name="C" type="Private" basePrice="40" revenue="10" longName="Ehime Railway" > <Blocking hex="C4"/> <SpecialProperties> <SpecialProperty condition="ifOwnedByCompany" when="tileLayingStep" class="rails.game.special.SpecialTileLay"> <SpecialTileLay location="C4" extra="yes" free="yes"/> </SpecialProperty> <!-- TODO: Correct Property would look like: --> <!-- <SpecialProperty condition="PlayerAfterSellToPublic" when="immediate" class="rails.game.special.SpecialTileLay"> <SpecialTileLay location="C4" extra="yes" free="yes"/> </SpecialProperty>--> </SpecialProperties> </Company> <Company name="D" type="Private" basePrice="50" revenue="15" longName="Sumitomo Mines Railway"> <SpecialProperties> <SpecialProperty condition="ifOwnedByCompany" when="tileLayingStep" permanent="yes" class="rails.game.special.SpecialTileLay"> <SpecialTileLay location="A8,B9,C6,D5,D7,E4,E6,F5,F7,G6,G8,H9,H11,H13" extra="no" free="yes" connected="yes"/> </SpecialProperty> </SpecialProperties> </Company> <Company name="E" type="Private" basePrice="60" revenue="15" longName="Dougo Railway"> <SpecialProperties> <SpecialProperty condition="ifOwnedByPlayer" when="anyTime" class="rails.game.special.ExchangeForShare"> <ExchangeForShare company="IR" share="10"/> </SpecialProperty> </SpecialProperties> </Company> <Company name="F" type="Private" basePrice="80" revenue="20" longName="South Iyo Railway"> <!-- no special property, no blocking hex --> </Company> <Company name="G" type="Private" basePrice="150" revenue="30,50" longName="Uno-Takamatsu Ferry"> <ClosingConditions> <PreventClosing condition="ifOwnedByPlayer"/> </ClosingConditions> </Company> </IfOption> <!-- Note two supported colour specification formats: RGB decimal with commas and RGB hexadecimal without commas --> <Company name="AR" longname="Awa Railroad" type="Public" tokens="2" fgColour="255,255,255" bgColour="220,0,0"> <Home hex="K8"/> <!--Tokushima--> </Company> <Company name="IR" longname="Iyo Railway" type="Public" tokens="2" fgColour="0,0,0" bgColour="230,150,85"> <Home hex="E2"/> <!--Matsuyama--> </Company> <Company name="SR" longname="Sanuki Railway" type="Public" tokens="2" fgColour="255,255,255" bgColour="30,30,255"> <Home hex="I2"/> <!--Marugame--> </Company> <Company name="KO" longname="Takamatsu & Kotohira Electric Railway" type="Public" tokens="2" fgColour="0,0,0" bgColour="235,130,175"> <Home hex="K4"/> <!--Takamatsu--> </Company> <Company name="TR" longname="Tosa Electric Railway" type="Public" tokens="3" fgColour="255,255,255" bgColour="25,175,25"> <Home hex="F9"/> <!--Kouchi--> </Company> <Company name="KU" longname="Tosa Kuroshio Railway" type="Public" tokens="1" fgColour="255,255,255" bgColour="175,25,255"> <Home hex="C10"/> <!--Kubokawa--> </Company> <Company name="UR" longname="Uwajima Railway" type="Public" tokens="3" fgColour="255,255,255" bgColour="140,70,20"> <Home hex="B7"/> <!--Uwajima--> </Company> <StartPacket roundClass="rails.game.StartRound_1830"> <Bidding initial="5" minimum="5" increment="1"/> <IfOption name="BeginnerGame" value="yes"> <IfOption name="NumberOfPlayers" value="2"> <Item name="E" type="Private" basePrice="60"/> <Item name="F" type="Private" basePrice="90"/> </IfOption> <IfOption name="NumberOfPlayers" value="3"> <Item name="C" type="Private" basePrice="40"/> <Item name="E" type="Private" basePrice="60"/> <Item name="F" type="Private" basePrice="90"/> </IfOption> <IfOption name="NumberOfPlayers" value="4"> <Item name="C" type="Private" basePrice="40"/> <Item name="D" type="Private" basePrice="60"/> <Item name="E" type="Private" basePrice="60"/> <Item name="F" type="Private" basePrice="90"/> </IfOption> <IfOption name="NumberOfPlayers" value="5"> <Item name="B" type="Private" basePrice="40"/> <Item name="C" type="Private" basePrice="40"/> <Item name="D" type="Private" basePrice="60"/> <Item name="E" type="Private" basePrice="60"/> <Item name="F" type="Private" basePrice="90"/> </IfOption> <IfOption name="NumberOfPlayers" value="6"> <Item name="A" type="Private" basePrice="20"/> <Item name="B" type="Private" basePrice="40"/> <Item name="C" type="Private" basePrice="40"/> <Item name="D" type="Private" basePrice="60"/> <Item name="E" type="Private" basePrice="60"/> <Item name="F" type="Private" basePrice="90"/> </IfOption> </IfOption> <IfOption name="BeginnerGame" value="no"> <Item name="A" type="Private" basePrice="20"/> <Item name="B" type="Private" basePrice="30"/> <Item name="C" type="Private" basePrice="40"/> <Item name="D" type="Private" basePrice="50"/> <Item name="E" type="Private" basePrice="60"/> <IfOption name="NumberOfPlayers" value="3"> <Item name="F" type="Private" basePrice="80"/> </IfOption> <IfOption name="NumberOfPlayers" value="4"> <Item name="F" type="Private" basePrice="80"/> <Item name="G" type="Private" basePrice="150"/> </IfOption> <IfOption name="NumberOfPlayers" value="5"> <Item name="F" type="Private" basePrice="80"/> <Item name="G" type="Private" basePrice="150"/> </IfOption> <IfOption name="NumberOfPlayers" value="6"> <Item name="F" type="Private" basePrice="80"/> <Item name="G" type="Private" basePrice="150"/> </IfOption> </IfOption> </StartPacket> </CompanyManager> --- NEW FILE: TileSet.xml --- <TileManager tiles="Tiles.xml"> <!-- Map: Upgradeable to yellow --> <Tile id="0"><!-- Empty space --> <Upgrade id="7,8,9"/> </Tile> <Tile id="-1"><!-- 1 town --> <Upgrade id="3,58"/> </Tile> <Tile id="-10"><!-- 1 city --> <Upgrade id="5,6,57"/> </Tile> <Tile id="-89010"><!-- NEW CITY: I4 --> <Upgrade id="438"/> </Tile> <!-- Map: Fixed --> <Tile id="-8"/> <!--shallow curve--> <Tile id="-890030"/> <!--NEW TILE B3--> <Tile id="-890031"/> <!--NEW TILE G14--> <Tile id="-89511"/> <!--NEW TILE B7--> <Tile id="-902"/> <!--red off-board destinations--> <!-- Map: Upgradeable to green --> <Tile id="-89115"> <!--NEW TILE C4--> <Upgrade id="12,13,14,15,205,206"/> </Tile> <Tile id="-89012"> <!--NEW TILE K4--> <Upgrade id="440"/> </Tile> <!-- Map: Upgradeable to brown --> <Tile id="-89015"> <!--NEW TILE F9--> <Upgrade id="465"/> </Tile> <!-- Yellow Tiles --> <Tile id="3"> <Attributes quantity="2"/> </Tile> <Tile id="5"> <Attributes quantity="2"/> <Upgrade id="12,14,15,205,206"/> </Tile> <Tile id="6"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="4"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="2"/> </IfOption> <Upgrade id="12,13,14,15,205,206"/> </Tile> <Tile id="7"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="3"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="2"/> </IfOption> <Upgrade id="26,27,28,29"/> </Tile> <Tile id="8"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="6"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="5"/> </IfOption> <Upgrade id="16,19,23,24,25,28,29"/> </Tile> <Tile id="9"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="6"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="5"/> </IfOption> <Upgrade id="19,20,23,24,26,27"/> </Tile> <Tile id="57"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="3"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="2"/> </IfOption> <Upgrade id="14,15"/> </Tile> <Tile id="58"> <Attributes quantity="3"/> </Tile> <Tile id="437"> <!--NEW TILE: Port--> <Attributes quantity="1"/> </Tile> <Tile id="438"> <!--NEW TILE: I4 TODO: 80 costs to upgrade--> <Attributes quantity="1"/> <Upgrade id="439"/> </Tile> <!-- Green Tiles --> <Tile id="12"> <Attributes quantity="1"/> <Upgrade id="448,611"/> </Tile> <Tile id="13"> <Attributes quantity="1"/> <Upgrade id="611"/> </Tile> <Tile id="14"> <Attributes quantity="1"/> <Upgrade id="611"/> </Tile> <Tile id="15"> <Attributes quantity="3"/> <Upgrade id="448,611"/> </Tile> <Tile id="16"> <Attributes quantity="1"/> </Tile> <Tile id="19"> <Attributes quantity="1"/> <Upgrade id="45,46"/> </Tile> <Tile id="20"> <Attributes quantity="1"/> <Upgrade id="47"/> </Tile> <Tile id="23"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="3"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="2"/> </IfOption> <Upgrade id="41,45,47"/> </Tile> <Tile id="24"> <IfOption name="BeginnerGame" value="yes"> <Attributes quantity="3"/> </IfOption> <IfOption name="BeginnerGame" value="no"> <Attributes quantity="2"/> </IfOption> <Upgrade id="42,46,47"/> </Tile> <Tile id="25"> <Attributes quantity="1"/> <Upgrade id="40,45,46"/> </Tile> <Tile id="26"> <Attributes quantity="1"/> <Upgrade id="42,45"/> </Tile> <Tile id="27"> <Attributes quantity="1"/> <Upgrade id="41,46"/> </Tile> <Tile id="28"> <Attributes quantity="1"/> <Upgrade id="46"/> </Tile> <Tile id="29"> <Attributes quantity="1"/> <Upgrade id="45"/> </Tile> <Tile id="205"> <Attributes quantity="1"/> <Upgrade id="448,611"/> </Tile> <Tile id="206"> <Attributes quantity="1"/> <Upgrade id="448,611"/> </Tile> <Tile id="439"> <!--NEW TILE: I4 TODO: costs 80 to upgrade --> <Attributes quantity="1"/> <Upgrade id="492"/> </Tile> <Tile id="440"><!--NEW TILE:K4--> <Attributes quantity="1"/> <Upgrade id="466"/> </Tile> <!-- Brown Tiles --> <Tile id="39"> <Attributes quantity="1"/> </Tile> <Tile id="40"> <Attributes quantity="1"/> </Tile> <Tile id="41"> <Attributes quantity="1"/> </Tile> <Tile id="42"> <Attributes quantity="1"/> </Tile> <Tile id="45"> <Attributes quantity="1"/> </Tile> <Tile id="46"> <Attributes quantity="1"/> </Tile> <Tile id="47"> <Attributes quantity="1"/> </Tile> <Tile id="448"> <!--NEW TILE--> <Attributes quantity="4"/> </Tile> <Tile id="465"> <!--NEW TILE--> <Attributes quantity="1"/> </Tile> <Tile id="466"> <!--NEW TILE--> <Attributes quantity="1"/> </Tile> <Tile id="492"> <!--NEW TILE--> <Attributes quantity="1"/> </Tile> <Tile id="611"> <Attributes quantity="2"/> </Tile> </TileManager> --- NEW FILE: Tiles.xml --- <?xml version="1.0" encoding="UTF-8" standalone="no"?><Tiles><Tile colour="white" id="0" name="empty"/><Tile colour="white" id="-1" name="1 village"><Station id="city1" position="002" type="Town"/></Tile><Tile colour="white" id="-10" name="1 city"><Station id="city1" position="302" slots="1" type="City"/></Tile><Tile colour="white" id="-89010" name="1889 I4"><Station id="city1" position="0" slots="1" type="City"/></Tile><Tile colour="fixed" id="-8" name="MF 8"><Track from="side2" gauge="normal" to="side0"/></Tile><Tile colour="fixed" id="-890030" name="1889 B3"><Station id="city1" position="252" type="Town" value="20"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="fixed" id="-890031" name="1889 G14"><Station id="city1" position="052" type="Town" value="20"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side1"/></Tile><Tile colour="fixed" id="-89511" name="1889 B7"><Station id="city1" position="0" slots="2" type="City" value="40"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="red" id="-902" name="OM 2 way"><Station id="city1" position="0" type="OffMapCity" value="-1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side1"/></Tile><Tile colour="yellow" id="-89115" name="1889 C4"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="yellow" id="-89012" name="1889 K5"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="green" id="-89015" name="1889 F9"><Station id="city1" position="0" slots="2" type="City" value="30"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="yellow" id="3" name="3"><Station id="city1" position="352" type="Town" value="10"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="yellow" id="5" name="5"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="yellow" id="6" name="6"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side2"/></Tile><Tile colour="yellow" id="7" name="7"><Track from="side3" gauge="normal" to="side4"/></Tile><Tile colour="yellow" id="8" name="8"><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="yellow" id="9" name="9"><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="yellow" id="57" name="57"><Station id="city1" position="0" slots="1" type="City" value="20"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="yellow" id="58" name="58"><Station id="city1" position="401" type="Town" value="10"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="yellow" id="437" name="1889 Port"><Station id="city1" position="0" type="Town" value="30"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="yellow" id="438" name="1889 I4 yellow"><Station id="city1" position="0" slots="1" type="City" value="40"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="green" id="12" name="12"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="green" id="13" name="13"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="green" id="14" name="14"><Station id="city1" position="0" slots="2" type="City" value="30"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="green" id="15" name="15"><Station id="city1" position="0" slots="2" type="City" value="30"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="green" id="16" name="16"><Track from="side3" gauge="normal" to="side5"/><Track from="side4" gauge="normal" to="side0"/></Tile><Tile colour="green" id="19" name="19"><Track from="side5" gauge="normal" to="side1"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="green" id="20" name="20"><Track from="side1" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="green" id="23" name="23"><Track from="side4" gauge="normal" to="side0"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="green" id="24" name="24"><Track from="side3" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="green" id="25" name="25"><Track from="side1" gauge="normal" to="side3"/><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="green" id="26" name="26"><Track from="side5" gauge="normal" to="side0"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="green" id="27" name="27"><Track from="side3" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="green" id="28" name="28"><Track from="side3" gauge="normal" to="side5"/><Track from="side4" gauge="normal" to="side5"/></Tile><Tile colour="green" id="29" name="29"><Track from="side3" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="green" id="205" name="205"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="green" id="206" name="206"><Station id="city1" position="0" slots="1" type="City" value="30"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="green" id="439" name="1889 I4 green"><Station id="city1" position="0" slots="2" type="City" value="50"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side0"/></Tile><Tile colour="green" id="440" name="1889 K5 green"><Station id="city1" position="0" slots="1" type="City" value="40"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="39" name="39"><Track from="side3" gauge="normal" to="side4"/><Track from="side3" gauge="normal" to="side5"/><Track from="side4" gauge="normal" to="side5"/></Tile><Tile colour="brown" id="40" name="40"><Track from="side1" gauge="normal" to="side3"/><Track from="side1" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side5"/></Tile><Tile colour="brown" id="41" name="41"><Track from="side4" gauge="normal" to="side0"/><Track from="side4" gauge="normal" to="side3"/><Track from="side0" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="42" name="42"><Track from="side3" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side0"/><Track from="side5" gauge="normal" to="side0"/></Tile><Tile colour="brown" id="45" name="45"><Track from="side1" gauge="normal" to="side5"/><Track from="side1" gauge="normal" to="side3"/><Track from="side5" gauge="normal" to="side0"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="brown" id="46" name="46"><Track from="side1" gauge="normal" to="side5"/><Track from="side1" gauge="normal" to="side0"/><Track from="side3" gauge="normal" to="side5"/><Track from="side3" gauge="normal" to="side0"/></Tile><Tile colour="brown" id="47" name="47"><Track from="side3" gauge="normal" to="side0"/><Track from="side3" gauge="normal" to="side1"/><Track from="side4" gauge="normal" to="side0"/><Track from="side4" gauge="normal" to="side1"/></Tile><Tile colour="brown" id="448" name="1889 K dc brown"><Station id="city1" position="0" slots="2" type="City" value="40"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="465" name="1889 F9 brown "><Station id="city1" position="0" slots="3" type="City" value="60"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/></Tile><Tile colour="brown" id="466" name="1889 K5 brown"><Station id="city1" position="0" slots="2" type="City" value="60"/><Track from="city1" gauge="normal" to="side5"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/></Tile><Tile colour="brown" id="492" name="1889 I4 brown"><Station id="city1" position="0" slots="3" type="City" value="80"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side1"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side5"/></Tile><Tile colour="brown" id="611" name="611"><Station id="city1" position="0" slots="2" type="City" value="40"/><Track from="city1" gauge="normal" to="side0"/><Track from="city1" gauge="normal" to="side2"/><Track from="city1" gauge="normal" to="side3"/><Track from="city1" gauge="normal" to="side4"/><Track from="city1" gauge="normal" to="side5"/></Tile></Tiles> --- NEW FILE: StockMarket.xml --- <StockMarket type="rectangular"> <!-- Note two supported colour specification formats: RGB decimal with commas and RGB hexadecimal without commas --> <StockSpaceType name="yellow" colour="255,255,0"> <NoCertLimit/> </StockSpaceType> <StockSpaceType name="orange" colour="FF8000"> <NoCertLimit/> <NoHoldLimit/> </StockSpaceType> <StockSpace name="A1" price="75" /> <StockSpace name="A2" price="70" /> <StockSpace name="A3" price="65" /> <StockSpace name="A4" price="60"/> <StockSpace name="A5" price="55" /> <StockSpace name="A6" price="50" type="yellow"/> <StockSpace name="A7" price="45" type="yellow"/> <StockSpace name="A8" price="40" type="yellow"/> <StockSpace name="A9" price="30" type="orange"/> <StockSpace name="A10" price="20" type="orange"/> <StockSpace name="A11" price="10" type="orange"/> <StockSpace name="B1" price="80" /> <StockSpace name="B2" price="75" /> <StockSpace name="B3" price="70" /> <StockSpace name="B4" price="65"/> <StockSpace name="B5" price="60" /> <StockSpace name="B6" price="55" /> <StockSpace name="B7" price="50" type="yellow"/> <StockSpace name="B8" price="45" type="yellow"/> <StockSpace name="B9" price="40" type="yellow"/> <StockSpace name="B10" price="30" type="orange"/> <StockSpace name="B11" price="20" type="orange"/> <StockSpace name="C1" price="90" /> <StockSpace name="C2" price="80" /> <StockSpace name="C3" price="75" /> <StockSpace name="C4" price="70"/> <StockSpace name="C5" price="65" /> <StockSpace name="C6" price="60" /> <StockSpace name="C7" price="55" /> <StockSpace name="C8" price="50" type="yellow"/> <StockSpace name="C9" price="45" type="yellow"/> <StockSpace name="C10" price="40" type="yellow"/> <StockSpace name="C11" price="30" type="orange"/> <StockSpace name="D1" price="100" > <StartSpace/> </StockSpace> <StockSpace name="D2" price="90" > <StartSpace/> </StockSpace> <StockSpace name="D3" price="80" > <StartSpace/> </StockSpace> <StockSpace name="D4" price="75" > <StartSpace/> </StockSpace> <StockSpace name="D5" price="70" > <StartSpace/> </StockSpace> <StockSpace name="D6" price="65" > <StartSpace/> </StockSpace> <StockSpace name="D7" price="60" /> <StockSpace name="D8" price="55" /> <StockSpace name="D9" price="50" type="yellow"/> <StockSpace name="D10" price="45" type="yellow"/> <StockSpace name="D11" price="40" type="yellow"/> <StockSpace name="E1" price="110" /> <StockSpace name="E2" price="100" /> <StockSpace name="E3" price="90" /> <StockSpace name="E4" price="80"/> <StockSpace name="E5" price="75" /> <StockSpace name="E6" price="70" /> <StockSpace name="E7" price="65" /> <StockSpace name="E8" price="60"/> <StockSpace name="F1" price="125" /> <StockSpace name="F2" price="110" /> <StockSpace name="F3" price="100" /> <StockSpace name="F4" price="90"/> <StockSpace name="F5" price="80" /> <StockSpace name="F6" price="75" /> <StockSpace name="F7" price="70" /> <StockSpace name="G1" price="140" /> <StockSpace name="G2" price="125" /> <StockSpace name="G3" price="110" /> <StockSpace name="G4" price="100"/> <StockSpace name="G5" price="90" /> <StockSpace name="G6" price="80" /> <StockSpace name="H1" price="155" /> <StockSpace name="H2" price="140" /> <StockSpace name="H3" price="125" /> <StockSpace name="H4" price="110"/> <StockSpace name="H5" price="100" /> <StockSpace name="I1" price="175" /> <StockSpace name="I2" price="155" /> <StockSpace name="I3" price="140" /> <StockSpace name="I4" price="125"/> <StockSpace name="J1" price="200" /> <StockSpace name="J2" price="175" /> <StockSpace name="J3" price="155" /> <StockSpace name="J4" price="140"/> <StockSpace name="K1" price="225" /> <StockSpace name="K2" price="200" /> <StockSpace name="K3" price="175" /> <StockSpace name="L1" price="255" /> <StockSpace name="L2" price="225" /> <StockSpace name="L3" price="200" /> <StockSpace name="M1" price="285" /> <StockSpace name="M2" price="255" /> <StockSpace name="N1" price="315" /> <StockSpace name="N2" price="285" /> <StockSpace name="O1" price="350" /> <StockSpace name="O2" price="315" /> </StockMarket> --- NEW FILE: Map.xml --- <Map mapClass="rails.ui.swing.hexmap.NSHexMap" tileOrientation="NS" letterOrientation="horizontal" even="A"> <Hex name="A8" tile="0" cost="80"/> <Hex name="A10" tile="-10" city="Sukomo"/> <Hex name="B3" tile="-890030" orientation="0" city="Yawatahama"/> <!--NEW TILE:-890030--> <Hex name="B5" tile="0"/> <Hex name="B7" tile="-89511" orientation="0" city="Uwajima"/> <!--NEW TILE:-89511--> <Hex name="B9" tile="0" cost="80"/> <Hex name="B11" tile="-1" city="Nakamura"/> <Hex name="C4" tile="-89115" orientation="0" city="Ohzu"/> <Hex name="C6" tile="0" cost="80"/> <Hex name="C8" tile="0"/> <Hex name="C10" tile="-10" city="Kubokawa"/> <Hex name="D3" tile="0"/> <Hex name="D5" tile="0" cost="80"/> <Hex name="D7" tile="0" cost="80"/> <Hex name="D9" tile="0"/> <Hex name="E2" tile="-10" city="Matsuyama"/> <Hex name="E4" tile="0" cost="80"/> <Hex name="E6" tile="0" cost="80"/> <Hex name="E8" tile="0"/> <Hex name="F1" tile="-902" orientation="2" value="30,60,100" city="Imabari"/> <!-- TODO: 3rd value is for diesel only--> <Hex name="F3" tile="-10" city="Saijou"/> <Hex name="F5" tile="0" cost="80"/> <Hex name="F7" tile="0" cost="80"/> <Hex name="F9" tile="-89015" orientation="0" city="Kouchi" cost="80"/> <!--NEW TILE:-89015--> <Hex name="G4" tile="-10" city="Niihama"/> <Hex name="G6" tile="0" cost="80"/> <Hex name="G8" tile="0" cost="80"/> <Hex name="G10" tile="-1" city="Nangoku"/> <Hex name="G12" tile="-10" city="Nahari"/> <Hex name="G14" tile="-890031" orientation="0" city="Muroto"/> <!--NEW TILE:-890031--> <Hex name="H3" tile="0"/> <Hex name="H5" tile="0" cost="80" label="River"/> <Hex name="H7" tile="-10" city="Ikeda"/> <Hex name="H9" tile="0" cost="80"/> <Hex name="H11" tile="0" cost="80"/> <Hex name="H13" tile="0" cost="80"/> <Hex name="I2" tile="-10" city="Marugame"/> <Hex name="I4" tile="-89010" orientation="0" city="Kotohira" cost="80,80,80"/> <!-- NEW TILE: -89010 --> <Hex name="I6" tile="0" cost="80" label="River"/> <Hex name="I8" tile="0"/> <Hex name="I10" tile="0"/> <Hex name="I12" tile="-1" city="Muki"/> <Hex name="J1" tile="-902" orientation="2" value="20,40,80" city="Sakaide & Okoyama"/> <!-- TODO: 3rd value is for diesel only--> <Hex name="J3" tile="0"/> <Hex name="J5" tile="-1" city="Ritsurin Kouen"/> <Hex name="J7" tile="-8" orientation="2" label="River"/> <Hex name="J9" tile="-1" city="Komatsujima"/> <Hex name="J11" tile="-10" city="Anan"/> <Hex name="K4" tile="-89012" orientation="0" city="Takamatsu"/> <!--NEW TILE: -89012--> <Hex name="K6" tile="0" cost="80" lablel="River"/> <Hex name="K8" tile="-10" city="Tokushima"/> <Hex name="L7" tile="-902" orientation="3" value="20,40,80" city="Naruto & Awaji"/> <!-- TODO: 3rd value is for diesel only--> </Map> --- NEW FILE: Game.xml --- <?xml version="1.0"?> <ComponentManager> <Component name="GameManager" class="rails.game.GameManager"> <Game name="1889"/> <!-- GAME OPTIONS must have: - a name, which must also exist as an entry in LocalText.properties, - optionally 'type="toggle"', which has the effect that the selection uses a checkbox instead of a dropdown list. In this case, 'values' must be absent (the allowed values are fixed to "yes,no"). - optionally, 'values="a,b,c"' i,e, a list of allowed values. - optionally, a default value (only affects a toggle; in a dropdown the first item is always the default). --> <!-- The options in Game.xml are not currently used. See GamesList.xml for the real ones. --> <Option name="WithOptional6Train" type="toggle" default="no"/> <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> <GameParameters> <PlayerShareLimit percentage="60"> <!-- Option "NumberOfPlayers" is automatically set by the game engine --> <IfOption name="NumberOfPlayers" value="2"> <Attributes percentage="70"/> </IfOption> </PlayerShareLimit> <BankPoolLimit percentage="50"/> <StockRound> <NoSaleInFirstSR/> </StockRound> </GameParameters> <EndOfGame> <Bankruptcy/> <BankBreaks limit="0" finish="setOfORs"/> <!-- "Runs out"; when "broken", -1 is the limit --> </EndOfGame> </Component> <Component name="PlayerManager" class="rails.game.PlayerManager"> <Players number="2" cash="420" certLimit="25"/> <Players number="3" cash="420" certLimit="19"/> <Players number="4" cash="420" certLimit="14"/> <Players number="5" cash="390" certLimit="12"/> <Players number="6" cash="390" certLimit="11"/> </Component> <Component name="Bank" class="rails.game.Bank"> <Bank amount="7000"/> <Money format="¥@"/> </Component> <Component name="TileManager" class="rails.game.TileManager" file="TileSet.xml"/> <Component name="Map" class="rails.game.MapManager" file="Map.xml"/> <!-- Specific CompanyManager to avoid closing of Uno-Takamatsu Ferry --> <Component name="CompanyManager" class="rails.game.CompanyManager" file="CompanyManager.xml"/> <Component name="StockMarket" class="rails.game.StockMarket" file="StockMarket.xml"/> <Component name="TrainManager" class="rails.game.TrainManager"> <Defaults> <Reach base="stops" countTowns="yes"/> <!-- Alternative values: base="hexes" for H-trains as in 1826, 1849 etc. countTowns="no" for all trains in 1841, 18EU, etc., where towns score but do not count against the train length. Otherwise, towns are counted as minor or major stops, depending on the presence or absence of a "minorStops" value. --> <Score towns="yes"/> <!-- Alternative values: towns="no" for trains that ignore towns (e.g. 1826 TGV). cities="double" if city-revenue is doubled (e.g. 1826 TGV). --> </Defaults> <Train name="2" majorStops="2" cost="80" amount="6"/> <Train name="3" majorStops="3" cost="180" amount="5" startPhase="3"/> <Train name="4" majorStops="4" cost="300" amount="4" startPhase="4" rustedTrain="2"/> <Train name="5" majorStops="5" cost="450" amount="3" startPhase="5"/> <Train name="6" majorStops="6" cost="630" startPhase="6" rustedTrain="3" releasedTrain="D"> <IfOption name="WithOptional6Train" value="yes"> <Attributes amount="3"/> </IfOption> <IfOption name="WithOptional6Train" value="no"> <Attributes amount="2"/> </IfOption> </Train> <Train name="D" majorStops="99" cost="1100" startPhase="D" rustedTrain="4"> <IfOption name="UnlimitedTopTrains" value="yes"> <Attributes amount="-1"/> </IfOption> <IfOption name="UnlimitedTopTrains" value="no"> <Attributes amount="6"/> </IfOption> <ExchangeFirst cost="800"/> </Train> </Component> <Component name="PhaseManager" class="rails.game.PhaseManager"> <!-- Note: released and rusted trains are now specified per Train but could as well be moved here. To be sorted out when we do 18US. --> <!-- Each Phase's defaults are the previous one's values --> <Phase name="2" > <Tiles colour="yellow"/> <Privates sellingAllowed="no"/> <OperatingRounds number="1"/> <Trains tradingAllowed="yes"/> </Phase> <Phase name="3"> <Tiles colour="yellow,green"/> <Privates sellingAllowed="yes"/> <OperatingRounds number="2"/> </Phase> <Phase name="4"> <Tiles colour="yellow,green"/> </Phase> <Phase name="5"> <Tiles colour="yellow,green,brown"/> <Privates sellingAllowed="no" close="yes" revenueStep="2"/> <!--G increases revenue and does not close - if owned by player--> <OperatingRounds number="3"/> <OffBoardRevenue step="2"/> </Phase> <Phase name="6"> <Tiles colour="yellow,green,brown"/> </Phase> <Phase name="D"> <Tiles colour="yellow,green,brown"/> <!-- TODO: Offboard revenue only for diesels changes, other trains remain at step 2 --> <!-- <OffBoardRevenue step="3"/> --> </Phase> </Component> </ComponentManager> |
From: Brett L. <wak...@us...> - 2010-02-03 05:38:02
|
Update of /cvsroot/rails/18xx/data In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24614/data Modified Files: GamesList.xml Log Message: Apply patches from Stefan Frey <ste...@we...> to implement 1889. Index: GamesList.xml =================================================================== RCS file: /cvsroot/rails/18xx/data/GamesList.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** GamesList.xml 23 Jan 2010 23:02:06 -0000 1.21 --- GamesList.xml 3 Feb 2010 05:37:55 -0000 1.22 *************** *** 88,92 **** <Players minimum="2" maximum="6"/> </Game> ! <Game name="18AL"> <Note>Fully playable</Note> <Description>18AL - The Railroads come to Alabama --- 88,110 ---- <Players minimum="2" maximum="6"/> </Game> ! ! <Game name="1889"> ! <Note>Only Beginner fully playable</Note> ! <Description>1889 - History of Shikoku Railways ! (c) 2003-2006 Yasutaka Ikeda ! Published by Wild Heaven Productions and Deep Thought Games ! ! Limitations: ! - Enforced share selling allows change of director in other company (see rule 10.6.2) ! - Special properties of privates not implemented yet (Advanced Game only) ! ! </Description> ! <Players minimum="2" maximum="6"/> ! <Option name="BeginnerGame" type="toggle" default="yes" /> ! <Option name="WithOptional6Train" type="toggle" default="no"/> ! <Option name="UnlimitedTopTrains" parm="D" type="toggle" default="no"/> ! </Game> ! ! <Game name="18AL"> <Note>Fully playable</Note> <Description>18AL - The Railroads come to Alabama |
From: Brett L. <wak...@us...> - 2010-02-03 05:38:02
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24614/rails/ui/swing Modified Files: ORUIManager.java StartRoundWindow.java Log Message: Apply patches from Stefan Frey <ste...@we...> to implement 1889. Index: StartRoundWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StartRoundWindow.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** StartRoundWindow.java 31 Jan 2010 22:22:34 -0000 1.36 --- StartRoundWindow.java 3 Feb 2010 05:37:55 -0000 1.37 *************** *** 658,662 **** if (item.getPrimary() instanceof PrivateCompany) { PrivateCompany priv = (PrivateCompany) item.getPrimary(); ! b.append ("<br>Revenue: ").append(Bank.format(priv.getRevenue())); List<MapHex> blockedHexes = priv.getBlockedHexes(); if (blockedHexes == null) { --- 658,662 ---- if (item.getPrimary() instanceof PrivateCompany) { PrivateCompany priv = (PrivateCompany) item.getPrimary(); ! b.append ("<br>Revenue: ").append(Bank.formatIntegerArray(priv.getRevenue())); List<MapHex> blockedHexes = priv.getBlockedHexes(); if (blockedHexes == null) { *************** *** 675,678 **** --- 675,687 ---- } } + // sfy 1889 + List<String> preventClosingConditions = priv.getPreventClosingConditions(); + if (!preventClosingConditions.isEmpty()) { + b.append("<br><b>Prevent closing conditions:</b>"); + for (String condition : preventClosingConditions) { + b.append("<br>").append(condition); + } + } + } if (item.getSecondary() != null) { Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** ORUIManager.java 31 Jan 2010 22:22:34 -0000 1.48 --- ORUIManager.java 3 Feb 2010 05:37:55 -0000 1.49 *************** *** 529,533 **** for (LayTile action : possibleActions.getType(LayTile.class)) { if (action.getType() == LayTile.SPECIAL_PROPERTY ! && action.getSpecialProperty().getLocations().contains(mapHex)) { // log.debug(hex.getName()+" is a special property target"); return true; --- 529,536 ---- for (LayTile action : possibleActions.getType(LayTile.class)) { if (action.getType() == LayTile.SPECIAL_PROPERTY ! && !action.getSpecialProperty().requiresConnection() // sfy 1889 ! && action.getSpecialProperty().getLocations().contains(mapHex) ! ) ! { // log.debug(hex.getName()+" is a special property target"); return true; |
From: Brett L. <wak...@us...> - 2010-02-03 05:38:02
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24614/rails/game Modified Files: Phase.java PhaseI.java Bank.java PrivateCompanyI.java OperatingRound.java PrivateCompany.java Log Message: Apply patches from Stefan Frey <ste...@we...> to implement 1889. Index: PrivateCompanyI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PrivateCompanyI.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PrivateCompanyI.java 8 Jan 2010 21:30:46 -0000 1.8 --- PrivateCompanyI.java 3 Feb 2010 05:37:54 -0000 1.9 *************** *** 25,29 **** * @return */ ! public int getRevenue(); /** --- 25,31 ---- * @return */ ! // sfy 1889: changed to IntegerArray ! public int[] getRevenue(); ! public int getRevenueByPhase(PhaseI phase); /** *************** *** 36,39 **** --- 38,45 ---- public void setHolder(Portfolio portfolio); + // sfy 1889: check if closeable + public boolean isCloseable(); + public List<String> getPreventClosingConditions(); + // Methods related to closure when special properties are exercised. public boolean closesIfAllExercised(); Index: PrivateCompany.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PrivateCompany.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** PrivateCompany.java 31 Jan 2010 22:22:28 -0000 1.31 --- PrivateCompany.java 3 Feb 2010 05:37:54 -0000 1.32 *************** *** 16,20 **** protected int basePrice = 0; ! protected int revenue = 0; protected List<SpecialPropertyI> specialProperties = null; protected String auctionType; --- 16,21 ---- protected int basePrice = 0; ! // list of revenue sfy 1889 ! protected int[] revenue; protected List<SpecialPropertyI> specialProperties = null; protected String auctionType; *************** *** 26,29 **** --- 27,32 ---- protected boolean closeIfAnyExercised = false; protected boolean closeAtEndOfTurn = false; // E.g. 1856 W&SR + // Prevent closing conditions sfy 1889 + protected List<String> preventClosingConditions = null; protected String blockedHexesString = null; *************** *** 43,47 **** longName= tag.getAttributeAsString("longName", ""); basePrice = tag.getAttributeAsInteger("basePrice", 0); ! revenue = tag.getAttributeAsInteger("revenue", 0); // Blocked hexes (until bought by a company) --- 46,52 ---- longName= tag.getAttributeAsString("longName", ""); basePrice = tag.getAttributeAsInteger("basePrice", 0); ! ! // sfy 1889 changed to IntegerArray ! revenue = tag.getAttributeAsIntegerArray("revenue", new int[0]); // Blocked hexes (until bought by a company) *************** *** 103,109 **** } } } - - } catch (Exception e) { throw new ConfigurationException("Configuration error for Private " --- 108,123 ---- } } + /* start sfy 1889 */ + List<Tag> preventTags = closureTag.getChildren("PreventClosing"); + if (preventTags != null) { + for (Tag preventTag: preventTags) { + String conditionText = preventTag.getAttributeAsString("condition"); + if (conditionText != null) { + preventClosingConditions.add(conditionText); + } + } + } + /* end sfy 1889 */ } } catch (Exception e) { throw new ConfigurationException("Configuration error for Private " *************** *** 137,141 **** specialProperties = new ArrayList<SpecialPropertyI>(); ! } --- 151,157 ---- specialProperties = new ArrayList<SpecialPropertyI>(); ! ! /* start sfy 1889 */ ! preventClosingConditions = new ArrayList<String>(); } *************** *** 161,168 **** * @return Revenue */ ! public int getRevenue() { return revenue; } ! /** * @return Phase this Private closes --- 177,196 ---- * @return Revenue */ ! public int[] getRevenue() { return revenue; } ! ! // start: sfy 1889: new method ! public int getRevenueByPhase(PhaseI phase){ ! if (phase != null) { ! return revenue[Math.min( ! revenue.length, ! phase.getPrivatesRevenueStep()) - 1]; ! } else { ! return 0; ! } ! } ! // end: sfy 1889 ! /** * @return Phase this Private closes *************** *** 185,191 **** public void setClosed() { ! if (isClosed()) return; ! ! super.setClosed(); unblockHexes(); moveTo(GameManager.getInstance().getBank().getScrapHeap()); --- 213,220 ---- public void setClosed() { ! if (isClosed()) return; ! if (!isCloseable()) return; /* sfy 1889 */ ! ! super.setClosed(); unblockHexes(); moveTo(GameManager.getInstance().getBank().getScrapHeap()); *************** *** 207,211 **** } } ! /** * @param i --- 236,261 ---- } } ! ! /* start sfy 1889 */ ! public boolean isCloseable() { ! ! if (preventClosingConditions.isEmpty()) return true; ! ! if (preventClosingConditions.contains("doesNotClose")) { ! log.debug("Private Company "+getName()+" does not close (unconditional)."); ! return false; ! } ! if (preventClosingConditions.contains("ifOwnedByPlayer") ! && portfolio.getOwner() instanceof Player) { ! log.debug("Private Company "+getName()+" does not close, as it is owned by a player."); ! return false; ! } ! return true; ! } ! public List<String> getPreventClosingConditions() { ! return preventClosingConditions; ! } ! /* end sfy 1889 */ ! /** * @param i Index: Bank.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Bank.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Bank.java 31 Jan 2010 22:22:27 -0000 1.19 --- Bank.java 3 Feb 2010 05:37:54 -0000 1.20 *************** *** 200,203 **** return result; } ! } --- 200,212 ---- return result; } ! // start sfy 1889 for integerarrays ! public static String formatIntegerArray(int[] amountList) { ! StringBuilder result = new StringBuilder(); ! for (int i = 0; i < amountList.length;++i) { ! if (!(i == 0)) result.append(","); ! result.append(format(amountList[i])); ! } ! return result.toString(); ! } ! // end sfy 1889 } Index: OperatingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/OperatingRound.java,v retrieving revision 1.94 retrieving revision 1.95 diff -C2 -d -r1.94 -r1.95 *** OperatingRound.java 31 Jan 2010 22:22:28 -0000 1.94 --- OperatingRound.java 3 Feb 2010 05:37:54 -0000 1.95 *************** *** 124,128 **** if (((Portfolio)priv.getHolder()).getOwner().getClass() != Bank.class) { CashHolder recipient = ((Portfolio)priv.getHolder()).getOwner(); ! int revenue = priv.getRevenue(); if (count++ == 0) ReportBuffer.add(""); ReportBuffer.add(LocalText.getText("ReceivesFor", --- 124,128 ---- if (((Portfolio)priv.getHolder()).getOwner().getClass() != Bank.class) { CashHolder recipient = ((Portfolio)priv.getHolder()).getOwner(); ! int revenue = priv.getRevenueByPhase(getCurrentPhase()); // sfy 1889: revenue by phase if (count++ == 0) ReportBuffer.add(""); ReportBuffer.add(LocalText.getText("ReceivesFor", Index: PhaseI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PhaseI.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PhaseI.java 28 Aug 2009 20:49:20 -0000 1.7 --- PhaseI.java 3 Feb 2010 05:37:54 -0000 1.8 *************** *** 19,22 **** --- 19,24 ---- public boolean isPrivateSellingAllowed(); + + public int getPrivatesRevenueStep(); // sfy 1889 public boolean isTrainTradingAllowed(); Index: Phase.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Phase.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Phase.java 31 Jan 2010 22:22:28 -0000 1.17 --- Phase.java 3 Feb 2010 05:37:54 -0000 1.18 *************** *** 25,28 **** --- 25,30 ---- protected int offBoardRevenueStep = 1; + + protected int privatesRevenueStep = 1; // sfy 1889 protected boolean trainTradingAllowed = false; *************** *** 63,66 **** --- 65,69 ---- numberOfOperatingRounds = defaults.numberOfOperatingRounds; offBoardRevenueStep = defaults.offBoardRevenueStep; + privatesRevenueStep = defaults.privatesRevenueStep; trainTradingAllowed = defaults.trainTradingAllowed; oneTrainPerTurn = defaults.oneTrainPerTurn; *************** *** 96,99 **** --- 99,103 ---- privateSellingAllowed); privatesClose = privatesTag.getAttributeAsBoolean("close", false); + privatesRevenueStep = privatesTag.getAttributeAsInteger("revenueStep", privatesRevenueStep); // sfy 1889 } *************** *** 189,193 **** return privateSellingAllowed; } ! public boolean isTrainTradingAllowed() { return trainTradingAllowed; --- 193,200 ---- return privateSellingAllowed; } ! // sfy 1889 ! public int getPrivatesRevenueStep() { ! return privatesRevenueStep; ! } public boolean isTrainTradingAllowed() { return trainTradingAllowed; |
From: Brett L. <wak...@us...> - 2010-02-03 05:38:02
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24614 Modified Files: LocalisedText.properties Log Message: Apply patches from Stefan Frey <ste...@we...> to implement 1889. Index: LocalisedText.properties =================================================================== RCS file: /cvsroot/rails/18xx/LocalisedText.properties,v retrieving revision 1.103 retrieving revision 1.104 diff -C2 -d -r1.103 -r1.104 *** LocalisedText.properties 25 Jan 2010 20:52:39 -0000 1.103 --- LocalisedText.properties 3 Feb 2010 05:37:55 -0000 1.104 *************** *** 16,19 **** --- 16,20 ---- BANK_SHARES=Bank shares BASE_PRICE=<html>Base<br>Price</html> + BeginnerGame=Choose beginner game BID=Bid BID_ITEM_LOG={0} bids {1} on {2}. Remaining free cash {3}. *************** *** 121,124 **** --- 122,126 ---- ComponentManagerNotYetConfigured=ComponentManager has not yet been configured. ConfirmToken=Press Lay Token to confirm token, click another city hex, or press the No Token button. + connected=connected CREDITS=Credits DestinationReachedByToken={0} gains {1} by laying a token on its destination {2} *************** *** 229,234 **** LaysBonusTokenOn={0} lays a {1} +{2} bonus token on {3} LayTile=Lay Tile ! # LayTileInfo: {0}=hexes, {1}=extra or notExtra, {2}=atNormalCost or atNoCost ! LayTileInfo=Lay an unconnected tile at hex {0} ({1}, {2}) # LayNamedTileInfo: {0}=tileId, {1}=name {2}=hexes, {3}=extra or notExtra, {4}=atNormalCost or atNoCost LayNamedTileInfo=Lay tile #{0} {1} at (one of) hex(es) {2} ({3}, {4}) --- 231,236 ---- LaysBonusTokenOn={0} lays a {1} +{2} bonus token on {3} LayTile=Lay Tile ! # LayTileInfo: {0}=hexes, {1}=extra or notExtra, {2}=atNormalCost or atNoCost, {3}=connected or unconnected ! LayTileInfo=Lay an {3} tile at hex {0} ({1}, {2}) # LayNamedTileInfo: {0}=tileId, {1}=name {2}=hexes, {3}=extra or notExtra, {4}=atNormalCost or atNoCost LayNamedTileInfo=Lay tile #{0} {1} at (one of) hex(es) {2} ({3}, {4}) *************** *** 453,456 **** --- 455,459 ---- TREASURY_SHARES=<html>Treasury<br>shares TreasuryOverHoldLimit=Treasury would get over the {0}% hold limit + unconnected=unconnected UnexpectedAction=Unexpected action: {0} UNDO=Undo |
From: Brett L. <wak...@us...> - 2010-02-03 05:38:02
|
Update of /cvsroot/rails/18xx/rails/game/special In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24614/rails/game/special Modified Files: SpecialTileLay.java SpecialProperty.java Log Message: Apply patches from Stefan Frey <ste...@we...> to implement 1889. Index: SpecialProperty.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/special/SpecialProperty.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** SpecialProperty.java 31 Jan 2010 22:22:30 -0000 1.22 --- SpecialProperty.java 3 Feb 2010 05:37:55 -0000 1.23 *************** *** 25,28 **** --- 25,29 ---- protected String whenText = ""; protected String transferText = ""; + protected boolean permanent = false; protected boolean isORProperty = false; protected boolean isSRProperty = false; *************** *** 67,70 **** --- 68,74 ---- transferText = tag.getAttributeAsString("transfer", ""); + + // sfy 1889 + permanent = tag.getAttributeAsBoolean("permanent", false); } *************** *** 131,134 **** --- 135,139 ---- public void setExercised (boolean value) { + if (permanent) return; // sfy 1889 exercised.set(value); if (value) privateCompany.checkClosingIfExercised(false); Index: SpecialTileLay.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/special/SpecialTileLay.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SpecialTileLay.java 31 Jan 2010 22:22:30 -0000 1.10 --- SpecialTileLay.java 3 Feb 2010 05:37:55 -0000 1.11 *************** *** 17,23 **** boolean extra = false; boolean free = false; @Override ! public void configureFromXML(Tag tag) throws ConfigurationException { super.configureFromXML(tag); --- 17,24 ---- boolean extra = false; boolean free = false; + boolean connected = false; /* sfy 1889 extension */ @Override ! public void configureFromXML(Tag tag) throws ConfigurationException { super.configureFromXML(tag); *************** *** 37,55 **** extra = tileLayTag.getAttributeAsBoolean("extra", extra); free = tileLayTag.getAttributeAsBoolean("free", free); closingValue = tileLayTag.getAttributeAsInteger("closingValue", closingValue); if (tileNumber > 0) { ! description = LocalText.getText("LayNamedTileInfo", ! tileNumber, ! name != null ? name : "", ! locationCodes, ! (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), ! (free ? LocalText.getText("noCost") : LocalText.getText("normalCost"))); } else { ! description = LocalText.getText("LayTileInfo", ! locationCodes, ! (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), ! (free ? LocalText.getText("noCost") : LocalText.getText("normalCost"))); } --- 38,63 ---- extra = tileLayTag.getAttributeAsBoolean("extra", extra); free = tileLayTag.getAttributeAsBoolean("free", free); + connected = tileLayTag.getAttributeAsBoolean("connected", connected); /* sfy 1889 extension */ closingValue = tileLayTag.getAttributeAsInteger("closingValue", closingValue); if (tileNumber > 0) { ! description = LocalText.getText("LayNamedTileInfo", ! tileNumber, ! name != null ? name : "", ! locationCodes, ! (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), ! (free ? LocalText.getText("noCost") : LocalText.getText("normalCost")), ! (connected ? LocalText.getText("connected") : LocalText.getText("unconnected")) ! /* sfy 1889 extension */ ! ); } else { ! description = LocalText.getText("LayTileInfo", ! locationCodes, ! (extra ? LocalText.getText("extra"):LocalText.getText("notExtra")), ! (free ? LocalText.getText("noCost") : LocalText.getText("normalCost")), ! (connected ? LocalText.getText("connected") : LocalText.getText("unconnected")) ! /* sfy 1889 extension */ ! ); } *************** *** 57,61 **** @Override ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { --- 65,69 ---- @Override ! public void finishConfiguration (GameManagerI gameManager) throws ConfigurationException { *************** *** 90,93 **** --- 98,105 ---- return free; } + // sfy 1889 + public boolean requiresConnection() { + return connected; + } public List<MapHex> getLocations() { *************** *** 112,128 **** @Override ! public String toString() { return "SpecialTileLay comp=" + privateCompany.getName() + " hex=" ! + locationCodes + " extra=" + extra + " cost=" + free; } @Override ! public String toMenu() { ! return description; } @Override ! public String getInfo() { ! return description; } } --- 124,140 ---- @Override ! public String toString() { return "SpecialTileLay comp=" + privateCompany.getName() + " hex=" ! + locationCodes + " extra=" + extra + " cost=" + free + " connected=" + connected; } @Override ! public String toMenu() { ! return description; } @Override ! public String getInfo() { ! return description; } } |
From: Brett L. <wak...@us...> - 2010-02-03 05:37:57
|
Update of /cvsroot/rails/18xx/data/1889 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24605/data/1889 Log Message: Directory /cvsroot/rails/18xx/data/1889 added to the repository |
From: Brett L. <wak...@us...> - 2010-02-03 05:17:52
|
Update of /cvsroot/rails/18xx In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv22432 Modified Files: rails.sh rails.bat build.xml Log Message: Bump version strings to 1.1.3 Index: rails.bat =================================================================== RCS file: /cvsroot/rails/18xx/rails.bat,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** rails.bat 10 Jan 2010 18:21:53 -0000 1.6 --- rails.bat 3 Feb 2010 05:17:44 -0000 1.7 *************** *** 1,2 **** ! java -jar rails-1.1.2.jar %1 \ No newline at end of file --- 1,2 ---- ! java -jar rails-1.1.3.jar %1 \ No newline at end of file Index: rails.sh =================================================================== RCS file: /cvsroot/rails/18xx/rails.sh,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** rails.sh 10 Jan 2010 18:21:47 -0000 1.6 --- rails.sh 3 Feb 2010 05:17:44 -0000 1.7 *************** *** 1,3 **** #!/bin/bash ! java -jar ./rails-1.1.2.jar $1 --- 1,3 ---- #!/bin/bash ! java -jar ./rails-1.1.3.jar $1 Index: build.xml =================================================================== RCS file: /cvsroot/rails/18xx/build.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** build.xml 31 Jan 2010 22:15:48 -0000 1.12 --- build.xml 3 Feb 2010 05:17:44 -0000 1.13 *************** *** 10,14 **** <property name="target" value="1.5"/> <property name="source" value="1.5"/> ! <property name="version" value="1.1.2"/> <taskdef name="jarbundler" classpath="tools/lib/jarbundler-2.1.0.jar" --- 10,14 ---- <property name="target" value="1.5"/> <property name="source" value="1.5"/> ! <property name="version" value="1.1.3"/> <taskdef name="jarbundler" classpath="tools/lib/jarbundler-2.1.0.jar" |
From: Brett L. <wak...@us...> - 2010-02-03 05:17:52
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv22432/rails/game Modified Files: Game.java Log Message: Bump version strings to 1.1.3 Index: Game.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Game.java,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** Game.java 31 Jan 2010 22:22:28 -0000 1.47 --- Game.java 3 Feb 2010 05:17:44 -0000 1.48 *************** *** 12,16 **** public class Game { ! public static final String version = "1.1.2+"; /** The component Manager */ --- 12,16 ---- public class Game { ! public static final String version = "1.1.3"; /** The component Manager */ |
From: Erik V. <ev...@us...> - 2010-02-02 20:00:38
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21518/rails/game Modified Files: PublicCompanyI.java PublicCompany.java StockMarket.java Log Message: Player worth is now updated at each price token move (except Undo and Redo) Index: StockMarket.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockMarket.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** StockMarket.java 31 Jan 2010 22:22:28 -0000 1.25 --- StockMarket.java 2 Feb 2010 20:00:20 -0000 1.26 *************** *** 326,332 **** public void processMove(PublicCompanyI company, StockSpaceI from, StockSpaceI to) { - // To be written to a log file in the future. if (from != null) from.removeToken(company); if (to != null) to.addToken(company); } --- 326,332 ---- public void processMove(PublicCompanyI company, StockSpaceI from, StockSpaceI to) { if (from != null) from.removeToken(company); if (to != null) to.addToken(company); + company.updatePlayersWorth(); } Index: PublicCompany.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PublicCompany.java,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** PublicCompany.java 31 Jan 2010 22:22:28 -0000 1.79 --- PublicCompany.java 2 Feb 2010 20:00:03 -0000 1.80 *************** *** 1033,1036 **** --- 1033,1051 ---- } + public void updatePlayersWorth() { + + Map<Player, Boolean> done = new HashMap<Player, Boolean>(8); + Player owner; + for (PublicCertificateI cert : certificates) { + if (cert.getHolder() instanceof Portfolio + && ((Portfolio)cert.getHolder()).getOwner() instanceof Player) { + owner = (Player)((Portfolio)cert.getHolder()).getOwner(); + if (!done.containsKey(owner)) { + owner.updateWorth(); + done.put(owner, true); + } + } + } + } /** Index: PublicCompanyI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PublicCompanyI.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** PublicCompanyI.java 31 Jan 2010 22:22:28 -0000 1.42 --- PublicCompanyI.java 2 Feb 2010 19:59:43 -0000 1.43 *************** *** 253,256 **** --- 253,258 ---- StockMarketI stockMarket); + public void updatePlayersWorth(); + public boolean isSplitAllowed(); |
From: Freek D. <mac...@us...> - 2010-01-31 22:23:12
|
Update of /cvsroot/rails/18xx/rails/ui/swing/elements In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv382/rails/ui/swing/elements Modified Files: CheckBoxDialog.java DialogOwner.java Field.java GUIStockSpace.java RadioButtonDialog.java Log Message: Fix indentation: Java files contain 4 spaces, not tabs Index: Field.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/elements/Field.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Field.java 14 Jan 2010 20:45:43 -0000 1.10 --- Field.java 31 Jan 2010 22:22:34 -0000 1.11 *************** *** 47,51 **** public Field(ModelObject modelObject) { ! this(""); //this(modelObject.getText()); this.modelObject = modelObject; --- 47,51 ---- public Field(ModelObject modelObject) { ! this(""); //this(modelObject.getText()); this.modelObject = modelObject; *************** *** 98,102 **** setText((String) o2); } else if (o2 instanceof ViewUpdate) { ! updateDetails ((ViewUpdate)o2); } else { setText(modelObject.toString()); --- 98,102 ---- setText((String) o2); } else if (o2 instanceof ViewUpdate) { ! updateDetails ((ViewUpdate)o2); } else { setText(modelObject.toString()); *************** *** 105,117 **** protected void updateDetails (ViewUpdate vu) { ! for (String key : vu.getKeys()) { ! if (ViewUpdate.TEXT.equalsIgnoreCase(key)) { ! setText (vu.getText()); ! } else if (ViewUpdate.BGCOLOUR.equalsIgnoreCase(key)) { ! setBackground((Color)vu.getValue(key)); ! normalBgColour = getBackground(); ! setForeground (Util.isDark(normalBgColour) ? Color.WHITE : Color.BLACK); ! } ! } } --- 105,117 ---- protected void updateDetails (ViewUpdate vu) { ! for (String key : vu.getKeys()) { ! if (ViewUpdate.TEXT.equalsIgnoreCase(key)) { ! setText (vu.getText()); ! } else if (ViewUpdate.BGCOLOUR.equalsIgnoreCase(key)) { ! setBackground((Color)vu.getValue(key)); ! normalBgColour = getBackground(); ! setForeground (Util.isDark(normalBgColour) ? Color.WHITE : Color.BLACK); ! } ! } } *************** *** 123,132 **** public void addDependent (JComponent dependent) { ! if (dependents == null) dependents = new ArrayList<JComponent>(2); ! dependents.add(dependent); } public List<JComponent> getDependents () { ! return dependents; } --- 123,132 ---- public void addDependent (JComponent dependent) { ! if (dependents == null) dependents = new ArrayList<JComponent>(2); ! dependents.add(dependent); } public List<JComponent> getDependents () { ! return dependents; } Index: DialogOwner.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/elements/DialogOwner.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DialogOwner.java 8 Jan 2010 21:27:54 -0000 1.2 --- DialogOwner.java 31 Jan 2010 22:22:34 -0000 1.3 *************** *** 7,16 **** public interface DialogOwner { ! public void dialogActionPerformed (); ! public JDialog getCurrentDialog(); ! public PossibleAction getCurrentDialogAction(); ! public void setCurrentDialog (JDialog dialog, PossibleAction action); } --- 7,16 ---- public interface DialogOwner { ! public void dialogActionPerformed (); ! public JDialog getCurrentDialog(); ! public PossibleAction getCurrentDialogAction(); ! public void setCurrentDialog (JDialog dialog, PossibleAction action); } Index: GUIStockSpace.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/elements/GUIStockSpace.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** GUIStockSpace.java 19 Dec 2009 18:32:34 -0000 1.9 --- GUIStockSpace.java 31 Jan 2010 22:22:34 -0000 1.10 *************** *** 54,58 **** priceLabel.setBackground(model.getColour()); priceLabel.setForeground(Util.isDark(priceLabel.getBackground()) ! ? Color.WHITE : Color.BLACK); priceLabel.setVerticalTextPosition(SwingConstants.TOP); --- 54,58 ---- priceLabel.setBackground(model.getColour()); priceLabel.setForeground(Util.isDark(priceLabel.getBackground()) ! ? Color.WHITE : Color.BLACK); priceLabel.setVerticalTextPosition(SwingConstants.TOP); Index: CheckBoxDialog.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/elements/CheckBoxDialog.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CheckBoxDialog.java 14 Jan 2010 20:45:09 -0000 1.6 --- CheckBoxDialog.java 31 Jan 2010 22:22:34 -0000 1.7 *************** *** 131,135 **** } } else if (arg0.getSource().equals(cancelButton)) { ! return; } setVisible(false); --- 131,135 ---- } } else if (arg0.getSource().equals(cancelButton)) { ! return; } setVisible(false); *************** *** 139,143 **** public String[] getOptions () { ! return options; } --- 139,143 ---- public String[] getOptions () { ! return options; } Index: RadioButtonDialog.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/elements/RadioButtonDialog.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** RadioButtonDialog.java 14 Jan 2010 20:44:45 -0000 1.7 --- RadioButtonDialog.java 31 Jan 2010 22:22:34 -0000 1.8 *************** *** 75,83 **** if (selectedOption < 0) { ! // If an option has been preselected, selection is mandatory. ! cancelButton = new JButton(LocalText.getText("Cancel")); ! cancelButton.setMnemonic(KeyEvent.VK_C); ! cancelButton.addActionListener(this); ! buttonPane.add(cancelButton); } --- 75,83 ---- if (selectedOption < 0) { ! // If an option has been preselected, selection is mandatory. ! cancelButton = new JButton(LocalText.getText("Cancel")); ! cancelButton.setMnemonic(KeyEvent.VK_C); ! cancelButton.addActionListener(this); ! buttonPane.add(cancelButton); } |
From: Freek D. <mac...@us...> - 2010-01-31 22:23:12
|
Update of /cvsroot/rails/18xx/rails/ui/swing In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv382/rails/ui/swing Modified Files: GUIToken.java GameSetupWindow.java GameStatus.java GameUIManager.java GridPanel.java ImageLoader.java MapPanel.java ORPanel.java ORUIManager.java ORWindow.java StartRoundWindow.java StatusWindow.java UpgradesPanel.java Log Message: Fix indentation: Java files contain 4 spaces, not tabs Index: StatusWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StatusWindow.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** StatusWindow.java 20 Jan 2010 19:52:43 -0000 1.36 --- StatusWindow.java 31 Jan 2010 22:22:34 -0000 1.37 *************** *** 203,207 **** if ("yes".equalsIgnoreCase(Config.get("report.window.open"))) { ! enableCheckBoxMenuItem(REPORT_CMD); } } --- 203,207 ---- if ("yes".equalsIgnoreCase(Config.get("report.window.open"))) { ! enableCheckBoxMenuItem(REPORT_CMD); } } *************** *** 409,413 **** // Request turn if (possibleActions.contains(RequestTurn.class)) { ! for (RequestTurn action : possibleActions.getType(RequestTurn.class)) { ActionMenuItem item = new ActionMenuItem(action.toString()); item.addActionListener(this); --- 409,413 ---- // Request turn if (possibleActions.contains(RequestTurn.class)) { ! for (RequestTurn action : possibleActions.getType(RequestTurn.class)) { ActionMenuItem item = new ActionMenuItem(action.toString()); item.addActionListener(this); *************** *** 417,421 **** specialActionItems.add(item); specialMenu.add(item); ! } } --- 417,421 ---- specialActionItems.add(item); specialMenu.add(item); ! } } *************** *** 507,511 **** process(executedAction); } else if (command.equals(DONE_CMD) || command.equals(PASS_CMD) ! || command.equals(AUTOPASS_CMD)) { if (gameUIManager.isGameOver()) { System.exit(0); --- 507,511 ---- process(executedAction); } else if (command.equals(DONE_CMD) || command.equals(PASS_CMD) ! || command.equals(AUTOPASS_CMD)) { if (gameUIManager.isGameOver()) { System.exit(0); *************** *** 514,518 **** } else if (executedAction instanceof UseSpecialProperty ! || executedAction instanceof RequestTurn) { process(executedAction); --- 514,518 ---- } else if (executedAction instanceof UseSpecialProperty ! || executedAction instanceof RequestTurn) { process(executedAction); Index: GUIToken.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GUIToken.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** GUIToken.java 19 Dec 2009 18:32:32 -0000 1.10 --- GUIToken.java 31 Jan 2010 22:22:33 -0000 1.11 *************** *** 27,31 **** @Override ! public void paintComponent(Graphics g) { clear(g); Graphics2D g2d = (Graphics2D) g; --- 27,31 ---- @Override ! public void paintComponent(Graphics g) { clear(g); Graphics2D g2d = (Graphics2D) g; *************** *** 86,90 **** circle = new Ellipse2D.Double(xCenter - 0.5*diameter, ! yCenter-0.5*diameter, diameter, diameter); this.setForeground(fgColor); --- 86,90 ---- circle = new Ellipse2D.Double(xCenter - 0.5*diameter, ! yCenter-0.5*diameter, diameter, diameter); this.setForeground(fgColor); *************** *** 107,111 **** @Override ! public String getName() { return name; } --- 107,111 ---- @Override ! public String getName() { return name; } Index: ORUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORUIManager.java,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** ORUIManager.java 24 Jan 2010 16:21:28 -0000 1.47 --- ORUIManager.java 31 Jan 2010 22:22:34 -0000 1.48 *************** *** 83,87 **** public void setGameUIManager (GameUIManager gameUIManager) { ! this.gameUIManager = gameUIManager; } --- 83,87 ---- public void setGameUIManager (GameUIManager gameUIManager) { ! this.gameUIManager = gameUIManager; } *************** *** 240,244 **** sp = tokenLay.getSpecialProperty(); if (sp != null && sp instanceof SpecialTokenLay) { ! extraMessage += "<br>" + sp.getHelp(); } else if ((locations = tokenLay.getLocationNameString()) != null) { if (normalTokenMessage.length() > 1) { --- 240,244 ---- sp = tokenLay.getSpecialProperty(); if (sp != null && sp instanceof SpecialTokenLay) { ! extraMessage += "<br>" + sp.getHelp(); } else if ((locations = tokenLay.getLocationNameString()) != null) { if (normalTokenMessage.length() > 1) { *************** *** 286,290 **** } else if (actionType == BuyBonusToken.class) { ! buyBonusToken ((BuyBonusToken)actions.get(0)); } else if (actionType == NullAction.class --- 286,290 ---- } else if (actionType == BuyBonusToken.class) { ! buyBonusToken ((BuyBonusToken)actions.get(0)); } else if (actionType == NullAction.class *************** *** 376,380 **** private void buyBonusToken (BuyBonusToken action) { ! orWindow.process(action); } --- 376,380 ---- private void buyBonusToken (BuyBonusToken action) { ! orWindow.process(action); } *************** *** 402,407 **** public void dialogActionPerformed () { ! JDialog currentDialog = getCurrentDialog(); ! PossibleAction currentDialogAction = getCurrentDialogAction(); if (currentDialog instanceof CheckBoxDialog --- 402,407 ---- public void dialogActionPerformed () { ! JDialog currentDialog = getCurrentDialog(); ! PossibleAction currentDialogAction = getCurrentDialogAction(); if (currentDialog instanceof CheckBoxDialog *************** *** 432,444 **** public JDialog getCurrentDialog() { ! return gameUIManager.getCurrentDialog(); } public PossibleAction getCurrentDialogAction () { ! return gameUIManager.getCurrentDialogAction(); } public void setCurrentDialog (JDialog dialog, PossibleAction action) { ! gameUIManager.setCurrentDialog(dialog, action); } --- 432,444 ---- public JDialog getCurrentDialog() { ! return gameUIManager.getCurrentDialog(); } public PossibleAction getCurrentDialogAction () { ! return gameUIManager.getCurrentDialogAction(); } public void setCurrentDialog (JDialog dialog, PossibleAction action) { ! gameUIManager.setCurrentDialog(dialog, action); } *************** *** 624,640 **** return; } ! // If more than one City to choose from, ask the player. Otherwise use Element zero (first) for the station. ! if (prompts.size() > 1) { ! String selected = (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken"), ! LocalText.getText("WhichStation"), ! JOptionPane.PLAIN_MESSAGE, null, ! prompts.toArray(), prompts.get(0)); ! if (selected == null) return; ! station = promptToCityMap.get(selected).getNumber(); ! } else { ! station = promptToCityMap.get(prompts.toArray() [0]).getNumber(); ! } } --- 624,640 ---- return; } ! // If more than one City to choose from, ask the player. Otherwise use Element zero (first) for the station. ! if (prompts.size() > 1) { ! String selected = (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken"), ! LocalText.getText("WhichStation"), ! JOptionPane.PLAIN_MESSAGE, null, ! prompts.toArray(), prompts.get(0)); ! if (selected == null) return; ! station = promptToCityMap.get(selected).getNumber(); ! } else { ! station = promptToCityMap.get(prompts.toArray() [0]).getNumber(); ! } } *************** *** 690,705 **** continue; } ! if (prompts.size () > 1) { ! String selected = ! (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken"), ! LocalText.getText("WhichStation"), ! JOptionPane.PLAIN_MESSAGE, null, ! prompts.toArray(), prompts.get(0)); ! if (selected == null) return; ! action.addRelayBaseToken(company.getName(), promptToCityMap.get(selected)); ! } else { ! action.addRelayBaseToken(company.getName(), promptToCityMap.get(prompts.toArray() [0])); ! } } } --- 690,705 ---- continue; } ! if (prompts.size () > 1) { ! String selected = ! (String) JOptionPane.showInputDialog(orWindow, ! LocalText.getText("SelectStationForToken"), ! LocalText.getText("WhichStation"), ! JOptionPane.PLAIN_MESSAGE, null, ! prompts.toArray(), prompts.get(0)); ! if (selected == null) return; ! action.addRelayBaseToken(company.getName(), promptToCityMap.get(selected)); ! } else { ! action.addRelayBaseToken(company.getName(), promptToCityMap.get(prompts.toArray() [0])); ! } } } *************** *** 1049,1053 **** } else { //List<String> options = new ArrayList<String>(); ! String[] options = new String[maxNumber-minNumber+1]; for (int i=minNumber, j=0; i<=maxNumber; i++, j++) { if (i == 0) { --- 1049,1053 ---- } else { //List<String> options = new ArrayList<String>(); ! String[] options = new String[maxNumber-minNumber+1]; for (int i=minNumber, j=0; i<=maxNumber; i++, j++) { if (i == 0) { *************** *** 1061,1068 **** } RadioButtonDialog currentDialog = new RadioButtonDialog (gameUIManager, ! LocalText.getText("Select"), LocalText.getText("SelectLoansToRepay", action.getCompanyName()), ! options, ! 0); gameUIManager.setCurrentDialog (currentDialog, action); } --- 1061,1068 ---- } RadioButtonDialog currentDialog = new RadioButtonDialog (gameUIManager, ! LocalText.getText("Select"), LocalText.getText("SelectLoansToRepay", action.getCompanyName()), ! options, ! 0); gameUIManager.setCurrentDialog (currentDialog, action); } *************** *** 1169,1178 **** // TEMPORARY extra message about having no route for (BuyTrain bTrain : possibleActions.getType(BuyTrain.class)) { ! if (bTrain.hasNoTrains()) { ! b.append("<br><font color=\"red\">"); ! b.append(LocalText.getText("MustBuyTrainIfNoRoute")); ! b.append("</font>"); ! break; ! } } --- 1169,1178 ---- // TEMPORARY extra message about having no route for (BuyTrain bTrain : possibleActions.getType(BuyTrain.class)) { ! if (bTrain.hasNoTrains()) { ! b.append("<br><font color=\"red\">"); ! b.append(LocalText.getText("MustBuyTrainIfNoRoute")); ! b.append("</font>"); ! break; ! } } *************** *** 1392,1396 **** public GameUIManager getGameUIManager () { ! return gameUIManager; } --- 1392,1396 ---- public GameUIManager getGameUIManager () { ! return gameUIManager; } Index: UpgradesPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/UpgradesPanel.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** UpgradesPanel.java 20 Dec 2009 21:16:07 -0000 1.22 --- UpgradesPanel.java 31 Jan 2010 22:22:34 -0000 1.23 *************** *** 120,124 **** description = text = comp.getName(); if (action.getSpecialProperty() != null) { ! description += " (" + action.getSpecialProperty().getCompany().getName()+")"; } } else if (action instanceof LayBonusToken) { --- 120,124 ---- description = text = comp.getName(); if (action.getSpecialProperty() != null) { ! description += " (" + action.getSpecialProperty().getCompany().getName()+")"; } } else if (action instanceof LayBonusToken) { Index: GameUIManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameUIManager.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** GameUIManager.java 24 Jan 2010 14:43:24 -0000 1.38 --- GameUIManager.java 31 Jan 2010 22:22:34 -0000 1.39 *************** *** 140,144 **** public boolean processOnServer(PossibleAction action) { ! boolean result = true; // In some cases an Undo requires a different follow-up --- 140,144 ---- public boolean processOnServer(PossibleAction action) { ! boolean result = true; // In some cases an Undo requires a different follow-up *************** *** 146,179 **** if (action == null) { ! // If the action is null, we can skip processing ! // and continue with following up a previous action. ! // This occurs after a nonmodal Message dialog. ! result = previousResult; } else { ! action.setActed(); ! action.setPlayerName(getCurrentPlayer().getName()); ! log.debug("==Passing to server: " + action); ! Player player = getCurrentPlayer(); ! if (player != null) { ! action.setPlayerName(player.getName()); ! } ! // Process the action on the server ! result = previousResult = gameManager.process(action); ! // Follow-up the result ! log.debug("==Result from server: " + result); ! reportWindow.addLog(); ! /* ! if (DisplayBuffer.getAutoDisplay()) { ! if (displayServerMessage()) { ! // Interrupt processing. ! // Will be continued via dialogActionPerformed(). ! return true; ! } ! }*/ } --- 146,179 ---- if (action == null) { ! // If the action is null, we can skip processing ! // and continue with following up a previous action. ! // This occurs after a nonmodal Message dialog. ! result = previousResult; } else { ! action.setActed(); ! action.setPlayerName(getCurrentPlayer().getName()); ! log.debug("==Passing to server: " + action); ! Player player = getCurrentPlayer(); ! if (player != null) { ! action.setPlayerName(player.getName()); ! } ! // Process the action on the server ! result = previousResult = gameManager.process(action); ! // Follow-up the result ! log.debug("==Result from server: " + result); ! reportWindow.addLog(); ! /* ! if (DisplayBuffer.getAutoDisplay()) { ! if (displayServerMessage()) { ! // Interrupt processing. ! // Will be continued via dialogActionPerformed(). ! return true; ! } ! }*/ } *************** *** 199,212 **** // Is this perhaps the right place to display messages...? if (DisplayBuffer.getAutoDisplay()) { ! if (displayServerMessage()) { ! // Interrupt processing. ! // Will be continued via dialogActionPerformed(). ! return true; ! } } if (!result) return false; ! return activeWindow.processImmediateAction(); } --- 199,212 ---- // Is this perhaps the right place to display messages...? if (DisplayBuffer.getAutoDisplay()) { ! if (displayServerMessage()) { ! // Interrupt processing. ! // Will be continued via dialogActionPerformed(). ! return true; ! } } if (!result) return false; ! return activeWindow.processImmediateAction(); } *************** *** 215,221 **** if (message != null) { setCurrentDialog(new MessageDialog(this, ! LocalText.getText("Message"), ! "<html>" + Util.joinWithDelimiter(message, "<br>")), ! null); return true; } --- 215,221 ---- if (message != null) { setCurrentDialog(new MessageDialog(this, ! LocalText.getText("Message"), ! "<html>" + Util.joinWithDelimiter(message, "<br>")), ! null); return true; } *************** *** 301,333 **** // before each sequence of settings (usually at the start of a round). for (GuiHints.VisibilityHint hint : uiHints.getVisibilityHints()) { ! switch (hint.getType()) { ! case STOCK_MARKET: boolean stockChartVisibilityHint = hint.getVisibility() ! || configuredStockChartVisibility; if (stockChartVisibilityHint != previousStockChartVisibilityHint) { ! stockChart.setVisible(stockChartVisibilityHint); ! previousStockChartVisibilityHint = stockChartVisibilityHint; } ! if (hint.getVisibility()) stockChart.toFront(); break; ! case STATUS: boolean statusWindowVisibilityHint = hint.getVisibility(); if (statusWindowVisibilityHint != previousStatusWindowVisibilityHint) { ! statusWindow.setVisible(statusWindowVisibilityHint); ! previousStatusWindowVisibilityHint = statusWindowVisibilityHint; } ! if (statusWindowVisibilityHint) statusWindow.toFront(); break; ! case MAP: boolean orWindowVisibilityHint = hint.getVisibility(); if (orWindowVisibilityHint != previousORWindowVisibilityHint) { ! orWindow.setVisible(orWindowVisibilityHint); ! previousORWindowVisibilityHint = orWindowVisibilityHint; } ! if (orWindowVisibilityHint) orWindow.toFront(); break; ! case START_ROUND: ! // Handled elsewhere ! } } --- 301,333 ---- // before each sequence of settings (usually at the start of a round). for (GuiHints.VisibilityHint hint : uiHints.getVisibilityHints()) { ! switch (hint.getType()) { ! case STOCK_MARKET: boolean stockChartVisibilityHint = hint.getVisibility() ! || configuredStockChartVisibility; if (stockChartVisibilityHint != previousStockChartVisibilityHint) { ! stockChart.setVisible(stockChartVisibilityHint); ! previousStockChartVisibilityHint = stockChartVisibilityHint; } ! if (hint.getVisibility()) stockChart.toFront(); break; ! case STATUS: boolean statusWindowVisibilityHint = hint.getVisibility(); if (statusWindowVisibilityHint != previousStatusWindowVisibilityHint) { ! statusWindow.setVisible(statusWindowVisibilityHint); ! previousStatusWindowVisibilityHint = statusWindowVisibilityHint; } ! if (statusWindowVisibilityHint) statusWindow.toFront(); break; ! case MAP: boolean orWindowVisibilityHint = hint.getVisibility(); if (orWindowVisibilityHint != previousORWindowVisibilityHint) { ! orWindow.setVisible(orWindowVisibilityHint); ! previousORWindowVisibilityHint = orWindowVisibilityHint; } ! if (orWindowVisibilityHint) orWindow.toFront(); break; ! case START_ROUND: ! // Handled elsewhere ! } } *************** *** 493,569 **** public void dialogActionPerformed () { ! dialogActionPerformed(false); } public void dialogActionPerformed (boolean ready) { ! if (!ready) { ! if (currentDialog instanceof RadioButtonDialog ! && currentDialogAction instanceof StartCompany) { ! RadioButtonDialog dialog = (RadioButtonDialog) currentDialog; ! StartCompany action = (StartCompany) currentDialogAction; ! int index = dialog.getSelectedOption(); ! if (index >= 0) { ! int price = action.getStartPrices()[index]; ! action.setStartPrice(price); ! action.setNumberBought(action.getCertificate().getShares()); ! } else { ! // No selection done - no action ! return; ! } ! } else if (currentDialog instanceof CheckBoxDialog ! && currentDialogAction instanceof ExchangeTokens) { ! CheckBoxDialog dialog = (CheckBoxDialog) currentDialog; ! ExchangeTokens action = (ExchangeTokens) currentDialogAction; ! boolean[] exchanged = dialog.getSelectedOptions(); ! String[] options = dialog.getOptions(); ! int numberSelected = 0; ! for (int index=0; index < options.length; index++) { ! if (exchanged[index]) { ! numberSelected++; ! } ! } ! int minNumber = action.getMinNumberToExchange(); ! int maxNumber = action.getMaxNumberToExchange(); ! if (numberSelected < minNumber ! || numberSelected > maxNumber) { ! if (minNumber == maxNumber) { ! JOptionPane.showMessageDialog(null, ! LocalText.getText("YouMustSelect1", minNumber)); ! } else { ! JOptionPane.showMessageDialog(null, ! LocalText.getText("YouMustSelect2", minNumber, maxNumber)); ! } ! exchangeTokens (action); ! return; ! } ! for (int index=0; index < options.length; index++) { ! if (exchanged[index]) { ! action.getTokensToExchange().get(index).setSelected(true); ! } ! } ! } else if (currentDialog instanceof RadioButtonDialog ! && currentDialogAction instanceof RepayLoans) { ! RadioButtonDialog dialog = (RadioButtonDialog) currentDialog; ! RepayLoans action = (RepayLoans) currentDialogAction; ! int selected = dialog.getSelectedOption(); ! action.setNumberTaken(action.getMinNumber() + selected); ! } else if (currentDialog instanceof MessageDialog) { ! // Nothing to do ! currentDialogAction = null; // Should already be null ! } else { ! return; ! } ! } processOnServer(currentDialogAction); --- 493,569 ---- public void dialogActionPerformed () { ! dialogActionPerformed(false); } public void dialogActionPerformed (boolean ready) { ! if (!ready) { ! if (currentDialog instanceof RadioButtonDialog ! && currentDialogAction instanceof StartCompany) { ! RadioButtonDialog dialog = (RadioButtonDialog) currentDialog; ! StartCompany action = (StartCompany) currentDialogAction; ! int index = dialog.getSelectedOption(); ! if (index >= 0) { ! int price = action.getStartPrices()[index]; ! action.setStartPrice(price); ! action.setNumberBought(action.getCertificate().getShares()); ! } else { ! // No selection done - no action ! return; ! } ! } else if (currentDialog instanceof CheckBoxDialog ! && currentDialogAction instanceof ExchangeTokens) { ! CheckBoxDialog dialog = (CheckBoxDialog) currentDialog; ! ExchangeTokens action = (ExchangeTokens) currentDialogAction; ! boolean[] exchanged = dialog.getSelectedOptions(); ! String[] options = dialog.getOptions(); ! int numberSelected = 0; ! for (int index=0; index < options.length; index++) { ! if (exchanged[index]) { ! numberSelected++; ! } ! } ! int minNumber = action.getMinNumberToExchange(); ! int maxNumber = action.getMaxNumberToExchange(); ! if (numberSelected < minNumber ! || numberSelected > maxNumber) { ! if (minNumber == maxNumber) { ! JOptionPane.showMessageDialog(null, ! LocalText.getText("YouMustSelect1", minNumber)); ! } else { ! JOptionPane.showMessageDialog(null, ! LocalText.getText("YouMustSelect2", minNumber, maxNumber)); ! } ! exchangeTokens (action); ! return; ! } ! for (int index=0; index < options.length; index++) { ! if (exchanged[index]) { ! action.getTokensToExchange().get(index).setSelected(true); ! } ! } ! } else if (currentDialog instanceof RadioButtonDialog ! && currentDialogAction instanceof RepayLoans) { ! RadioButtonDialog dialog = (RadioButtonDialog) currentDialog; ! RepayLoans action = (RepayLoans) currentDialogAction; ! int selected = dialog.getSelectedOption(); ! action.setNumberTaken(action.getMinNumber() + selected); ! } else if (currentDialog instanceof MessageDialog) { ! // Nothing to do ! currentDialogAction = null; // Should already be null ! } else { ! return; ! } ! } processOnServer(currentDialogAction); *************** *** 571,587 **** public JDialog getCurrentDialog() { ! return currentDialog; } public PossibleAction getCurrentDialogAction () { ! return currentDialogAction; } public void setCurrentDialog (JDialog dialog, PossibleAction action) { ! if (currentDialog != null) { ! currentDialog.dispose(); ! } ! currentDialog = dialog; ! currentDialogAction = action; } --- 571,587 ---- public JDialog getCurrentDialog() { ! return currentDialog; } public PossibleAction getCurrentDialogAction () { ! return currentDialogAction; } public void setCurrentDialog (JDialog dialog, PossibleAction action) { ! if (currentDialog != null) { ! currentDialog.dispose(); ! } ! currentDialog = dialog; ! currentDialogAction = action; } Index: ImageLoader.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ImageLoader.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ImageLoader.java 19 Dec 2009 16:48:32 -0000 1.15 --- ImageLoader.java 31 Jan 2010 22:22:34 -0000 1.16 *************** *** 73,95 **** try { ! // Experimental new version, that stacks the XML to allow zooming ! if (svgMap == null) { ! svgMap = new HashMap<Integer, Document>(64); ! } ! if (!svgMap.containsKey(tileID)) { ! Document doc = null; ! // Step 1: create a DocumentBuilderFactory and setNamespaceAware ! DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); ! dbf.setNamespaceAware(true); ! // Step 2: create a DocumentBuilder ! DocumentBuilder db = dbf.newDocumentBuilder(); ! // Step 3: parse the input file to get a Document object ! doc = ! db.parse(ResourceLoader.getInputStream(fn, ! directories)); ! // Cache the doc ! svgMap.put(tileID, doc); ! } BufferedImageTranscoder t = new BufferedImageTranscoder(); t.addTranscodingHint(ImageTranscoder.KEY_MAX_WIDTH, new Float(svgWidth * zoomFactor)); --- 73,95 ---- try { ! // Experimental new version, that stacks the XML to allow zooming ! if (svgMap == null) { ! svgMap = new HashMap<Integer, Document>(64); ! } ! if (!svgMap.containsKey(tileID)) { ! Document doc = null; ! // Step 1: create a DocumentBuilderFactory and setNamespaceAware ! DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); ! dbf.setNamespaceAware(true); ! // Step 2: create a DocumentBuilder ! DocumentBuilder db = dbf.newDocumentBuilder(); ! // Step 3: parse the input file to get a Document object ! doc = ! db.parse(ResourceLoader.getInputStream(fn, ! directories)); ! // Cache the doc ! svgMap.put(tileID, doc); ! } BufferedImageTranscoder t = new BufferedImageTranscoder(); t.addTranscodingHint(ImageTranscoder.KEY_MAX_WIDTH, new Float(svgWidth * zoomFactor)); *************** *** 111,122 **** if (tileMap == null) { ! tileMap = new HashMap<Integer, Map<Integer, BufferedImage>>(64); } if (!tileMap.containsKey(tileID)) { ! tileMap.put(tileID, new HashMap<Integer, BufferedImage>(4)); ! } ! if (!tileMap.get(tileID).containsKey(zoomStep)) { ! BufferedImage image = getSVGTile(tileID, getZoomFactor(zoomStep)); ! tileMap.get(tileID).put(zoomStep, image); } --- 111,122 ---- if (tileMap == null) { ! tileMap = new HashMap<Integer, Map<Integer, BufferedImage>>(64); } if (!tileMap.containsKey(tileID)) { ! tileMap.put(tileID, new HashMap<Integer, BufferedImage>(4)); ! } ! if (!tileMap.get(tileID).containsKey(zoomStep)) { ! BufferedImage image = getSVGTile(tileID, getZoomFactor(zoomStep)); ! tileMap.get(tileID).put(zoomStep, image); } *************** *** 125,134 **** public double getZoomFactor (int zoomStep) { ! if (zoomStep < 0) zoomStep = 0; ! else if (zoomStep > 20) zoomStep = 20; ! if (zoomFactors[zoomStep] == 0.0) { ! zoomFactors[zoomStep] = 1.0 * Math.pow(2.0, 0.25*(zoomStep-10)); ! } ! return zoomFactors[zoomStep]; } --- 125,134 ---- public double getZoomFactor (int zoomStep) { ! if (zoomStep < 0) zoomStep = 0; ! else if (zoomStep > 20) zoomStep = 20; ! if (zoomFactors[zoomStep] == 0.0) { ! zoomFactors[zoomStep] = 1.0 * Math.pow(2.0, 0.25*(zoomStep-10)); ! } ! return zoomFactors[zoomStep]; } Index: GameSetupWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameSetupWindow.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** GameSetupWindow.java 14 Jan 2010 20:50:08 -0000 1.20 --- GameSetupWindow.java 31 Jan 2010 22:22:34 -0000 1.21 *************** *** 379,383 **** JOptionPane.showMessageDialog(this, startError, "", JOptionPane.ERROR_MESSAGE); ! System.exit(-1); } startGameUIManager (game); --- 379,383 ---- JOptionPane.showMessageDialog(this, startError, "", JOptionPane.ERROR_MESSAGE); ! System.exit(-1); } startGameUIManager (game); Index: ORWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORWindow.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** ORWindow.java 20 Jan 2010 19:52:44 -0000 1.33 --- ORWindow.java 31 Jan 2010 22:22:34 -0000 1.34 *************** *** 146,157 **** public void activate(OperatingRound or) { ! GameManager gameManager = (GameManager) gameUIManager.getGameManager(); ! String numORs = gameManager.getNumOfORs (); orPanel.recreate(or); setTitle(LocalText.getText("MapWindowORTitle", ! gameManager.getORId(), ! String.valueOf(gameManager.getRelativeORNumber()), ! numORs )); pack(); if (lastBounds != null) { --- 146,157 ---- public void activate(OperatingRound or) { ! GameManager gameManager = (GameManager) gameUIManager.getGameManager(); ! String numORs = gameManager.getNumOfORs (); orPanel.recreate(or); setTitle(LocalText.getText("MapWindowORTitle", ! gameManager.getORId(), ! String.valueOf(gameManager.getRelativeORNumber()), ! numORs )); pack(); if (lastBounds != null) { *************** *** 165,171 **** public void updateStatus() { ! // Safety check. Do nothing if this method is called outside Operating Rounds, ! // for instance when a token is exchanged during a Stock Round. ! if (!(gameUIManager.getCurrentRound() instanceof OperatingRound)) return; orUIManager.updateStatus(); --- 165,171 ---- public void updateStatus() { ! // Safety check. Do nothing if this method is called outside Operating Rounds, ! // for instance when a token is exchanged during a Stock Round. ! if (!(gameUIManager.getCurrentRound() instanceof OperatingRound)) return; orUIManager.updateStatus(); Index: GameStatus.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GameStatus.java,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** GameStatus.java 14 Jan 2010 20:50:08 -0000 1.37 --- GameStatus.java 31 Jan 2010 22:22:34 -0000 1.38 *************** *** 390,398 **** } if (hasCompanyLoans) { ! if (c.getLoanValueModel() != null) { ! f = compLoans[i] = new Field (c.getLoanValueModel()); ! } else { ! f = compLoans[i] = new Field (""); ! } addField (f, compLoansXOffset, compLoansYOffset+i, 1, 1, 0, visible); } --- 390,398 ---- } if (hasCompanyLoans) { ! if (c.getLoanValueModel() != null) { ! f = compLoans[i] = new Field (c.getLoanValueModel()); ! } else { ! f = compLoans[i] = new Field (""); ! } addField (f, compLoansXOffset, compLoansYOffset+i, 1, 1, 0, visible); } *************** *** 489,493 **** String text = gameUIManager.getGameManager().getTrainManager().getTrainCostOverview(); addField (new Caption(text), poolTrainsXOffset, newTrainsYOffset + 1, ! futureTrainsWidth + 2, 1, 0, true); dummyButton = new ClickField("", "", "", this, buySellGroup); --- 489,493 ---- String text = gameUIManager.getGameManager().getTrainManager().getTrainCostOverview(); addField (new Caption(text), poolTrainsXOffset, newTrainsYOffset + 1, ! futureTrainsWidth + 2, 1, 0, true); dummyButton = new ClickField("", "", "", this, buySellGroup); *************** *** 626,630 **** if (options.size() > 1) { if (startCompany) { ! RadioButtonDialog dialog = new RadioButtonDialog (gameUIManager, LocalText.getText("PleaseSelect"), LocalText.getText("WHICH_START_PRICE", --- 626,630 ---- if (options.size() > 1) { if (startCompany) { ! RadioButtonDialog dialog = new RadioButtonDialog (gameUIManager, LocalText.getText("PleaseSelect"), LocalText.getText("WHICH_START_PRICE", *************** *** 632,637 **** companyName), options.toArray(new String[0]), -1); ! gameUIManager.setCurrentDialog(dialog, actions.get(0)); ! return; } else { String sp = --- 632,637 ---- companyName), options.toArray(new String[0]), -1); ! gameUIManager.setCurrentDialog(dialog, actions.get(0)); ! return; } else { String sp = Index: ORPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/ORPanel.java,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** ORPanel.java 19 Jan 2010 19:51:57 -0000 1.43 --- ORPanel.java 31 Jan 2010 22:22:34 -0000 1.44 *************** *** 415,419 **** if (hasCompanyLoans) { //if (c.canLoan()) { ! if (c.getLoanValueModel() != null) { f = compLoans[i] = new Field (c.getLoanValueModel()); } else { --- 415,419 ---- if (hasCompanyLoans) { //if (c.canLoan()) { ! if (c.getLoanValueModel() != null) { f = compLoans[i] = new Field (c.getLoanValueModel()); } else { *************** *** 508,513 **** protected void addTrainsInfo() { ! TrainManager tm = orWindow.getGameUIManager().getGameManager().getTrainManager(); ! List<TrainTypeI> types = tm.getTrainTypes(); JMenu item; StringBuffer b = new StringBuffer("<html>"); --- 508,513 ---- protected void addTrainsInfo() { ! TrainManager tm = orWindow.getGameUIManager().getGameManager().getTrainManager(); ! List<TrainTypeI> types = tm.getTrainTypes(); JMenu item; StringBuffer b = new StringBuffer("<html>"); *************** *** 518,532 **** for (TrainTypeI type : types) { ! b.setLength(6); ! if (Util.hasValue(type.getStartedPhaseName())) { ! appendInfoText(b, LocalText.getText("StartsPhase", type.getStartedPhaseName())); ! } ! if (type.getRustedTrainType() != null) { ! appendInfoText(b, LocalText.getText("RustsTrains", type.getRustedTrainType().getName())); ! } ! if (type.getReleasedTrainType() != null) { ! appendInfoText(b, LocalText.getText("ReleasesTrains", type.getReleasedTrainType().getName())); ! } ! if (b.length() == 6) b.append(LocalText.getText("None")); item = new JMenu (LocalText.getText("N_Train", type.getName())); --- 518,532 ---- for (TrainTypeI type : types) { ! b.setLength(6); ! if (Util.hasValue(type.getStartedPhaseName())) { ! appendInfoText(b, LocalText.getText("StartsPhase", type.getStartedPhaseName())); ! } ! if (type.getRustedTrainType() != null) { ! appendInfoText(b, LocalText.getText("RustsTrains", type.getRustedTrainType().getName())); ! } ! if (type.getReleasedTrainType() != null) { ! appendInfoText(b, LocalText.getText("ReleasesTrains", type.getReleasedTrainType().getName())); ! } ! if (b.length() == 6) b.append(LocalText.getText("None")); item = new JMenu (LocalText.getText("N_Train", type.getName())); *************** *** 534,544 **** item.add(new JMenuItem(b.toString())); trainsInfoMenu.add(item); ! } } protected void addPhasesInfo() { ! PhaseManager pm = orWindow.getGameUIManager().getGameManager().getPhaseManager(); ! List<Phase> phases = pm.getPhases(); JMenu item; StringBuffer b = new StringBuffer("<html>"); --- 534,544 ---- item.add(new JMenuItem(b.toString())); trainsInfoMenu.add(item); ! } } protected void addPhasesInfo() { ! PhaseManager pm = orWindow.getGameUIManager().getGameManager().getPhaseManager(); ! List<Phase> phases = pm.getPhases(); JMenu item; StringBuffer b = new StringBuffer("<html>"); *************** *** 549,575 **** for (Phase phase : phases) { ! b.setLength(6); ! appendInfoText(b, LocalText.getText("PhaseTileColours", phase.getTileColoursString())); ! appendInfoText(b, LocalText.getText("PhaseNumberOfORs", phase.getNumberOfOperatingRounds())); ! appendInfoText(b, LocalText.getText("PhaseOffBoardStep", phase.getOffBoardRevenueStep())); ! if (phase.doPrivatesClose()) { ! appendInfoText(b, LocalText.getText("PhaseClosesAllPrivates")); ! } ! if (phase.getClosedObjects() != null) { ! for (Closeable object : phase.getClosedObjects()) { ! appendInfoText(b, LocalText.getText("PhaseRemoves", Util.lowerCaseFirst(object.getInfo()))); ! } ! } item = new JMenu (LocalText.getText("PhaseX", phase.getName())); item.setEnabled(true); item.add(new JMenuItem(b.toString())); phasesInfoMenu.add(item); ! } } private void appendInfoText (StringBuffer b, String text) { ! if (text == null || text.length() == 0) return; ! if (b.length() > 6) b.append("<br>"); ! b.append(text); } --- 549,575 ---- for (Phase phase : phases) { ! b.setLength(6); ! appendInfoText(b, LocalText.getText("PhaseTileColours", phase.getTileColoursString())); ! appendInfoText(b, LocalText.getText("PhaseNumberOfORs", phase.getNumberOfOperatingRounds())); ! appendInfoText(b, LocalText.getText("PhaseOffBoardStep", phase.getOffBoardRevenueStep())); ! if (phase.doPrivatesClose()) { ! appendInfoText(b, LocalText.getText("PhaseClosesAllPrivates")); ! } ! if (phase.getClosedObjects() != null) { ! for (Closeable object : phase.getClosedObjects()) { ! appendInfoText(b, LocalText.getText("PhaseRemoves", Util.lowerCaseFirst(object.getInfo()))); ! } ! } item = new JMenu (LocalText.getText("PhaseX", phase.getName())); item.setEnabled(true); item.add(new JMenuItem(b.toString())); phasesInfoMenu.add(item); ! } } private void appendInfoText (StringBuffer b, String text) { ! if (text == null || text.length() == 0) return; ! if (b.length() > 6) b.append("<br>"); ! b.append(text); } *************** *** 611,617 **** orUIManager.processAction(command, executedActions); } else if (source == zoomIn) { ! orWindow.getMapPanel().zoomIn(); } else if (source == zoomOut) { ! orWindow.getMapPanel().zoomOut(); } else { orUIManager.processAction(command, null); --- 611,617 ---- orUIManager.processAction(command, executedActions); } else if (source == zoomIn) { ! orWindow.getMapPanel().zoomIn(); } else if (source == zoomOut) { ! orWindow.getMapPanel().zoomOut(); } else { orUIManager.processAction(command, null); Index: StartRoundWindow.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/StartRoundWindow.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** StartRoundWindow.java 20 Jan 2010 19:52:44 -0000 1.35 --- StartRoundWindow.java 31 Jan 2010 22:22:34 -0000 1.36 *************** *** 468,473 **** buyButton.setEnabled(buyAllowed); if (includeBidding) { ! bidButton.setEnabled(bidAllowed); ! bidAmount.setEnabled(bidAllowed); } passButton.setEnabled(passAllowed); --- 468,473 ---- buyButton.setEnabled(buyAllowed); if (includeBidding) { ! bidButton.setEnabled(bidAllowed); ! bidAmount.setEnabled(bidAllowed); } passButton.setEnabled(passAllowed); Index: GridPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/GridPanel.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** GridPanel.java 20 Jan 2010 19:52:44 -0000 1.3 --- GridPanel.java 31 Jan 2010 22:22:34 -0000 1.4 *************** *** 113,126 **** public void setRowVisibility (int rowIndex, boolean value) { ! List<JComponent> dependents; ! for (int j=0; j < fields.length; j++) { if (fields[j][rowIndex] != null) { fields[j][rowIndex].setVisible(value); if (fields[j][rowIndex] instanceof Field ! && (dependents = ((Field)fields[j][rowIndex]).getDependents()) != null) { ! for (JComponent dependent : dependents) { ! dependent.setVisible(value); ! } } } --- 113,126 ---- public void setRowVisibility (int rowIndex, boolean value) { ! List<JComponent> dependents; ! for (int j=0; j < fields.length; j++) { if (fields[j][rowIndex] != null) { fields[j][rowIndex].setVisible(value); if (fields[j][rowIndex] instanceof Field ! && (dependents = ((Field)fields[j][rowIndex]).getDependents()) != null) { ! for (JComponent dependent : dependents) { ! dependent.setVisible(value); ! } } } Index: MapPanel.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/ui/swing/MapPanel.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MapPanel.java 18 Dec 2009 20:04:31 -0000 1.13 --- MapPanel.java 31 Jan 2010 22:22:34 -0000 1.14 *************** *** 52,58 **** add(scrollPane, BorderLayout.CENTER); ! scrollPane.setSize(map.getPreferredSize()); ! setSize(map.getPreferredSize().width, map.getPreferredSize().height); setLocation(25, 25); } --- 52,58 ---- add(scrollPane, BorderLayout.CENTER); ! scrollPane.setSize(map.getPreferredSize()); ! setSize(map.getPreferredSize().width, map.getPreferredSize().height); setLocation(25, 25); } *************** *** 68,76 **** public void zoomIn() { ! map.zoomIn(); } public void zoomOut() { ! map.zoomOut(); } --- 68,76 ---- public void zoomIn() { ! map.zoomIn(); } public void zoomOut() { ! map.zoomOut(); } |