mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r18410) -Codechange: Move GetCargoSprite() to CargoSpec::GetCargoIcon().
This commit is contained in:
parent
1e7403d372
commit
c38f3ce380
|
@ -12,6 +12,7 @@
|
|||
#include "stdafx.h"
|
||||
#include "cargotype.h"
|
||||
#include "core/bitmath_func.hpp"
|
||||
#include "newgrf_cargo.h"
|
||||
|
||||
#include "table/sprites.h"
|
||||
#include "table/strings.h"
|
||||
|
@ -89,3 +90,19 @@ CargoID GetCargoIDByBitnum(uint8 bitnum)
|
|||
return CT_INVALID;
|
||||
}
|
||||
|
||||
/** Get sprite for showing cargo of this type.
|
||||
* @return Sprite number to use.
|
||||
*/
|
||||
SpriteID CargoSpec::GetCargoIcon() const
|
||||
{
|
||||
SpriteID sprite = this->sprite;
|
||||
if (sprite == 0xFFFF) {
|
||||
/* A value of 0xFFFF indicates we should draw a custom icon */
|
||||
sprite = GetCustomCargoSprite(this);
|
||||
}
|
||||
|
||||
if (sprite == 0) sprite = SPR_CARGO_GOODS;
|
||||
|
||||
return sprite;
|
||||
}
|
||||
|
||||
|
|
|
@ -113,6 +113,8 @@ struct CargoSpec {
|
|||
return &CargoSpec::array[index];
|
||||
}
|
||||
|
||||
SpriteID GetCargoIcon() const;
|
||||
|
||||
private:
|
||||
static CargoSpec array[NUM_CARGO]; ///< Array holding all CargoSpecs
|
||||
|
||||
|
@ -123,8 +125,6 @@ extern uint32 _cargo_mask;
|
|||
|
||||
/* Set up the default cargo types for the given landscape type */
|
||||
void SetupCargoForClimate(LandscapeID l);
|
||||
/* Get the cargo icon for a given cargo ID */
|
||||
SpriteID GetCargoSprite(CargoID i);
|
||||
/* Get the cargo ID with the cargo label */
|
||||
CargoID GetCargoIDByLabel(CargoLabel cl);
|
||||
CargoID GetCargoIDByBitnum(uint8 bitnum);
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "viewport_func.h"
|
||||
#include "gfx_func.h"
|
||||
#include "widgets/dropdown_func.h"
|
||||
#include "newgrf_cargo.h"
|
||||
#include "station_base.h"
|
||||
#include "waypoint_base.h"
|
||||
#include "tilehighlight_func.h"
|
||||
|
@ -751,23 +750,6 @@ static const NWidgetPart _nested_station_view_widgets[] = {
|
|||
EndContainer(),
|
||||
};
|
||||
|
||||
SpriteID GetCargoSprite(CargoID i)
|
||||
{
|
||||
const CargoSpec *cs = CargoSpec::Get(i);
|
||||
SpriteID sprite;
|
||||
|
||||
if (cs->sprite == 0xFFFF) {
|
||||
/* A value of 0xFFFF indicates we should draw a custom icon */
|
||||
sprite = GetCustomCargoSprite(cs);
|
||||
} else {
|
||||
sprite = cs->sprite;
|
||||
}
|
||||
|
||||
if (sprite == 0) sprite = SPR_CARGO_GOODS;
|
||||
|
||||
return sprite;
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws icons of waiting cargo in the StationView window
|
||||
*
|
||||
|
@ -783,7 +765,7 @@ static void DrawCargoIcons(CargoID i, uint waiting, int left, int right, int y)
|
|||
uint num = min((waiting + 5) / 10, (right - left) / 10); // maximum is width / 10 icons so it won't overflow
|
||||
if (num == 0) return;
|
||||
|
||||
SpriteID sprite = GetCargoSprite(i);
|
||||
SpriteID sprite = CargoSpec::Get(i)->GetCargoIcon();
|
||||
|
||||
int x = _dynlang.text_dir == TD_RTL ? right - num * 10 : left;
|
||||
do {
|
||||
|
|
Loading…
Reference in New Issue