aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMax Horn2007-02-16 13:41:38 +0000
committerMax Horn2007-02-16 13:41:38 +0000
commitcfc3d0a8ed53091d264c552403b0473de3359c2d (patch)
treed0a9af7b0bbffdaacd5b108fc2aa3cb5d2d6d5d0 /engines
parent4db72c8762de07e8de6bc693a8d2cc5ceef74330 (diff)
downloadscummvm-rg350-cfc3d0a8ed53091d264c552403b0473de3359c2d.tar.gz
scummvm-rg350-cfc3d0a8ed53091d264c552403b0473de3359c2d.tar.bz2
scummvm-rg350-cfc3d0a8ed53091d264c552403b0473de3359c2d.zip
AGOS: Send GM System Enable/On upon startup
svn-id: r25631
Diffstat (limited to 'engines')
-rw-r--r--engines/agos/agos.cpp2
-rw-r--r--engines/agos/midi.cpp8
-rw-r--r--engines/agos/midi.h2
3 files changed, 9 insertions, 3 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 9604894190..874bed1e11 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -73,7 +73,7 @@ static const GameSpecificSettings puzzlepack_settings = {
#endif
AGOSEngine::AGOSEngine(OSystem *syst)
- : Engine(syst), midi(syst) {
+ : Engine(syst), midi() {
_vcPtr = 0;
_vc_get_out_of_code = 0;
_gameOffsetsPtr = 0;
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index 8f85730fb5..07dea2bb08 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -36,7 +36,7 @@ namespace AGOS {
// and just provide a factory function.
extern MidiParser *MidiParser_createS1D();
-MidiPlayer::MidiPlayer(OSystem *system) {
+MidiPlayer::MidiPlayer() {
// Since initialize() is called every time the music changes,
// this is where we'll initialize stuff that must persist
// between songs.
@@ -72,6 +72,12 @@ int MidiPlayer::open() {
if (ret)
return ret;
_driver->setTimerCallback(this, &onTimer);
+
+ // General MIDI System On message
+ // Resets all GM devices to default settings
+ _driver->sysEx((const byte *)"\x7E\x7F\x09\x01", 4);
+ g_system->delayMillis(200);
+
return 0;
}
diff --git a/engines/agos/midi.h b/engines/agos/midi.h
index b10460bf3a..a28847a343 100644
--- a/engines/agos/midi.h
+++ b/engines/agos/midi.h
@@ -84,7 +84,7 @@ public:
bool _enable_sfx;
public:
- MidiPlayer(OSystem *system);
+ MidiPlayer();
virtual ~MidiPlayer();
void loadSMF(Common::File *in, int song, bool sfx = false);