diff options
author | athrxx | 2018-10-31 19:10:38 +0100 |
---|---|---|
committer | athrxx | 2018-10-31 20:47:04 +0100 |
commit | 12197afd2f4eb85f702e4828384a5b8767795fef (patch) | |
tree | 48a7c830554ac59b639e54247a3cfeb3a3e83fa0 /engines/sci/sound | |
parent | 4a1e97edd2943f30af116ad645191d2c3ea046d3 (diff) | |
download | scummvm-rg350-12197afd2f4eb85f702e4828384a5b8767795fef.tar.gz scummvm-rg350-12197afd2f4eb85f702e4828384a5b8767795fef.tar.bz2 scummvm-rg350-12197afd2f4eb85f702e4828384a5b8767795fef.zip |
SCI: - minor fix to FM-TOWNS sound driver
- workaround to fix music playback in Mixed Up Mothergoose
- remove a useless declaration
Diffstat (limited to 'engines/sci/sound')
-rw-r--r-- | engines/sci/sound/drivers/fmtowns.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sci/sound/drivers/fmtowns.cpp b/engines/sci/sound/drivers/fmtowns.cpp index 270843c396..eb2f8aa45c 100644 --- a/engines/sci/sound/drivers/fmtowns.cpp +++ b/engines/sci/sound/drivers/fmtowns.cpp @@ -116,8 +116,6 @@ public: MidiChannel *allocateChannel() { return 0; } MidiChannel *getPercussionChannel() { return 0; } - uint8 currentProgram(); - void timerCallback(int timerId); private: @@ -640,7 +638,12 @@ byte MidiPlayer_FMTowns::getPlayId() const { } int MidiPlayer_FMTowns::getPolyphony() const { - return (_version == SCI_VERSION_1_EARLY) ? 1 : 6; + // WORKAROUND: + // I set the return value to 16 for SCI_VERSION_1_EARLY here, which fixes music playback in Mixed Up Mothergoose. + // This has been broken since the introduction of SciMusic::remapChannels() and the corresponding code. + // The original code of Mixed Up Mothergoose code doesn't have the remapping and doesn't seem to check the polyphony + // setting ever. So the value of 1 was probably incorrect. + return (_version == SCI_VERSION_1_EARLY) ? 16 : 6; } void MidiPlayer_FMTowns::playSwitch(bool play) { |