[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