diff options
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/sound/drivers/adlib.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/sci/sound/drivers/adlib.cpp b/engines/sci/sound/drivers/adlib.cpp index 44e52cf768..2e56b023e0 100644 --- a/engines/sci/sound/drivers/adlib.cpp +++ b/engines/sci/sound/drivers/adlib.cpp @@ -703,8 +703,15 @@ void MidiDriver_AdLib::setVelocityReg(int regOffset, int velocity, int kbScaleLe void MidiDriver_AdLib::setPatch(int voice, int patch) { if ((patch < 0) || ((uint)patch >= _patches.size())) { - // This happens a lot at least in pq2, seems to me as if it's meant for mt32 actually - warning("ADLIB: Invalid patch %i requested", patch); + // This happens a lot at least in PQ2. This game has a small patch.003 (1344 bytes), + // containing 48 instruments. However it has several songs which use instruments + // not specified in that patch (namely, songs 1, 3, 5, 9, 15, 16, 17, 23, 25, 27, + // 29, 32, 36, 38, 44, 45, 46 all use instruments not specified in patch.003). + // These were probably written for MT32. These warnings in PQ2 can probably go away + // if a bigger patch.003 file is used (one that contains all the instruments used + // by the songs, i.e. 5382 bytes) + warning("ADLIB: Invalid patch %i requested (patch.003 contains %d instruments)", + patch, _patches.size()); patch = 0; } |