diff options
Diffstat (limited to 'engines/saga')
-rw-r--r-- | engines/saga/animation.cpp | 8 |
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"); |