aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra.cpp')
-rw-r--r--engines/kyra/kyra.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/engines/kyra/kyra.cpp b/engines/kyra/kyra.cpp
index 216033f2d1..fd8eeba512 100644
--- a/engines/kyra/kyra.cpp
+++ b/engines/kyra/kyra.cpp
@@ -146,10 +146,10 @@ int KyraEngine::init() {
// TODO: We should play the native Kyra 2 Adlib music, but until that
// is support, we'll use the automagic MIDI -> Adlib converter.
- if (_flags.hasAudioCD) {
+ if (_flags.platform == Common::kPlatformFMTowns) {
// no sfx enabled for CD audio music atm
// later on here should be a usage of MixedSoundDriver
- _sound = new SoundCD(this, _mixer);
+ _sound = new SoundTowns(this, _mixer);
} else if (midiDriver == MD_ADLIB && _flags.gameID == GI_KYRA1) {
_sound = new SoundAdlibPC(this, _mixer);
assert(_sound);
@@ -182,11 +182,7 @@ int KyraEngine::init() {
assert(_sound);
}
}
- if (!_sound->init()) {
- error("Couldn't init sound");
- }
- _sound->setVolume(255);
-
+
_res = new Resource(this);
assert(_res);
_sprites = new Sprites(this, _system);
@@ -207,6 +203,17 @@ int KyraEngine::init() {
initStaticResource();
+ if (!_sound->init())
+ error("Couldn't init sound");
+
+ if (_flags.platform == Common::kPlatformFMTowns)
+ _sound->setSoundFileList(_soundFilesTowns, _soundFilesTownsCount);
+ else
+ _sound->setSoundFileList(_soundFiles, _soundFilesCount);
+
+ _sound->setVolume(255);
+ _sound->loadSoundFile(0);
+
_paletteChanged = 1;
_currentCharacter = 0;
_characterList = new Character[11];