aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst_scripts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/myst_scripts.cpp')
-rw-r--r--engines/mohawk/myst_scripts.cpp28
1 files changed, 10 insertions, 18 deletions
diff --git a/engines/mohawk/myst_scripts.cpp b/engines/mohawk/myst_scripts.cpp
index dc3e705d36..e6a8129af9 100644
--- a/engines/mohawk/myst_scripts.cpp
+++ b/engines/mohawk/myst_scripts.cpp
@@ -97,7 +97,7 @@ void MystScriptParser::setupOpcodes() {
OPCODE(6, o_6_changeCard),
OPCODE(7, o_6_changeCard),
OPCODE(8, o_6_changeCard),
- OPCODE(9, opcode_9),
+ OPCODE(9, o_9_triggerMovie),
OPCODE(10, o_10_toggleVarNoRedraw),
// Opcode 11 Not Present
OPCODE(12, o_2_changeCardSwitch),
@@ -340,27 +340,19 @@ void MystScriptParser::o_6_changeCard(uint16 op, uint16 var, uint16 argc, uint16
} else
unknown(op, var, argc, argv);
}
-void MystScriptParser::opcode_9(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+void MystScriptParser::o_9_triggerMovie(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
+ debugC(kDebugScript, "Opcode %d: Trigger Type 6 Resource Movie..", op);
// If movie has sound, pause background music
- varUnusedCheck(op, var);
-
- if (argc == 0 || argc == 1) {
- debugC(kDebugScript, "Opcode %d: Trigger Type 6 Resource Movie..", op);
- // TODO: Add Logic to do this...
+ int16 direction = 1;
+ if (argc == 1) {
+ direction = argv[0];
+ }
+ debugC(kDebugScript, "\tDirection: %d", direction);
- // Used on Stoneship Card 2138 with 1 argument of 66535 as well as with
- // no arguments. Seems logically consistent with play movie with optional
- // start point or time direction control?
+ // Trigger resource 6 movie overriding play direction
- // This understanding of this opcode is based upon Stoneship Card 2197
- // i.e. Sirrus' Desk, but since this is a single case, we should find
- // more...
- if (!((_vm->getCurStack() == kStoneshipStack && _vm->getCurCard() == 2197) ||
- (_vm->getCurStack() == kStoneshipStack && _vm->getCurCard() == 2138)))
- warning("TODO: Opcode 9 on this card - Check function is consistent");
- } else
- unknown(op, var, argc, argv);
+ // If movie has sound, resume background music
}
void MystScriptParser::o_10_toggleVarNoRedraw(uint16 op, uint16 var, uint16 argc, uint16 *argv) {