[Scummvm-cvs-logs] SF.net SVN: scummvm:[54074] scummvm/branches/branch-1-2-0/engines/gob/ inter_v1.cpp

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Thu Nov 4 21:42:20 CET 2010


Revision: 54074
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54074&view=rev
Author:   drmccoy
Date:     2010-11-04 20:42:19 +0000 (Thu, 04 Nov 2010)

Log Message:
-----------
GOB: Backport r54061 (fix bug #3065914)

Extended workaround for Goblin Stuck On Reload to cover bug #3065914

This generalises the workaround added for bug #3018918 i.e. UOTODDV
issue, to cover the ICVGCGT case and hopefully all future cases, by
executing the variable correction during the reload after Game Over
and using the variable read by the script triggering the movement
lock, rather than the movement lock variable (59) itself as this
may not be set until a later script.

Modified Paths:
--------------
    scummvm/branches/branch-1-2-0/engines/gob/inter_v1.cpp

Modified: scummvm/branches/branch-1-2-0/engines/gob/inter_v1.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/gob/inter_v1.cpp	2010-11-04 20:37:03 UTC (rev 54073)
+++ scummvm/branches/branch-1-2-0/engines/gob/inter_v1.cpp	2010-11-04 20:42:19 UTC (rev 54074)
@@ -813,12 +813,12 @@
 	byte cmd;
 	bool boolRes;
 
-	// WORKAROUND: Windows Gob1 OUTODDV reload goblin stuck bug present in original
-	if ((_vm->getGameType() == kGameTypeGob1) && (_vm->_game->_script->pos() == 11294) &&
-			!scumm_stricmp(_vm->_game->_curTotFile, "avt00.tot") && VAR(59) == 1) {
-		warning("Workaround for Win Gob1 OUTODDV Reload Goblin Stuck Bug...");
+	// WORKAROUND: Gob1 goblin stuck on reload bugs present in original - bugs #3018918 and 3065914
+	if ((_vm->getGameType() == kGameTypeGob1) && (_vm->_game->_script->pos() == 2933) &&
+			!scumm_stricmp(_vm->_game->_curTotFile, "inter.tot") && VAR(285) != 0) {
+		warning("Workaround for Gob1 Goblin Stuck On Reload Bug applied...");
+		// VAR(59) actually locks goblin movement, but these variables trigger this in the script.
 		WRITE_VAR(285, 0);
-		WRITE_VAR(59, 0);
 	}
 
 	boolRes = _vm->_game->_script->evalBoolResult();


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