diff options
| -rw-r--r-- | common/gameDetector.cpp | 8 | ||||
| -rw-r--r-- | common/gameDetector.h | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp index ef71482604..278dbd0590 100644 --- a/common/gameDetector.cpp +++ b/common/gameDetector.cpp @@ -704,8 +704,12 @@ int GameDetector::detectMain() { * and the game is one of those that want adlib as * default, OR if the game is an older game that doesn't * support anything else anyway. */ - if (_midi_driver == MD_AUTO) - _midi_driver = MD_ADLIB; + if (_midi_driver == MD_AUTO) { + if (_game.midi & MDT_PREFER_NATIVE) + _midi_driver = getMidiDriverType(); + else + _midi_driver = MD_ADLIB; + } bool nativeMidiDriver = (_midi_driver != MD_NULL && _midi_driver != MD_ADLIB && _midi_driver != MD_PCSPK && _midi_driver != MD_PCJR); diff --git a/common/gameDetector.h b/common/gameDetector.h index fcf6846dae..1f54990c3e 100644 --- a/common/gameDetector.h +++ b/common/gameDetector.h @@ -65,7 +65,8 @@ enum MidiDriverType { MDT_NONE = 0, MDT_PCSPK = 1, // MD_PCSPK and MD_PCJR MDT_ADLIB = 2, // MD_ADLIB - MDT_NATIVE = 4 // Everything else + MDT_NATIVE = 4, // Everything else + MDT_PREFER_NATIVE = 8 }; struct VersionSettings { |
