diff options
-rw-r--r-- | newgrf.c | 10 | ||||
-rw-r--r-- | station_cmd.c | 1 |
2 files changed, 9 insertions, 2 deletions
@@ -854,7 +854,15 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int dtss->width = grf_load_byte(&buf); dtss->height = grf_load_byte(&buf); dtss->unk = grf_load_byte(&buf); - dtss->image = grf_load_dword(&buf) - 0x42d; + dtss->image = grf_load_dword(&buf); + + /* Remap the colour map bit from 14 to 31 */ + if (HASBIT(dtss->image, 14)) { + CLRBIT(dtss->image, 14); + SETBIT(dtss->image, 31); + } + + dtss->image -= 0x42D; } } } diff --git a/station_cmd.c b/station_cmd.c index 350e4ab02..22c86c82a 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -2060,7 +2060,6 @@ static void DrawTile_Station(TileInfo *ti) if ((byte)dtss->delta_z != 0x80) { AddSortableSpriteToDraw(image, ti->x + dtss->delta_x, ti->y + dtss->delta_y, dtss->width, dtss->height, dtss->unk, ti->z + dtss->delta_z); } else { - MAKE_TRANSPARENT(image); AddChildSpriteScreen(image, dtss->delta_x, dtss->delta_y); } } |