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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sun Apr 27 00:30:55 CEST 2008


Revision: 31740
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31740&view=rev
Author:   lordhoto
Date:     2008-04-26 15:30:55 -0700 (Sat, 26 Apr 2008)

Log Message:
-----------
Finished o3_delay implementation.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/script_v3.cpp

Modified: scummvm/trunk/engines/kyra/script_v3.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v3.cpp	2008-04-26 22:29:27 UTC (rev 31739)
+++ scummvm/trunk/engines/kyra/script_v3.cpp	2008-04-26 22:30:55 UTC (rev 31740)
@@ -384,13 +384,24 @@
 
 int KyraEngine_v3::o3_delay(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_delay(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	const uint32 delayTime = stackPos(0) * _tickLength;
-	const int delayFunc = stackPos(1);
+	if (stackPos(1)) {
+		uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
+		while (_system->getMillis() < maxWaitTime) {
+			int inputFlag = checkInput(0);
+			removeInputTop();
 
-	if (delayFunc)
-		warning("STUB o3_delay func 1");
+			if (inputFlag == 198 || inputFlag == 199)
+				return 1;
 
-	delay(delayTime, true);
+			if (_chatText)
+				updateWithText();
+			else
+				update();
+			_system->delayMillis(10);
+		}
+	} else {
+		delay(stackPos(0) * _tickLength, true);
+	}
 	return 0;
 }
 


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