aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/animation.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/saga/animation.cpp b/engines/saga/animation.cpp
index 40b3710d0d..0c861eb8f1 100644
--- a/engines/saga/animation.cpp
+++ b/engines/saga/animation.cpp
@@ -385,7 +385,13 @@ void Anim::load(uint16 animId, const byte *animResourceData, size_t animResource
anim->start += temp;
// Cache frame offsets
- anim->maxFrame = fillFrameOffsets(anim, false);
+
+ // WORKAROUND: Cutaway 4 is ending credits. For some reason it
+ // has wrong number of frames specified in its header. So we
+ // calculate it here:
+ if (animId == MAX_ANIMATIONS + 4)
+ anim->maxFrame = fillFrameOffsets(anim, false);
+
anim->frameOffsets = (size_t *)malloc((anim->maxFrame + 1) * sizeof(*anim->frameOffsets));
if (anim->frameOffsets == NULL) {
memoryError("Anim::load");