|
@@ -20,6 +20,7 @@
|
|
|
#include "vehicle.h"
|
|
|
#include "table/sprites.h"
|
|
|
#include "helpers.hpp"
|
|
|
#include "cargotype.h"
|
|
|
|
|
|
enum StationListWidgets {
|
|
|
STATIONLIST_WIDGET_CLOSEBOX = 0,
|
|
@@ -57,7 +58,10 @@ static StationSortListingTypeFunction St
|
|
|
* @param rating ratings data for that particular cargo */
|
|
|
static void StationsWndShowStationRating(int x, int y, CargoID type, uint amount, byte rating)
|
|
|
{
|
|
|
int colour = _cargo_colours[type];
|
|
|
const CargoSpec *cs = GetCargo(type);
|
|
|
if (cs->bitnum == 0xFF) return;
|
|
|
|
|
|
int colour = cs->rating_colour;
|
|
|
uint w = (minu(amount, 576) + 5) / 36;
|
|
|
|
|
|
/* Draw total cargo (limited) on station (fits into 16 pixels) */
|
|
@@ -73,7 +77,7 @@ static void StationsWndShowStationRating
|
|
|
}
|
|
|
}
|
|
|
|
|
|
DrawString(x + 1, y, _cargoc.names_short[type], 0x10);
|
|
|
DrawString(x + 1, y, cs->abbrev, 0x10);
|
|
|
|
|
|
/* Draw green/red ratings bar (fits into 14 pixels) */
|
|
|
y += 8;
|
|
@@ -323,8 +327,11 @@ static void PlayerStationsWndProc(Window
|
|
|
for (i = 0; i < NUM_CARGO; i++) {
|
|
|
cg_ofst = IsWindowWidgetLowered(w, i + STATIONLIST_WIDGET_CARGOSTART) ? 2 : 1;
|
|
|
|
|
|
GfxFillRect(x + cg_ofst, y + cg_ofst, x + cg_ofst + 10 , y + cg_ofst + 7, _cargo_colours[i]);
|
|
|
DrawStringCentered(x + 6 + cg_ofst, y + cg_ofst, _cargoc.names_short[i], 0x10);
|
|
|
const CargoSpec *cs = GetCargo(i);
|
|
|
if (cs->bitnum != 0xFF) {
|
|
|
GfxFillRect(x + cg_ofst, y + cg_ofst, x + cg_ofst + 10 , y + cg_ofst + 7, cs->rating_colour);
|
|
|
DrawStringCentered(x + 6 + cg_ofst, y + cg_ofst, cs->abbrev, 0x10);
|
|
|
}
|
|
|
x += 14;
|
|
|
}
|
|
|
|
|
@@ -656,7 +663,7 @@ static void DrawStationViewWindow(Window
|
|
|
int cur_x = x;
|
|
|
num = min(num, 23);
|
|
|
do {
|
|
|
DrawSprite(_cargoc.sprites[i], PAL_NONE, cur_x, y);
|
|
|
DrawSprite(GetCargo(i)->sprite, PAL_NONE, cur_x, y);
|
|
|
cur_x += 10;
|
|
|
} while (--num);
|
|
|
}
|
|
@@ -701,7 +708,7 @@ static void DrawStationViewWindow(Window
|
|
|
*b++ = ',';
|
|
|
*b++ = ' ';
|
|
|
}
|
|
|
b = InlineString(b, _cargoc.names_s[i]);
|
|
|
b = InlineString(b, GetCargo(i)->name);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -716,7 +723,7 @@ static void DrawStationViewWindow(Window
|
|
|
y = 77;
|
|
|
for (i = 0; i != NUM_CARGO; i++) {
|
|
|
if (st->goods[i].enroute_from != INVALID_STATION) {
|
|
|
SetDParam(0, _cargoc.names_s[i]);
|
|
|
SetDParam(0, GetCargo(i)->name);
|
|
|
SetDParam(2, st->goods[i].rating * 101 >> 8);
|
|
|
SetDParam(1, STR_3035_APPALLING + (st->goods[i].rating >> 5));
|
|
|
DrawString(8, y, STR_303D, 0);
|