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

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Fri Jul 17 21:22:12 CEST 2009


Revision: 42570
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42570&view=rev
Author:   drmccoy
Date:     2009-07-17 19:22:12 +0000 (Fri, 17 Jul 2009)

Log Message:
-----------
Adding a workaround for the vanishing Coh Cott bug (#1972466), which is actually an error in that video file

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

Modified: scummvm/trunk/engines/gob/videoplayer.cpp
===================================================================
--- scummvm/trunk/engines/gob/videoplayer.cpp	2009-07-17 19:09:22 UTC (rev 42569)
+++ scummvm/trunk/engines/gob/videoplayer.cpp	2009-07-17 19:22:12 UTC (rev 42570)
@@ -156,6 +156,7 @@
 	_backSurf = false;
 	_needBlit = false;
 	_noCursorSwitch = false;
+	_woodruffCohCottWorkaround = false;
 }
 
 VideoPlayer::~VideoPlayer() {
@@ -248,6 +249,14 @@
 				_noCursorSwitch = true;
 		}
 
+		// WORKAROUND: In Woodruff, Coh Cott vanished in one video on her party.
+		// This is a bug in video, so we work around it.
+		_woodruffCohCottWorkaround = false;
+		if (_vm->getGameType() == kGameTypeWoodruff) {
+			if (!scumm_stricmp(fileName, "SQ32-03.VMD"))
+				_woodruffCohCottWorkaround = true;
+		}
+
 		_ownSurf = false;
 
 		if (!(flags & kFlagNoVideo)) {
@@ -657,6 +666,12 @@
 	Graphics::CoktelVideo::State state = video.nextFrame();
 	WRITE_VAR(11, frame);
 
+	if (_woodruffCohCottWorkaround && (frame == 32)) {
+		// WORKAROUND: This frame mistakenly masks Coh Cott, making her vanish
+		// To prevent that, we'll never draw that part
+		state.left += 50;
+	}
+
 	if (_needBlit)
 		_vm->_draw->forceBlit(true);
 

Modified: scummvm/trunk/engines/gob/videoplayer.h
===================================================================
--- scummvm/trunk/engines/gob/videoplayer.h	2009-07-17 19:09:22 UTC (rev 42569)
+++ scummvm/trunk/engines/gob/videoplayer.h	2009-07-17 19:22:12 UTC (rev 42570)
@@ -152,6 +152,8 @@
 	bool _needBlit;
 	bool _noCursorSwitch;
 
+	bool _woodruffCohCottWorkaround;
+
 	bool findFile(char *fileName, Type &which);
 
 	const Video *getVideoBySlot(int slot = -1) const;


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