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"

Go to the source code of this file.

Functions

EngineRenewPool _enginerenew_pool ("EngineRenew")
static EngineRenewGetEngineReplacement (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)
 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.
void InitializeEngineRenews ()


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,
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< Tpool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, GetEngineReplacement(), EngineRenew::group_id, EngineRenew::next, and EngineRenew::to.

Referenced by AddEngineReplacementForCompany().

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, GetEngineReplacement(), and EngineRenew::to.

Referenced by 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 35 of file autoreplace.cpp.

References EngineRenew::next.

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

References CMD_ERROR, DC_EXEC, EngineRenew::from, EngineRenew::group_id, and EngineRenew::next.

Referenced by RemoveEngineReplacementForCompany().


Generated on Thu Feb 4 17:20:31 2010 for OpenTTD by  doxygen 1.5.6