diff --git a/newgrf.c b/newgrf.c index 47192c214e..d1dec9a225 100644 --- a/newgrf.c +++ b/newgrf.c @@ -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 350e4ab02c..22c86c82a3 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); } }