summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/industry_gui.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp
index c93dc5573..6be98e280 100644
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -1565,8 +1565,17 @@ public:
DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_DIRECTORY_NONE);
break;
}
+ TextColour tc;
+ const CargoID acf_cid = this->cargo_filter[this->accepted_cargo_filter_criteria];
for (uint i = this->vscroll->GetPosition(); i < this->industries.size(); i++) {
- DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]));
+ tc = TC_FROMSTRING;
+ if (acf_cid != CF_ANY && acf_cid != CF_NONE) {
+ Industry *ind = const_cast<Industry *>(this->industries[i]);
+ if (IndustryTemporarilyRefusesCargo(ind, acf_cid)) {
+ tc = TC_GREY | TC_FORCED;
+ }
+ }
+ DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]), tc);
y += this->resize.step_height;
if (++n == this->vscroll->GetCapacity()) break; // max number of industries in 1 window