aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2002-10-26 09:40:07 +0000
committerTravis Howell2002-10-26 09:40:07 +0000
commitc62abd5d793dc477acdbd744cdccbdeb0ce4b3ae (patch)
treedb323f5ea457ab566b3ab721a297afa188e5c2d3
parentab3aecddd57a21a5042a93c0df27e543769a9d21 (diff)
downloadscummvm-rg350-c62abd5d793dc477acdbd744cdccbdeb0ce4b3ae.tar.gz
scummvm-rg350-c62abd5d793dc477acdbd744cdccbdeb0ce4b3ae.tar.bz2
scummvm-rg350-c62abd5d793dc477acdbd744cdccbdeb0ce4b3ae.zip
Simon 1 dos talkie music working but no looping
svn-id: r5315
-rw-r--r--simon/simon.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 9ccab31658..a9e4be25ed 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -4882,7 +4882,7 @@ void SimonState::playSound(uint sound)
void SimonState::playMusic(uint music)
{
/* FIXME: not properly implemented */
- /* Simon 1/2 dos talkie music aren't supported */
+ /* Simon 2 dos talkie music isn't supported */
/* Simon 2 dos music isn't supported */
const char *s2 = gss->wav_filename2;
File music_file;
@@ -4910,6 +4910,18 @@ void SimonState::playMusic(uint music)
midi.initialize();
midi.play();
+ } else {
+ if (_game == GAME_SIMON1WIN) {
+
+ midi.shutdown();
+
+ _game_file->seek(_game_offsets_ptr[gss->MUSIC_INDEX_BASE + music], SEEK_SET);
+ File *f = _game_file;
+ midi.read_all_songs_old(f);
+
+ midi.initialize();
+ midi.play();
+ }
}
}