From 2f7b59d3e289be6c9968aa5bad671b6987555108 Mon Sep 17 00:00:00 2001 From: Florian Kagerer Date: Thu, 20 Mar 2008 20:36:36 +0000 Subject: - fix skip flags for non-playable demo svn-id: r31207 --- engines/kyra/sequences_v2.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'engines/kyra/sequences_v2.cpp') 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) { -- cgit v1.2.3