(svn r8184) if cascade -> switch
authortron
Wed, 17 Jan 2007 06:54:03 +0000
changeset 5958 82161fb80839
parent 5957 b28cf25e7e18
child 5959 6a4c261987c3
(svn r8184) if cascade -> switch
src/openttd.cpp
--- a/src/openttd.cpp	Wed Jan 17 06:33:23 2007 +0000
+++ b/src/openttd.cpp	Wed Jan 17 06:54:03 2007 +0000
@@ -1517,29 +1517,37 @@
 	 *  room for PBS. Now in version 21 move it back :P. */
 	if (CheckSavegameVersion(21) && !CheckSavegameVersion(15)) {
 		for (TileIndex t = 0; t < map_size; t++) {
-			if (IsTileType(t, MP_RAILWAY)) {
-				if (HasSignals(t)) {
-					// convert PBS signals to combo-signals
-					if (HASBIT(_m[t].m4, 2)) SetSignalType(t, SIGTYPE_COMBO);
-
-					// move the signal variant back
-					SetSignalVariant(t, HASBIT(_m[t].m4, 3) ? SIG_SEMAPHORE : SIG_ELECTRIC);
-					CLRBIT(_m[t].m4, 3);
-				}
+			switch (GetTileType(t)) {
+				case MP_RAILWAY:
+					if (HasSignals(t)) {
+						// convert PBS signals to combo-signals
+						if (HASBIT(_m[t].m4, 2)) SetSignalType(t, SIGTYPE_COMBO);
 
-				// Clear PBS reservation on track
-				if (!IsTileDepotType(t, TRANSPORT_RAIL)) {
-					SB(_m[t].m4, 4, 4, 0);
-				} else {
+						// move the signal variant back
+						SetSignalVariant(t, HASBIT(_m[t].m4, 3) ? SIG_SEMAPHORE : SIG_ELECTRIC);
+						CLRBIT(_m[t].m4, 3);
+					}
+
+					// Clear PBS reservation on track
+					if (!IsTileDepotType(t, TRANSPORT_RAIL)) {
+						SB(_m[t].m4, 4, 4, 0);
+					} else {
+						CLRBIT(_m[t].m3, 6);
+					}
+					break;
+
+				case MP_STREET:
+					// Clear PBS reservation on crossing
+					if (IsLevelCrossing(t)) CLRBIT(_m[t].m5, 0);
+					break;
+
+				case MP_STATION:
+					// Clear PBS reservation on station
 					CLRBIT(_m[t].m3, 6);
-				}
-			}
+					break;
 
-			// Clear PBS reservation on crossing
-			if (IsTileType(t, MP_STREET) && IsLevelCrossing(t)) CLRBIT(_m[t].m5, 0);
-
-			// Clear PBS reservation on station
-			if (IsTileType(t, MP_STATION)) CLRBIT(_m[t].m3, 6);
+				default: break;
+			}
 		}
 	}