autoreplace_func.h File Reference

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.

Detailed Description

Functions related to autoreplacing.

Definition in file autoreplace_func.h.


Function Documentation

CommandCost AddEngineReplacement ( EngineRenewList erl,
EngineID  old_engine,
EngineID  new_engine,
GroupID  group,
DoCommandFlag  flags 
)

Add an engine replacement to the given renewlist.

Parameters:
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.
Returns:
0 on success, CMD_ERROR on failure.

Definition at line 58 of file autoreplace.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, 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.

Parameters:
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.
Returns:
0 on success, CMD_ERROR on failure.

Definition at line 101 of file autoreplace_func.h.

References AddEngineReplacement(), and Company::engine_renew_list.

Referenced by CmdSetAutoReplace().

bool CheckAutoreplaceValidity ( EngineID  from,
EngineID  to,
CompanyID  company 
)
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.

Parameters:
c Company.
engine Engine type to be replaced.
group The group related to this replacement.
Returns:
true if a replacement was set up, false otherwise.

Definition at line 87 of file autoreplace_func.h.

References EngineReplacementForCompany().

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.

Parameters:
erl The renewlist to search in.
engine Engine type to be replaced.
group The group related to this replacement.
Returns:
The engine type to replace with, or INVALID_ENGINE if no replacement is in the list.

Definition at line 48 of file autoreplace.cpp.

References DEFAULT_GROUP, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_group_pool >::Get(), GetEngineReplacement(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, 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.

Parameters:
c company.
engine Engine type.
group The group related to this replacement.
Returns:
The engine type to replace with, or INVALID_ENGINE if no replacement is in the list.

Definition at line 75 of file autoreplace_func.h.

References Company::engine_renew_list, and EngineReplacement().

Referenced by ReplaceVehicleWindow::DrawWidget(), EngineHasReplacementForCompany(), ReplaceVehicleWindow::GenerateReplaceVehList(), AIGroup::GetEngineReplacement(), GetNewEngineType(), Vehicle::NeedsServicing(), and ReplaceVehicleWindow::OnPaint().

void RemoveAllEngineReplacement ( EngineRenewList erl  ) 

Remove all engine replacement settings for the company.

Parameters:
erl The renewlist for a given company.
Returns:
The new renewlist for the company.

Definition at line 35 of file autoreplace.cpp.

Referenced by RemoveAllEngineReplacementForCompany().

static void RemoveAllEngineReplacementForCompany ( Company c  )  [inline, static]

Remove all engine replacement settings for the given company.

Parameters:
c the company.

Definition at line 62 of file autoreplace_func.h.

References Company::engine_renew_list, and RemoveAllEngineReplacement().

CommandCost RemoveEngineReplacement ( EngineRenewList erl,
EngineID  engine,
GroupID  group,
DoCommandFlag  flags 
)

Remove an engine replacement from a given renewlist.

Parameters:
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.
Returns:
0 on success, CMD_ERROR on failure.

Definition at line 83 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.

Parameters:
c Company.
engine The original engine type.
group The group related to this replacement.
flags The calling command flags.
Returns:
0 on success, CMD_ERROR on failure.

Definition at line 114 of file autoreplace_func.h.

References Company::engine_renew_list, and RemoveEngineReplacement().

Referenced by CmdDeleteGroup(), and CmdSetAutoReplace().


Generated on Sat Jun 5 21:52:14 2010 for OpenTTD by  doxygen 1.6.1