diff options
Diffstat (limited to 'engines/cine')
-rw-r--r-- | engines/cine/anim.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/cine/anim.cpp b/engines/cine/anim.cpp index d81828d9f6..60168831a1 100644 --- a/engines/cine/anim.cpp +++ b/engines/cine/anim.cpp @@ -709,13 +709,17 @@ int loadSet(const char *resourceName, int16 idx, int16 frameIndex =-1 ) { entry = idx < 0 ? emptyAnimSpace() : idx; assert(entry >= 0); + int16 startFrame = 0; + int16 endFrame = numSpriteInAnim; + if(frameIndex>=0) { - numSpriteInAnim = 1; + startFrame = frameIndex; + endFrame = frameIndex+1; ptr += 0x10 * frameIndex; } - for (int16 i = 0; i < numSpriteInAnim; i++, entry++) { + for (int16 i = startFrame; i < endFrame; i++, entry++) { Common::MemoryReadStream readS(ptr, 0x10); header2.field_0 = readS.readUint32BE(); |