aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
2019-08-07SCI: (FB01 sound driver) - add missing empty lineathrxx
2019-08-07SCI: Fix pitch wheel bug in adlib driverWalter van Niftrik
2019-08-07SCI: (ADL driver) - implement/fix voice mappingathrxx
- Backport some code of waltervn's fork at his recommendation (taken from 97604200 and 4c3bfee5). That code has caught some bitrot and I were too lazy to manually resolve the merge conflicts. All changes have been re-checked with disasm. - Add initTrack() implementation for SCI0 EARLY/LATE - Minor cleanup - Please note that this commit does not fix any shortcomings of the SCI sound engine
2019-08-07SCI: (ADL driver) - remove unused declarationathrxx
2019-08-07SCI: error dialog for missing sound patch/driver filesathrxx
After implementing such a dialog into the fb01 driver it did make sense to me to also have this as a feature for all other aftermarket drivers/patches. So now the sound drivers can report missing files after the failed open() call which will then be displayed in a dialog. Which will at least be more helpful than our usual error messages...
2019-08-07SCI: (FB01 sound driver) - several fixesathrxx
Fix SCI0 (LATE/EARLY) variants of the driver which were broken (didn't play at all). This might be of my own doing, since I introduced the initTrack() method into the driver class and the fb01 driver didn't have one so far. SCI1 didn't seem to require much fixing. I modified some things according to my findings in the driver disasms. QFG2 and JONES seem to be fine. I am not too happy with KQ5. It has volume issues, but they might be present in the original, too. I also added an isOpen() check and a mutex to avoid threading issues. When aborting SCI (either quitting ScummVM or returning ot the launcher) while using the fb01 driver I frequently (more often than not) got the assert from backends/midi/windows.cpp, line 95. This fixes that. I've done plenty of checks and experiments with the sound bank initialization. But I found no bugs or possible improvements there. Hard to tell whether the sound is right. That device seems to have a mind of its own...
2019-08-07AUDIO: (FM-Towns/PC98) - cleanup mutex handlingathrxx
2019-08-07SCI: (FM-Towns sound driver) - fix pitchwheel glitchathrxx
Pitchwheel and channel volume settings need to be updated when the channels get reassigned. This bug caused faulty music at least in KQ5 when walking from the dwarves scene into the harp playing tree scene.
2019-08-04SCI: Update SQ4 swimAndShoot workaroundsluicebox
Remove room number from swimAndShoot room 411 workarounds to be consistent with room 410 and handle case where script runs after room number changes
2019-08-04SCI: Fix CAMELOT sword sheathing during room changesluicebox
Fixes bug #11042
2019-08-01SCI: Fix LB2 coal message in room 720sluicebox
2019-08-01SCI: Fix ICEMAN 'Climb down hatch'sluicebox
Fixes bug #11039
2019-07-31SCI: Fix LB1 fingerprint copy protectionsluicebox
2019-07-28SCI: Re-apply accidentially overwritten PQ3 EGA detection entry's extra fieldLothar Serra Mari
2019-07-28SCI: Add detection entry for debug version of Codename: IcemanLothar Serra Mari
This special debug build was salvaged by Clint Basinger ("LGR") from an IBM PCjr that was previously owned by Ken Williams from Sierra On-Line.
2019-07-26SCI: Fix MOTHERGOOSE Main menu crashsluicebox
Fixes bug #9681
2019-07-24SCI: Fix CAMELOT Fatima room messagessluicebox
Fixes bug #11028
2019-07-24SCI: Fix CAMELOT Missing Hunter pointssluicebox
Fixes bug #11027
2019-07-24SCI: Fix GCC Compilation Error from Missing Format StringD G Turner
2019-07-24SCI: (CMS sound driver) - handle invalid program changesathrxx
(This triggered an assert in PQ2 at the airport. I've added a warning instead, since the original driver has no handling for that sort of thing. Invalid programs will simply point into invalid memory blocks)
2019-07-24SCI: Fix CAMELOT Mule messagesluicebox
Fixes bug #11026
2019-07-22SCI: (CMS sound driver) - add support for SCI0athrxx
I haven't found an elegant and non-intrusive way to squeeze SCI0 support into LordHoto's existing code. The drivers are too different. So I made some rearrangements. The basic mechanisms of LordHoto's SCI1 code should remain the same as before, though. I only introduced some more classes, moved some code into these classes and renamed some things (mainly for myself, so as not to get confused). I fixed two voice mapping bugs in the existing driver code. The first bug in bindVocies() effectively hindered the driver from playing anything at all when the CMS_DISABLE_VOICE_MAPPING #define wasn't set (_voice[i].channel == 0xFF instead of _voice[i].channel != 0xFF). The second bug in unbindVoices() was not a complete show stopper, but the function simply did not "unbind the voice". The line which does the actual removal of the channel assignment was missing. The SCI0 driver portions have been tested with: PQ2, KQ4, LSL3, QFG1, ICE and COC. SCI_0_EARLY versions apparently don't support the CMS. At least I haven't seen a driver file so far. And there seems to be no no instrument patch resource. Although the latter issue needn't necessarily be one, since the patch data array in the driver is actually preset with data (which gets overwritten as soon as a patch file is loaded). Maybe this would work for SCI_0_EARLY. However, I haven't tested this, since I really would have have a look at a driver file first if one actually exists. For now, I have limited the driver to SCI_0_LATE. SCI1 has been tested with KQ5 and LSL5 (not extensively, just to see whether anything got broken and whether my voice mapping fixes work).
2019-07-22SCI: Fix CAMELOT relic merchant lockupsluicebox
Fixes bug #11025
2019-07-21SCI: Fix kDrawPic palette validationsluicebox
Fixes CAMELOT bug #11024
2019-07-21SCI: Set PQ3 EGA detection entry's extra fieldsluicebox
2019-07-21SCI: Implement full kWait behaviorsluicebox
Fixes PQ3 bug #11020
2019-07-17SCI: revert accidental commitsathrxx
2019-07-17SCI: (FB01 sound driver) - SCI0_LATE fixathrxx
Fix up SCI0_LATE variant of the driver so that it actually plays anything (and even correctly). SCI1 hasn't seen any testing from me so far. I don't know whether that version works. Same for SCI0_EARLY...
2019-07-17SCI: (CMS sound driver) - add support for SCI0athrxx
I haven't found an elegant and non-intrusive way to squeeze SCI0 support into LordHoto's existing code. The drivers are too different. So I made some rearrangements. The basic mechanisms of LordHoto's SCI1 code should remain the same as before, though. I only introduced some more classes, moved some code into these classes and renamed some things (mainly for myself, so as not to get confused). I fixed two voice mapping bugs in the existing driver code. The first bug in bindVocies() effectively hindered the driver from playing anything at all when the CMS_DISABLE_VOICE_MAPPING #define wasn't set (_voice[i].channel == 0xFF instead of _voice[i].channel != 0xFF). The second bug in unbindVoices() was not a complete show stopper, but the function simply did not "unbind the voice". The line which does the actual removal of the channel assignment was missing. The SCI0 driver portions have been tested with: PQ2, KQ4, LSL3, QFG1, ICE and COC. SCI_0_EARLY versions apparently don't support the CMS. At least I haven't seen a driver file so far. And there seems to be no no instrument patch resource. Although the latter issue needn't necessarily be one, since the patch data array in the driver is actually preset with data (which gets overwritten as soon as a patch file is loaded). Maybe this would work for SCI_0_EARLY. However, I haven't tested this, since I really would have have a look at a driver file first if one actually exists. For now, I have limited the driver to SCI_0_LATE. SCI1 has been tested with KQ5 and LSL5 (not extensively, just to see whether anything got broken and whether my voice mapping fixes work).
2019-07-17SCI: (PC98 audio driver) - base tempo correctionathrxx
(somewhat difficult to make out any difference, but it does affect the envelope processing)
2019-07-17SCI CPathrxx
Conflicts: engines/sci/engine/script_patches.cpp
2019-07-12SCI: Fix ICEMAN destroyer timer, bug #11017sluicebox
2019-07-10SCI: Remove GAMEOPTION_ORIGINAL_SAVELOAD from Mac gamessluicebox
2019-07-10SCI: allow fanmade games to use resource.000Kawa-oneechan
SCI11 doesn't have split volumes after all. Fixes The Dating Pool.
2019-07-09SCI: Implement early GetLongest() behavior, bug #10000sluicebox
2019-07-09SCI32: Remove some Hoyle 5 TODOsFilippos Karapetis
Hoyle 5 does not show subtitles, even though it does contain text for all of the included speech in its resource files
2019-07-09SCI: Move The Dating Pool entries together with the other fanmade gamesFilippos Karapetis
2019-07-09SCI: Replace three most common GUIO's by definesWillem Jan Palenstijn
2019-07-08SCI: Fix build when SCI32 isn't enabledLe Philousophe
2019-07-07SCI32: Add stub for the Hoyle 5 Poker game logicFilippos Karapetis
2019-07-02SCI32: Fix QFG4 Look-Dungeon Messagesluicebox
2019-07-02SCI: Disable SQ4 timepod code for missing roomsluicebox
Fixes #11006
2019-06-30SCI32: Promote QFG4 to testingFilippos Karapetis
2019-06-30SCI32: Extend scaler sanity checks to all SCI32 versionsFilippos Karapetis
Fixes QFG4 bug #10765. It's preferable to have sanity checks in the code, rather than crashing due to invalid draw rectangles from buggy game scripts. It's no use checking which specific interpreter versions had sanity checks and trust the game scripts of the other interpreters. Thus, it's easier and safer to always enable these sanity checks.
2019-06-30SCI: Fix SQ4 English Amiga dress logic, bug #11004sluicebox
2019-06-28SCI32: Fix QFG4 character selection, bug #11002sluicebox
2019-06-28SCI32: Fix kShakeScreen32 parameter count checksluicebox
2019-06-27SCI32: Make QFG4 tentacle patch GOG compatiblesluicebox
2019-06-26SCI32: Fix QFG4 Ad Avis capture lockup, bug #11001sluicebox
2019-06-26SCI32: Fix QFG4CD Grooper crashes at inn and monolithsluicebox
Fixes bugs #10747, #10760