Commit Graph

8445 Commits

Author SHA1 Message Date
sluicebox
fad20484cb SCI32: Ignore invalid LIGHTHOUSE German audio map 2020-01-27 19:08:51 -08:00
sluicebox
961d222cee SCI32: Ignore invalid LSL7 French audio map
Fixes bug #11315
2020-01-27 17:30:39 -08:00
sluicebox
9c0655c67a SCI32: Fix GK1 fortune teller dance timer 2020-01-27 13:28:28 -08:00
sluicebox
b58da7d847 SCI: Fix KQ6 truncated messages
Fixes bug #10682
2020-01-26 19:46:47 -08:00
sluicebox
2df444cecb SCI32: Implement kInputText for PHANT2 easter eggs
Implements kInputText, which displays a black and white utility dialog
with a title and a text box in a fixed position using the system font.
The only known game that uses this is Phantasmagoria 2 for several
easter eggs, which now work. This was probably used by internal scripts
during game development.

kEditText and kInputText share a function in Sierra's interpreter for
processing events, so that code has been factored out and placed in
GfxControls32::processEditEvent().

GfxText32 can now measure text pixel height as SSCI did by identifying
the tallest character height in the current text, which the newly added
titled font bitmap code requires.

Fixes bug #10570
2020-01-25 18:11:57 -08:00
sluicebox
ddaa136e26 SCI32: Fix GK1 Day 6 empty booth messages
Fixes incorrect messages. Thanks to ZvikaZ for discovering this.
2020-01-22 13:53:25 -08:00
sluicebox
8fcff44b40 SCI32: Fix PHANT2 computer scrollbar crash
Fixes bug #10391
2020-01-21 21:02:48 -08:00
D G Turner
88aaabc913 SCI: Fix Missing Default Switch Case Warning in Resource Patcher
This is flagged by GCC if -Wswitch-default is enabled.
2020-01-22 02:55:47 +00:00
Filippos Karapetis
b6cb87bf31 SCI: Promote Inside the Chest/Behind the Developer's Shield to testing 2020-01-21 01:25:01 +02:00
Filippos Karapetis
3f53bd05f1 SCI32: Add support for raw reading of array structures
These are structures which are stored in the ARC files of the Behind
the Developer's Shield and Inside the Chest demos, included in several
editions of the King's Quest Collection.

The number of elements and element size of each array element are
stored with each array, and are read as raw bytes. We don't need these
in ScummVM, so we skip them.

This change allows the two demos to function fully and correctly now.

Special thanks to sluicebox for working on these files and their
associated game scripts, and figuring out these extra bytes, which
have remained a mystery up to now.
2020-01-21 00:58:08 +02:00
Filippos Karapetis
82d59387ed SCI: Don't error out when updating an item with an invalid plane
This is a script bug in PQ:SWAT, when skipping the Tactics Training - bug #10833
2020-01-20 02:04:51 +02:00
Filippos Karapetis
d89c355fee SCI: Fix compilation when SCI32 is disabled 2020-01-19 23:01:20 +02:00
Filippos Karapetis
7aa824372e SCI: Adapt aggretate initialization for pre-C++11 compilers 2020-01-19 22:42:13 +02:00
Filippos Karapetis
17c4d6f191 SCI: Fix compilation with non-C++11 compilers 2020-01-19 22:16:27 +02:00
Filippos Karapetis
2185c50632 SCI32: Adapt the PQ4CD dual patch with our new view. Fixes bug #9690 2020-01-19 21:37:21 +02:00
Filippos Karapetis
3180528adf SCI: Fix compilation with C90 and older language versions
Change the resource patcher's _NUMARGS macro to use a typedef
2020-01-19 21:37:21 +02:00
Colin Snover
07df6cc254 SCI: Add built-in resource patcher
The resource patcher can be used to patch non-script resources
like views, maps, sounds, etc. It is more primitive than the script
patcher in that it does not use signatures for safe and automatic
patch relocation, but it does at least allow existing resources to
be grown if needed.

Refs Trac#9788. Refs Trac#9690.
2020-01-19 21:37:20 +02:00
D G Turner
e8ad1bdec5 SCI: Fix GCC Compiler Unused Variable Warning
This is flagged by GCC if -Wunused-variable is enabled.
2020-01-18 02:54:30 +00:00
sluicebox
2ca83c0715 SCI32: Fix SQ6 crash on displaying restore error msg
Fixes bug #9702
2020-01-16 15:02:40 -08:00
sluicebox
3de471de36 SCI: Set first palette color when drawing a 1.1 pic
When drawing a pic while pal-very isn't active, SSCI 1.1 sets the
first 255 palette colors, as opposed to skipping the first when
normally inserting a palette. Without this, a palette cycle that
includes the first color will permanently alter the system palette,
such as in Hoyle4 when winning the Klondike game with certain
table backgrounds.

Fixes bugs #11164 and #11195
2020-01-16 04:32:14 -08:00
sluicebox
1748825c36 SCI32: Fix KQ7 snake oil salesman disposal
Fixes bug #10221
2020-01-13 07:47:27 -08:00
sluicebox
fa5292fbf5 SCI32: Add GK2 Portuguese detection entry 2020-01-11 18:26:19 -08:00
sluicebox
64517fd6a2 SCI: Fix SQ1VGA Russian class names
Fixes bug #10156
2020-01-10 16:47:56 -08:00
sluicebox
172bc97110 SCI: Ignore incorrectly detected volume version
Ignores a detected volume version of SCI3 when the map version is less
than SCI2, as that indicates detectVolVersion's heuristics failed.

SQ1VGA Russian has volume files with a few junk bytes in between
resource entries, which causes detectVolVersion to return SCI3
instead of the expected result of Invalid and then use the
correctly detected map version. The detection algorithm tries each
version until it finds one that fits, and the SCI3 pattern happens
to fit because it's necessarily the most permissive due to the
wCompression bytes containing meaningless values.

Fixes bug #10156
2020-01-10 16:44:37 -08:00
sluicebox
e0a3a387b9 SCI: Log bp_function (bpe) parameters in debugger
Trac #9833
2020-01-09 18:04:03 -08:00
sluicebox
a804afc571 SCI: Trigger bpr/bpw breakpoints within kernel calls
Trac #9835
2020-01-09 18:04:03 -08:00
sluicebox
fe9b3fea55 SCI32: Update GK2 subtitle compatibility 2020-01-08 21:52:25 -08:00
sluicebox
7d4045f4a9 SCI32: Add GK2 subtitle patch compatibility
Fixes #9677, #11282
2020-01-07 17:09:32 -08:00
sluicebox
0916150421 SCI32: Ignore invalid GK2 audio maps in all versions
Fixes #11014, #11270
2020-01-07 02:25:49 -08:00
sluicebox
6304e59a2b SCI32: Fix GK2 Gerde missing message 2020-01-06 20:55:49 -08:00
sluicebox
3c8e5d75c5 SCI32: Fix VMDPlayer not leaving last frame
Applies _leaveLastFrame logic from VMDPlayer::closeComposited() to
VMDPlayer::closeOverlay() where it was missing.

Fixes bug #11299 in GK2
2020-01-05 00:45:25 -08:00
sluicebox
07a17d3171 SCI32: Fix GK2 Game-over plane priority
Fixes bug #11298
2020-01-04 22:24:26 -08:00
sluicebox
ac850dbfaa SCI32: Make KQ7 Russian detection entry Windows-only
This is a Windows-only release and only the Windows resources
were translated, not the DOS resources. Trac #11302
2020-01-04 12:45:11 -08:00
sluicebox
e4d5f37d8d SCI32: Fix GK2 Chapter 4 Georg letter topic 2020-01-03 14:25:08 -08:00
sluicebox
3b441df98b SCI32: Add KQ7 Russian (SoftClub) detection entry
Trac #11302
2020-01-03 11:53:37 -08:00
sluicebox
c3c23c28a1 SCI32: Add GK2 workaround for flag debug dialog 2020-01-02 15:29:15 -08:00
sluicebox
03392537a0 SCI32: Fix GK2 Neuschwanstein castle hint 2020-01-02 13:25:00 -08:00
sluicebox
e1d8f86a19 SCI32: Fix GK2 Holy water lockup 2019-12-31 13:07:50 -08:00
sluicebox
6250d722aa SCI32: Fix GK2 patch comment 2019-12-30 20:53:57 -08:00
sluicebox
5328b7401b SCI32: Fix GK2 Xaver Black Wolf topic 2019-12-30 20:51:01 -08:00
sluicebox
82c5dcf241 SCI32: Fix GK2 Chapter 3 police station deadend 2019-12-30 20:51:01 -08:00
sluicebox
68e5be3744 SCI: Remove stray script patch commas 2019-12-30 20:43:56 -08:00
sluicebox
b6d73f54dd SCI32: Fix GK2 Frau Miller lockup 2019-12-29 20:37:01 -08:00
sluicebox
ad1ebccb3a SCI32: Fix GK2 SoundManager random lockups 2019-12-29 20:37:01 -08:00
sluicebox
3373bf5a63 SCI32: Update GK2 patch comments 2019-12-29 18:04:49 -08:00
sluicebox
5b10413b64 SCI32: Fix GK2 Inventory scrolling
- Scrolling is now smooth as in the original
- Scroll-direction patch is now compatible with all versions
2019-12-29 17:56:47 -08:00
sluicebox
32aca7a79f SCI32: Update GK2 benchmark patch for all versions 2019-12-29 14:57:31 -08:00
sluicebox
4c66ee35e1 SCI32: Fix unforgivable typos 2019-12-29 12:31:16 -08:00
sluicebox
6ab1d6ac7b SCI32: Fix GK2 broken messages 2019-12-28 14:47:49 -08:00
sluicebox
ff855fe99c SCI32: Fix SQ6 duplicate points 2019-12-28 13:44:00 -08:00