Changeset - r19885:5058ecc2c266
[Not reviewed]
master
0 3 0
peter1138 - 12 years ago 2012-12-23 15:38:54
peter1138@openttd.org
(svn r24840) -Fix: Draw NewGRF railtypes in NewGRF station previews.
3 files changed with 14 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/newgrf_station.cpp
Show inline comments
 
@@ -843,10 +843,16 @@ bool DrawStationTile(int x, int y, RailT
 

	
 
	SpriteID image = sprites->ground.sprite;
 
	PaletteID pal = sprites->ground.pal;
 
	image += HasBit(image, SPRITE_MODIFIER_CUSTOM_SPRITE) ? ground_relocation : total_offset;
 
	if (HasBit(pal, SPRITE_MODIFIER_CUSTOM_SPRITE)) pal += ground_relocation;
 

	
 
	DrawSprite(image, GroundSpritePaletteTransform(image, pal, palette), x, y);
 
	RailTrackOffset overlay_offset;
 
	if (rti != NULL && rti->UsesOverlay() && SplitGroundSpriteForOverlay(NULL, &image, &overlay_offset)) {
 
		SpriteID ground = GetCustomRailSprite(rti, INVALID_TILE, RTSG_GROUND);
 
		DrawSprite(image, PAL_NONE, x, y);
 
		DrawSprite(ground + overlay_offset, PAL_NONE, x, y);
 
	} else {
 
		image += HasBit(image, SPRITE_MODIFIER_CUSTOM_SPRITE) ? ground_relocation : total_offset;
 
		if (HasBit(pal, SPRITE_MODIFIER_CUSTOM_SPRITE)) pal += ground_relocation;
 
		DrawSprite(image, GroundSpritePaletteTransform(image, pal, palette), x, y);
 
	}
 

	
 
	DrawRailTileSeqInGUI(x, y, sprites, total_offset, relocation, palette);
 

	
src/station_cmd.cpp
Show inline comments
 
@@ -2559,7 +2559,7 @@ const DrawTileSprites *GetStationTileLay
 
 * @param [out]    overlay_offset Overlay to draw.
 
 * @return true if overlay can be drawn.
 
 */
 
static bool SplitGroundSpriteForOverlay(const TileInfo *ti, SpriteID *ground, RailTrackOffset *overlay_offset)
 
bool SplitGroundSpriteForOverlay(const TileInfo *ti, SpriteID *ground, RailTrackOffset *overlay_offset)
 
{
 
	bool snow_desert;
 
	switch (*ground) {
src/station_func.h
Show inline comments
 
@@ -16,6 +16,7 @@
 
#include "rail_type.h"
 
#include "road_type.h"
 
#include "economy_func.h"
 
#include "rail.h"
 

	
 
void ModifyStationRatingAround(TileIndex tile, Owner owner, int amount, uint radius);
 

	
 
@@ -44,6 +45,8 @@ bool CanStationTileHaveWires(TileIndex t
 

	
 
void UpdateAirportsNoise();
 

	
 
bool SplitGroundSpriteForOverlay(const TileInfo *ti, SpriteID *ground, RailTrackOffset *overlay_offset);
 

	
 
/**
 
 * Calculates the maintenance cost of a number of station tiles.
 
 * @param num Number of station tiles.
0 comments (0 inline, 0 general)