diff options
Diffstat (limited to 'engines')
| -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) {  | 
