#9261 closed patch
MT-32 reverb config parsed incorrectly
Reported by: | SF/sven3000 | Owned by: | bluegr |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | MT-32 | |
Cc: | Game: |
Description
ScummVM doesn't correctly parse the reverb data in the MT-32 patch resource. It also doesn't send the default reverb settings to the MT-32. This problem seems to apply to every SCI0 and SCI1 game.
In the MidiPlayer_Midi::readMt32Patch (engines/sci/sound/driver/midi.cpp) function, the _reverbConfig array is initialized in the wrong order. It is read row-wise while it is stored column-wise. The attached patch includes a fix for this function.
In addition, the reverb settings stored in _reverbConfig[0] need to be sent to the MT-32 somewhere. The real SCI engine (observed by running the games in DOSBox) sends this command before it first plays music.
I think the best place to put it would probably be MidiParser_SCI::sendInitCommands (engines/sci/sound/midiparser_sci.cpp), but that seems to send it more often than the real SCI does. If you know a better place to put it, be my guest.
Because I wasn't sure where to put it, the attached patch does NOT include this! It only fixes the reverb config parsing!
This behaviour was observed with ScummVM 1.2.0 and svn revision 54451, on Windows 7 x64, and with multiple games including KQ4 and KQ5.
Ticket imported from: #3117434. Ticket imported from: patches/1366.
Attachments (1)
Change History (7)
by , 14 years ago
Attachment: | mt32_reverb.patch added |
---|
comment:1 by , 14 years ago
Summary: | MT-32 reverb config parsed incorrectly → SCI: MT-32 reverb config parsed incorrectly |
---|
comment:3 by , 14 years ago
Component: | Engine: SCI |
---|---|
Game: | King's Quest 4 |
Summary: | SCI: MT-32 reverb config parsed incorrectly → MT-32 reverb config parsed incorrectly |
comment:4 by , 14 years ago
Patch added in r54453, after discussing with waltervn.
As for setting the default reverb value, this is a separate issue. It seems that not all SCI versions did this, so I've added it as a TODO for now, till we sort it out
Closing this, thanks!
comment:5 by , 14 years ago
Owner: | set to |
---|---|
Status: | new → closed |
comment:6 by , 6 years ago
Component: | → Engine: SCI |
---|---|
Keywords: | MT-32 added |
Patch to fix MT-32 reverb config data parsing (does not fix sending initial reverb issue)