OpenTTD Source
20241108-master-g80f628063a
|
Functions related to autoreplacing. More...
Go to the source code of this file.
Functions | |
void | RemoveAllEngineReplacement (EngineRenewList *erl) |
Remove all engine replacement settings for the company. More... | |
EngineID | EngineReplacement (EngineRenewList erl, EngineID engine, GroupID group, bool *replace_when_old=nullptr) |
Retrieve the engine replacement in a given renewlist for an original engine type. More... | |
CommandCost | AddEngineReplacement (EngineRenewList *erl, EngineID old_engine, EngineID new_engine, GroupID group, bool replace_when_old, DoCommandFlag flags) |
Add an engine replacement to the given renewlist. More... | |
CommandCost | RemoveEngineReplacement (EngineRenewList *erl, EngineID engine, GroupID group, DoCommandFlag flags) |
Remove an engine replacement from a given renewlist. More... | |
void | RemoveAllEngineReplacementForCompany (Company *c) |
Remove all engine replacement settings for the given company. More... | |
EngineID | EngineReplacementForCompany (const Company *c, EngineID engine, GroupID group, bool *replace_when_old=nullptr) |
Retrieve the engine replacement for the given company and original engine type. More... | |
bool | EngineHasReplacementForCompany (const Company *c, EngineID engine, GroupID group) |
Check if a company has a replacement set up for the given engine. More... | |
bool | EngineHasReplacementWhenOldForCompany (const Company *c, EngineID engine, GroupID group) |
Check if a company has a replacement set up for the given engine when it gets old. More... | |
CommandCost | AddEngineReplacementForCompany (Company *c, EngineID old_engine, EngineID new_engine, GroupID group, bool replace_when_old, DoCommandFlag flags) |
Add an engine replacement for the company. More... | |
CommandCost | RemoveEngineReplacementForCompany (Company *c, EngineID engine, GroupID group, DoCommandFlag flags) |
Remove an engine replacement for the company. More... | |
bool | CheckAutoreplaceValidity (EngineID from, EngineID to, CompanyID company) |
Checks some basic properties whether autoreplace is allowed. More... | |
Functions related to autoreplacing.
Definition in file autoreplace_func.h.
CommandCost AddEngineReplacement | ( | EngineRenewList * | erl, |
EngineID | old_engine, | ||
EngineID | new_engine, | ||
GroupID | group, | ||
bool | replace_when_old, | ||
DoCommandFlag | flags | ||
) |
Add an engine replacement to the given renewlist.
erl | The renewlist to add to. |
old_engine | The original engine type. |
new_engine | The replacement engine type. |
group | The group related to this replacement. |
replace_when_old | Replace when old or always? |
flags | The calling command flags. |
Definition at line 97 of file autoreplace.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_enginerenew_pool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, GetEngineReplacement(), and EngineRenew::replace_when_old.
Referenced by AddEngineReplacementForCompany().
|
inline |
Add an engine replacement for the company.
c | Company. |
old_engine | The original engine type. |
new_engine | The replacement engine type. |
group | The group related to this replacement. |
replace_when_old | Replace when old or always? |
flags | The calling command flags. |
Definition at line 80 of file autoreplace_func.h.
References AddEngineReplacement(), and CompanyProperties::engine_renew_list.
Checks some basic properties whether autoreplace is allowed.
from | Origin engine |
to | Destination engine |
company | Company to check for |
Definition at line 60 of file autoreplace_cmd.cpp.
References AIR_CTOL, RailTypeInfo::compatible_railtypes, EF_ROAD_TRAM, EnginesHaveCargoInCommon(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), GetRailTypeInfo(), GetRoadTypeInfo(), HasBit(), IsEngineBuildable(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::IsValidID(), EngineInfo::misc_flags, RoadTypeInfo::powered_roadtypes, RailVehicleInfo::railtype, RAILVEH_WAGON, RoadVehicleInfo::roadtype, ROADTYPES_NONE, AircraftVehicleInfo::subtype, Engine::type, VEH_AIRCRAFT, VEH_ROAD, and VEH_TRAIN.
Referenced by ReplaceVehicleWindow::GenerateReplaceVehList().
Check if a company has a replacement set up for the given engine.
Definition at line 51 of file autoreplace_func.h.
References EngineReplacementForCompany(), and INVALID_ENGINE.
Referenced by AgeVehicle(), and ReplaceVehicleWindow::OnPaint().
|
inline |
Check if a company has a replacement set up for the given engine when it gets old.
Definition at line 63 of file autoreplace_func.h.
References CompanyProperties::engine_renew_list, and EngineReplacement().
EngineID EngineReplacement | ( | EngineRenewList | erl, |
EngineID | engine, | ||
GroupID | group, | ||
bool * | replace_when_old | ||
) |
Retrieve the engine replacement in a given renewlist for an original engine type.
erl | The renewlist to search in. | |
engine | Engine type to be replaced. | |
group | The group related to this replacement. | |
[out] | replace_when_old | Set to true if the replacement should be done when old. |
Definition at line 65 of file autoreplace.cpp.
References ALL_GROUP, DEFAULT_GROUP, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::Get(), GetEngineReplacement(), GF_REPLACE_PROTECTION, HasBit(), INVALID_ENGINE, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::IsValidID(), and EngineRenew::replace_when_old.
Referenced by EngineHasReplacementWhenOldForCompany(), and EngineReplacementForCompany().
|
inline |
Retrieve the engine replacement for the given company and original engine type.
c | company. | |
engine | Engine type. | |
group | The group related to this replacement. | |
[out] | replace_when_old | Set to true if the replacement should be done when old. |
Definition at line 39 of file autoreplace_func.h.
References CompanyProperties::engine_renew_list, and EngineReplacement().
Referenced by EngineHasReplacementForCompany(), ReplaceVehicleWindow::GenerateLists(), ReplaceVehicleWindow::GenerateReplaceVehList(), GetNewEngineType(), Vehicle::NeedsServicing(), and ReplaceVehicleWindow::OnPaint().
void RemoveAllEngineReplacement | ( | EngineRenewList * | erl | ) |
Remove all engine replacement settings for the company.
erl | The renewlist for a given company. |
Definition at line 43 of file autoreplace.cpp.
Referenced by RemoveAllEngineReplacementForCompany().
|
inline |
Remove all engine replacement settings for the given company.
c | the company. |
Definition at line 25 of file autoreplace_func.h.
References CompanyProperties::engine_renew_list, and RemoveAllEngineReplacement().
Referenced by ChangeOwnershipOfCompanyItems().
CommandCost RemoveEngineReplacement | ( | EngineRenewList * | erl, |
EngineID | engine, | ||
GroupID | group, | ||
DoCommandFlag | flags | ||
) |
Remove an engine replacement from a given renewlist.
erl | The renewlist from which to remove the replacement |
engine | The original engine type. |
group | The group related to this replacement. |
flags | The calling command flags. |
Definition at line 132 of file autoreplace.cpp.
References CMD_ERROR, and DC_EXEC.
Referenced by RemoveEngineReplacementForCompany().
|
inline |
Remove an engine replacement for the company.
c | Company. |
engine | The original engine type. |
group | The group related to this replacement. |
flags | The calling command flags. |
Definition at line 93 of file autoreplace_func.h.
References CompanyProperties::engine_renew_list, and RemoveEngineReplacement().
Referenced by CmdDeleteGroup().