Functions related to autoreplacing. More...
#include "command_type.h"
#include "company_base.h"
#include "engine_type.h"
#include "group_type.h"
Go to the source code of this file.
Functions | |
void | RemoveAllEngineReplacement (EngineRenewList *erl) |
Remove all engine replacement settings for the company. | |
EngineID | EngineReplacement (EngineRenewList erl, EngineID engine, GroupID group) |
Retrieve the engine replacement in a given renewlist for an original engine type. | |
CommandCost | AddEngineReplacement (EngineRenewList *erl, EngineID old_engine, EngineID new_engine, GroupID group, DoCommandFlag flags) |
Add an engine replacement to the given renewlist. | |
CommandCost | RemoveEngineReplacement (EngineRenewList *erl, EngineID engine, GroupID group, DoCommandFlag flags) |
Remove an engine replacement from a given renewlist. | |
static void | RemoveAllEngineReplacementForCompany (Company *c) |
Remove all engine replacement settings for the given company. | |
static EngineID | EngineReplacementForCompany (const Company *c, EngineID engine, GroupID group) |
Retrieve the engine replacement for the given company and original engine type. | |
static bool | EngineHasReplacementForCompany (const Company *c, EngineID engine, GroupID group) |
Check if a company has a replacement set up for the given engine. | |
static CommandCost | AddEngineReplacementForCompany (Company *c, EngineID old_engine, EngineID new_engine, GroupID group, DoCommandFlag flags) |
Add an engine replacement for the company. | |
static CommandCost | RemoveEngineReplacementForCompany (Company *c, EngineID engine, GroupID group, DoCommandFlag flags) |
Remove an engine replacement for the company. | |
bool | CheckAutoreplaceValidity (EngineID from, EngineID to, CompanyID company) |
Checks some basic properties whether autoreplace is allowed. |
Functions related to autoreplacing.
Definition in file autoreplace_func.h.
CommandCost AddEngineReplacement | ( | EngineRenewList * | erl, | |
EngineID | old_engine, | |||
EngineID | new_engine, | |||
GroupID | group, | |||
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. | |
flags | The calling command flags. |
Definition at line 82 of file autoreplace.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_enginerenew_pool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, and GetEngineReplacement().
Referenced by AddEngineReplacementForCompany().
static CommandCost AddEngineReplacementForCompany | ( | Company * | c, | |
EngineID | old_engine, | |||
EngineID | new_engine, | |||
GroupID | group, | |||
DoCommandFlag | flags | |||
) | [inline, static] |
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. | |
flags | The calling command flags. |
Definition at line 68 of file autoreplace_func.h.
References AddEngineReplacement(), and Company::engine_renew_list.
Referenced by CmdSetAutoReplace().
Checks some basic properties whether autoreplace is allowed.
from | Origin engine | |
to | Destination engine | |
company | Company to check for |
Definition at line 51 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(), HasBit(), IsEngineBuildable(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::IsValidID(), EngineInfo::misc_flags, RAILVEH_WAGON, AircraftVehicleInfo::subtype, Engine::type, VEH_AIRCRAFT, VEH_ROAD, and VEH_TRAIN.
Referenced by CmdSetAutoReplace(), and ReplaceVehicleWindow::GenerateReplaceVehList().
static bool EngineHasReplacementForCompany | ( | const Company * | c, | |
EngineID | engine, | |||
GroupID | group | |||
) | [inline, static] |
Check if a company has a replacement set up for the given engine.
c | Company. | |
engine | Engine type to be replaced. | |
group | The group related to this replacement. |
Definition at line 54 of file autoreplace_func.h.
References EngineReplacementForCompany(), and INVALID_ENGINE.
Referenced by ReplaceVehicleWindow::DrawWidget(), and ReplaceVehicleWindow::OnPaint().
EngineID EngineReplacement | ( | EngineRenewList | erl, | |
EngineID | engine, | |||
GroupID | group | |||
) |
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. |
Definition at line 63 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(), INVALID_ENGINE, and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::IsValidID().
Referenced by EngineReplacementForCompany().
static EngineID EngineReplacementForCompany | ( | const Company * | c, | |
EngineID | engine, | |||
GroupID | group | |||
) | [inline, static] |
Retrieve the engine replacement for the given company and original engine type.
c | company. | |
engine | Engine type. | |
group | The group related to this replacement. |
Definition at line 42 of file autoreplace_func.h.
References Company::engine_renew_list, and EngineReplacement().
Referenced by ReplaceVehicleWindow::DrawWidget(), EngineHasReplacementForCompany(), 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 42 of file autoreplace.cpp.
Referenced by RemoveAllEngineReplacementForCompany().
static void RemoveAllEngineReplacementForCompany | ( | Company * | c | ) | [inline, static] |
Remove all engine replacement settings for the given company.
c | the company. |
Definition at line 29 of file autoreplace_func.h.
References Company::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 113 of file autoreplace.cpp.
References CMD_ERROR, and DC_EXEC.
Referenced by RemoveEngineReplacementForCompany().
static CommandCost RemoveEngineReplacementForCompany | ( | Company * | c, | |
EngineID | engine, | |||
GroupID | group, | |||
DoCommandFlag | flags | |||
) | [inline, static] |
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 81 of file autoreplace_func.h.
References Company::engine_renew_list, and RemoveEngineReplacement().
Referenced by CmdDeleteGroup(), and CmdSetAutoReplace().