diff options
author | Oystein Eftevaag | 2007-10-13 18:47:52 +0000 |
---|---|---|
committer | Oystein Eftevaag | 2007-10-13 18:47:52 +0000 |
commit | 4f93e96d5ff321ad051f0cee9c6083fe85ad1686 (patch) | |
tree | babb7327da4e35b703453a14a87c32f077815e8c /engines/kyra/script_v2.cpp | |
parent | 3f7b4e62ccb9ee97d75aecc773ff7a125903c4bd (diff) | |
download | scummvm-rg350-4f93e96d5ff321ad051f0cee9c6083fe85ad1686.tar.gz scummvm-rg350-4f93e96d5ff321ad051f0cee9c6083fe85ad1686.tar.bz2 scummvm-rg350-4f93e96d5ff321ad051f0cee9c6083fe85ad1686.zip |
Implemented the o2_setCharacterAnimFrame opcode and made sure o2_delay does game updates during the delay
svn-id: r29208
Diffstat (limited to 'engines/kyra/script_v2.cpp')
-rw-r--r-- | engines/kyra/script_v2.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/kyra/script_v2.cpp b/engines/kyra/script_v2.cpp index 5b45be410b..deea962690 100644 --- a/engines/kyra/script_v2.cpp +++ b/engines/kyra/script_v2.cpp @@ -90,6 +90,18 @@ int KyraEngine_v2::o2_setSceneComment(ScriptState *script) { return 0; } +int KyraEngine_v2::o2_setCharacterAnimFrame(ScriptState *script) { + debugC(3, kDebugLevelScriptFuncs, "o2_setCharacterAnimFrame(%p) (-, %d, %d)", (const void *)script, stackPos(1), stackPos(2)); + int animFrame = stackPos(1); + int skipRefresh = stackPos(2); + + _mainCharacter.animFrame = animFrame; + if (skipRefresh) + updateCharacterAnim(0); + + return 0; +} + int KyraEngine_v2::o2_trySceneChange(ScriptState *script) { debugC(3, kDebugLevelScriptFuncs, "o2_trySceneChange(%p) (%d, %d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2), stackPos(3)); @@ -292,7 +304,7 @@ int KyraEngine_v2::o2_delay(ScriptState *script) { //if (stackPos(1)) // sub_27100(stackPos(0) * _tickLength); //else - delay(stackPos(0) * _tickLength); + delay(stackPos(0) * _tickLength, true); return 0; } |