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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Fri Mar 28 02:10:58 CET 2008


Revision: 31284
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31284&view=rev
Author:   lordhoto
Date:     2008-03-27 18:10:58 -0700 (Thu, 27 Mar 2008)

Log Message:
-----------
Finished o2_delay implementation.

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

Modified: scummvm/trunk/engines/kyra/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v2.cpp	2008-03-28 01:07:16 UTC (rev 31283)
+++ scummvm/trunk/engines/kyra/script_v2.cpp	2008-03-28 01:10:58 UTC (rev 31284)
@@ -621,12 +621,24 @@
 
 int KyraEngine_v2::o2_delay(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_delay(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	if (stackPos(1))
-		warning("unimplemented o2_delay subfunction");
-	//if (stackPos(1))
-	//	sub_27100(stackPos(0) * _tickLength);
-	//else
+	if (stackPos(1)) {
+		uint32 maxWaitTime = _system->getMillis() + stackPos(0) * _tickLength;
+		while (_system->getMillis() < maxWaitTime) {
+			int inputFlag = checkInput(0);
+			removeInputTop();
+
+			if (inputFlag == 198 || inputFlag == 199)
+				return 1;
+
+			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