summaryrefslogtreecommitdiff
path: root/src/newgrf_spritegroup.cpp
diff options
context:
space:
mode:
authorPeter Nelson <peter1138@openttd.org>2021-06-04 12:52:00 +0100
committerPeterN <peter@fuzzle.org>2021-06-12 08:05:59 +0100
commitf1328db063fe0808a55e7ed76304491b84916146 (patch)
tree1affc16bd7abdaea4fcc143316a54c29497402de /src/newgrf_spritegroup.cpp
parentc562b4c52754ea51418f5b4ecc46a36e14f849f0 (diff)
downloadopenttd-f1328db063fe0808a55e7ed76304491b84916146.tar.xz
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.
Diffstat (limited to 'src/newgrf_spritegroup.cpp')
-rw-r--r--src/newgrf_spritegroup.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp
index 29080894e..d5376116e 100644
--- a/src/newgrf_spritegroup.cpp
+++ b/src/newgrf_spritegroup.cpp
@@ -124,6 +124,9 @@ static inline uint32 GetVariable(const ResolverObject &object, ScopeResolver *sc
*/
/* 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;
}