SCI: not error()ing out on no free channels
instead we just ignore such channels. I'm not sure how sierra sci behaved in that case, they ignored channels as well, but maybe they removed them from earlier music svn-id: r51715
This commit is contained in:
parent
dc08c733db
commit
7487b51e87
2 changed files with 6 additions and 2 deletions
|
@ -425,7 +425,8 @@ void MidiParser_SCI::sendToDriver(uint32 midi) {
|
|||
|
||||
// Channel remapping
|
||||
int16 realChannel = _channelRemap[midiChannel];
|
||||
assert(realChannel != -1);
|
||||
if (realChannel == -1)
|
||||
return;
|
||||
|
||||
midi = (midi & 0xFFFFFFF0) | realChannel;
|
||||
if (_mainThreadCalled)
|
||||
|
|
|
@ -293,7 +293,10 @@ int16 SciMusic::tryToOwnChannel(MusicEntry *caller, int16 bestChannel) {
|
|||
return channelNr;
|
||||
}
|
||||
}
|
||||
error("no free channels");
|
||||
// nothing found, don't map channel at all
|
||||
// sierra did this as well, although i'm not sure if we act exactly the same way
|
||||
// maybe they removed channels from previous playing music
|
||||
return -1;
|
||||
}
|
||||
|
||||
void SciMusic::freeChannels(MusicEntry *caller) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue