Commit Graph
4807 Commits
Author SHA1 Message Date
sluicebox e2123c9022 SCI: Add KQ6 workaround for talking inventory 2020-06-27 14:55:32 -07:00
sluicebox 675e070569 SCI: Script patch formatting 2020-06-27 14:34:30 -07:00
sluicebox e2fc630fc4 SCI: Fix Narrator lockup bug
Fixes a script bug that causes rare random lockups in over 20 games
2020-06-26 23:25:49 -07:00
sluicebox 28cf8cb8a6 SCI: Fix KQ6 Cassima secret passage lockup 2020-06-25 10:41:05 -07:00
sluicebox bb64c730bf SCI: Fix LONGBOW Marian messages at end of trial 2020-06-22 01:18:00 -07:00
sluicebox 800558bc8f SCI: Add SQ3 Mac introduction workaround 2020-06-22 00:07:40 -07:00
sluicebox 8df2cd85ab SCI: Fix KQ6 Minotaur message audio in audio+text mode 2020-06-18 07:32:46 -07:00
sluicebox 67b907a52a SCI: Add KQ6 workarounds for castle basement 2020-06-16 20:54:10 -07:00
sluicebox 7d0d1e674b SCI32: Workaround GK1 Mac missing talisman view 2020-06-16 01:26:44 -07:00
sluicebox ee6e5adcce SCI: Fix KQ6 duplicate point 2020-06-10 10:41:19 -07:00
sluicebox 45a7c33b9a SCI32: Sync SQ6 speech and subtitle button states 2020-06-09 01:40:47 -07:00
sluicebox fd13a9bf92 SCI32: Fix SQ6 music volume on Polysorbate LX
Fixes bug #9578
2020-06-08 20:01:51 -07:00
sluicebox 97cb7ce521 SCI32: Fix kBitmap kernel signature
kBitmap's kernel signature is incorrect and out of sync with the
signatures of its sub operations, causing valid calls to subop #1
(BitmapDestroy) to fail. BitmapDestroy allows an invalid reference
to be passed, which GK1 Mac does when decoding the Rada drums in
room 410, but kBitmap's signature doesn't.

Fixed by applying the correct signature, which is the same as kFileIO
which has a similar structure: require an integer for the subop and
then allow anything, including invalid references.
2020-05-31 22:36:36 -07:00
sluicebox 7343e0bdd8 SCI: Update kernel table data types comment 2020-05-31 22:36:18 -07:00
sluicebox 3f9c229bd0 SCI32: Fix some QFG4 missing messages 2020-05-29 11:12:11 -07:00
Zvika 9f10fbcfc1 SCI: Hebrew SQ3 - fixed rejects 2020-05-25 03:21:59 +03:00
Zvika Haramaty 6ab0cb78e0 SCI: Improve vm_hooks ; Support Hebrew SQ3
- vm_hooks: fully support 'call*'
- make required changes to support Hebrew SQ3 (which is still a WIP
project)
2020-05-25 03:21:59 +03:00
Zvika Haramaty a4e01b46f4 SCI: fix #10907 - Wrong music when restoring games 2020-05-24 12:42:58 +03:00
sluicebox ea3a6c25c4 SCI: Fix ECO2 Missing messages at the camp 2020-05-19 23:01:06 -07:00
sluicebox 43ae5c0e73 SCI: Fix QFG3 workaround when throwing sword
Fixes bug #11477
2020-05-19 07:36:14 -07:00
sluicebox 0eca8009f2 SCI32: Implement kMacPlatform32 volume subop 2020-05-07 22:49:41 -07:00
sluicebox 7afe586e9a SCI: Fix KQ6 floating off the logic cliff steps 2020-05-07 21:26:27 -07:00
sluicebox ee139e1684 SCI32: Update GM detection for MOTHERGOOSE Mac
Fixes MOTHERGOOSE Mac music, which unlike PC is not General MIDI.
2020-05-06 15:50:28 -07:00
sluicebox 1961f162d5 SCI32: Implement MOTHERGOOSE custom Mac saving 2020-05-05 14:49:11 -07:00
sluicebox 85e27b0caf SCI32: Implement Mac kSetLanguage 2020-05-05 12:14:18 -07:00
sluicebox e7da80dddf SCI: Update FPFP Mac easter egg patch comments 2020-05-05 12:07:28 -07:00
sluicebox dc10e95dad SCI: Fix LB1 Review Notes dialog 2020-05-01 01:07:55 -07:00
sluicebox 3edd7e2b1d SCI: Fix build when SCI32 disabled 2020-04-21 13:44:23 -07:00
sluicebox b57c205e30 SCI: Add support for QFG3 automatic saves
Fixes bug #11421
2020-04-21 12:10:09 -07:00
sluicebox 4952a6fb04 SCI32: Fix KQ7 2.00 allowing too many saves 2020-04-20 22:21:38 -07:00
sluicebox 3c9b28e35d SCI32: Fix parsing digits from save filenames
Fixes KQ7 deleting the wrong save game and other bugs.
Most of these digit strings start with zero and so they've
been parsed as octal instead of decimal.
2020-04-20 22:21:38 -07:00
sluicebox 2b1bfeeee5 SCI32: Fix KQ7 Mac logic in restore from launcher 2020-04-20 19:26:14 -07:00
sluicebox 3deabc9873 SCI32: Add QuickTime support for KQ7 Mac movies 2020-04-20 15:59:32 -07:00
sluicebox 12d37a352b SCI32: Implement KQ7/SHIVERS custom Mac saving
Implements the custom Mac save and restore kPlatform subops
for KQ7 and Shivers. Still TODO: Mothergoose and Lighthouse.
2020-04-19 23:46:13 -07:00
sluicebox 916ce02661 SCI: Factor save game code into functions
Factors some common save game code into functions and creates an
overload of GuestAdditions::runSaveRestore that doesn't rely on
SCI memory for returning the description string, all of which will
be used by the custom save/restore kMacPlatform32 subops.
2020-04-19 23:33:54 -07:00
sluicebox 6975acd5a1 SCI32: Fix TORIN/LSL7 Mac save/restore patch 2020-04-18 01:46:40 -07:00
sluicebox 5b8dd68d21 SCI32: Add PQ4 Mac save/restore workarounds 2020-04-17 17:47:58 -07:00
Max Horn caecdfdf9f SCI: Remove dead data, make table static 2020-04-17 22:41:11 +01:00
sluicebox 2e73a29376 SCI32: Update speed-test patch for all versions
Updates the generic SCI32 video benchmark patch to be compatible with
all game versions, including localized versions of SQ6 and Mac versions
of SQ6 and RAMA. Removed HOYLE5 patches as it doesn't run the benchmark.
2020-04-14 14:59:21 -07:00
sluicebox 23fc7f52e0 SCI: Fix SoundResource error handling, ctor, dtor
Fixes several problems with the SoundResource class:

- Constructor doesn't fully initialize object if resource doesn't exist
- Destructor crashes if object not fully initialized
- Constructor has no mechanism to report failure
- Callers believe failure is reported by constructor returning null
- SoundCommandParser::initSoundResource attempts to pre-detect failure
  insufficiently in the absence of a formal mechanism.

SoundResource now always fully initializes, the destructor no longer
accesses uninitialized memory, and an exists() method has been added
which callers now test.

SQ6 Mac can now progress past the main menu.
2020-04-12 01:47:15 -07:00
sluicebox bd992479b3 SCI: Fix QFG3 GOG/NRS crash when angering Guardian
Fixes bug #11411
2020-04-09 22:05:36 -07:00
Filippos Karapetis 41e1053898 SCI: Stop any currently playing audio when loading. Fixes bug #9953.
Loading is not normally allowed while audio is being played in SCI games.
Stopping sounds is needed in ScummVM, as the player may load via
Control-F5 at any point, even while a sound is playing.
2020-03-21 18:35:27 +02:00
Filippos Karapetis 41dbcb6e64 SCI: Remove dead code 2020-03-21 18:35:27 +02:00
Filippos Karapetis f25ffc2eea SCI32: Add a sanity check for array structures in kFileIOReadRaw 2020-03-17 09:36:38 +02:00
Filippos Karapetis 7a68ee57b1 SCI: Always include the opcodeNames table, as it's used in VM hooks 2020-03-16 01:58:34 +02:00
Zvika Haramaty 540a3cd7a5 SCI: adding stopAfterFading to savegame, fixing #10685 2020-03-16 01:22:50 +02:00
Zvika Haramaty 23c6a5182e SCI: Added new VM hook mechanism, allowing new instructions
The current patch mechanism allows only replacing intructions in current
scripts, but not adding new instructions out of nowhere.
Thus, issue like #9646 is about to be closed as WONTFIX.

This new mechanism adds a hook on vm.cpp, before executing opcodes, and
if required, executs a new code.

It solves one of the issues of #9646, the others can be solved as well using that mechanism.
2020-03-16 01:17:03 +02:00
sluicebox 11061948ac SCI32: Fix PHANT2 volume scrollbar arrows
Fixes bug #10164
2020-02-15 17:59:12 -08:00
Zvika Haramaty ac87c01895 SCI: debugger: disasm - added 'bcc' parameter, to use in C code
'bcc' is based on 'bc', but prints in format that's can be used in
C code for patches - just copy and paste (without the address column).
2020-02-13 23:42:06 +02:00
Zvika Haramaty 190e47be96 SCI32: fix bug #2053 - refresh the screen before saving the game 2020-02-13 01:09:09 +02:00