aboutsummaryrefslogtreecommitdiff
path: root/engines/queen/music.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/queen/music.cpp')
-rw-r--r--engines/queen/music.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/engines/queen/music.cpp b/engines/queen/music.cpp
index d00694dc4a..63ed42e810 100644
--- a/engines/queen/music.cpp
+++ b/engines/queen/music.cpp
@@ -43,6 +43,8 @@ MidiMusic::MidiMusic(MidiDriver *driver, QueenEngine *vm)
_musicData = vm->resource()->loadFile(filename, 0, &_musicDataSize);
_numSongs = READ_LE_UINT16(_musicData);
this->open();
+
+ _tune = vm->resource()->isDemo() ? Sound::_tuneDemo : Sound::_tune;
}
MidiMusic::~MidiMusic() {
@@ -194,7 +196,7 @@ void MidiMusic::queueTuneList(int16 tuneList) {
return;
}
- int mode = (_numSongs == 40) ? Sound::_tuneDemo[tuneList].mode : Sound::_tune[tuneList].mode;
+ int mode = _tune[tuneList].mode;
switch (mode) {
case 0: // random loop
_randomLoop = true;
@@ -210,13 +212,8 @@ void MidiMusic::queueTuneList(int16 tuneList) {
}
int i = 0;
- if (_numSongs == 40) {
- while (Sound::_tuneDemo[tuneList].tuneNum[i])
- queueSong(Sound::_tuneDemo[tuneList].tuneNum[i++] - 1);
- } else {
- while (Sound::_tune[tuneList].tuneNum[i])
- queueSong(Sound::_tune[tuneList].tuneNum[i++] - 1);
- }
+ while (_tune[tuneList].tuneNum[i])
+ queueSong(_tune[tuneList].tuneNum[i++] - 1);
if (_randomLoop)
_queuePos = randomQueuePos();