Mercurial > hg > openttd
changeset 14373:6703a8ed9c0c draft
(svn r18930) -Fix: [NoAI] Autoreplace is also valid for the default group.
author | frosch <frosch@openttd.org> |
---|---|
date | Wed, 27 Jan 2010 20:51:11 +0000 |
parents | b42ffbf38c4a |
children | 67a5b4d716b8 |
files | src/ai/api/ai_group.cpp src/ai/api/ai_group.hpp |
diffstat | 2 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ai/api/ai_group.cpp +++ b/src/ai/api/ai_group.cpp @@ -112,7 +112,7 @@ /* static */ bool AIGroup::SetAutoReplace(GroupID group_id, EngineID engine_id_old, EngineID engine_id_new) { - EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_ALL); + EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL); EnforcePrecondition(false, AIEngine::IsBuildable(engine_id_new)); return AIObject::DoCommand(0, group_id << 16, (engine_id_new << 16) | engine_id_old, CMD_SET_AUTOREPLACE); @@ -120,14 +120,14 @@ /* static */ EngineID AIGroup::GetEngineReplacement(GroupID group_id, EngineID engine_id) { - if (!IsValidGroup(group_id) && group_id != GROUP_ALL) return ::INVALID_ENGINE; + if (!IsValidGroup(group_id) && group_id != GROUP_DEFAULT && group_id != GROUP_ALL) return ::INVALID_ENGINE; return ::EngineReplacementForCompany(Company::Get(_current_company), engine_id, group_id); } /* static */ bool AIGroup::StopAutoReplace(GroupID group_id, EngineID engine_id) { - EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_ALL); + EnforcePrecondition(false, IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL); return AIObject::DoCommand(0, group_id << 16, (::INVALID_ENGINE << 16) | engine_id, CMD_SET_AUTOREPLACE); }
--- a/src/ai/api/ai_group.hpp +++ b/src/ai/api/ai_group.hpp @@ -148,7 +148,7 @@ * vehicles from all groups that haven't set autoreplace protection. * @param engine_id_old The engine id to start replacing. * @param engine_id_new The engine id to replace with. - * @pre IsValidGroup(group_id) || group_id == GROUP_ALL. + * @pre IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL. * @pre AIEngine.IsBuildable(engine_id_new). * @note To stop autoreplacing engine_id_old, call StopAutoReplace(group_id, engine_id_old). */ @@ -158,7 +158,7 @@ * Get the EngineID the given EngineID is replaced with. * @param group_id The group to get the replacement from. * @param engine_id The engine that is being replaced. - * @pre IsValidGroup(group_id) || group_id == GROUP_ALL. + * @pre IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL. * @return The EngineID that is replacing engine_id or an invalid EngineID * in case engine_id is not begin replaced. */ @@ -168,7 +168,7 @@ * Stop replacing a certain engine in the specified group. * @param group_id The group to stop replacing the engine in. * @param engine_id The engine id to stop replacing with another engine. - * @pre IsValidGroup(group_id) || group_id == GROUP_ALL. + * @pre IsValidGroup(group_id) || group_id == GROUP_DEFAULT || group_id == GROUP_ALL. * @return True if and if the replacing was succesfully stopped. */ static bool StopAutoReplace(GroupID group_id, EngineID engine_id);