# HG changeset patch # User rubidium # Date 2009-05-26 08:53:16 # Node ID 489eee6f86b7bd6b1536313ad34ab1b3ec085f34 # Parent 63829fb1bd5f1826519304b37b96f796a0e98520 (svn r16427) -Codechange: replace a few magic numbers with an existing constant and unduplicate a few lines. diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -187,7 +187,7 @@ static SpriteID GetAircraftIcon(EngineID spritenum = Engine::Get(engine)->image_index; } - return 6 + _aircraft_sprite[spritenum]; + return DIR_W + _aircraft_sprite[spritenum]; } void DrawAircraftEngine(int x, int y, EngineID engine, SpriteID pal) diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -93,7 +93,7 @@ static SpriteID GetRoadVehIcon(EngineID spritenum = Engine::Get(engine)->image_index; } - return 6 + _roadveh_images[spritenum]; + return DIR_W + _roadveh_images[spritenum]; } SpriteID RoadVehicle::GetImage(Direction direction) const diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -59,7 +59,7 @@ static SpriteID GetShipIcon(EngineID eng spritenum = Engine::Get(engine)->image_index; } - return 6 + _ship_sprites[spritenum]; + return DIR_W + _ship_sprites[spritenum]; } void DrawShipEngine(int x, int y, EngineID engine, SpriteID pal) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -568,6 +568,11 @@ void UpdateTrainAcceleration(Train *v) v->acceleration = Clamp(power / weight * 4, 1, 255); } +static SpriteID GetDefaultTrainSprite(uint8 spritenum, Direction direction) +{ + return ((direction + _engine_sprite_add[spritenum]) & _engine_sprite_and[spritenum]) + _engine_sprite_base[spritenum]; +} + SpriteID Train::GetImage(Direction direction) const { uint8 spritenum = this->spritenum; @@ -582,7 +587,7 @@ SpriteID Train::GetImage(Direction direc spritenum = Engine::Get(this->engine_type)->image_index; } - sprite = _engine_sprite_base[spritenum] + ((direction + _engine_sprite_add[spritenum]) & _engine_sprite_and[spritenum]); + sprite = GetDefaultTrainSprite(spritenum, direction); if (this->cargo.Count() >= this->cargo_cap / 2U) sprite += _wagon_full_adder[spritenum]; @@ -606,7 +611,7 @@ static SpriteID GetRailIcon(EngineID eng if (rear_head) spritenum++; - return ((6 + _engine_sprite_add[spritenum]) & _engine_sprite_and[spritenum]) + _engine_sprite_base[spritenum]; + return GetDefaultTrainSprite(spritenum, DIR_W); } void DrawTrainEngine(int x, int y, EngineID engine, SpriteID pal)