diff options
Diffstat (limited to 'engines/parallaction/exec_ns.cpp')
-rw-r--r-- | engines/parallaction/exec_ns.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp index 99a492863b..2235c4e98e 100644 --- a/engines/parallaction/exec_ns.cpp +++ b/engines/parallaction/exec_ns.cpp @@ -312,7 +312,8 @@ DECLARE_COMMAND_OPCODE(drop){ DECLARE_COMMAND_OPCODE(quit) { - _engineFlags |= kEngineQuit; + _vm->_quit = true; + _vm->quitGame(); } @@ -442,11 +443,15 @@ void CommandExec::runList(CommandList::iterator first, CommandList::iterator las _ctxt.suspend = false; for ( ; first != last; first++) { - if (_engineFlags & kEngineQuit) + + if (_vm->quit()) break; CommandPtr cmd = *first; + if (_vm->quit()) + break; + if (cmd->_flagsOn & kFlagsGlobal) { useFlags = _commandFlags | kFlagsGlobal; useLocalFlags = false; @@ -628,7 +633,7 @@ uint16 Parallaction::runZone(ZonePtr z) { break; case kZoneHear: - _soundMan->playSfx(z->u.hear->_name, z->u.hear->_channel, (z->_flags & kFlagsLooping) == kFlagsLooping, 60); + _soundMan->playSfx(z->u.hear->_name, z->u.hear->_channel, (z->_flags & kFlagsLooping) == kFlagsLooping); break; case kZoneSpeak: |