From ea484bc9a6346e77fc502f4746829b45f3b365ff Mon Sep 17 00:00:00 2001 From: dP Date: Wed, 17 Mar 2021 22:22:11 +0300 Subject: [PATCH] Fix: Recompute road/railtype availability after disabling the engine --- src/engine.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/engine.cpp b/src/engine.cpp index e73fdb058a..a72de454b0 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);