[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