summaryrefslogtreecommitdiff
path: root/src/ship_cmd.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-11-01 16:51:47 +0000
committerfrosch <frosch@openttd.org>2011-11-01 16:51:47 +0000
commitbbc3409942565cd6876016e270288517cb6acafb (patch)
tree3079bbaa5682e25b2805774cd2382e9c0c6ef109 /src/ship_cmd.cpp
parente802dc66b9d1e913e77816184ed2744f737823ec (diff)
downloadopenttd-bbc3409942565cd6876016e270288517cb6acafb.tar.xz
(svn r23080) -Feature: [NewGRF] Use variable 10 to enable vehicle GRFs to draw different sprites on the map and in various GUIs.
Diffstat (limited to 'src/ship_cmd.cpp')
-rw-r--r--src/ship_cmd.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp
index b6e0387b3..bfb3b5674 100644
--- a/src/ship_cmd.cpp
+++ b/src/ship_cmd.cpp
@@ -62,13 +62,13 @@ static inline TrackBits GetTileShipTrackStatus(TileIndex tile)
return TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_WATER, 0));
}
-static SpriteID GetShipIcon(EngineID engine)
+static SpriteID GetShipIcon(EngineID engine, EngineImageType image_type)
{
const Engine *e = Engine::Get(engine);
uint8 spritenum = e->u.ship.image_index;
if (is_custom_sprite(spritenum)) {
- SpriteID sprite = GetCustomVehicleIcon(engine, DIR_W);
+ SpriteID sprite = GetCustomVehicleIcon(engine, DIR_W, image_type);
if (sprite != 0) return sprite;
spritenum = e->original_image_index;
@@ -77,9 +77,9 @@ static SpriteID GetShipIcon(EngineID engine)
return DIR_W + _ship_sprites[spritenum];
}
-void DrawShipEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal)
+void DrawShipEngine(int left, int right, int preferred_x, int y, EngineID engine, PaletteID pal, EngineImageType image_type)
{
- SpriteID sprite = GetShipIcon(engine);
+ SpriteID sprite = GetShipIcon(engine, image_type);
const Sprite *real_sprite = GetSprite(sprite, ST_NORMAL);
preferred_x = Clamp(preferred_x, left - real_sprite->x_offs, right - real_sprite->width - real_sprite->x_offs);
DrawSprite(sprite, pal, preferred_x, y);
@@ -91,20 +91,20 @@ void DrawShipEngine(int left, int right, int preferred_x, int y, EngineID engine
* @param width The width of the sprite
* @param height The height of the sprite
*/
-void GetShipSpriteSize(EngineID engine, uint &width, uint &height)
+void GetShipSpriteSize(EngineID engine, uint &width, uint &height, EngineImageType image_type)
{
- const Sprite *spr = GetSprite(GetShipIcon(engine), ST_NORMAL);
+ const Sprite *spr = GetSprite(GetShipIcon(engine, image_type), ST_NORMAL);
width = spr->width;
height = spr->height;
}
-SpriteID Ship::GetImage(Direction direction) const
+SpriteID Ship::GetImage(Direction direction, EngineImageType image_type) const
{
uint8 spritenum = this->spritenum;
if (is_custom_sprite(spritenum)) {
- SpriteID sprite = GetCustomVehicleSprite(this, direction);
+ SpriteID sprite = GetCustomVehicleSprite(this, direction, image_type);
if (sprite != 0) return sprite;
spritenum = this->GetEngine()->original_image_index;