Mercurial > hg > openttd
changeset 13023:44ceb5ee6fed draft
(svn r17521) -Change: don't assume that there is always 'another' industry tile after two '0x18' industry tiles
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sun, 13 Sep 2009 10:58:41 +0000 |
parents | 006f65defb20 |
children | aa1f3a190f19 |
files | src/industry_cmd.cpp |
diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -729,9 +729,19 @@ CreateChimneySmoke(tile); break; - case GFX_OILRIG_1: - if (GetIndustryGfx(tile + TileDiffXY(0, 1)) == GFX_OILRIG_1) BuildOilRig(tile); - break; + case GFX_OILRIG_1: { + /* Do not require an industry tile to be after the first two GFX_OILRIG_1 + * tiles (like the default oil rig). Do a proper check to ensure the + * tiles belong to the same industry and based on that build the oil rig's + * station. */ + TileIndex other = tile + TileDiffXY(0, 1); + + if (IsTileType(other, MP_INDUSTRY) && + GetIndustryGfx(other) == GFX_OILRIG_1 && + GetIndustryIndex(tile) == GetIndustryIndex(other)) { + BuildOilRig(tile); + } + } break; case GFX_TOY_FACTORY: case GFX_BUBBLE_CATCHER: