(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
authortron
Sat, 05 Aug 2006 17:00:09 +0000
changeset 4227 3ff996bf3f28
parent 4226 10d7608f4c6c
child 4228 5f13a2cbb108
(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
station_cmd.c
--- 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) {