summaryrefslogtreecommitdiff
path: root/src/newgrf_spritegroup.h
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2014-03-03 20:02:31 +0000
committerfrosch <frosch@openttd.org>2014-03-03 20:02:31 +0000
commit6b61c4608fab00c7bfc78c296b3c85f611681f59 (patch)
tree9919983ecf008602a497445b2b3e05b5c32892b8 /src/newgrf_spritegroup.h
parentb935cb84156f18b51196288ff6d12f8ca5b26630 (diff)
downloadopenttd-6b61c4608fab00c7bfc78c296b3c85f611681f59.tar.xz
(svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor.
Diffstat (limited to 'src/newgrf_spritegroup.h')
-rw-r--r--src/newgrf_spritegroup.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/newgrf_spritegroup.h b/src/newgrf_spritegroup.h
index c3753dcfd..0a7705d66 100644
--- a/src/newgrf_spritegroup.h
+++ b/src/newgrf_spritegroup.h
@@ -321,6 +321,26 @@ struct ResolverObject {
uint32 reseed[VSG_END]; ///< Collects bits to rerandomise while triggering triggers.
const GRFFile *grffile; ///< GRFFile the resolved SpriteGroup belongs to
+ const SpriteGroup *root_spritegroup; ///< Root SpriteGroup to use for resolving
+
+ /**
+ * Resolve SpriteGroup.
+ * @return Result spritegroup.
+ */
+ const SpriteGroup *Resolve()
+ {
+ return SpriteGroup::Resolve(this->root_spritegroup, *this);
+ }
+
+ /**
+ * Resolve callback.
+ * @return Callback result.
+ */
+ uint16 ResolveCallback()
+ {
+ const SpriteGroup *result = Resolve();
+ return result != NULL ? result->GetCallbackResult() : CALLBACK_FAILED;
+ }
virtual const SpriteGroup *ResolveReal(const RealSpriteGroup *group) const;