diff options
author | frosch <frosch@openttd.org> | 2013-11-24 14:41:19 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2013-11-24 14:41:19 +0000 |
commit | db894b0b3fa13413cdb76989cfcd2bb789243b77 (patch) | |
tree | fd61e4df264893e0c41b0d989f3294c3b4909b63 /src/newgrf_spritegroup.h | |
parent | 45a5aba8d55c68f54885c1de27684e8544e111d9 (diff) | |
download | openttd-db894b0b3fa13413cdb76989cfcd2bb789243b77.tar.xz |
(svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL.
Diffstat (limited to 'src/newgrf_spritegroup.h')
-rw-r--r-- | src/newgrf_spritegroup.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/newgrf_spritegroup.h b/src/newgrf_spritegroup.h index dc05fe4f1..da26c1a0e 100644 --- a/src/newgrf_spritegroup.h +++ b/src/newgrf_spritegroup.h @@ -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; |