diff options
author | Johannes Schickel | 2008-03-15 19:55:05 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-03-15 19:55:05 +0000 |
commit | f88a2923cd45fa5ad597599c1fb68a9b6ecc6432 (patch) | |
tree | feb3cc0bd95ec4271a233e8e1884b5fde444787b /engines/kyra/kyra_v2.cpp | |
parent | 05dd6cee3ae0b93db0463e22acf9e9c3463a8712 (diff) | |
download | scummvm-rg350-f88a2923cd45fa5ad597599c1fb68a9b6ecc6432.tar.gz scummvm-rg350-f88a2923cd45fa5ad597599c1fb68a9b6ecc6432.tar.bz2 scummvm-rg350-f88a2923cd45fa5ad597599c1fb68a9b6ecc6432.zip |
Implemented opcodes:
- 36: o2_removeItemFromInventory
- 64: o2_disableAnimObject
- 65: o2_enableAnimObject
- 101: o2_showLetter
- 115: o2_setSceneAnimPosAndUpdate
svn-id: r31131
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r-- | engines/kyra/kyra_v2.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp index b0082e8db1..d0af3210a8 100644 --- a/engines/kyra/kyra_v2.cpp +++ b/engines/kyra/kyra_v2.cpp @@ -1210,6 +1210,20 @@ void KyraEngine_v2::restorePage3() { _screen->copyBlockToPage(2, 0, 0, 320, 144, _gamePlayBuffer); } +void KyraEngine_v2::backUpPage0() { + if (_screenBuffer) { + _screen->hideMouse(); + memcpy(_screenBuffer, _screen->getCPagePtr(0), 64000); + _screen->showMouse(); + } +} + +void KyraEngine_v2::restorePage0() { + restorePage3(); + if (_screenBuffer) + _screen->copyBlockToPage(0, 0, 0, 320, 200, _screenBuffer); +} + void KyraEngine_v2::updateCharPal(int unk1) { static bool unkVar1 = false; @@ -2112,7 +2126,7 @@ void KyraEngine_v2::setupOpcodeTable() { OpcodeUnImpl(), Opcode(o2_defineItem), // 0x24 - OpcodeUnImpl(), + Opcode(o2_removeItemFromInventory), Opcode(o2_countItemInInventory), OpcodeUnImpl(), Opcode(o2_queryGameFlag), @@ -2147,8 +2161,8 @@ void KyraEngine_v2::setupOpcodeTable() { Opcode(o2_drawSceneShape), Opcode(o2_drawSceneShapeOnPage), // 0x40 - OpcodeUnImpl(), - OpcodeUnImpl(), + Opcode(o2_disableAnimObject), + Opcode(o2_enableAnimObject), Opcode(o2_dummy), OpcodeUnImpl(), // 0x44 @@ -2193,7 +2207,7 @@ void KyraEngine_v2::setupOpcodeTable() { OpcodeUnImpl(), // 0x64 OpcodeUnImpl(), - OpcodeUnImpl(), + Opcode(o2_showLetter), OpcodeUnImpl(), Opcode(o2_fillRect), // 0x68 @@ -2210,7 +2224,7 @@ void KyraEngine_v2::setupOpcodeTable() { Opcode(o2_defineSceneAnim), Opcode(o2_updateSceneAnim), Opcode(o2_updateSceneAnim), - OpcodeUnImpl(), + Opcode(o2_setSceneAnimPosAndUpdate), // 0x74 Opcode(o2_useItemOnMainChar), Opcode(o2_startDialogue), |