diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 49ceab815b..a7748bf922 100644 --- 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; diff --git a/src/openttd.cpp b/src/openttd.cpp index a8fea2804d..625a1b8f83 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1302,6 +1302,19 @@ bool AfterLoadGame(void) } 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; diff --git a/src/station.h b/src/station.h index 226eddc0c5..8000bee913 100644 --- a/src/station.h +++ b/src/station.h @@ -277,4 +277,6 @@ static inline bool IsBuoy(const Station* st) 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 */