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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sun Apr 20 04:22:08 CEST 2008


Revision: 31589
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31589&view=rev
Author:   lordhoto
Date:     2008-04-19 19:22:08 -0700 (Sat, 19 Apr 2008)

Log Message:
-----------
Added some more opcodes.

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

Modified: scummvm/trunk/engines/kyra/kyra_v3.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v3.h	2008-04-20 02:11:10 UTC (rev 31588)
+++ scummvm/trunk/engines/kyra/kyra_v3.h	2008-04-20 02:22:08 UTC (rev 31589)
@@ -520,9 +520,12 @@
 	void loadExtrasShapes();
 
 	// opcodes
+	int o3_getMalcolmShapes(ScriptState *script);
 	int o3_setCharacterPos(ScriptState *script);
 	int o3_defineObject(ScriptState *script);
 	int o3_refreshCharacter(ScriptState *script);
+	int o3_getCharacterX(ScriptState *script);
+	int o3_getCharacterY(ScriptState *script);
 	int o3_showSceneFileMessage(ScriptState *script);
 	int o3_showBadConscience(ScriptState *script);
 	int o3_hideBadConscience(ScriptState *script);
@@ -531,6 +534,7 @@
 	int o3_queryGameFlag(ScriptState *script);
 	int o3_resetGameFlag(ScriptState *script);
 	int o3_setGameFlag(ScriptState *script);
+	int o3_getHandItem(ScriptState *script);
 	int o3_hideMouse(ScriptState *script);
 	int o3_setMousePos(ScriptState *script);
 	int o3_showMouse(ScriptState *script);

Modified: scummvm/trunk/engines/kyra/script_v3.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v3.cpp	2008-04-20 02:11:10 UTC (rev 31588)
+++ scummvm/trunk/engines/kyra/script_v3.cpp	2008-04-20 02:22:08 UTC (rev 31589)
@@ -32,6 +32,11 @@
 
 namespace Kyra {
 
+int KyraEngine_v3::o3_getMalcolmShapes(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_getMaloclmShapes(%p) ()", (const void *)script);
+	return _malcolmShapes;
+}
+
 int KyraEngine_v3::o3_setCharacterPos(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_setCharacterPos(%p) (%d, %d)", (const void *)script, stackPos(0), stackPos(1));
 	int x = stackPos(0);
@@ -83,6 +88,16 @@
 	return 0;
 }
 
+int KyraEngine_v3::o3_getCharacterX(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_getCharacterX(%p) ()", (const void *)script);
+	return _mainCharacter.x1;
+}
+
+int KyraEngine_v3::o3_getCharacterY(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_getCharacterY(%p) ()", (const void *)script);
+	return _mainCharacter.y1;
+}
+
 int KyraEngine_v3::o3_showSceneFileMessage(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_showSceneFileMessage(%p) (%d)", (const void *)script, stackPos(0));
 	showMessage((const char*)getTableEntry(_scenesFile, stackPos(0)), 0xFF, 0xF0);
@@ -141,6 +156,11 @@
 	return 1;
 }
 
+int KyraEngine_v3::o3_getHandItem(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_getHandItem(%p) ()", (const void *)script);
+	return _itemInHand;
+}
+
 int KyraEngine_v3::o3_hideMouse(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_v3::o3_hideMouse(%p) ()", (const void *)script);
 	_screen->hideMouse();
@@ -419,15 +439,15 @@
 void KyraEngine_v3::setupOpcodeTable() {
 	static const OpcodeV3 opcodeTable[] = {
 		// 0x00
-		OpcodeUnImpl(),
+		Opcode(o3_getMalcolmShapes),
 		Opcode(o3_setCharacterPos),
 		Opcode(o3_defineObject),
 		Opcode(o3_refreshCharacter),
 		// 0x04
+		Opcode(o3_getCharacterX),
+		Opcode(o3_getCharacterY),
 		OpcodeUnImpl(),
 		OpcodeUnImpl(),
-		OpcodeUnImpl(),
-		OpcodeUnImpl(),
 		// 0x08
 		OpcodeUnImpl(),
 		Opcode(o3_dummy),
@@ -474,7 +494,7 @@
 		OpcodeUnImpl(),
 		OpcodeUnImpl(),
 		// 0x2c
-		OpcodeUnImpl(),
+		Opcode(o3_getHandItem),
 		Opcode(o3_hideMouse),
 		OpcodeUnImpl(),
 		Opcode(o3_setMousePos),


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