aboutsummaryrefslogtreecommitdiff
path: root/engines/macventure
diff options
context:
space:
mode:
authorBorja Lorente2016-08-01 13:43:35 +0200
committerBorja Lorente2016-08-14 19:00:36 +0200
commit842bff03e0fd949bcac1b3fd4c281d3fc5547ca5 (patch)
tree02ffc62ec851cfe789007d10542a4ce07afe9e97 /engines/macventure
parentf5338f4beb5069ebfbab1d09e8a839e65eeaf8a7 (diff)
downloadscummvm-rg350-842bff03e0fd949bcac1b3fd4c281d3fc5547ca5.tar.gz
scummvm-rg350-842bff03e0fd949bcac1b3fd4c281d3fc5547ca5.tar.bz2
scummvm-rg350-842bff03e0fd949bcac1b3fd4c281d3fc5547ca5.zip
MACVENTURE: Implement missing instruction
Diffstat (limited to 'engines/macventure')
-rw-r--r--engines/macventure/script.cpp7
-rw-r--r--engines/macventure/script.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/engines/macventure/script.cpp b/engines/macventure/script.cpp
index 55bb4063bd..6f0a7820b3 100644
--- a/engines/macventure/script.cpp
+++ b/engines/macventure/script.cpp
@@ -453,7 +453,8 @@ bool ScriptEngine::runFunc(EngineFrame *frame) {
opdbROBQ(state, frame);
break;
case 0xdc: //run sound queue
- opdcRSQ(state, frame);
+ if (opdcRSQ(state, frame))
+ return true;
break;
case 0xdd: //run text queue
opddRTQ(state, frame);
@@ -1109,8 +1110,8 @@ void ScriptEngine::opdbROBQ(EngineState * state, EngineFrame * frame) {
_engine->runObjQueue();
}
-void ScriptEngine::opdcRSQ(EngineState * state, EngineFrame * frame) {
- op00NOOP(0xdc);
+bool ScriptEngine::opdcRSQ(EngineState * state, EngineFrame * frame) {
+ return _engine->playSounds(true);
}
void ScriptEngine::opddRTQ(EngineState * state, EngineFrame * frame) {
diff --git a/engines/macventure/script.h b/engines/macventure/script.h
index 5760a31e8a..7c4b77df75 100644
--- a/engines/macventure/script.h
+++ b/engines/macventure/script.h
@@ -257,7 +257,7 @@ private:
void opd9SLEEP(EngineState *state, EngineFrame *frame); //sleep
void opdaCLICK(EngineState *state, EngineFrame *frame); //click to continue
void opdbROBQ(EngineState *state, EngineFrame *frame); //run queue
- void opdcRSQ(EngineState *state, EngineFrame *frame); //run sound queue
+ bool opdcRSQ(EngineState *state, EngineFrame *frame); //run sound queue
void opddRTQ(EngineState *state, EngineFrame *frame); //run text queue
void opdeUPSC(EngineState *state, EngineFrame *frame); //update screen
void opdfFMAI(EngineState *state, EngineFrame *frame); //flash main window