aboutsummaryrefslogtreecommitdiff
path: root/engines/tucker/sequences.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tucker/sequences.cpp')
-rw-r--r--engines/tucker/sequences.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/engines/tucker/sequences.cpp b/engines/tucker/sequences.cpp
index 57e037cf97..a1523c7aa0 100644
--- a/engines/tucker/sequences.cpp
+++ b/engines/tucker/sequences.cpp
@@ -33,6 +33,14 @@
namespace Tucker {
+void TuckerEngine::handleIntroSequence() {
+ const int firstSequence = _isDemo ? kFirstAnimationSequenceDemo : kFirstAnimationSequenceGame;
+ _player = new AnimationSequencePlayer(_system, _mixer, _eventMan, firstSequence);
+ _player->mainLoop();
+ delete _player;
+ _player = 0;
+}
+
void TuckerEngine::handleCreditsSequence() {
static const int _creditsSequenceData1[] = { 200, 350, 650, 850, 1150, 1450, 12000 };
static const int _creditsSequenceData2[] = { 1, 1, 5, 0, 6, 6, 0 };
@@ -727,7 +735,7 @@ void AnimationSequencePlayer::loadSounds(int type, int num) {
if (_musicVolume != 0) {
Audio::AudioStream *s;
if ((s = loadSoundFileAsStream(_musicFileNamesTable[index], (type == 5) ? kAnimationSoundType16BitsRAW : kAnimationSoundType8BitsRAW)) != 0) {
- _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, s, -1, _musicVolume * Audio::Mixer::kMaxChannelVolume / 100);
+ _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, s, -1, scaleMixerVolume(_musicVolume));
}
}
}
@@ -741,14 +749,14 @@ void AnimationSequencePlayer::updateSounds() {
case 0:
if ((index = p[1]) < _soundsList1Count) {
if ((s = loadSoundFileAsStream(_soundsList1[index], kAnimationSoundTypeWAV)) != 0) {
- _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_soundsHandle[index], s, -1, p[3] * Audio::Mixer::kMaxChannelVolume / 100);
+ _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_soundsHandle[index], s, -1, scaleMixerVolume(p[3]));
}
}
break;
case 1:
if ((index = p[1]) < _soundsList1Count) {
if ((s = loadSoundFileAsStream(_soundsList1[index], kAnimationSoundTypeLoopingWAV)) != 0) {
- _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_soundsHandle[index], s, -1, p[3] * Audio::Mixer::kMaxChannelVolume / 100);
+ _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_soundsHandle[index], s, -1, scaleMixerVolume(p[3]));
}
}
break;
@@ -765,13 +773,13 @@ void AnimationSequencePlayer::updateSounds() {
index = p[1];
if ((s = loadSoundFileAsStream(_musicFileNamesTable[index], kAnimationSoundType8BitsRAW)) != 0) {
_musicVolume = p[3];
- _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, s, -1, _musicVolume * Audio::Mixer::kMaxChannelVolume / 100);
+ _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, s, -1, scaleMixerVolume(_musicVolume));
}
break;
case 5:
if ((index = p[1]) < _soundsList2Count) {
if ((s = loadSoundFileAsStream(_soundsList2[index], kAnimationSoundTypeWAV)) != 0) {
- _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, s, -1, p[3] * Audio::Mixer::kMaxChannelVolume / 100);
+ _mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_sfxHandle, s, -1, scaleMixerVolume(p[3]));
}
}
break;
@@ -780,7 +788,7 @@ void AnimationSequencePlayer::updateSounds() {
index = p[1];
if ((s = loadSoundFileAsStream(_musicFileNamesTable[index], kAnimationSoundType16BitsRAW)) != 0) {
_musicVolume = p[3];
- _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, s, -1, _musicVolume * Audio::Mixer::kMaxChannelVolume / 100);
+ _mixer->playInputStream(Audio::Mixer::kMusicSoundType, &_musicHandle, s, -1, scaleMixerVolume(_musicVolume));
}
break;
default: