aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/exec.h
diff options
context:
space:
mode:
authorNicola Mettifogo2009-02-21 04:44:20 +0000
committerNicola Mettifogo2009-02-21 04:44:20 +0000
commite088f680a689a2bd5fc51e1986af51a51bf14548 (patch)
tree7bad19b41fe608ba22f9b5824c7c77af0a1e7545 /engines/parallaction/exec.h
parentfa75bd23e6b710d2f225c9162ca651e7e518ce75 (diff)
downloadscummvm-rg350-e088f680a689a2bd5fc51e1986af51a51bf14548.tar.gz
scummvm-rg350-e088f680a689a2bd5fc51e1986af51a51bf14548.tar.bz2
scummvm-rg350-e088f680a689a2bd5fc51e1986af51a51bf14548.zip
Fix for bug #2619824. Command list execution is now paused when showing credits. This fixes the Amiga demo of Nippon Safes, which would otherwise quit without displaying the credits.
svn-id: r38662
Diffstat (limited to 'engines/parallaction/exec.h')
-rw-r--r--engines/parallaction/exec.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/parallaction/exec.h b/engines/parallaction/exec.h
index 9e8a803d52..2fd141c414 100644
--- a/engines/parallaction/exec.h
+++ b/engines/parallaction/exec.h
@@ -49,7 +49,6 @@ protected:
struct ParallactionStruct1 {
CommandPtr cmd;
ZonePtr z;
- bool suspend;
} _ctxt;
OpcodeSet _opcodes;
@@ -66,13 +65,19 @@ protected:
void createSuspendList(CommandList::iterator first, CommandList::iterator last);
void cleanSuspendedList();
+ bool _running;
+ bool _suspend;
+
public:
virtual void init() = 0;
virtual void run(CommandList &list, ZonePtr z = nullZonePtr);
void runSuspended();
+ void suspend();
CommandExec(Parallaction *vm) : _vm(vm) {
_suspendedCtxt.valid = false;
+ _suspend = false;
+ _running = false;
}
virtual ~CommandExec() {
for (Common::Array<const Opcode*>::iterator i = _opcodes.begin(); i != _opcodes.end(); ++i)