File diff r19232:d9c6c042a8d5 → r19233:bd16563de8bd
src/autoreplace_func.h
Show inline comments
 
@@ -16,8 +16,8 @@
 
#include "company_base.h"
 

	
 
void RemoveAllEngineReplacement(EngineRenewList *erl);
 
EngineID EngineReplacement(EngineRenewList erl, EngineID engine, GroupID group);
 
CommandCost AddEngineReplacement(EngineRenewList *erl, EngineID old_engine, EngineID new_engine, GroupID group, DoCommandFlag flags);
 
EngineID EngineReplacement(EngineRenewList erl, EngineID engine, GroupID group, bool *replace_when_old = NULL);
 
CommandCost AddEngineReplacement(EngineRenewList *erl, EngineID old_engine, EngineID new_engine, GroupID group, bool replace_when_old, DoCommandFlag flags);
 
CommandCost RemoveEngineReplacement(EngineRenewList *erl, EngineID engine, GroupID group, DoCommandFlag flags);
 

	
 
/**
 
@@ -34,12 +34,13 @@ static inline void RemoveAllEngineReplac
 
 * @param c company.
 
 * @param engine Engine type.
 
 * @param group The group related to this replacement.
 
 * @param[out] replace_when_old Set to true if the replacement should be done when old.
 
 * @return The engine type to replace with, or INVALID_ENGINE if no
 
 * replacement is in the list.
 
 */
 
static inline EngineID EngineReplacementForCompany(const Company *c, EngineID engine, GroupID group)
 
static inline EngineID EngineReplacementForCompany(const Company *c, EngineID engine, GroupID group, bool *replace_when_old = NULL)
 
{
 
	return EngineReplacement(c->engine_renew_list, engine, group);
 
	return EngineReplacement(c->engine_renew_list, engine, group, replace_when_old);
 
}
 

	
 
/**
 
@@ -55,17 +56,32 @@ static inline bool EngineHasReplacementF
 
}
 

	
 
/**
 
 * Check if a company has a replacement set up for the given engine when it gets old.
 
 * @param c Company.
 
 * @param engine Engine type to be replaced.
 
 * @param group The group related to this replacement.
 
 * @return True if a replacement when old was set up, false otherwise.
 
 */
 
static inline bool EngineHasReplacementWhenOldForCompany(const Company *c, EngineID engine, GroupID group)
 
{
 
	bool replace_when_old;
 
	EngineReplacement(c->engine_renew_list, engine, group, &replace_when_old);
 
	return replace_when_old;
 
}
 

	
 
/**
 
 * Add an engine replacement for the company.
 
 * @param c Company.
 
 * @param old_engine The original engine type.
 
 * @param new_engine The replacement engine type.
 
 * @param group The group related to this replacement.
 
 * @param replace_when_old Replace when old or always?
 
 * @param flags The calling command flags.
 
 * @return 0 on success, CMD_ERROR on failure.
 
 */
 
static inline CommandCost AddEngineReplacementForCompany(Company *c, EngineID old_engine, EngineID new_engine, GroupID group, DoCommandFlag flags)
 
static inline CommandCost AddEngineReplacementForCompany(Company *c, EngineID old_engine, EngineID new_engine, GroupID group, bool replace_when_old, DoCommandFlag flags)
 
{
 
	return AddEngineReplacement(&c->engine_renew_list, old_engine, new_engine, group, flags);
 
	return AddEngineReplacement(&c->engine_renew_list, old_engine, new_engine, group, replace_when_old, flags);
 
}
 

	
 
/**