Commit Graph
7940 Commits
Author SHA1 Message Date
Filippos Karapetis 01f3e6ccd2 SCI32: Fix a script bug when fighting revenants in QFG4 2018-08-25 13:53:13 +03:00
Filippos Karapetis 414d0277d0 SCI: Fix compilation 2018-08-25 12:57:01 +03:00
Filippos Karapetis 6fb19d1d01 SCI: Fix compilation when SCI32 is disabled 2018-08-25 12:44:13 +03:00
Filippos Karapetis d597fbc5e3 SCI32: Fix the walk region in Cazanoux's house in GK1
Fixes bug #9770
2018-08-25 12:39:14 +03:00
Filippos Karapetis a0bad913ae SCI32: Add a workaround for Shivers 2018-08-25 12:39:13 +03:00
Filippos Karapetis 0101ac6f71 SCI: Add a default case to the switch in toDebugString()
Silences a false positive in MSVC
2018-08-25 12:39:13 +03:00
Filippos Karapetis 941869c466 SCI32: Remove reg32_t and use reg_t in all cases
reg32_t was a transitive solution, before reg_t's were
adapted to use 32-bit addresses internally, and before
support for SCI3 was added. It was introduced as another
way to handle large script offsets in SCI3, and was only
used for the program counter (PC). It's no longer
needed, as we now support SCI3 script offsets using
reg_t's, so we can use make_reg32 in all cases where
we need to access offsets over 64KB
2018-08-25 12:39:12 +03:00
Filippos Karapetis 66cbaeefe2 SCI32: Adapt the pathfinding debug code to work woth SCI32 games 2018-08-25 12:39:12 +03:00
Filippos Karapetis 4dc9f0e66d SCI32: Fix attacking necrotaurs with the sword in QFG4
Fixes bug #10419
2018-08-23 01:59:26 +03:00
Filippos Karapetis 5e2db7a178 SCI32: Add workarounds for OOB reads for parameters
These are mostly used to silence known cases, for now. Some workarounds of this type have already been addded
2018-08-23 01:59:26 +03:00
Filippos Karapetis 37c0342b32 SCI32: Extend a script workaround to all screens in QFG4
Fixes bug #10420
2018-08-21 08:53:19 +03:00
Filippos Karapetis 8998d00bf2 SCI32: Extend a pathfinding workaround to all screens in QFG4
Fixes entry into the Gypsy camp - bug #10418
2018-08-21 08:47:18 +03:00
Filippos Karapetis 16fab2d480 SCI32: Ignore invalid kernel call when toggling the music in Hoyle 5 2018-08-21 03:36:07 +03:00
Filippos Karapetis 52ff27746f SCI32: Fix fade-in for some screens in Hoyle 5 2018-08-21 03:36:07 +03:00
Filippos Karapetis 16aab5b281 SCI32: Add handling for config settings used in Hoyle 5 2018-08-21 03:36:06 +03:00
Filippos Karapetis 89785ea804 SCI32: Add stub for kWinDLL - used in Hoyle 5 2018-08-21 03:36:06 +03:00
Filippos Karapetis d529692a5a SCI: Enable detection entry for Hoyle 3 Amiga
The game works correctly now
2018-08-21 03:36:05 +03:00
Filippos Karapetis 5684273ee1 SCI: Add support for text loading in Hoyle 3 Amiga 2018-08-21 03:36:05 +03:00
Filippos Karapetis 2877c22097 SCI: Add workaround for buggy script in Hoyle 3 Amiga 2018-08-21 03:36:04 +03:00
Filippos Karapetis 06079340ac SCI32: Add several workarounds for uninitialized reads in Hoyle 5 2018-08-21 03:36:04 +03:00
Filippos Karapetis f18711f3c2 SCI: Update comment 2018-08-21 03:36:03 +03:00
Thierry Crozat 92d83f5c96 SCI: Add LarryScale option to LSL7 demo
I am not actually sure there is any scaling involved
in the demo, but it plays perfectly with this option
enabled, and this makes it consistent with the full
game options.
2018-06-29 23:15:27 +01:00
Torbjörn Andersson bc1a9b06d4 SCI: Use LarryScale in games that support it, not just LSL7
This is the solution discussed in bug #10568 ("SCI: PHANT1: Crash
on startup"). I believe that it's the correct solution, and that
ScummVM will do the right thing, but I'm not 100% sure.
2018-06-29 21:59:39 +02:00
Eugene Sandulenko ec08412925 SCI: Fix shadowing warning 2018-06-29 09:14:17 +02:00
David Fioramonti fab1894f21 SCI32: Only enable larry scaler for LSL7
Fixes Trac#10568.
2018-06-15 11:39:28 -05:00
Thierry Crozat 4229e2642e Merge pull request #1141 from DanielSWolf/larryscale
SCI: High-quality "LarryScale" cel scaler for LSL7
2018-06-03 17:41:47 +01:00
Bastien Bouclet 61f9398b04 Merge pull request #1187 from bgK/detection-refactor-unknown
ENGINES: Return unknown game variants with the list of detected games
2018-05-28 18:43:15 +02:00
David Fioramonti d52937cc7e SCI: Update rad2deg usage 2018-05-20 11:21:06 +01:00
Bastien Bouclet cf1ebf2951 ENGINES: Add unknown game variants to the game detector results 2018-05-10 09:04:23 +02:00
Willem Jan Palenstijn 65861bb914 SCI: Change workaround for PalVary / Animate race condition
The new approach is to delay kAnimate briefly (with an 68ms timeout)
while there is a zero-tick PalVary running, so that it has time to
trigger.

The previous workaround would immediately process a zero-tick
PalVaryInit/PalVaryReverse. This caused problems in QfG3 (bug #10304)
where it interfered with PalVaryPause.

The previous workaround could also be modified to handle pause/resume,
but this new approach should be closer to SSCI's behaviour, which used a
timer for a zero-tick PalVary too.

This fixes bug #10304, and keeps #5298 fixed too.
2018-04-22 22:54:18 +02:00
Adrian Frühwirth a20f90cbb7 JANITORIAL: Fix formatting 2018-04-22 00:56:21 +02:00
Adrian Frühwirth 00e59a3122 ALL: Load savegame thumbnail only when necessary
This commit introduces the following changes:

1. Graphics::loadThumbnail()

   Now returns a boolean and takes a new argument skipThumbnail which
   defaults to false. In case of true, loadThumbnail() reads past the
   thumbnail data in the input stream instead of actually loading the
   thumbnail. This simplifies savegame handling where, up until now,
   many engines always read the whole savegame metadata (including
   the thumbnail) and then threw away the thumbnail when not needed
   (which is in almost all cases, the most common exception being
   MetaEngine::querySaveMetaInfos() which is responsible for loading
   savegame metadata for displaying it in the GUI launcher.

2. readSavegameHeader()

   Engines which already implement such a method (name varies) now take
   a new argument skipThumbnail (default: true) which is passed
   through to loadThumbnail(). This means that the default case for
   readSavegameHeader() is now _not_ loading the thumbnail from a
   savegame and just reading past it. In those cases, e.g.
   querySaveMetaInfos(), where we actually are interested in loading
   the thumbnail readSavegameHeader() needs to explicitely be called
   with skipThumbnail == false.

   Engines whose readSavegameHeader() (name varies) already takes an
   argument loadThumbnail have been adapted to have a similar
   prototype and semantics.
   I.e. readSaveHeader(in, loadThumbnail, header) now is
   readSaveHeader(in, header, skipThumbnail).

3. Error handling

   Engines which previously did not check the return value of
   readSavegameHeader() (name varies) now do so ensuring that possibly
   broken savegames (be it a broken thumbnail or something else) don't
   make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +02:00
Eugene Sandulenko 22b674777f SCI: Added overried specifiers 2018-03-28 12:35:22 +02:00
Adrian Frühwirth 9e3376c8d0 JANITORIAL: Silence GCC warning 2018-03-23 18:42:37 +01:00
Adrian Frühwirth 1967efc5cf JANITORIAL: Silence GCC 7 fallthrough warning
This wasn't explicitly marked as intentional but it very much looks it.
Committing separately in the unlikely case this needs to be reverted.
2018-03-23 18:38:37 +01:00
Daniel Wolf 999cf71dcf SCI: Add game option for enabling/disabling LarryScale in LSL7
All other SCI games continue using the default scaler.
2018-03-16 22:33:06 +01:00
Daniel Wolf f8c32b07e7 SCI: Use LarryScale cel scaler instead of nearest-neighbor 2018-03-16 22:33:06 +01:00
Willem Jan Palenstijn 2e74fd8f22 SCI: Avoid (false positive) uninitialized use warning 2018-02-01 20:19:27 +01:00
Willem Jan Palenstijn 0f98a60d35 SCI: Sabotage qfg1vga's speed test
This ensures the detected speed will end up at the highest level. This
improves the detail in Yorick's room (96), and slightly changes the
timing in other rooms.

Fixes bug #10296.
2018-02-01 20:08:20 +01:00
Colin Snover 2e061d95c5 COMMON: Move VER macro for serializer into common code 2018-01-31 17:58:01 +01:00
Colin Snover 3025257c6e SCI: Add detection entry for LB2 ES floppy
Fixes Trac#10416.
2018-01-30 17:59:24 -06:00
David Fioramonti 9518fd7210 SCI32: Fix PQ4 Barbie shoe points patch selector
The original script patch had the correct literal value but the
wrong selector name in the comment for the literal value, so when
it was converted to use a selector lookup in
c5dce17b1f, the patch broke because
the wrong selector name was used.

Fixes Trac#10392. Closes gh-1107.
2018-01-16 21:32:38 -06:00
Dan Church 0c26da90bb SCI32: Fix segfault when SCI3 vocab isn't found
Seen when attempting to detect and/or run the Shivers 2 demo.

Closes gh-1106.
2018-01-02 12:57:59 -06:00
Matan Bareket 908cb169eb SCI: Added detection entries for Lighthouse German version - Bug #10359 2017-12-26 20:31:14 +01:00
Matan Bareket e6f1ded119 SCI: Added detection entries for SQ1 Russian version - Bug #10156 2017-12-26 20:31:14 +01:00
Matan Bareket 0b08a46990 SCI: Added detection entries for PQ2 English version 1.002.011 - Bug #9716 2017-12-26 20:31:14 +01:00
Colin Snover f4bc714677 SCI32: Add uninitialized read workaround for LSL6hires
Fixes Trac#10361.
2017-12-19 23:49:07 -06:00
Willem Jan Palenstijn 3a933138ce SCI: Avoid buffer overflow in amigamac sound driver
By default, frac_t is interpreted as signed. The resulting range isn't
large enough to store offsets, so we interpret it as unsigned here
instead. Fixes a crash in QfG1/Mac where instrument->loop_size is 49457.
2017-12-03 12:49:11 +01:00
Colin Snover 57db3f7535 SCI: Partially clean up SCI16 video playback code 2017-12-01 18:48:35 -06:00
Colin Snover 673d25a9cd SCI32: Fix crash starting KQ7 demo
Fixes Trac#10343.
2017-11-28 16:47:37 -06:00