diff options
Diffstat (limited to 'engines/agi/op_cmd.cpp')
-rw-r--r-- | engines/agi/op_cmd.cpp | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index 80b150d2d6..17addc0c05 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -153,15 +153,27 @@ void cmdToggle(AgiGame *state, uint8 *p) { } void cmdSetV(AgiGame *state, uint8 *p) { - setflag(_v[p0], true); + if (getVersion() < 0x2000) { + _v[p0] = 1; + } else { + setflag(_v[p0], true); + } } void cmdResetV(AgiGame *state, uint8 *p) { - setflag(_v[p0], false); + if (getVersion() < 0x2000) { + _v[p0] = 0; + } else { + setflag(_v[p0], false); + } } void cmdToggleV(AgiGame *state, uint8 *p) { - setflag(_v[p0], !getflag(_v[p0])); + if (getVersion() < 0x2000) { + _v[p0] ^= 1; + } else { + setflag(_v[p0], !getflag(_v[p0])); + } } void cmdNewRoom(AgiGame *state, uint8 *p) { @@ -804,6 +816,10 @@ void cmdLoadPic(AgiGame *state, uint8 *p) { state->_vm->_sprites->commitBoth(); } +void cmdLoadPicV1(AgiGame *state, uint8 *p) { + state->_vm->agiLoadResource(rPICTURE, _v[p0]); +} + void cmdDiscardPic(AgiGame *state, uint8 *p) { debugC(6, kDebugLevelScripts, "--- discard pic ---"); // do nothing @@ -1026,6 +1042,10 @@ void cmdAddToPic(AgiGame *state, uint8 *p) { state->_vm->_sprites->addToPic(p0, p1, p2, p3, p4, p5, p6); } +void cmdAddToPicV1(AgiGame *state, uint8 *p) { + state->_vm->_sprites->addToPic(p0, p1, p2, p3, p4, p5, -1); +} + void cmdAddToPicF(AgiGame *state, uint8 *p) { state->_vm->_sprites->addToPic(_v[p0], _v[p1], _v[p2], _v[p3], _v[p4], _v[p5], _v[p6]); } @@ -1337,6 +1357,11 @@ void cmdQuit(AgiGame *state, uint8 *p) { } } +void cmdQuitV1(AgiGame *state, uint8 *p) { + state->_vm->_sound->stopSound(); + state->_vm->quitGame(); +} + void cmdRestartGame(AgiGame *state, uint8 *p) { const char *buttons[] = { "Restart", "Continue", NULL }; int sel; @@ -1677,6 +1702,7 @@ void cmdSetSpeed(AgiGame *state, uint8 *p) { // V1 command (void)state; (void)p; + // speed = _v[p0]; } void cmdSetItemView(AgiGame *state, uint8 *p) { |