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

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat Oct 13 20:53:49 CEST 2007


Revision: 29210
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29210&view=rev
Author:   lordhoto
Date:     2007-10-13 11:53:49 -0700 (Sat, 13 Oct 2007)

Log Message:
-----------
HoF:
- implemented opcode
  -> o2_setCharacterPos 1

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

Modified: scummvm/trunk/engines/kyra/kyra_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.cpp	2007-10-13 18:53:02 UTC (rev 29209)
+++ scummvm/trunk/engines/kyra/kyra_v2.cpp	2007-10-13 18:53:49 UTC (rev 29210)
@@ -1466,7 +1466,7 @@
 	static const OpcodeV2 opcodeTable[] = {
 		// 0x00
 		Opcode(o2_setCharacterFacingRefresh),
-		OpcodeUnImpl(),
+		Opcode(o2_setCharacterPos),
 		Opcode(o2_defineObject),
 		Opcode(o2_refreshCharacter),
 		// 0x04

Modified: scummvm/trunk/engines/kyra/kyra_v2.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_v2.h	2007-10-13 18:53:02 UTC (rev 29209)
+++ scummvm/trunk/engines/kyra/kyra_v2.h	2007-10-13 18:53:49 UTC (rev 29210)
@@ -545,6 +545,7 @@
 
 	// opcodes
 	int o2_setCharacterFacingRefresh(ScriptState *script);
+	int o2_setCharacterPos(ScriptState *script);
 	int o2_defineObject(ScriptState *script);
 	int o2_refreshCharacter(ScriptState *script);
 	int o2_getCharacterX(ScriptState *script);

Modified: scummvm/trunk/engines/kyra/script_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_v2.cpp	2007-10-13 18:53:02 UTC (rev 29209)
+++ scummvm/trunk/engines/kyra/script_v2.cpp	2007-10-13 18:53:49 UTC (rev 29210)
@@ -42,6 +42,22 @@
 	return 0;
 }
 
+int KyraEngine_v2::o2_setCharacterPos(ScriptState *script) {
+	debugC(3, kDebugLevelScriptFuncs, "o2_setCharacterFacingRefresh(%p) (-, %d, %d)", (const void *)script, stackPos(1), stackPos(2));
+	int x = stackPos(1);
+	int y = stackPos(2);
+
+	if (x != -1 && y != -1) {
+		x &= ~3;
+		y &= ~1;
+	}
+
+	restorePage3();
+	_mainCharacter.x2 = _mainCharacter.x1 = x;
+	_mainCharacter.y2 = _mainCharacter.y1 = y;
+	return 0;
+}
+
 int KyraEngine_v2::o2_defineObject(ScriptState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "o2_defineObject(%p) (%d, '%s', %d, %d, %d, %d)", (const void *)script,
 			stackPos(0), stackPosString(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5));


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