diff --git a/newgrf_station.c b/newgrf_station.c --- a/newgrf_station.c +++ b/newgrf_station.c @@ -225,7 +225,7 @@ static const RealSpriteGroup *ResolveSta } } -uint32 GetCustomStationRelocation(const StationSpec *statspec, const Station *st, byte ctype) +SpriteID GetCustomStationRelocation(const StationSpec *statspec, const Station *st, TileIndex tile, byte ctype) { const RealSpriteGroup *rsg = ResolveStationSpriteGroup(statspec->spritegroup[ctype], st); if (rsg == NULL) return 0; diff --git a/newgrf_station.h b/newgrf_station.h --- a/newgrf_station.h +++ b/newgrf_station.h @@ -98,7 +98,7 @@ const StationSpec *GetCustomStationSpec( /* Get sprite offset for a given custom station and station structure (may be * NULL if ctype is set - that means we are in a build dialog). The station * structure is used for variational sprite groups. */ -uint32 GetCustomStationRelocation(const StationSpec *statspec, const Station *st, byte ctype); +SpriteID GetCustomStationRelocation(const StationSpec *statspec, const Station *st, TileIndex tile, byte ctype); /* Allocate a StationSpec to a Station. This is called once per build operation. */ int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec); diff --git a/rail_cmd.c b/rail_cmd.c --- a/rail_cmd.c +++ b/rail_cmd.c @@ -1324,7 +1324,7 @@ static void DrawTile_Track(TileInfo *ti) DrawTileSeqStruct const *seq; // emulate station tile - open with building const DrawTileSprites *cust = &statspec->renderdata[2 + GetWaypointAxis(ti->tile)]; - uint32 relocation = GetCustomStationRelocation(statspec, ComposeWaypointStation(ti->tile), 0); + uint32 relocation = GetCustomStationRelocation(statspec, ComposeWaypointStation(ti->tile), ti->tile, 0); /* We don't touch the 0x8000 bit. In all this * waypoint code, it is used to indicate that diff --git a/station_cmd.c b/station_cmd.c --- a/station_cmd.c +++ b/station_cmd.c @@ -1989,7 +1989,7 @@ static void DrawTile_Station(TileInfo *t if (statspec != NULL) { uint tile = GetStationGfx(ti->tile); - relocation = GetCustomStationRelocation(statspec, st, 0); + relocation = GetCustomStationRelocation(statspec, st, ti->tile, 0); /* Ensure the chosen tile layout is valid for this custom station */ t = &statspec->renderdata[tile < statspec->tiles ? tile : GetRailStationAxis(ti->tile)]; diff --git a/waypoint.c b/waypoint.c --- a/waypoint.c +++ b/waypoint.c @@ -405,7 +405,7 @@ void DrawWaypointSprite(int x, int y, in return; } - relocation = GetCustomStationRelocation(statspec, NULL, 1); + relocation = GetCustomStationRelocation(statspec, NULL, INVALID_TILE, 1); // emulate station tile - open with building // add 1 to get the other direction cust = &statspec->renderdata[2];