aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-03-15 19:55:05 +0000
committerJohannes Schickel2008-03-15 19:55:05 +0000
commitf88a2923cd45fa5ad597599c1fb68a9b6ecc6432 (patch)
treefeb3cc0bd95ec4271a233e8e1884b5fde444787b /engines/kyra/kyra_v2.cpp
parent05dd6cee3ae0b93db0463e22acf9e9c3463a8712 (diff)
downloadscummvm-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.cpp24
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),