summaryrefslogtreecommitdiff
path: root/src/newgrf_engine.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2008-06-07 00:06:36 +0000
committerfrosch <frosch@openttd.org>2008-06-07 00:06:36 +0000
commit77ff05a5f1ac85a48172cd6f97f6ddac87915dce (patch)
treeff99a40740d45e4276135f1a894cd602e9c0a2b6 /src/newgrf_engine.cpp
parenta43c7af33bd76d346be4fe40cb614d894e789aa3 (diff)
downloadopenttd-77ff05a5f1ac85a48172cd6f97f6ddac87915dce.tar.xz
(svn r13397) -Fix: Do not crash when resolving vehicle sprite groups with zero sprites.
Diffstat (limited to 'src/newgrf_engine.cpp')
-rw-r--r--src/newgrf_engine.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp
index f809fcc67..7bf56d53b 100644
--- a/src/newgrf_engine.cpp
+++ b/src/newgrf_engine.cpp
@@ -880,7 +880,7 @@ SpriteID GetCustomEngineSprite(EngineID engine, const Vehicle *v, Direction dire
NewVehicleResolver(&object, engine, v);
group = Resolve(GetVehicleSpriteGroup(engine, v), &object);
- if (group == NULL || group->type != SGT_RESULT) return 0;
+ if (group == NULL || group->type != SGT_RESULT || group->g.result.num_sprites == 0) return 0;
return group->g.result.sprite + (direction % group->g.result.num_sprites);
}
@@ -903,7 +903,7 @@ SpriteID GetRotorOverrideSprite(EngineID engine, const Vehicle *v, bool info_vie
const SpriteGroup *group = GetWagonOverrideSpriteSet(engine, CT_DEFAULT, engine);
group = Resolve(group, &object);
- if (group == NULL || group->type != SGT_RESULT) return 0;
+ if (group == NULL || group->type != SGT_RESULT || group->g.result.num_sprites == 0) return 0;
if (v == NULL) return group->g.result.sprite;