1
0
Fork 0

(svn r19852) -Fix [FS#TT-MS]: Drawing fallback sprites for unavailable NewGRF waypoints failed.

release/1.1
frosch 2010-05-18 20:49:53 +00:00
parent c80c5464ae
commit 354645cd0a
2 changed files with 12 additions and 2 deletions

View File

@ -2580,7 +2580,7 @@ static void DrawTile_Station(TileInfo *ti)
palette = PALETTE_TO_GREY; palette = PALETTE_TO_GREY;
} }
if (t == NULL || t->seq == NULL) t = &_station_display_datas[GetStationType(ti->tile)][GetStationGfx(ti->tile)]; if (t == NULL || t->seq == NULL) t = GetStationTileLayout(GetStationType(ti->tile), GetStationGfx(ti->tile));
/* don't show foundation for docks */ /* don't show foundation for docks */
if (ti->tileh != SLOPE_FLAT && !IsDock(ti->tile)) { if (ti->tileh != SLOPE_FLAT && !IsDock(ti->tile)) {
@ -2702,7 +2702,7 @@ void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, Ro
{ {
int32 total_offset = 0; int32 total_offset = 0;
PaletteID pal = COMPANY_SPRITE_COLOUR(_local_company); PaletteID pal = COMPANY_SPRITE_COLOUR(_local_company);
const DrawTileSprites *t = &_station_display_datas[st][image]; const DrawTileSprites *t = GetStationTileLayout(st, image);
const RailtypeInfo *rti = NULL; const RailtypeInfo *rti = NULL;
if (railtype != INVALID_RAILTYPE) { if (railtype != INVALID_RAILTYPE) {

View File

@ -954,11 +954,21 @@ static const DrawTileSprites _station_display_datas_buoy[] = {
static const DrawTileSprites _station_display_datas_waypoint[] = { static const DrawTileSprites _station_display_datas_waypoint[] = {
TILE_SPRITE_LINE(SPR_RAIL_TRACK_X, _station_display_datas_waypoint_X) TILE_SPRITE_LINE(SPR_RAIL_TRACK_X, _station_display_datas_waypoint_X)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y, _station_display_datas_waypoint_Y) TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y, _station_display_datas_waypoint_Y)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_X, _station_display_datas_waypoint_X)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y, _station_display_datas_waypoint_Y)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_X, _station_display_datas_waypoint_X)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y, _station_display_datas_waypoint_Y)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_X, _station_display_datas_waypoint_X)
TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y, _station_display_datas_waypoint_Y)
}; };
#undef TILE_SPRITE_LINE #undef TILE_SPRITE_LINE
#undef TILE_SPRITE_NULL #undef TILE_SPRITE_NULL
/* Default waypoint is also drawn as fallback for NewGRF waypoints.
* As these are drawn/build like stations, they may use the same number of layouts. */
assert_compile(lengthof(_station_display_datas_rail) == lengthof(_station_display_datas_waypoint));
static const DrawTileSprites * const _station_display_datas[] = { static const DrawTileSprites * const _station_display_datas[] = {
_station_display_datas_rail, _station_display_datas_rail,
_station_display_datas_airport, _station_display_datas_airport,