diff options
author | dP <dp@dpointer.org> | 2021-03-17 22:22:11 +0300 |
---|---|---|
committer | Charles Pigott <charlespigott@googlemail.com> | 2021-03-20 17:55:23 +0000 |
commit | d8dfa1613fe30e092fb6b3586802c971e5d698d3 (patch) | |
tree | e99997a2f8daf25087bb908134844bcc2519693b | |
parent | b43cc21214cf088131db1fa9c2322d9ab58a1dfb (diff) | |
download | openttd-d8dfa1613fe30e092fb6b3586802c971e5d698d3.tar.xz |
Fix: Recompute road/railtype availability after disabling the engine
-rw-r--r-- | src/engine.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/engine.cpp b/src/engine.cpp index e73fdb058..a72de454b 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -747,8 +747,14 @@ static void EnableEngineForCompany(EngineID eid, CompanyID company) static void DisableEngineForCompany(EngineID eid, CompanyID company) { Engine *e = Engine::Get(eid); + Company *c = Company::Get(company); ClrBit(e->company_avail, company); + if (e->type == VEH_TRAIN) { + c->avail_railtypes = GetCompanyRailtypes(c->index); + } else if (e->type == VEH_ROAD) { + c->avail_roadtypes = GetCompanyRoadTypes(c->index); + } if (company == _local_company) { AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type); |