[Scummvm-cvs-logs] SF.net SVN: scummvm: [30419] scummvm/trunk/engines/scumm/imuse/imuse.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Fri Jan 11 23:13:34 CET 2008


Revision: 30419
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30419&view=rev
Author:   fingolfin
Date:     2008-01-11 14:13:34 -0800 (Fri, 11 Jan 2008)

Log Message:
-----------
The SCUMM timer fix makes the workaround for bug #1324106 obsolete

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/imuse/imuse.cpp

Modified: scummvm/trunk/engines/scumm/imuse/imuse.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse/imuse.cpp	2008-01-11 22:12:06 UTC (rev 30418)
+++ scummvm/trunk/engines/scumm/imuse/imuse.cpp	2008-01-11 22:13:34 UTC (rev 30419)
@@ -962,8 +962,6 @@
 	_trigger_count--;
 	_queue_cleared = false;
 	do {
-		bool skip_cmd = false;
-
 		pos = (pos + 1) % ARRAYSIZE(_cmd_queue);
 		if (_queue_pos == pos)
 			break;
@@ -972,30 +970,8 @@
 			break;
 		_queue_end = pos;
 
-		// WORKAROUND for bug #1324106. When playing the "flourishes"
-		// as Rapp's body appears from his ashes, MI2 sets up a trigger
-		// to pause the music, in case the animation plays too slowly,
-		// and then the music is manually unpaused for the next part of
-		// the animation.
-		//
-		// However, with ScummVM the animation finishes slightly too
-		// quickly instead, and the pause command is run *after* the
-		// unpause, so the whole thing is thrown out of sync. I think
-		// we can assume that any platform running ScummVM is fast
-		// enough to keep up with the animation here, so ignore the
-		// pause command.
-		//
-		// Since setting up a trigger is a multi-step operation (first
-		// the trigger, and then the commands), it's probably easiest
-		// to catch it here.
+		doCommand_internal(p[0], p[1], p[2], p[3], p[4], p[5], p[6], 0);
 
-		if (_game_id == GID_MONKEY2 && p[0] == 262 && p[1] == 183 && p[2] == 0) {
-			skip_cmd = true;
-		}
-
-		if (!skip_cmd)
-			doCommand_internal(p[0], p[1], p[2], p[3], p[4], p[5], p[6], 0);
-
 		if (_queue_cleared)
 			return;
 		pos = _queue_end;


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