summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-09-04 12:06:38 +0000
committerrubidium <rubidium@openttd.org>2007-09-04 12:06:38 +0000
commitc5cfb281ad92397784e81204f4679942e5463c45 (patch)
treee6b5e96fc5db5b625057e1eab560f1a6bb9c3e2a /src
parenta0559dd89eae25d6ba12721b0240f869da97cc26 (diff)
downloadopenttd-c5cfb281ad92397784e81204f4679942e5463c45.tar.xz
(svn r11042) -Fix [FS#1196]: so newgrf callbacks returned slightly wrong heights (height of nothern corner instead of height of lowest corner). Patch by frosch.
Diffstat (limited to 'src')
-rw-r--r--src/newgrf_canal.cpp2
-rw-r--r--src/newgrf_house.cpp4
-rw-r--r--src/newgrf_industrytiles.cpp4
3 files changed, 7 insertions, 3 deletions
diff --git a/src/newgrf_canal.cpp b/src/newgrf_canal.cpp
index 9a8fe7ea1..b49191de6 100644
--- a/src/newgrf_canal.cpp
+++ b/src/newgrf_canal.cpp
@@ -42,7 +42,7 @@ static uint32 CanalGetVariable(const ResolverObject *object, byte variable, byte
switch (variable) {
case 0x80:
- return TileHeight(tile);
+ return GetTileZ(tile) / TILE_HEIGHT;
case 0x81:
return GetTerrainType(tile);
diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp
index b66d1be38..921c0dc10 100644
--- a/src/newgrf_house.cpp
+++ b/src/newgrf_house.cpp
@@ -185,7 +185,9 @@ uint32 GetNearbyTileInformation(byte parameter, TileIndex tile)
tile = GetNearbyTile(parameter, tile);
tile_type = GetTerrainType(tile) << 2 | (IsTileType(tile, MP_WATER) ? 1 : 0) << 1;
- return GetTileType(tile) << 24 | (TileHeight(tile) * 8) << 16 | tile_type << 8 | GetTileSlope(tile, NULL);
+ uint z;
+ Slope tileh = GetTileSlope(tile, &z);
+ return GetTileType(tile) << 24 | z << 16 | tile_type << 8 | tileh;
}
/**
diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp
index f3391c214..0fb78bf49 100644
--- a/src/newgrf_industrytiles.cpp
+++ b/src/newgrf_industrytiles.cpp
@@ -39,7 +39,9 @@ uint32 GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, Industry
is_same_industry = (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == index);
tile_type = GetTerrainType(tile) << 2 | (IsTileType(tile, MP_WATER) ? 1 : 0) << 1 | (is_same_industry ? 1 : 0);
- return GetTileType(tile) << 24 | (TileHeight(tile) * 8) << 16 | tile_type << 8 | GetTileSlope(tile, NULL);
+ uint z;
+ Slope tileh = GetTileSlope(tile, &z);
+ return GetTileType(tile) << 24 | z << 16 | tile_type << 8 | tileh;
}
/** This is the position of the tile relative to the northernmost tile of the industry.