changeset 15737:34e38fea4a35 draft

(svn r20404) -Codechange: remove the need for StationSpec::allocated
author rubidium <rubidium@openttd.org>
date Sat, 07 Aug 2010 21:39:30 +0000
parents ae222ddaac9d
children ece4de0ed243
files src/newgrf.cpp src/newgrf_station.cpp src/newgrf_station.h
diffstat 3 files changed, 7 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -3885,6 +3885,11 @@
 			continue;
 		}
 
+		if (statspec->grf_prop.grffile != NULL) {
+			grfmsg(1, "StationMapSpriteGroup: Station with ID 0x%02X mapped multiple times, skipping", stations[i]);
+			continue;
+		}
+
 		statspec->spritegroup[CT_DEFAULT] = _cur_grffile->spritegroups[groupid];
 		statspec->grf_prop.grffile = _cur_grffile;
 		statspec->grf_prop.local_id = stations[i];
--- a/src/newgrf_station.cpp
+++ b/src/newgrf_station.cpp
@@ -173,9 +173,6 @@
 	StationClass *station_class;
 	int i;
 
-	/* If the station has already been allocated, don't reallocate it. */
-	if (statspec->allocated) return;
-
 	assert(statspec->cls_id < STAT_CLASS_MAX);
 	station_class = &_station_classes[statspec->cls_id];
 
@@ -183,7 +180,6 @@
 	station_class->spec = ReallocT(station_class->spec, station_class->stations);
 
 	station_class->spec[i] = statspec;
-	statspec->allocated = true;
 }
 
 /**
--- a/src/newgrf_station.h
+++ b/src/newgrf_station.h
@@ -48,11 +48,8 @@
 /** Station specification. */
 struct StationSpec {
 	GRFFilePropsBase grf_prop; ///< Properties related the the grf file
-
-	bool allocated; ///< Flag whether this station has been added to a station class list
-
-	StationClassID cls_id;    ///< The class to which this spec belongs.
-	StringID name;            ///< Name of this station.
+	StationClassID cls_id;     ///< The class to which this spec belongs.
+	StringID name;             ///< Name of this station.
 
 	/**
 	 * Bitmask of number of platforms available for the station.