Commit graph

8221 commits

Author SHA1 Message Date
sluicebox
e5ee875b2b SCI32: Fix QFG4 Look-Dungeon Message 2019-07-02 01:10:42 +03:00
sluicebox
d8efb64deb SCI: Disable SQ4 timepod code for missing room
Fixes #11006
2019-07-02 01:07:47 +03:00
Filippos Karapetis
923663c226 SCI32: Promote QFG4 to testing 2019-06-30 15:26:33 +03:00
Filippos Karapetis
2fd416b0ac SCI32: Extend scaler sanity checks to all SCI32 versions
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-30 14:46:37 +03:00
sluicebox
cf274fa47e SCI: Fix SQ4 English Amiga dress logic, bug #11004 2019-06-30 12:13:16 +03:00
sluicebox
543b9cb114 SCI32: Fix QFG4 character selection, bug #11002 2019-06-28 08:33:03 +03:00
sluicebox
148a9b7058 SCI32: Fix kShakeScreen32 parameter count check 2019-06-28 08:30:19 +03:00
sluicebox
1f0f4c9642 SCI32: Make QFG4 tentacle patch GOG compatible 2019-06-27 10:56:23 +03:00
sluicebox
9fe95b9603 SCI32: Fix QFG4 Ad Avis capture lockup, bug #11001 2019-06-26 07:30:03 +03:00
sluicebox
c1610a9fd1 SCI32: Fix QFG4CD Grooper crashes at inn and monolith
Fixes bugs #10747, #10760
2019-06-26 07:12:51 +03:00
sluicebox
28fa491707 SCI32: Fix QFG4 Rabbit combat getting stuck, bug #11000 2019-06-25 07:55:33 +03:00
sluicebox
08a7b6fdc4 SCI32: Fix QFG4 Wraith fan-patch, bug #10711 2019-06-24 08:02:41 +03:00
sluicebox
bfd516ec19 SCI32: Add QFG4 workaround for glide spell message 2019-06-23 17:05:14 -07:00
sluicebox
f1d2939759 SCI32: Fix QFG4 Monastery door lockup, bug #10994 2019-06-23 23:49:49 +03:00
sluicebox
2a1ecd586e SCI32: Fix QFG4 town gate at night, bug #10995 2019-06-23 23:48:58 +03:00
Kawa-oneechan
18716672bb SCI: Split out duplicated color remapping code 2019-06-23 23:46:38 +03:00
Kawa
9aadb27267 SCI: Add some more SCI11+ features
Also gate them behind the presence of a 184.VOC resource instead of GID_CATDATE. This should not matter with regards to the remap effects -- the 2015 and 2016 demos had none, and the first that did has an unknown release status. Only the 2017 demo would fall, which would be easily fixed by dropping in a valid 184.VOC patch file.
2019-06-23 01:46:53 +03:00
athrxx
80f163b0fc ALL: revert accidental commits 2019-06-21 14:19:42 +02:00
athrxx
5e9b690ea4 hh 2019-06-21 13:35:35 +02:00
athrxx
f35eae7287 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-06-21 13:35:35 +02:00
athrxx
09f3d11cc1 SCI: (PC98 audio driver) - base tempo correction
(somewhat difficult to make out any difference, but it does affect the envelope processing)
2019-06-21 13:35:34 +02:00
athrxx
6611a1c289 SCI CP
Conflicts:

	engines/sci/engine/script_patches.cpp
2019-06-21 13:35:34 +02:00
sluicebox
a486438c10 SCI32: Fix QFG4 Ad Avis end-game bugs
Fixes bugs #10835, #10844, #10989
2019-06-21 13:42:34 +03:00
sluicebox
bdf85e33cb SCI: Fix SQ4 Sequel police electronics store bugs
Fixes lockup, animation, and flag bugs when hiding in the
electronics store, bug #10977
2019-06-17 22:17:52 +03:00
sluicebox
5478693995 SCI32: Fix QFG4CD Domovoi inn events, bug #10978 2019-06-17 22:05:06 +03:00
sluicebox
5bb9174ad7 SCI: Fix regression in message workarounds
Reverts an unintended change to the message recursion loop introduced in
56ea963cea that breaks the message stack
2019-06-16 02:57:34 -07:00
sluicebox
f80c11cf34 SCI: Fix SQ4 Monolith Burger door message, bug #10976 2019-06-16 08:05:25 +03:00
sluicebox
23c6c13da2 SCI: Fix FPFP reappearing items, bug #10975
Fixes two similar bugs where inventory items reappear after being
used due to incorrect or missing flag checks
2019-06-14 17:52:54 +03:00
sluicebox
d29727d02a SCI: Add FPFP message workarounds 2019-06-13 17:57:27 -07:00
sluicebox
222ed9c52d SCI: Fix SQ4 Sock's Sequel police crash, bug #10974 2019-06-13 03:36:14 +03:00
sluicebox
4a0e2e528b SCI: Fix SQ4 Big & Tall missing room message 2019-06-10 11:04:15 +03:00
sluicebox
2f837d9edc SCI: Add SQ4 workaround for Sequel Police shooting 2019-06-09 21:02:56 -07:00
sluicebox
56ea963cea SCI: Create message workaround system
Adds a new workaround system for known broken messages and their
corresponding audio and sync resources. This replaces all special
cases in c++ and several script patches with data structures and
generic handling.

Common message bugs:
- Wrong tuple requested by game script
- Wrong tuple in message resource
- Wrong message text that exists in another record
- Missing message text
- Audio or sync resource with different tuple than message
2019-06-09 15:35:57 -07:00
sluicebox
9326f2f31d SCI: Replace SQ4 script patch with workaround 2019-06-09 15:35:57 -07:00
Filippos Karapetis
d2f5023ee9 SCI: Do not apply script patches when checking for static selectors
Fixes bug #10969
2019-06-08 13:57:34 +03:00
sluicebox
d32d2167e9 SCI: Update SQ4 Sequel Police patch for arcade 2019-06-08 11:55:00 +03:00
sluicebox
75a8bfce25 SCI: Fix SQ4 sewer tunnel lockup, bug #10970 2019-06-07 11:03:08 +03:00
sluicebox
a2cc90bf9b SCI: Fix backend events treated as keyboard events
Prevents backend events such as EVENT_SCREEN_CHANGED
from being misinterpreted as SCI keyboard events
2019-06-06 07:08:49 +03:00
Filippos Karapetis
9da3d22703 SCI: Fix MSVC warnings
- Remove unused parameters
- Initialize potentially uninitialized variables
- Use Common::String instead of a fixed buffer
- Remove redundant parentheses
- Change float suffix to be uppercase
- Fix spacing
- Fix integer left shifts with boolean variables
- Fix potential division by zero
- Fix missing breaks
2019-05-27 14:53:41 +03:00
sluicebox
4dda6324b8 SCI: Fix FPFP CD 'Dummy Msg' message texts
Fixes 17 message texts, bug #10964
2019-05-26 13:01:25 +03:00
sluicebox
f441ee7206 SCI: Fix QFG4 random revenant kopeks, bug #10966 2019-05-24 22:26:08 +03:00
sluicebox
67a29ad5b3 SCI: Fix QFG4 Runes puzzle, bug #10965 2019-05-23 09:34:28 +03:00
sluicebox
6a6506bec4 SCI: Add QFG4CD workaround for searching monsters 2019-05-21 16:59:46 -07:00
Filippos Karapetis
048bab9115 SCI: Only apply the FPFP patch for view 844 when it's actually missing
This allows players to view the scene in the Mac version, if they have
copied the resource from the PC version. Requested by m_kiewitz
2019-05-12 22:00:35 +03:00
Filippos Karapetis
9551e64bdf SCI: Remove unnecessary two-phase Kernel initialisation
Adapted from csnover's commit 8c96c1fd3e1568b61ee0594522615466f26a7793
2019-05-12 19:05:51 +03:00
Colin Snover
8cec2ba8f9 SCI: Remove unnecessary two-phase GfxCursor initialisation 2019-05-12 19:05:50 +03:00
Colin Snover
fde0a488b7 SCI32: Fix invalid calls to SCI16 graphics code 2019-05-12 19:05:49 +03:00
sluicebox
29028731c6 SCI: Disable FPFP Mac script that uses missing view
Fixes bug #10954
2019-05-12 11:48:08 +03:00
sluicebox
f4d836b8e9 SCI: Fix QFG1VGA dagger game lockup and error
Fixes a lockup in the PC version and an error in the Mac fix, bug #10958
2019-05-12 11:41:21 +03:00
sluicebox
7862140939 SCI: Change sendMidiCommand non-midi error to warn
FPFP calls kDoSound SendMidi on non-midi sounds. Fixes bug #10952
2019-05-02 22:43:10 +03:00