(svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL.
This commit is contained in:
@@ -57,6 +57,7 @@ enum SpriteGroupType {
|
||||
|
||||
struct SpriteGroup;
|
||||
typedef uint32 SpriteGroupID;
|
||||
struct ResolverObject;
|
||||
|
||||
/* SPRITE_WIDTH is 24. ECS has roughly 30 sprite groups per real sprite.
|
||||
* Adding an 'extra' margin would be assuming 64 sprite groups per real
|
||||
@@ -69,7 +70,7 @@ struct SpriteGroup : SpriteGroupPool::PoolItem<&_spritegroup_pool> {
|
||||
protected:
|
||||
SpriteGroup(SpriteGroupType type) : type(type) {}
|
||||
/** Base sprite group resolver */
|
||||
virtual const SpriteGroup *Resolve(struct ResolverObject *object) const { return this; };
|
||||
virtual const SpriteGroup *Resolve(ResolverObject &object) const { return this; };
|
||||
|
||||
public:
|
||||
virtual ~SpriteGroup() {}
|
||||
@@ -89,7 +90,7 @@ public:
|
||||
* @param object information needed to resolve the group
|
||||
* @return the resolved group
|
||||
*/
|
||||
static const SpriteGroup *Resolve(const SpriteGroup *group, ResolverObject *object)
|
||||
static const SpriteGroup *Resolve(const SpriteGroup *group, ResolverObject &object)
|
||||
{
|
||||
return group == NULL ? NULL : group->Resolve(object);
|
||||
}
|
||||
@@ -115,7 +116,7 @@ struct RealSpriteGroup : SpriteGroup {
|
||||
const SpriteGroup **loading; ///< List of loading groups (can be SpriteIDs or Callback results)
|
||||
|
||||
protected:
|
||||
const SpriteGroup *Resolve(ResolverObject *object) const;
|
||||
const SpriteGroup *Resolve(ResolverObject &object) const;
|
||||
};
|
||||
|
||||
/* Shared by deterministic and random groups. */
|
||||
@@ -204,7 +205,7 @@ struct DeterministicSpriteGroup : SpriteGroup {
|
||||
const SpriteGroup *default_group;
|
||||
|
||||
protected:
|
||||
const SpriteGroup *Resolve(ResolverObject *object) const;
|
||||
const SpriteGroup *Resolve(ResolverObject &object) const;
|
||||
};
|
||||
|
||||
enum RandomizedSpriteGroupCompareMode {
|
||||
@@ -228,7 +229,7 @@ struct RandomizedSpriteGroup : SpriteGroup {
|
||||
const SpriteGroup **groups; ///< Take the group with appropriate index:
|
||||
|
||||
protected:
|
||||
const SpriteGroup *Resolve(ResolverObject *object) const;
|
||||
const SpriteGroup *Resolve(ResolverObject &object) const;
|
||||
};
|
||||
|
||||
|
||||
@@ -301,8 +302,6 @@ struct IndustryProductionSpriteGroup : SpriteGroup {
|
||||
uint8 again;
|
||||
};
|
||||
|
||||
struct ResolverObject;
|
||||
|
||||
/**
|
||||
* Interface to query and set values specific to a single #VarSpriteGroupScope (action 2 scope).
|
||||
*
|
||||
@@ -310,9 +309,9 @@ struct ResolverObject;
|
||||
* to different game entities from a #SpriteGroup-chain (action 1-2-3 chain).
|
||||
*/
|
||||
struct ScopeResolver {
|
||||
ResolverObject *ro; ///< Surrounding resolver object.
|
||||
ResolverObject &ro; ///< Surrounding resolver object.
|
||||
|
||||
ScopeResolver(ResolverObject *ro);
|
||||
ScopeResolver(ResolverObject &ro);
|
||||
virtual ~ScopeResolver();
|
||||
|
||||
virtual uint32 GetRandomBits() const;
|
||||
|
Reference in New Issue
Block a user