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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Fri Mar 28 00:53:49 CET 2008


Revision: 31277
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31277&view=rev
Author:   lordhoto
Date:     2008-03-27 16:53:49 -0700 (Thu, 27 Mar 2008)

Log Message:
-----------
- Implemented opcodes:
  -> 51: o2_getElapsedSecs
  -> 52: o2_getTimerDelay
- Added warnings to o2_delaySecs and o2_delay for unimplemented subfunctions

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

Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h	2008-03-27 23:46:30 UTC (rev 31276)
+++ scummvm/trunk/engines/kyra/kyra_v2.h	2008-03-27 23:53:49 UTC (rev 31277)
@@ -995,6 +995,8 @@
 	int o2_setMousePos(ScriptState *script);
 	int o2_showMouse(ScriptState *script);
 	int o2_wipeDownMouseItem(ScriptState *script);
+	int o2_getElapsedSecs(ScriptState *script);
+	int o2_getTimerDelay(ScriptState *script);
 	//int o2_playSoundEffect(ScriptState *script);
 	int o2_delaySecs(ScriptState *script);
 	int o2_delay(ScriptState *script);

Modified: scummvm/trunk/engines/kyra/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v2.cpp	2008-03-27 23:46:30 UTC (rev 31276)
+++ scummvm/trunk/engines/kyra/script_v2.cpp	2008-03-27 23:53:49 UTC (rev 31277)
@@ -593,14 +593,31 @@
 	return 0;
 }
 
+int KyraEngine_v2::o2_getElapsedSecs(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_getElapsedSecs(%p) ()", (const void *)script);
+	return _system->getMillis() / 1000;
+}
+
+int KyraEngine_v2::o2_getTimerDelay(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_getTimerDelay(%p) (%d)", (const void *)script, stackPos(0));
+	return _timer->getDelay(stackPos(0));
+}
+
 int KyraEngine_v2::o2_delaySecs(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v2::o2_delaySecs(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
-	delay(stackPos(0) * 1000, true);
+	if (stackPos(1))
+		warning("unimplemented o2_delaySecs subfunction");
+	//if (stackPos(1))
+	//	sub_27100(stackPos(0) * _tickLength);
+	//else
+		delay(stackPos(0) * 1000, true);
 	return 0;
 }
 
 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
@@ -1780,9 +1797,9 @@
 		Opcode(o2_showMouse),
 		OpcodeUnImpl(),
 		Opcode(o2_wipeDownMouseItem),
-		OpcodeUnImpl(),
+		Opcode(o2_getElapsedSecs),
 		// 0x34
-		OpcodeUnImpl(),
+		Opcode(o2_getTimerDelay),
 		Opcode(o2_playSoundEffect),
 		Opcode(o2_delaySecs),
 		Opcode(o2_delay),


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