changeset 5880:a44e494ecc90 draft

(svn r8478) -Fix Change the structure of the the loop in r8477 to prepare for further changes
author tron <tron@openttd.org>
date Wed, 31 Jan 2007 09:49:02 +0000
parents abfe68a96c2f
children d196945976ec
files src/openttd.cpp
diffstat 1 files changed, 21 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -1285,16 +1285,28 @@
 	/* From this version on there can be multiple road stops of the same type per
 	 * station. Convert the existing stops to the new internal data structure.
 	 */
-	if (CheckSavegameVersion(6)) {
-		for (TileIndex t = 0; t < map_size; t++) {
-			if (IsRoadStopTile(t)) {
-				RoadStop *rs = new RoadStop(t);
-				if (rs == NULL) error("Too many road stops in savegame");
+	for (TileIndex t = 0; t < map_size; t++) {
+		switch (GetTileType(t)) {
+			case MP_STATION:
+				switch (GetStationType(t)) {
+					case STATION_TRUCK:
+					case STATION_BUS:
+						if (CheckSavegameVersion(6)) {
+							RoadStop *rs = new RoadStop(t);
+							if (rs == NULL) error("Too many road stops in savegame");
 
-				Station *st = GetStationByTile(t);
-				RoadStop **head = IsTruckStop(t) ? &st->truck_stops : &st->bus_stops;
-				*head = rs;
-			}
+							Station *st = GetStationByTile(t);
+							RoadStop **head =
+								IsTruckStop(t) ? &st->truck_stops : &st->bus_stops;
+							*head = rs;
+						}
+						break;
+
+					default: break;
+				}
+				break;
+
+			default: break;
 		}
 	}