1
0
Fork 0

(svn r5773) Clarify why the owner is checked before a palette is chosen when drawing a station tile: some stations are not owned by players

release/0.5
tron 2006-08-05 17:00:09 +00:00
parent 6d468df6d9
commit 2ab973aded
1 changed files with 10 additions and 8 deletions

View File

@ -2039,7 +2039,6 @@ const DrawTileSprites *GetStationTileLayout(byte gfx)
static void DrawTile_Station(TileInfo *ti) static void DrawTile_Station(TileInfo *ti)
{ {
uint32 image_or_modificator;
uint32 image; uint32 image;
const DrawTileSeqStruct *dtss; const DrawTileSeqStruct *dtss;
const DrawTileSprites *t = NULL; const DrawTileSprites *t = NULL;
@ -2048,11 +2047,14 @@ static void DrawTile_Station(TileInfo *ti)
uint32 relocation = 0; uint32 relocation = 0;
const Station *st = NULL; const Station *st = NULL;
const StationSpec *statspec = NULL; const StationSpec *statspec = NULL;
PlayerID owner = GetTileOwner(ti->tile);
uint32 palette;
{ if (owner < MAX_PLAYERS) {
PlayerID owner = GetTileOwner(ti->tile); palette = PLAYER_SPRITE_COLOR(owner);
image_or_modificator = PALETTE_TO_GREY; /* NOTE: possible bug in ttd here? */ } else {
if (owner < MAX_PLAYERS) image_or_modificator = PLAYER_SPRITE_COLOR(owner); // Some stations are not owner by a player, namely oil rigs
palette = PALETTE_TO_GREY;
} }
// don't show foundation for docks // don't show foundation for docks
@ -2093,7 +2095,7 @@ static void DrawTile_Station(TileInfo *ti)
} else { } else {
image += rti->total_offset; image += rti->total_offset;
} }
if (image & PALETTE_MODIFIER_COLOR) image |= image_or_modificator; if (image & PALETTE_MODIFIER_COLOR) image |= palette;
// station_land array has been increased from 82 elements to 114 // station_land array has been increased from 82 elements to 114
// but this is something else. If AI builds station with 114 it looks all weird // but this is something else. If AI builds station with 114 it looks all weird
@ -2112,8 +2114,8 @@ static void DrawTile_Station(TileInfo *ti)
if (_display_opt & DO_TRANS_BUILDINGS) { if (_display_opt & DO_TRANS_BUILDINGS) {
MAKE_TRANSPARENT(image); MAKE_TRANSPARENT(image);
} else { } else if (image & PALETTE_MODIFIER_COLOR) {
if (image & PALETTE_MODIFIER_COLOR) image |= image_or_modificator; image |= palette;
} }
if ((byte)dtss->delta_z != 0x80) { if ((byte)dtss->delta_z != 0x80) {