aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
authorathrxx2018-10-31 19:10:38 +0100
committerathrxx2018-10-31 20:47:04 +0100
commit12197afd2f4eb85f702e4828384a5b8767795fef (patch)
tree48a7c830554ac59b639e54247a3cfeb3a3e83fa0 /engines/sci/sound
parent4a1e97edd2943f30af116ad645191d2c3ea046d3 (diff)
downloadscummvm-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.cpp9
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) {