changeset 5884:c36fd99592cb draft

(svn r8485) -Fix -Fix (since the dawn of time): Remove phantom oil rigs sometimes present in old savegames
author tron <tron@openttd.org>
date Wed, 31 Jan 2007 10:50:12 +0000
parents a40dd765d17e
children e0a6ce7c45b8
files src/industry_cmd.cpp src/openttd.cpp src/station.h
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -28,7 +28,6 @@
 
 void ShowIndustryViewWindow(int industry);
 void BuildOilRig(TileIndex tile);
-void DeleteOilRig(TileIndex tile);
 
 static byte _industry_sound_ctr;
 static TileIndex _industry_sound_tile;
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -1302,6 +1302,19 @@
 						}
 						break;
 
+					case STATION_OILRIG: {
+						/* Very old savegames sometimes have phantom oil rigs, i.e.
+						 * an oil rig which got shut down, but not completly removed from
+						 * the map
+						 */
+						TileIndex t1 = TILE_ADDXY(t, 1, 0);
+						if (!IsTileType(t1, MP_INDUSTRY) ||
+								GetIndustryGfx(t1) != GFX_OILRIG_3) {
+							DeleteOilRig(t);
+						}
+						break;
+					}
+
 					default: break;
 				}
 				break;
--- a/src/station.h
+++ b/src/station.h
@@ -277,4 +277,6 @@
 	return (st->had_vehicle_of_type & HVOT_BUOY) != 0; /* XXX: We should really ditch this ugly coding and switch to something sane... */
 }
 
+void DeleteOilRig(TileIndex t);
+
 #endif /* STATION_H */