MYST3: Implement opcodes 149 and 150 - Play fullframe movie

This commit is contained in:
Bastien Bouclet 2012-01-25 15:04:56 +01:00
parent 59eb3dd66f
commit dd4b8abaa5
4 changed files with 41 additions and 2 deletions

View file

@ -174,8 +174,10 @@ Script::Script(Myst3Engine *vm):
OP_2(141, zipToRoomNode, kValue, kValue );
OP_1(147, moviePlay, kEvalValue );
OP_1(148, moviePlaySynchronized, kEvalValue );
OP_1(149, moviePlayFullFrame, kEvalValue );
OP_1(150, moviePlayFullFrameTrans, kEvalValue );
OP_2(151, moviePlayChangeNode, kEvalValue, kEvalValue );
OP_2(152, moviePlayChangeNodeTrans, kEvalValue, kEvalValue );
OP_2(152, moviePlayChangeNodeTrans, kEvalValue, kEvalValue );
OP_2(153, lootAt, kValue, kValue );
OP_3(154, lootAtInXFrames, kValue, kValue, kValue );
OP_4(157, cameraLimitMovement, kValue, kValue, kValue, kValue );
@ -1893,6 +1895,22 @@ void Script::runScriptWhileCondEachXFrames(Context &c, const Opcode &cmd) {
_vm->drawFrame();
}
void Script::moviePlayFullFrame(Context &c, const Opcode &cmd) {
debugC(kDebugScript, "Opcode %d: Play movie %d", cmd.op, cmd.args[0]);
uint16 movieId = _vm->_state->valueOrVarValue(cmd.args[0]);
_vm->playMovieFullFrame(movieId);
}
void Script::moviePlayFullFrameTrans(Context &c, const Opcode &cmd) {
debugC(kDebugScript, "Opcode %d: Play movie %d with transition", cmd.op, cmd.args[0]);
uint16 movieId = _vm->_state->valueOrVarValue(cmd.args[0]);
_vm->playMovieFullFrame(movieId);
// TODO: Transition
}
void Script::moviePlayChangeNode(Context &c, const Opcode &cmd) {
debugC(kDebugScript, "Opcode %d: Play movie %d, go to node %d", cmd.op, cmd.args[1], cmd.args[0]);