diff options
-rw-r--r-- | src/industry_gui.cpp | 11 |
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 |