From d68ce6dc075cf359dd30d56bb1f72b0a005c7d94 Mon Sep 17 00:00:00 2001 From: Joseph-Eugene Winzer Date: Sun, 7 Jan 2018 23:40:33 +0100 Subject: SUPERNOVA: Changes array to seperate variables --- engines/supernova/supernova.cpp | 22 ++++++++++++---------- engines/supernova/supernova.h | 3 ++- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp index 1f0eb9b917..3fe07dc0d0 100644 --- a/engines/supernova/supernova.cpp +++ b/engines/supernova/supernova.cpp @@ -101,6 +101,8 @@ SupernovaEngine::SupernovaEngine(OSystem *syst) , _console(NULL) , _gm(NULL) , _currentImage(NULL) + , _soundMusicIntro(NULL) + , _soundMusicOutro(NULL) , _brightness(255) , _menuBrightness(255) , _delay(33) @@ -121,8 +123,6 @@ SupernovaEngine::SupernovaEngine(OSystem *syst) DebugMan.addDebugChannel(kDebugGeneral, "general", "Supernova general debug channel"); _rnd = new Common::RandomSource("supernova"); - _soundMusic[0] = NULL; - _soundMusic[1] = NULL; } SupernovaEngine::~SupernovaEngine() { @@ -132,8 +132,8 @@ SupernovaEngine::~SupernovaEngine() { delete _rnd; delete _console; delete _gm; - delete _soundMusic[0]; - delete _soundMusic[1]; + delete _soundMusicIntro; + delete _soundMusicOutro; } Common::Error SupernovaEngine::run() { @@ -360,8 +360,8 @@ void SupernovaEngine::initData() { file.close(); } - _soundMusic[0] = convertToMod("msn_data.049"); - _soundMusic[1] = convertToMod("msn_data.052"); + _soundMusicIntro = convertToMod("msn_data.049"); + _soundMusicOutro = convertToMod("msn_data.052"); // Cursor const uint16 *bufferNormal = reinterpret_cast(mouseNormal); @@ -403,12 +403,14 @@ void SupernovaEngine::stopSound() { void SupernovaEngine::playSoundMod(int filenumber) { - if (filenumber != 49 && filenumber != 52) { + Audio::AudioStream *audioStream; + if (filenumber == 49) + audioStream = Audio::makeProtrackerStream(_soundMusicIntro); + else if (filenumber == 52) + audioStream = Audio::makeProtrackerStream(_soundMusicOutro); + else return; - } - int index = filenumber == 49 ? 0 : 1; - Audio::AudioStream *audioStream = Audio::makeProtrackerStream(_soundMusic[index]); stopSound(); _mixer->playStream(Audio::Mixer::kMusicSoundType, &_soundHandle, audioStream, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO); diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h index 8b1fe40dad..29d7dd678b 100644 --- a/engines/supernova/supernova.h +++ b/engines/supernova/supernova.h @@ -106,7 +106,8 @@ public: byte _mouseWait[256]; MSNImageDecoder *_currentImage; SoundSample _soundSamples[kAudioNumSamples]; - Common::MemoryReadStream *_soundMusic[2]; + Common::MemoryReadStream *_soundMusicIntro; + Common::MemoryReadStream *_soundMusicOutro; Common::Event _event; int _screenWidth; int _screenHeight; -- cgit v1.2.3