summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-08-05 17:00:09 +0000
committertron <tron@openttd.org>2006-08-05 17:00:09 +0000
commit2ab973adedd47bb821a6a780dec64684bcadd12c (patch)
treec99f5d356a8d953aae993b377be6ff73e4f1bf88
parent6d468df6d9430a62006d4ea8f0fe0deeb8186d2a (diff)
downloadopenttd-2ab973adedd47bb821a6a780dec64684bcadd12c.tar.xz
(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
-rw-r--r--station_cmd.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/station_cmd.c b/station_cmd.c
index 42fa1b654..4433b518f 100644
--- a/station_cmd.c
+++ b/station_cmd.c
@@ -2039,7 +2039,6 @@ const DrawTileSprites *GetStationTileLayout(byte gfx)
static void DrawTile_Station(TileInfo *ti)
{
- uint32 image_or_modificator;
uint32 image;
const DrawTileSeqStruct *dtss;
const DrawTileSprites *t = NULL;
@@ -2048,11 +2047,14 @@ static void DrawTile_Station(TileInfo *ti)
uint32 relocation = 0;
const Station *st = NULL;
const StationSpec *statspec = NULL;
+ PlayerID owner = GetTileOwner(ti->tile);
+ uint32 palette;
- {
- 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);
+ 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 @@ static void DrawTile_Station(TileInfo *ti)
} 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 @@ static void DrawTile_Station(TileInfo *ti)
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) {