Changeset - r4227:4493863804fa
[Not reviewed]
master
0 1 0
tron - 18 years ago 2006-08-05 17:00:09
tron@openttd.org
(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
1 file changed with 11 insertions and 9 deletions:
0 comments (0 inline, 0 general)
station_cmd.c
Show inline comments
 
@@ -2039,7 +2039,6 @@ const DrawTileSprites *GetStationTileLay
 

	
 
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 *t
 
	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 @@ static void DrawTile_Station(TileInfo *t
 
	} 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 *t
 

	
 
		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) {
0 comments (0 inline, 0 general)