From bc050a549ca43b8571270782bc3b12cc0b31c634 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 19 Nov 2014 20:28:27 -0500 Subject: ACCESS: Implemented cmdCheckVFrame opcode --- engines/access/scripts.cpp | 9 +++++++-- engines/access/scripts.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'engines') diff --git a/engines/access/scripts.cpp b/engines/access/scripts.cpp index 9f919484ef..89c8a4d0e6 100644 --- a/engines/access/scripts.cpp +++ b/engines/access/scripts.cpp @@ -127,7 +127,7 @@ void Scripts::executeCommand(int commandIndex) { &Scripts::cmdSpecial, &Scripts::cmdSpecial, &Scripts::cmdSpecial, &Scripts::cmdSetCycle, &Scripts::cmdCycle, &Scripts::cmdCharSpeak, &Scripts::cmdTexSpeak, &Scripts::cmdTexChoice, &Scripts::cmdWait, - &Scripts::cmdSetConPos, &Scripts::CMDCHECKVFRAME, &Scripts::cmdJumpChoice, + &Scripts::cmdSetConPos, &Scripts::cmdCheckVFrame, &Scripts::cmdJumpChoice, &Scripts::cmdReturnChoice, &Scripts::cmdClearBlock, &Scripts::cmdLoadSound, &Scripts::cmdFreeSound, &Scripts::cmdSetVideoSound, &Scripts::cmdPlayVideoSound, &Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION, @@ -691,7 +691,12 @@ void Scripts::cmdSetConPos() { _texsOrg = Common::Point(x, y); } -void Scripts::CMDCHECKVFRAME() { error("TODO CMDCHECKVFRAME"); } +void Scripts::cmdCheckVFrame() { + if (_vm->_video->_videoFrame == _data->readSint16LE()) + cmdGoto(); + else + _data->skip(2); +} void Scripts::cmdJumpChoice() { int val = (_data->readUint16LE() & 0xFF); diff --git a/engines/access/scripts.h b/engines/access/scripts.h index eaac996d4d..2b527a855a 100644 --- a/engines/access/scripts.h +++ b/engines/access/scripts.h @@ -109,7 +109,7 @@ protected: void cmdTexChoice(); void cmdWait(); void cmdSetConPos(); - void CMDCHECKVFRAME(); + void cmdCheckVFrame(); void cmdJumpChoice(); void cmdReturnChoice(); void cmdClearBlock(); -- cgit v1.2.3