@@ -41,25 +41,25 @@ static void CanalSetTriggers(const Resol
}
static uint32 CanalGetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available)
{
TileIndex tile = object->u.canal.tile;
switch (variable) {
/* Height of tile */
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--;
if (IsTileType(tile, MP_WATER) && IsLock(tile) && GetSection(tile) >= 8) z--;
return z;
/* Terrain type */
case 0x81: return GetTerrainType(tile);
/* Random data for river or canal tiles, otherwise zero */
case 0x83: return IsTileType(tile, MP_WATER) ? GetWaterTileRandomBits(tile) : 0;
DEBUG(grf, 1, "Unhandled canal variable 0x%02X", variable);
Status change: