aboutsummaryrefslogtreecommitdiff
path: root/engines/macventure/script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/macventure/script.cpp')
-rw-r--r--engines/macventure/script.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/engines/macventure/script.cpp b/engines/macventure/script.cpp
index 64f94af16d..f7550360c8 100644
--- a/engines/macventure/script.cpp
+++ b/engines/macventure/script.cpp
@@ -905,15 +905,22 @@ void ScriptEngine::opbdFOOB(EngineState * state, EngineFrame * frame) {
}
void ScriptEngine::opbeSWOB(EngineState * state, EngineFrame * frame) {
- op00NOOP(0xbe);
+ ObjID from = state->pop();
+ ObjID to = state->pop();
+ _engine->enqueueObject(kUpdateWindow, to);
+ _world->setObjAttr(to, kAttrContainerOpen, _world->getObjAttr(from, 6));
+ _world->setObjAttr(from, kAttrContainerOpen, 0);
+ Common::Array<ObjID> children = _world->getChildren(from, true);
+ for (uint i = 0; i < children.size(); i++)
+ _world->setObjAttr(children[i], 0, to);
}
void ScriptEngine::opbfSNOB(EngineState * state, EngineFrame * frame) {
- op00NOOP(0xbf);
+ _engine->enqueueObject(kAnimateBack, frame->src);
}
void ScriptEngine::opc0TEXI(EngineState * state, EngineFrame * frame) {
- op00NOOP(0xc0);
+ _engine->enqueueObject(kHightlightExits, 0);
}
void ScriptEngine::opc1PTXT(EngineState * state, EngineFrame * frame) {
@@ -1049,9 +1056,8 @@ void ScriptEngine::opd9SLEEP(EngineState * state, EngineFrame * frame) {
}
void ScriptEngine::opdaCLICK(EngineState * state, EngineFrame * frame) {
- //_engine->updateScreen(false);
- //clickToContinue();
- op00NOOP(0xda);
+ _engine->updateState();
+ //_engine->clickToContinue();
}
void ScriptEngine::opdbROBQ(EngineState * state, EngineFrame * frame) {
@@ -1067,8 +1073,7 @@ void ScriptEngine::opddRTQ(EngineState * state, EngineFrame * frame) {
}
void ScriptEngine::opdeUPSC(EngineState * state, EngineFrame * frame) {
- //_engine->updateScreen(false);
- op00NOOP(0xde);
+ _engine->updateState();
}
void ScriptEngine::opdfFMAI(EngineState * state, EngineFrame * frame) {