aboutsummaryrefslogtreecommitdiff
path: root/simon/simon.cpp
diff options
context:
space:
mode:
authorJamieson Christian2003-05-20 16:43:53 +0000
committerJamieson Christian2003-05-20 16:43:53 +0000
commita768deb83fe38ce879e46339431a8a49d9cf8c73 (patch)
treecc949e63dd3f4b4b11e5d1e2f01ea39695aac872 /simon/simon.cpp
parentdab0e4308e137e1a82856a9b25575b720d4bd2bb (diff)
downloadscummvm-rg350-a768deb83fe38ce879e46339431a8a49d9cf8c73.tar.gz
scummvm-rg350-a768deb83fe38ce879e46339431a8a49d9cf8c73.tar.bz2
scummvm-rg350-a768deb83fe38ce879e46339431a8a49d9cf8c73.zip
Simon music fixes
svn-id: r7744
Diffstat (limited to 'simon/simon.cpp')
-rw-r--r--simon/simon.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 204fbbd474..a8d5b95422 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -4952,7 +4952,7 @@ void SimonState::go() {
addTimeEvent(0, 1);
openGameFile();
- _last_music_played = (uint) - 1;
+ _last_music_played = -1;
_vga_base_delay = 1;
_start_mainscript = false;
@@ -5277,24 +5277,25 @@ bool SimonState::load_game(uint slot) {
return true;
}
-void SimonState::midi_play(uint a) {
- if (a == 999)
- return;
+void SimonState::midi_play (uint track) {
+ if (track == 999)
+ return;
- if (_vc72_var1 == 999) {
- //FIXME Original game started music at this point
- }
+ if (_vc72_var1 == 999) {
+// _midi_var11 = 0;
+ midi.jump (track, 0);
+// _midi_var12 = 1;
+ }
}
-void SimonState::playMusic(uint music) {
+void SimonState::playMusic (uint music) {
if (midi._midi_sfx_toggle)
return;
if (_game & GF_SIMON2) { // Simon 2 music
midi.stop();
_game_file->seek(_game_offsets_ptr[gss->MUSIC_INDEX_BASE + music - 1], SEEK_SET);
- //FIXME The original game only loaded music file at this point
if (_game & GF_WIN) {
midi.playMultipleSMF (_game_file);
} else {
@@ -5334,6 +5335,7 @@ void SimonState::playMusic(uint music) {
midi.playSMF (f, music);
delete f;
}
+ midi.jump (0, 0);
}
}
}