aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2008-02-18 23:04:37 +0000
committerFlorian Kagerer2008-02-18 23:04:37 +0000
commitbcdfe6ade076dc04590a6a8f57c9cdc70f9f13c0 (patch)
tree67f2c03c80ece5eb0ee6311a89b1bfd1555c8a1a /engines/kyra/kyra_v2.cpp
parentab40f56f478f09aab308670eecdb234380f55512 (diff)
downloadscummvm-rg350-bcdfe6ade076dc04590a6a8f57c9cdc70f9f13c0.tar.gz
scummvm-rg350-bcdfe6ade076dc04590a6a8f57c9cdc70f9f13c0.tar.bz2
scummvm-rg350-bcdfe6ade076dc04590a6a8f57c9cdc70f9f13c0.zip
some more opcodes (the fly tree is now operational) and some bug fixes
svn-id: r30903
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r--engines/kyra/kyra_v2.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index e48da67bcb..55d79c3ed0 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -98,6 +98,7 @@ KyraEngine_v2::KyraEngine_v2(OSystem *system, const GameFlags &flags) : KyraEngi
_colorCodeFlag1 = 0;
_colorCodeFlag2 = -1;
+ _scriptCountDown = 0;
memset(&_sceneScriptData, 0, sizeof(_sceneScriptData));
@@ -125,6 +126,15 @@ KyraEngine_v2::~KyraEngine_v2() {
delete _debugger;
delete _invWsa.wsa;
+ if (_sequenceSoundList) {
+ for (int i = 0; i < _sequenceSoundListSize; i++) {
+ if (_sequenceSoundList[i])
+ delete _sequenceSoundList[i];
+ }
+ delete [] _sequenceSoundList;
+ _sequenceSoundList = NULL;
+ }
+
if (_dlgBuffer)
delete [] _dlgBuffer;
for (int i = 0; i < 19; i++)
@@ -1908,9 +1918,9 @@ void KyraEngine_v2::setupOpcodeTable() {
Opcode(o2_getDlgIndex),
Opcode(o2_defineRoom),
OpcodeUnImpl(),
- OpcodeUnImpl(),
+ Opcode(o2_setCountDown),
// 0x7c
- OpcodeUnImpl(),
+ Opcode(o2_getCountDown),
Opcode(o2_dummy),
Opcode(o2_dummy),
OpcodeUnImpl(),
@@ -1922,8 +1932,8 @@ void KyraEngine_v2::setupOpcodeTable() {
// 0x84
Opcode(o2_getColorCodeFlag2),
Opcode(o2_setColorCodeFlag2),
- OpcodeUnImpl(),
- OpcodeUnImpl(),
+ Opcode(o2_getColorCodeValue),
+ Opcode(o2_setColorCodeValue),
// 0x88
Opcode(o2_countItemInstances),
OpcodeUnImpl(),
@@ -1958,7 +1968,7 @@ void KyraEngine_v2::setupOpcodeTable() {
OpcodeUnImpl(),
OpcodeUnImpl(),
OpcodeUnImpl(),
- OpcodeUnImpl(),
+ Opcode(o2_getBoolFromStack),
// 0xa4
OpcodeUnImpl(),
OpcodeUnImpl(),
@@ -1996,3 +2006,4 @@ void KyraEngine_v2::setupOpcodeTable() {
+