|
From: <ev...@us...> - 2011-06-22 11:57:01
|
Revision: 1582
http://rails.svn.sourceforge.net/rails/?rev=1582&view=rev
Author: evos
Date: 2011-06-22 11:56:55 +0000 (Wed, 22 Jun 2011)
Log Message:
-----------
Fixed 1830 PM config bug, and added a check for this and related errors.
Modified Paths:
--------------
trunk/18xx/data/1830/Game.xml
trunk/18xx/rails/game/TrainManager.java
Modified: trunk/18xx/data/1830/Game.xml
===================================================================
--- trunk/18xx/data/1830/Game.xml 2011-06-21 21:25:49 UTC (rev 1581)
+++ trunk/18xx/data/1830/Game.xml 2011-06-22 11:56:55 UTC (rev 1582)
@@ -173,13 +173,13 @@
<IfOption name="WithOptional6Train" value="no">
<Attributes quantity="2"/>
</IfOption>
- <IfOption name="Variant" value="Pere Marquette,Coalfields,Reading">
+ <IfOption name="Variant" value="Coalfields,Reading">
<Attributes quantity="3" releasedTrain="7,D"/>
</IfOption>
<IfOption name="Variant" value="Coalfields&Reading">
<Attributes quantity="4" releasedTrain="7,D"/>
</IfOption>
- <IfOption name="Variant" value="Simple,Wabash">
+ <IfOption name="Variant" value="Pere Marquette,Simple,Wabash">
<Attributes quantity="3"/>
</IfOption>
</TrainType>
Modified: trunk/18xx/rails/game/TrainManager.java
===================================================================
--- trunk/18xx/rails/game/TrainManager.java 2011-06-21 21:25:49 UTC (rev 1581)
+++ trunk/18xx/rails/game/TrainManager.java 2011-06-22 11:56:55 UTC (rev 1582)
@@ -138,11 +138,15 @@
// Finish initialisation of the train types
Map<Integer, String> rustedTrainTypeNames;
- TrainCertificateType rustedType;
+ TrainCertificateType releasedType, rustedType;
for (TrainCertificateType type : trainCertTypes) {
if (type.getReleasedTrainTypeNames() != null) {
List<TrainCertificateType> rtts = new ArrayList<TrainCertificateType>(2);
for (String ttName : type.getReleasedTrainTypeNames().split(",")) {
+ releasedType = trainCertTypeMap.get(ttName);
+ if (releasedType == null) {
+ throw new ConfigurationException ("Train type "+type.getName()+" releases undefined type "+ttName);
+ }
rtts.add (trainCertTypeMap.get(ttName));
}
type.setReleasedTrainTypes(rtts);
@@ -150,7 +154,11 @@
rustedTrainTypeNames = type.getRustedTrainTypeNames();
if (rustedTrainTypeNames != null) {
for (int index : rustedTrainTypeNames.keySet()) {
- rustedType = trainCertTypeMap.get(rustedTrainTypeNames.get(index));
+ String ttName = rustedTrainTypeNames.get(index);
+ rustedType = trainCertTypeMap.get(ttName);
+ if (rustedType == null) {
+ throw new ConfigurationException ("Train type "+type.getName()+" rusts undefined type "+ttName);
+ }
type.setRustedTrainType(index, rustedType);
rustedType.setPermanent(false);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|