Mercurial > hg > openttd
diff src/autoreplace_cmd.cpp @ 7258:6c0d77eb1fc2 draft
(svn r10567) -Add [FS#915]: a "group" with ungrouped vehicles. Patch by Matthias Wolf.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sat, 14 Jul 2007 23:10:27 +0000 (2007-07-14) |
parents | 59b52eeff08b |
children | 09743324277c |
line wrap: on
line diff
--- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -138,11 +138,11 @@ * If not, chek if an global auto replacement is defined */ new_engine_type = (IsValidGroupID(old_v->group_id) && GetGroup(old_v->group_id)->replace_protection) ? INVALID_ENGINE : - EngineReplacementForPlayer(p, old_v->engine_type, DEFAULT_GROUP); + EngineReplacementForPlayer(p, old_v->engine_type, ALL_GROUP); /* If we don't set new_egnine_type previously, we try to check if an autoreplacement was defined * for the group and the engine_type of the vehicle */ - if (new_engine_type == INVALID_ENGINE && !IsDefaultGroupID(old_v->group_id)) { + if (new_engine_type == INVALID_ENGINE && !IsAllGroupID(old_v->group_id)) { new_engine_type = EngineReplacementForPlayer(p, old_v->engine_type, old_v->group_id); } @@ -346,10 +346,15 @@ if (IsValidGroupID(w->group_id)) { if (!EngineHasReplacementForPlayer(p, w->engine_type, w->group_id) && ( GetGroup(w->group_id)->replace_protection || - !EngineHasReplacementForPlayer(p, w->engine_type, DEFAULT_GROUP))) { + !EngineHasReplacementForPlayer(p, w->engine_type, ALL_GROUP))) { continue; } - } else if (!EngineHasReplacementForPlayer(p, w->engine_type, DEFAULT_GROUP)) { + } else if (IsDefaultGroupID(w->group_id)) { + if (!EngineHasReplacementForPlayer(p, w->engine_type, DEFAULT_GROUP) && + !EngineHasReplacementForPlayer(p, w->engine_type, ALL_GROUP)) { + continue; + } + } else if (!EngineHasReplacementForPlayer(p, w->engine_type, ALL_GROUP)) { continue; } }