diff options
author | frosch <frosch@openttd.org> | 2011-11-01 16:51:47 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2011-11-01 16:51:47 +0000 |
commit | bbc3409942565cd6876016e270288517cb6acafb (patch) | |
tree | 3079bbaa5682e25b2805774cd2382e9c0c6ef109 /src/ship_cmd.cpp | |
parent | e802dc66b9d1e913e77816184ed2744f737823ec (diff) | |
download | openttd-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.cpp | 16 |
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; |