[Scummvm-cvs-logs] SF.net SVN: scummvm:[45152] scummvm/trunk/engines/sci/gfx

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Fri Oct 16 09:57:08 CEST 2009


Revision: 45152
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45152&view=rev
Author:   thebluegr
Date:     2009-10-16 07:57:08 +0000 (Fri, 16 Oct 2009)

Log Message:
-----------
Fixed an assert in the introduction of the CD version of KQ6

Modified Paths:
--------------
    scummvm/trunk/engines/sci/gfx/seq_decoder.cpp
    scummvm/trunk/engines/sci/gfx/seq_decoder.h

Modified: scummvm/trunk/engines/sci/gfx/seq_decoder.cpp
===================================================================
--- scummvm/trunk/engines/sci/gfx/seq_decoder.cpp	2009-10-16 07:42:23 UTC (rev 45151)
+++ scummvm/trunk/engines/sci/gfx/seq_decoder.cpp	2009-10-16 07:57:08 UTC (rev 45152)
@@ -129,9 +129,13 @@
 		_videoInfo.startTime = g_system->getMillis();
 
 	if (frameType == kSeqFrameFull) {
-		assert (frameLeft == 0);
-		assert (frameWidth == 320);
-		_fileStream->read(_videoFrameBuffer + 320 * frameTop, frameSize);
+		if (frameLeft != 0 && frameWidth != 320) {
+			// This case should never happen, but apparently it does in the
+			// seagulls video in KQ6 CD (most likely due to bad/incomplete data)
+			_fileStream->skip(frameSize);
+		} else {
+			_fileStream->read(_videoFrameBuffer + 320 * frameTop, frameSize);
+		}
 	} else {
 		byte *buf = new byte[frameSize];
 		_fileStream->read(buf, frameSize);

Modified: scummvm/trunk/engines/sci/gfx/seq_decoder.h
===================================================================
--- scummvm/trunk/engines/sci/gfx/seq_decoder.h	2009-10-16 07:42:23 UTC (rev 45151)
+++ scummvm/trunk/engines/sci/gfx/seq_decoder.h	2009-10-16 07:57:08 UTC (rev 45152)
@@ -31,7 +31,7 @@
 namespace Graphics {
 
 /**
- * Implementation of the KQ6 floppy SEQ decoder
+ * Implementation of the KQ6 DOS floppy/CD SEQ decoder
  */
 class SeqDecoder : public VideoDecoder {
 public:


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