Commit Graph
8286 Commits
Author SHA1 Message Date
sluicebox 25e32b2067 SCI: Fix script patch macro 2019-09-02 17:27:07 -07:00
sluicebox 062d3088a8 SCI: Disable LONGBOW Amiga speed test 2019-09-02 17:24:13 -07:00
sluicebox 9306135a6a SCI: Fix LONGBOW Amiga Fulk rescue
Fixes bug #11137
2019-09-02 01:38:44 -07:00
sluicebox 34a948aa0a SCI: Fix ECO2 reappearing items in shack
Fixes bug #11135
2019-09-01 17:46:54 -07:00
sluicebox 196378d9da SCI: Add ECO2 workaround for Ecorder talk button 2019-08-31 08:34:10 -07:00
sluicebox e36a4be7ce SCI: Fix addAsVirtualFiles creating titles with no files
Fixes QFG game titles appearing on import screens when no character
files exist but save files exist that match fileMask
2019-08-30 18:00:25 -07:00
athrxx 2a2351eb2c SCI: (FB01 sound driver) - get rid of mutex
- The mutex was added to avoid the triggering of the assert in backends/midi/windows.cpp, line 95. Meanwhile, this issue has been addressed differently.
- SCI does not per se require a mutex for the sound drivers. The engine is mostly thread-safe by avoiding driver calls through the main thread.
2019-08-25 11:58:20 +02:00
sluicebox e6bfda8e49 SCI32: Fix QFG4 Empty Burgomeister room teller
Fixes bug #10754
2019-08-24 15:34:54 -07:00
sluicebox 178f507926 SCI: Fix PQ3 Day 6 house fire repeating
Fixes bug #11089
2019-08-21 19:34:15 -07:00
sluicebox 60fcf993e7 GRAPHICS: Display Mac monochrome cursor inverted pixels
Bug #7050
2019-08-21 14:13:26 +03:00
sluicebox 5baa02c750 SCI: Fix QFG1VGA Drink water message
Fixes bug #11086
2019-08-20 01:02:08 -07:00
sluicebox 1dbd50b7e3 SCI: Fix spacing and macro on previous commit 2019-08-19 18:47:23 -07:00
sluicebox cc05dbccd9 SCI: Fix PQ3 doctor's mouth animation speed
Fixes bug #10255
2019-08-19 18:37:44 -07:00
sluicebox aab2204131 SCI32: Fix QFG4 Great Hall argument door
Fixes a large number of script bugs surrounding the door to
the argument between Katrina and Ad Avis in the great hall.
This fixes floppy-only bugs, CD regressions, and message
responses which were broken in all versions.

As part of this, the audio for two messages is now available
in the CD version for the first time.

Bug #10799
2019-08-19 16:33:13 -07:00
sluicebox 2b6d58cbb2 SCI: Fix builds when SCI32 disabled
Fixes previous commit
2019-08-15 17:44:44 -07:00
sluicebox 25374e0533 SCI: Fix ECO2 Icon bar tutorial
Fixes bug #11081
2019-08-15 17:16:28 -07:00
sluicebox aea7da4410 SCI: Fix Macintosh kDrawPic mirror flag handling
Fixes the KQ6 Mac peppermint cave room
2019-08-14 08:29:12 -07:00
sluicebox f019afa94a SCI: Fix SQ4CD Unstable ordnance bug
Fixes bug #11077
2019-08-13 10:56:22 +03:00
sluicebox 99a7478cd6 SCI: Update Sound:vol in processUpdateCues
Sound:vol is updated when updating cues starting in SCI_VERSION_1_MIDDLE.

Fixes bug #10244. SQ4 localized floppy versions depend on this when getting
in the orange ship, they fade music and wait for the volume to reach zero.

Confirmed against asm that this is not in SQ4 floppy (early) but is in
LSL1VGA (middle) and SQ4 localized floppies and SQ4CD (late).
2019-08-12 03:30:31 -07:00
sluicebox 0069281c09 SCI: Fix SQ4CD hintbook text layout
Fixes #11070
2019-08-12 09:27:35 +03:00
sluicebox 8d648b5b7e SCI: Add detection entry for QFG4 Demo from KQ6 CD-ROM
Trac #11062
2019-08-11 20:56:18 -07:00
sluicebox 6884349534 SCI32: Fix Mirrored Pic Drawing
Fixes bug #10748
2019-08-11 18:55:10 +03:00
Cameron Cawley fe5dddf901 GRAPHICS: Add a version of CursorManager::replaceCursor that accepts a Graphics::Cursor 2019-08-09 23:58:32 +03:00
sluicebox 92d3751972 SCI: Fix SQ4 Sock's dressing room obstacles
Fixes bug #11055
2019-08-09 08:16:11 +03:00
athrxx ed297b4e4d SCI: (FB01 sound driver) - fix potential lockup
(add another mutex lock)
2019-08-07 22:36:12 +02:00
athrxx 9d56eb2dc7 SCI: (FB01 sound driver) - add missing empty line 2019-08-07 18:11:16 +02:00
Walter van Niftrik 522d077ad8 SCI: Fix pitch wheel bug in adlib driver 2019-08-07 16:43:08 +02:00
athrxx 09f007fa5e SCI: (ADL driver) - implement/fix voice mapping
- 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-07 16:43:08 +02:00
athrxx f8c98d76e6 SCI: (ADL driver) - remove unused declaration 2019-08-07 16:43:07 +02:00
athrxx 9ea6c43c97 SCI: error dialog for missing sound patch/driver files
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-07 16:43:07 +02:00
athrxx 47a2f62c15 SCI: (FB01 sound driver) - several fixes
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-07 16:43:06 +02:00
athrxx 0e73472207 AUDIO: (FM-Towns/PC98) - cleanup mutex handling 2019-08-07 16:43:06 +02:00
athrxx 8b197e4ec7 SCI: (FM-Towns sound driver) - fix pitchwheel glitch
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-07 16:43:05 +02:00
sluicebox d10c69d0d1 SCI: Update SQ4 swimAndShoot workaround
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-04 21:29:12 -07:00
sluicebox 3bc1c80797 SCI: Fix CAMELOT sword sheathing during room change
Fixes bug #11042
2019-08-04 14:41:10 +03:00
sluicebox 0554ec8000 SCI: Fix LB2 coal message in room 720 2019-08-01 19:58:46 -07:00
sluicebox 72c50d38ae SCI: Fix ICEMAN 'Climb down hatch'
Fixes bug #11039
2019-08-01 14:42:58 +03:00
sluicebox 487f616142 SCI: Fix LB1 fingerprint copy protection 2019-07-31 09:08:37 +03:00
Lothar Serra Mari 9bf7dc817f SCI: Re-apply accidentially overwritten PQ3 EGA detection entry's extra field 2019-07-28 14:53:50 +02:00
Lothar Serra Mari 488a93d102 SCI: Add detection entry for debug version of Codename: Iceman
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-28 15:00:21 +03:00
sluicebox bc85778548 SCI: Fix MOTHERGOOSE Main menu crash
Fixes bug #9681
2019-07-26 09:22:25 +03:00
sluicebox d1e0c91bd0 SCI: Fix CAMELOT Fatima room messages
Fixes bug #11028
2019-07-24 22:41:32 +03:00
sluicebox 60044a7465 SCI: Fix CAMELOT Missing Hunter points
Fixes bug #11027
2019-07-24 22:40:39 +03:00
D G Turner 0e258cafd4 SCI: Fix GCC Compilation Error from Missing Format String 2019-07-24 19:43:26 +01:00
athrxx fce453dc43 SCI: (CMS sound driver) - handle invalid program changes
(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-24 15:47:06 +02:00
sluicebox 708f6ca4be SCI: Fix CAMELOT Mule message
Fixes bug #11026
2019-07-24 08:37:06 +03:00
athrxx 926388b8f4 SCI: (CMS sound driver) - add support for SCI0
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-22 20:17:38 +02:00
sluicebox c6929d50cf SCI: Fix CAMELOT relic merchant lockup
Fixes bug #11025
2019-07-22 07:57:07 +03:00
sluicebox 1441468855 SCI: Fix kDrawPic palette validation
Fixes CAMELOT bug #11024
2019-07-21 23:24:53 +03:00
sluicebox 886e18f936 SCI: Set PQ3 EGA detection entry's extra field 2019-07-21 11:52:19 -07:00