diff options
author | Florian Kagerer | 2008-03-20 20:36:36 +0000 |
---|---|---|
committer | Florian Kagerer | 2008-03-20 20:36:36 +0000 |
commit | 2f7b59d3e289be6c9968aa5bad671b6987555108 (patch) | |
tree | b4ca235a19306398943e4cd7ac8b447de237afe0 /engines/kyra | |
parent | cb22a83034c159e3f26f65a53164f8d913fe62e7 (diff) | |
download | scummvm-rg350-2f7b59d3e289be6c9968aa5bad671b6987555108.tar.gz scummvm-rg350-2f7b59d3e289be6c9968aa5bad671b6987555108.tar.bz2 scummvm-rg350-2f7b59d3e289be6c9968aa5bad671b6987555108.zip |
- fix skip flags for non-playable demo
svn-id: r31207
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/sequences_v2.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/engines/kyra/sequences_v2.cpp b/engines/kyra/sequences_v2.cpp index e7962354e0..f0688d6e3d 100644 --- a/engines/kyra/sequences_v2.cpp +++ b/engines/kyra/sequences_v2.cpp @@ -39,7 +39,7 @@ void KyraEngine_v2::seq_playSequences(int startSeq, int endSeq) { debugC(9, kDebugLevelMain, "KyraEngine_v2::seq_playSequences(%i, %i)", startSeq, endSeq); seq_init(); - bool allowSkip = (startSeq == kSequenceTitle) ? false : true; + bool allowSkip = (!(_flags.isDemo && !_flags.isTalkie) && (startSeq == kSequenceTitle)) ? false : true; if (endSeq == -1) endSeq = startSeq; @@ -81,7 +81,7 @@ void KyraEngine_v2::seq_playSequences(int startSeq, int endSeq) { _seqFrameCounter = 0; _seqStartTime = _system->getMillis(); - allowSkip = (seqNum == 2) ? false : true; + allowSkip = (!(_flags.isDemo && !_flags.isTalkie) && (seqNum == kSequenceTitle)) ? false : true; if (_sequences[seqNum].flags & 2) { _screen->loadBitmap(_sequences[seqNum].cpsFile, 2, 2, _screen->getPalette(0)); @@ -280,15 +280,20 @@ void KyraEngine_v2::seq_playSequences(int startSeq, int endSeq) { seq_sequenceCommand(_sequences[seqNum].finalCommand); seq_resetAllTextEntries(); - if (_flags.isDemo && seqNum == kSequenceDemoFisher) { - _abortIntroFlag = false; - resetSkipFlag(); - seqNum = kSequenceDemoVirgin; - } else if ((seqNum != kSequenceTitle && seqNum < kSequenceZanfaun && + + if (_flags.isDemo && !_flags.isTalkie) { + if (seqNum == kSequenceDemoFisher) { + _abortIntroFlag = false; + resetSkipFlag(); + seqNum = kSequenceDemoVirgin; + } + } else { + if ((seqNum != kSequenceTitle && seqNum < kSequenceZanfaun && (_abortIntroFlag || skipFlag())) || seqNum == kSequenceZanfaun) { - _abortIntroFlag = false; - resetSkipFlag(); - seqNum = kSequenceWestwood; + _abortIntroFlag = false; + resetSkipFlag(); + seqNum = kSequenceWestwood; + } } if (_menuChoice) { |