Changeset - r25642:6743de9f1df8
[Not reviewed]
master
0 9 0
Peter Nelson - 3 years ago 2021-06-04 11:52:00
peter1138@openttd.org
Codechange: Deduplicate ResolveReal() for resolvers that don't use real sprite groups.

This may change behaviour when multiple loading/loaded stages are provided, as the various copies checked in different orders, however only one result is expected in these cases anyway.
9 files changed with 3 insertions and 62 deletions:
0 comments (0 inline, 0 general)
src/newgrf_airport.cpp
Show inline comments
 
@@ -57,8 +57,6 @@ struct AirportResolverObject : public Re
 
		}
 
	}
 

	
 
	const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override;
 

	
 
	GrfSpecFeature GetFeature() const override;
 
	uint32 GetDebugID() const override;
 
};
 
@@ -219,16 +217,6 @@ void AirportOverrideManager::SetEntitySp
 
	return this->st->GetNewGRFVariable(this->ro, variable, parameter, available);
 
}
 

	
 
/* virtual */ const SpriteGroup *AirportResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	/* Airport action 2s should always have only 1 "loaded" state, but some
 
	 * times things don't follow the spec... */
 
	if (!group->loaded.empty())  return group->loaded[0];
 
	if (!group->loading.empty()) return group->loading[0];
 

	
 
	return nullptr;
 
}
 

	
 
GrfSpecFeature AirportResolverObject::GetFeature() const
 
{
 
	return GSF_AIRPORTS;
src/newgrf_canal.cpp
Show inline comments
 
@@ -49,8 +49,6 @@ struct CanalResolverObject : public Reso
 
		}
 
	}
 

	
 
	const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override;
 

	
 
	GrfSpecFeature GetFeature() const override;
 
	uint32 GetDebugID() const override;
 
};
 
@@ -108,14 +106,6 @@ struct CanalResolverObject : public Reso
 
	return UINT_MAX;
 
}
 

	
 

	
 
/* virtual */ const SpriteGroup *CanalResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	if (group->loaded.empty()) return nullptr;
 

	
 
	return group->loaded[0];
 
}
 

	
 
GrfSpecFeature CanalResolverObject::GetFeature() const
 
{
 
	return GSF_CANALS;
src/newgrf_cargo.cpp
Show inline comments
 
@@ -19,22 +19,10 @@ struct CargoResolverObject : public Reso
 

	
 
	CargoResolverObject(const CargoSpec *cs, CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0);
 

	
 
	const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override;
 

	
 
	GrfSpecFeature GetFeature() const override;
 
	uint32 GetDebugID() const override;
 
};
 

	
 
/* virtual */ const SpriteGroup *CargoResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	/* Cargo action 2s should always have only 1 "loaded" state, but some
 
	 * times things don't follow the spec... */
 
	if (!group->loaded.empty())  return group->loaded[0];
 
	if (!group->loading.empty()) return group->loading[0];
 

	
 
	return nullptr;
 
}
 

	
 
GrfSpecFeature CargoResolverObject::GetFeature() const
 
{
 
	return GSF_CARGOES;
src/newgrf_generic.cpp
Show inline comments
 
@@ -63,8 +63,6 @@ struct GenericResolverObject : public Re
 
		}
 
	}
 

	
 
	const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override;
 

	
 
	GrfSpecFeature GetFeature() const override
 
	{
 
		return (GrfSpecFeature)this->generic_scope.feature;
 
@@ -147,14 +145,6 @@ void AddGenericCallback(uint8 feature, c
 
	return UINT_MAX;
 
}
 

	
 

	
 
/* virtual */ const SpriteGroup *GenericResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	if (group->loaded.empty()) return nullptr;
 

	
 
	return group->loaded[0];
 
}
 

	
 
/**
 
 * Generic resolver.
 
 * @param ai_callback Callback comes from the AI.
src/newgrf_railtype.cpp
Show inline comments
 
@@ -58,13 +58,6 @@
 
	return UINT_MAX;
 
}
 

	
 
/* virtual */ const SpriteGroup *RailTypeResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	if (!group->loading.empty()) return group->loading[0];
 
	if (!group->loaded.empty())  return group->loaded[0];
 
	return nullptr;
 
}
 

	
 
GrfSpecFeature RailTypeResolverObject::GetFeature() const
 
{
 
	return GSF_RAILTYPES;
src/newgrf_railtype.h
Show inline comments
 
@@ -49,8 +49,6 @@ struct RailTypeResolverObject : public R
 
		}
 
	}
 

	
 
	const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override;
 

	
 
	GrfSpecFeature GetFeature() const override;
 
	uint32 GetDebugID() const override;
 
};
src/newgrf_roadtype.cpp
Show inline comments
 
@@ -58,13 +58,6 @@
 
	return UINT_MAX;
 
}
 

	
 
/* virtual */ const SpriteGroup *RoadTypeResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	if (!group->loading.empty()) return group->loading[0];
 
	if (!group->loaded.empty())  return group->loaded[0];
 
	return nullptr;
 
}
 

	
 
GrfSpecFeature RoadTypeResolverObject::GetFeature() const
 
{
 
	RoadType rt = GetRoadTypeByLabel(this->roadtype_scope.rti->label, false);
src/newgrf_roadtype.h
Show inline comments
 
@@ -40,8 +40,6 @@ struct RoadTypeResolverObject : public R
 
		}
 
	}
 

	
 
	const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const override;
 

	
 
	GrfSpecFeature GetFeature() const override;
 
	uint32 GetDebugID() const override;
 
};
src/newgrf_spritegroup.cpp
Show inline comments
 
@@ -124,6 +124,9 @@ static inline uint32 GetVariable(const R
 
 */
 
/* virtual */ const SpriteGroup *ResolverObject::ResolveReal(const RealSpriteGroup *group) const
 
{
 
	if (!group->loaded.empty())  return group->loaded[0];
 
	if (!group->loading.empty()) return group->loading[0];
 

	
 
	return nullptr;
 
}
 

	
0 comments (0 inline, 0 general)