From 03cacb797aa50a952cab1f38210b267d0db935db Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 22 May 2010 12:25:47 +0000 Subject: (svn r19880) -Fix: [NoAI] AIEngine::IsValidEngine() and AIEngine::IsBuildable() returned false positives. Especially wagons of unavailable railtypes were reported available. --- src/ai/api/ai_engine.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ai/api/ai_engine.cpp b/src/ai/api/ai_engine.cpp index d24a8b6e0..c235255ba 100644 --- a/src/ai/api/ai_engine.cpp +++ b/src/ai/api/ai_engine.cpp @@ -16,20 +16,21 @@ #include "../../strings_func.h" #include "../../rail.h" #include "../../engine_base.h" +#include "../../engine_func.h" #include "../../articulated_vehicles.h" #include "table/strings.h" /* static */ bool AIEngine::IsValidEngine(EngineID engine_id) { const Engine *e = ::Engine::GetIfValid(engine_id); - return e != NULL && (HasBit(e->company_avail, _current_company) || ::Company::Get(_current_company)->num_engines[engine_id] > 0); + return e != NULL && (::IsEngineBuildable(engine_id, e->type, _current_company) || ::Company::Get(_current_company)->num_engines[engine_id] > 0); } /* static */ bool AIEngine::IsBuildable(EngineID engine_id) { const Engine *e = ::Engine::GetIfValid(engine_id); - return e != NULL && HasBit(e->company_avail, _current_company); + return e != NULL && ::IsEngineBuildable(engine_id, e->type, _current_company); } /* static */ char *AIEngine::GetName(EngineID engine_id) -- cgit v1.2.3-54-g00ecf