[Scummvm-cvs-logs] SF.net SVN: scummvm:[53043] scummvm/trunk/engines/gob/scenery.cpp
drmccoy at users.sourceforge.net
drmccoy at users.sourceforge.net
Thu Oct 7 11:18:16 CEST 2010
Revision: 53043
http://scummvm.svn.sourceforge.net/scummvm/?rev=53043&view=rev
Author: drmccoy
Date: 2010-10-07 09:18:15 +0000 (Thu, 07 Oct 2010)
Log Message:
-----------
GOB: Fix object videos with more than 255 frames
A regression of the CoktelDecoder rewrite.
Modified Paths:
--------------
scummvm/trunk/engines/gob/scenery.cpp
Modified: scummvm/trunk/engines/gob/scenery.cpp
===================================================================
--- scummvm/trunk/engines/gob/scenery.cpp 2010-10-06 21:26:45 UTC (rev 53042)
+++ scummvm/trunk/engines/gob/scenery.cpp 2010-10-07 09:18:15 UTC (rev 53043)
@@ -623,6 +623,16 @@
if (frame >= (int32)_vm->_vidPlayer->getFrameCount(obj.videoSlot - 1))
frame = _vm->_vidPlayer->getFrameCount(obj.videoSlot - 1) - 1;
+ if (_vm->_vidPlayer->getCurrentFrame(obj.videoSlot - 1) >= 255) {
+ // Allow for object videos with more than 255 frames, although the
+ // object frame counter is just a byte.
+
+ uint32 curFrame = _vm->_vidPlayer->getCurrentFrame(obj.videoSlot - 1) + 1;
+ uint16 frameWrap = curFrame / 256;
+
+ frame = ((frame + 1) % 256) + frameWrap * 256;
+ }
+
if (frame != (int32)_vm->_vidPlayer->getCurrentFrame(obj.videoSlot - 1)) {
// Seek to frame
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list