MYST3: Implement opcodes 27 and 28 - remove movie
This commit is contained in:
parent
044fe33b1d
commit
aa1b799904
4 changed files with 39 additions and 4 deletions
|
@ -66,6 +66,8 @@ Script::Script(Myst3Engine *vm):
|
|||
OP_2( 24, movieInitFrameVarPreload, kEvalValue, kVar );
|
||||
OP_4( 25, movieInitOverrridePosition, kEvalValue, kCondition, kValue, kValue );
|
||||
OP_3( 26, movieInitScriptedPosition, kEvalValue, kVar, kVar );
|
||||
OP_1( 27, movieRemove, kEvalValue );
|
||||
OP_0( 28, movieRemoveAll );
|
||||
OP_1( 29, movieSetLooping, kValue );
|
||||
OP_1( 30, movieSetNotLooping, kValue );
|
||||
OP_2( 35, sunspotAdd, kValue, kValue );
|
||||
|
@ -513,6 +515,21 @@ void Script::movieInitScriptedPosition(Context &c, const Opcode &cmd) {
|
|||
_vm->loadMovie(movieid, 1, false, true);
|
||||
}
|
||||
|
||||
void Script::movieRemove(Context &c, const Opcode &cmd) {
|
||||
debugC(kDebugScript, "Opcode %d: Remove movie %d ",
|
||||
cmd.op, cmd.args[0]);
|
||||
|
||||
uint16 movieid = _vm->_state->valueOrVarValue(cmd.args[0]);
|
||||
_vm->removeMovie(movieid);
|
||||
}
|
||||
|
||||
void Script::movieRemoveAll(Context &c, const Opcode &cmd) {
|
||||
debugC(kDebugScript, "Opcode %d: Remove all movies",
|
||||
cmd.op);
|
||||
|
||||
_vm->removeMovie(0);
|
||||
}
|
||||
|
||||
void Script::movieSetLooping(Context &c, const Opcode &cmd) {
|
||||
debugC(kDebugScript, "Opcode %d: Set movie % to loop",
|
||||
cmd.op, cmd.args[0]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue