OpenTTD: src/autoreplace.cpp File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Functions | Variables
autoreplace.cpp File Reference

Management of replacement lists. More...

`#include "stdafx.h"`
`#include "command_func.h"`
`#include "group.h"`
`#include "autoreplace_base.h"`
`#include "core/pool_func.hpp"`
`#include "safeguards.h"`

Go to the source code of this file.

## Functions
static EngineRenew * | GetEngineReplacement (EngineRenewList erl, EngineID engine, GroupID group)
| Retrieves the EngineRenew that specifies the replacement of the given engine type from the given renewlist.
void | RemoveAllEngineReplacement (EngineRenewList *erl)
| Remove all engine replacement settings for the company.
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.
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.
CommandCost | RemoveEngineReplacement (EngineRenewList *erl, EngineID engine, GroupID group, DoCommandFlag flags)
| Remove an engine replacement from a given renewlist.

## Variables
EngineRenewPool | _enginerenew_pool ("EngineRenew")
| The pool of autoreplace "orders".

## Detailed Description

Management of replacement lists.

Definition in file autoreplace.cpp.

## Function Documentation

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.

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.
  replace_when_old | Replace when old or always?
  flags | The calling command flags.

Returns
  0 on success, CMD_ERROR on failure.

Definition at line 87 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().

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.

Parameters

  | 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.

Returns
  The engine type to replace with, or INVALID_ENGINE if no replacement is in the list.

Definition at line 66 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, 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().

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 44 of file autoreplace.cpp.

Referenced by RemoveAllEngineReplacementForCompany().

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 122 of file autoreplace.cpp.

References CMD_ERROR, and DC_EXEC.

Referenced by RemoveEngineReplacementForCompany().

## Variable Documentation

EngineRenewPool _enginerenew_pool("EngineRenew")

The pool of autoreplace "orders".