aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/op_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agi/op_cmd.cpp')
-rw-r--r--engines/agi/op_cmd.cpp32
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) {