1
0
Fork 0

(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.

release/0.6
rubidium 2007-09-04 12:06:38 +00:00
parent a0559dd89e
commit c5cfb281ad
3 changed files with 7 additions and 3 deletions

View File

@ -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);

View File

@ -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;
}
/**

View File

@ -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.