diff options
author | tron <tron@openttd.org> | 2006-08-05 17:00:09 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-08-05 17:00:09 +0000 |
commit | 4fed9cec459eb1a21f703d1856759cafb74d71d1 (patch) | |
tree | c99f5d356a8d953aae993b377be6ff73e4f1bf88 | |
parent | d90057e393992df0c7fa8c2ef20ebcafdc416c27 (diff) | |
download | openttd-4fed9cec459eb1a21f703d1856759cafb74d71d1.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.c | 18 |
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) { |