(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
--- a/station_cmd.c Sat Aug 05 16:57:39 2006 +0000
+++ b/station_cmd.c Sat Aug 05 17:00:09 2006 +0000
@@ -2039,7 +2039,6 @@
static void DrawTile_Station(TileInfo *ti)
{
- uint32 image_or_modificator;
uint32 image;
const DrawTileSeqStruct *dtss;
const DrawTileSprites *t = NULL;
@@ -2048,11 +2047,14 @@
uint32 relocation = 0;
const Station *st = NULL;
const StationSpec *statspec = NULL;
-
- {
- PlayerID owner = GetTileOwner(ti->tile);
- image_or_modificator = PALETTE_TO_GREY; /* NOTE: possible bug in ttd here? */
- if (owner < MAX_PLAYERS) image_or_modificator = PLAYER_SPRITE_COLOR(owner);
+ PlayerID owner = GetTileOwner(ti->tile);
+ uint32 palette;
+
+ if (owner < MAX_PLAYERS) {
+ palette = PLAYER_SPRITE_COLOR(owner);
+ } else {
+ // Some stations are not owner by a player, namely oil rigs
+ palette = PALETTE_TO_GREY;
}
// don't show foundation for docks
@@ -2093,7 +2095,7 @@
} else {
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
// but this is something else. If AI builds station with 114 it looks all weird
@@ -2112,8 +2114,8 @@
if (_display_opt & DO_TRANS_BUILDINGS) {
MAKE_TRANSPARENT(image);
- } else {
- if (image & PALETTE_MODIFIER_COLOR) image |= image_or_modificator;
+ } else if (image & PALETTE_MODIFIER_COLOR) {
+ image |= palette;
}
if ((byte)dtss->delta_z != 0x80) {