aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/assets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/m4/assets.cpp')
-rw-r--r--engines/m4/assets.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/m4/assets.cpp b/engines/m4/assets.cpp
index 1f3cf278ae..c329373add 100644
--- a/engines/m4/assets.cpp
+++ b/engines/m4/assets.cpp
@@ -320,7 +320,12 @@ void SpriteAsset::loadFrameHeader(SpriteAssetFrame &frameHeader, bool isBigEndia
}
M4Sprite *SpriteAsset::getFrame(int frameIndex) {
- return _frames[frameIndex].frame;
+ if ((uint)frameIndex < _frames.size()) {
+ return _frames[frameIndex].frame;
+ } else {
+ warning("SpriteAsset::getFrame: Invalid frame %d, out of %d", frameIndex, _frames.size());
+ return _frames[_frames.size() - 1].frame;
+ }
}
void SpriteAsset::loadStreamingFrame(M4Sprite *frame, int frameIndex, int destX, int destY) {