[Scummvm-cvs-logs] SF.net SVN: scummvm:[51911] scummvm/trunk/engines/gob

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Sun Aug 8 03:03:21 CEST 2010


Revision: 51911
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51911&view=rev
Author:   drmccoy
Date:     2010-08-08 01:03:21 +0000 (Sun, 08 Aug 2010)

Log Message:
-----------
GOB: Fix playing of slot videos

The actual frame content is still not there, though :P

Modified Paths:
--------------
    scummvm/trunk/engines/gob/mult_v2.cpp
    scummvm/trunk/engines/gob/scenery.cpp
    scummvm/trunk/engines/gob/videoplayer.cpp

Modified: scummvm/trunk/engines/gob/mult_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/mult_v2.cpp	2010-08-08 01:02:49 UTC (rev 51910)
+++ scummvm/trunk/engines/gob/mult_v2.cpp	2010-08-08 01:03:21 UTC (rev 51911)
@@ -736,7 +736,7 @@
 
 	if (animData.animation < 0) {
 		if ((animObj.videoSlot > 0) &&
-		    (_vm->_vidPlayer->getCurrentFrame(animObj.videoSlot - 1) <
+		    ((_vm->_vidPlayer->getCurrentFrame(animObj.videoSlot - 1) + 1) <
 		      _vm->_vidPlayer->getFrameCount(animObj.videoSlot - 1))) {
 			animData.newCycle = 0;
 			return;

Modified: scummvm/trunk/engines/gob/scenery.cpp
===================================================================
--- scummvm/trunk/engines/gob/scenery.cpp	2010-08-08 01:02:49 UTC (rev 51910)
+++ scummvm/trunk/engines/gob/scenery.cpp	2010-08-08 01:03:21 UTC (rev 51911)
@@ -616,14 +616,15 @@
 			return;
 		}
 
-		if (frame >= ((int16)_vm->_vidPlayer->getFrameCount(obj.videoSlot - 1)))
+		if (frame >= (int32)_vm->_vidPlayer->getFrameCount(obj.videoSlot - 1))
 			frame = _vm->_vidPlayer->getFrameCount(obj.videoSlot - 1) - 1;
 
 		// Seek to frame
-		if (_vm->_vidPlayer->getCurrentFrame(obj.videoSlot - 1) < 256) {
+		if (_vm->_vidPlayer->getCurrentFrame(obj.videoSlot - 1) < 255) {
 			VideoPlayer::Properties props;
 
-			props.lastFrame = frame + 1;
+			props.waitEndFrame = false;
+			props.lastFrame    = frame;
 			_vm->_vidPlayer->play(obj.videoSlot - 1, props);
 
 		} else {
@@ -633,7 +634,8 @@
 
 			VideoPlayer::Properties props;
 
-			props.lastFrame = frameWrap * 256 + frame;
+			props.waitEndFrame = false;
+			props.lastFrame    = frameWrap * 256 + frame;
 
 			_vm->_vidPlayer->play(obj.videoSlot - 1, props);
 		}

Modified: scummvm/trunk/engines/gob/videoplayer.cpp
===================================================================
--- scummvm/trunk/engines/gob/videoplayer.cpp	2010-08-08 01:02:49 UTC (rev 51910)
+++ scummvm/trunk/engines/gob/videoplayer.cpp	2010-08-08 01:03:21 UTC (rev 51911)
@@ -230,7 +230,9 @@
 
 	properties.canceled = false;
 
-	while (properties.startFrame != properties.lastFrame) {
+	while ((properties.startFrame != properties.lastFrame) &&
+	       (properties.startFrame < (int32)(video->decoder->getFrameCount() - 1))) {
+
 		playFrame(slot, properties);
 		if (properties.canceled)
 			break;


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