summaryrefslogtreecommitdiff
path: root/src/misc_gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc_gui.cpp')
-rw-r--r--src/misc_gui.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp
index 7abe9ac37..f3b14639c 100644
--- a/src/misc_gui.cpp
+++ b/src/misc_gui.cpp
@@ -751,16 +751,22 @@ void GuiShowTooltipsWithArgs(StringID str, uint paramcount, const uint64 params[
static void DrawStationCoverageText(const AcceptedCargo accepts,
- int str_x, int str_y, uint mask)
+ int str_x, int str_y, StationCoverageType sct)
{
char *b = _userstring;
bool first = true;
b = InlineString(b, STR_000D_ACCEPTS);
- for (CargoID i = 0; i < NUM_CARGO; i++, mask >>= 1) {
+ for (CargoID i = 0; i < NUM_CARGO; i++) {
if (b >= lastof(_userstring) - 5) break;
- if (accepts[i] >= 8 && mask & 1) {
+ switch (sct) {
+ case SCT_PASSENGERS_ONLY: if (!IsCargoInClass(i, CC_PASSENGERS)) continue; break;
+ case SCT_NON_PASSENGERS_ONLY: if (IsCargoInClass(i, CC_PASSENGERS)) continue; break;
+ case SCT_ALL: break;
+ default: NOT_REACHED();
+ }
+ if (accepts[i] >= 8) {
if (first) {
first = false;
} else {
@@ -779,12 +785,12 @@ static void DrawStationCoverageText(const AcceptedCargo accepts,
DrawStringMultiLine(str_x, str_y, STR_SPEC_USERSTRING, 144);
}
-void DrawStationCoverageAreaText(int sx, int sy, uint mask, int rad) {
+void DrawStationCoverageAreaText(int sx, int sy, StationCoverageType sct, int rad) {
TileIndex tile = TileVirtXY(_thd.pos.x, _thd.pos.y);
AcceptedCargo accepts;
if (tile < MapSize()) {
GetAcceptanceAroundTiles(accepts, tile, _thd.size.x / TILE_SIZE, _thd.size.y / TILE_SIZE , rad);
- DrawStationCoverageText(accepts, sx, sy, mask);
+ DrawStationCoverageText(accepts, sx, sy, sct);
}
}