mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-31 03:12:41 +00:00
(svn r4014) -Backport from trunk: Slope and height information returned for some tile types is wrong
This commit is contained in:
parent
ebfef9683e
commit
04572ed7fe
@ -16,12 +16,12 @@ static void DrawTile_Dummy(TileInfo *ti)
|
||||
|
||||
static uint GetSlopeZ_Dummy(const TileInfo* ti)
|
||||
{
|
||||
return GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh) + ti->z;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint GetSlopeTileh_Dummy(const TileInfo* ti)
|
||||
{
|
||||
return ti->tileh;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int32 ClearTile_Dummy(TileIndex tile, byte flags)
|
||||
|
@ -398,7 +398,7 @@ static void DrawTile_Industry(TileInfo *ti)
|
||||
|
||||
static uint GetSlopeZ_Industry(const TileInfo* ti)
|
||||
{
|
||||
return GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh) + ti->z;
|
||||
return ti->z + (ti->tileh == 0 ? 0 : 8);
|
||||
}
|
||||
|
||||
static uint GetSlopeTileh_Industry(const TileInfo* ti)
|
||||
|
@ -2111,7 +2111,7 @@ void StationPickerDrawSprite(int x, int y, RailType railtype, int image)
|
||||
|
||||
static uint GetSlopeZ_Station(const TileInfo* ti)
|
||||
{
|
||||
return (ti->tileh != 0) ? ti->z + 8 : ti->z;
|
||||
return ti->z + (ti->tileh == 0 ? 0 : 8);
|
||||
}
|
||||
|
||||
static uint GetSlopeTileh_Station(const TileInfo *ti)
|
||||
|
@ -143,14 +143,12 @@ static void DrawTile_Town(TileInfo *ti)
|
||||
|
||||
static uint GetSlopeZ_Town(const TileInfo* ti)
|
||||
{
|
||||
uint z = GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh) + ti->z;
|
||||
if (ti->tileh != 0) z = (z & ~7) + 4;
|
||||
return (uint16) z;
|
||||
return ti->z + (ti->tileh == 0 ? 0 : 8);
|
||||
}
|
||||
|
||||
static uint GetSlopeTileh_Town(const TileInfo *ti)
|
||||
{
|
||||
return ti->tileh;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void AnimateTile_Town(TileIndex tile)
|
||||
|
@ -182,12 +182,16 @@ static void DrawTile_Unmovable(TileInfo *ti)
|
||||
|
||||
static uint GetSlopeZ_Unmovable(const TileInfo* ti)
|
||||
{
|
||||
return GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh) + ti->z;
|
||||
if (_m[ti->tile].m5 == 3) {
|
||||
return ti->z + GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh);
|
||||
} else {
|
||||
return ti->z + (ti->tileh == 0 ? 0 : 8);
|
||||
}
|
||||
}
|
||||
|
||||
static uint GetSlopeTileh_Unmovable(const TileInfo *ti)
|
||||
{
|
||||
return 0;
|
||||
return _m[ti->tile].m5 == 3 ? ti->tileh : 0;
|
||||
}
|
||||
|
||||
static int32 ClearTile_Unmovable(TileIndex tile, byte flags)
|
||||
|
Loading…
Reference in New Issue
Block a user