Changeset - r11946:da2382de16bc
[Not reviewed]
master
0 5 0
smatz - 15 years ago 2009-05-18 19:32:16
smatz@openttd.org
(svn r16354) -Codechange: use 'new' pool accessors and methods for Engine too
5 files changed with 15 insertions and 22 deletions:
0 comments (0 inline, 0 general)
src/ai/api/ai_engine.cpp
Show inline comments
 
@@ -15,7 +15,8 @@
 

	
 
/* static */ bool AIEngine::IsValidEngine(EngineID engine_id)
 
{
 
	return ::IsEngineIndex(engine_id) && HasBit(::Engine::Get(engine_id)->company_avail, _current_company);
 
	const Engine *e = ::Engine::GetIfValid(engine_id);
 
	return e != NULL && HasBit(e->company_avail, _current_company);
 
}
 

	
 
/* static */ char *AIEngine::GetName(EngineID engine_id)
src/autoreplace_cmd.cpp
Show inline comments
 
@@ -42,7 +42,7 @@ bool CheckAutoreplaceValidity(EngineID f
 
{
 
	/* First we make sure that it's a valid type the user requested
 
	 * check that it's an engine that is in the engine array */
 
	if (!IsEngineIndex(from) || !IsEngineIndex(to)) return false;
 
	if (!Engine::IsValidID(from) || !Engine::IsValidID(to)) return false;
 

	
 
	/* we can't replace an engine into itself (that would be autorenew) */
 
	if (from == to) return false;
src/engine.cpp
Show inline comments
 
@@ -620,11 +620,8 @@ void EnginesDailyLoop()
 
 */
 
CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 
{
 
	Engine *e;
 

	
 
	if (!IsEngineIndex(p1)) return CMD_ERROR;
 
	e = Engine::Get(p1);
 
	if (GetBestCompany(e->preview_company_rank) != _current_company) return CMD_ERROR;
 
	Engine *e = Engine::GetIfValid(p1);
 
	if (e == NULL || GetBestCompany(e->preview_company_rank) != _current_company) return CMD_ERROR;
 

	
 
	if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);
 

	
 
@@ -734,7 +731,8 @@ static bool IsUniqueEngineName(const cha
 
 */
 
CommandCost CmdRenameEngine(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 
{
 
	if (!IsEngineIndex(p1)) return CMD_ERROR;
 
	Engine *e = Engine::GetIfValid(p1);
 
	if (e == NULL) return CMD_ERROR;
 

	
 
	bool reset = StrEmpty(text);
 

	
 
@@ -744,7 +742,6 @@ CommandCost CmdRenameEngine(TileIndex ti
 
	}
 

	
 
	if (flags & DC_EXEC) {
 
		Engine *e = Engine::Get(p1);
 
		free(e->name);
 

	
 
		if (reset) {
 
@@ -769,10 +766,10 @@ CommandCost CmdRenameEngine(TileIndex ti
 
 */
 
bool IsEngineBuildable(EngineID engine, VehicleType type, CompanyID company)
 
{
 
	const Engine *e = Engine::GetIfValid(engine);
 

	
 
	/* check if it's an engine that is in the engine array */
 
	if (!IsEngineIndex(engine)) return false;
 

	
 
	const Engine *e = Engine::Get(engine);
 
	if (e == NULL) return false;
 

	
 
	/* check if it's an engine of specified type */
 
	if (e->type != type) return false;
 
@@ -797,10 +794,10 @@ bool IsEngineBuildable(EngineID engine, 
 
 */
 
bool IsEngineRefittable(EngineID engine)
 
{
 
	const Engine *e = Engine::GetIfValid(engine);
 

	
 
	/* check if it's an engine that is in the engine array */
 
	if (!IsEngineIndex(engine)) return false;
 

	
 
	const Engine *e = Engine::Get(engine);
 
	if (e == NULL) return false;
 

	
 
	if (e->type == VEH_SHIP && !e->u.ship.refittable) return false;
 

	
src/engine_base.h
Show inline comments
 
@@ -82,11 +82,6 @@ struct EngineOverrideManager : SmallVect
 

	
 
extern EngineOverrideManager _engine_mngr;
 

	
 
static inline bool IsEngineIndex(uint index)
 
{
 
	return index < Engine::GetPoolSize();
 
}
 

	
 
#define FOR_ALL_ENGINES_FROM(e, start) for (e = Engine::Get(start); e != NULL; e = (e->index + 1U < Engine::GetPoolSize()) ? Engine::Get(e->index + 1U) : NULL) if (e->IsValid())
 
#define FOR_ALL_ENGINES(e) FOR_ALL_ENGINES_FROM(e, 0)
 

	
src/vehicle.cpp
Show inline comments
 
@@ -1747,8 +1747,8 @@ void VehiclesYearlyLoop()
 
 */
 
bool CanVehicleUseStation(EngineID engine_type, const Station *st)
 
{
 
	assert(IsEngineIndex(engine_type));
 
	const Engine *e = Engine::Get(engine_type);
 
	const Engine *e = Engine::GetIfValid(engine_type);
 
	assert(e != NULL);
 

	
 
	switch (e->type) {
 
		case VEH_TRAIN:
0 comments (0 inline, 0 general)