[Scummvm-cvs-logs] SF.net SVN: scummvm: [22255] scummvm/trunk/engines/kyra/sequences_v1.cpp

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Mon May 1 05:58:13 CEST 2006


Revision: 22255
Author:   lordhoto
Date:     2006-05-01 05:57:24 -0700 (Mon, 01 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22255&view=rev

Log Message:
-----------
Makes malcolm walking into the kyragem room after some time. (fixes half of bug #1471893 ("KYRA1: Graphics glitch when Malcolm turns to stone"))

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/sequences_v1.cpp
Modified: scummvm/trunk/engines/kyra/sequences_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_v1.cpp	2006-05-01 12:43:50 UTC (rev 22254)
+++ scummvm/trunk/engines/kyra/sequences_v1.cpp	2006-05-01 12:57:24 UTC (rev 22255)
@@ -902,9 +902,19 @@
 		_screen->_curPage = 0;
 		_beadStateVar = 0;
 		_malcolmFlag = 0;
-		// wired stuff with _unkEndSeqVar2 which needs timer handling
+		_unkEndSeqVar2 = _system->getMillis() + 600 * _tickLength;
 		_screen->copyRegion(312, 0, 312, 0, 8, 136, 0, 2);
 	}
+	
+	// TODO: better handling. This timer shouldn't count when the menu is open or something.
+	if (_unkEndSeqVar2 != -1) {
+		if (_system->getMillis() > (uint32)_unkEndSeqVar2) {
+			_unkEndSeqVar2 = -1;
+			if (!_malcolmFlag)
+				_malcolmFlag = 1;
+		}
+	}
+	
 	if (handleMalcolmFlag()) {
 		_beadStateVar = 0;
 		_malcolmFlag = 12;
@@ -1335,14 +1345,15 @@
 			if (beadState1.x != -1 && _endSequenceBackUpRect) {
 				_screen->copyFromCurPageBlock(beadState1.x >> 3, beadState1.y, beadState1.width, beadState1.height, _endSequenceBackUpRect);
 				_screen->addBitBlitRect(beadState1.x, beadState1.y, beadState1.width2, beadState1.height);
-			} else {
-				beadState1.x = -1;
-				beadState1.tableIndex = 0;
-				timer1 = 0;
-				timer2 = 0;
-				_lastDisplayedPanPage = 0;
-				return 1;
 			}
+			
+			beadState1.x = -1;
+			beadState1.tableIndex = 0;
+			timer1 = 0;
+			timer2 = 0;
+			_lastDisplayedPanPage = 0;
+			return 1;
+			break;
 		
 		case 1:
 			if (beadState1.x != -1) {


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