(svn r21745) -Fix: [NewGRF] Canal variable 80 shall return consistent heights within a lock.

This commit is contained in:
frosch 2011-01-09 13:53:05 +00:00
parent 37069cb59d
commit 826555c741

View File

@ -47,7 +47,12 @@ static uint32 CanalGetVariable(const ResolverObject *object, byte variable, byte
switch (variable) { switch (variable) {
/* Height of tile */ /* Height of tile */
case 0x80: return GetTileZ(tile) / TILE_HEIGHT; case 0x80: {
uint z = GetTileZ(tile) / TILE_HEIGHT;
/* Return consistent height within locks */
if (IsTileType(tile, MP_WATER) && IsLock(tile) && GetSection(tile) == LOCK_UPPER) z--;
return z;
}
/* Terrain type */ /* Terrain type */
case 0x81: return GetTerrainType(tile); case 0x81: return GetTerrainType(tile);