Colin Snover
aa720ca9cd
SCI32: Fix deleting save games in KQ7
2016-09-29 19:39:16 -05:00
Colin Snover
fba8568484
SCI32: Fix multiple bugs in kSave
...
1. Shift save numbers up/down for game scripts that rely on save
game numbers starting from 0 to work correctly
2. Add fake file operations to support KQ7 save games
3. Hide autosave games from native save/load list to match SSCI.
2016-09-29 19:39:16 -05:00
Colin Snover
2629269212
SCI32: Emulate Shivers 1 game score metadata
2016-09-29 19:39:16 -05:00
Colin Snover
4072714143
SCI32: Increase allowed number of save games in native save/load
...
This is applied only to games where the standard save/load
dialogue is used; games like KQ7 and Phantasmagoria, which use a
non-standard UI for save games, are still limited to the number of
saves originally supported.
2016-09-29 19:39:16 -05:00
Colin Snover
0e53c8e9f3
SCI32: Improve MGDX support
...
Audio directory switching is temporarily disabled because it
causes use-after-free in the resource manager.
2016-09-29 19:39:16 -05:00
Colin Snover
b3cfe699f6
SCI32: Fix read overflow when there are no save games
...
SCI system scripts will always try to read once from the game IDs
array even if the number of games is zero.
2016-09-29 19:39:16 -05:00
Colin Snover
c8516ff9eb
SCI32: Add handling for save catalogues
2016-09-29 19:39:16 -05:00
Colin Snover
1eb6d90eec
SCI32: Implement ScummVM save/load
2016-09-29 19:39:16 -05:00
Colin Snover
b5d0fffb8b
SCI: Replace magic numbers for globals with named constants
2016-09-29 19:39:16 -05:00
Colin Snover
a96dc1a7b8
SCI32: Correct return values for kFileIO operations
2016-09-29 19:39:16 -05:00
Colin Snover
10f450917c
SCI32: Implement kSave for standard-save SCI32 games
...
Games with custom save code (KQ7, MGDX, PQ:SWAT, Shivers) are not
fully supported yet.
2016-09-29 19:39:16 -05:00
Colin Snover
a22bfb0db2
SCI32: Fix "new game" and auto-save functionality
2016-09-29 19:39:16 -05:00
Colin Snover
57c62c59f9
SCI32: Add constants documentation
2016-09-29 19:39:16 -05:00
Colin Snover
90ee2d799d
SCI: Split savegame descriptor fill code from savegame list code
...
The descriptor is used to check the validity of single savegames
in SCI32.
2016-09-29 19:39:16 -05:00
Colin Snover
64dc37cfe2
SCI32: Start implementing kSave for SCI32
2016-09-29 19:39:16 -05:00
Colin Snover
c7dacf273e
SCI32: Clean up and fix some SCI32-only kFileIO operations
2016-09-29 19:39:16 -05:00
Colin Snover
02540b8d38
SCI32: Add support for kPrintDebug
2016-09-29 19:39:16 -05:00
Colin Snover
44dd029cb1
SCI32: Implement kSetHotRectangles
...
Used only by chapter 7 of Phant1.
2016-09-29 19:39:16 -05:00
Colin Snover
2be2629a3b
SCI32: Fix kFileIOOpen signature
...
The mode argument is required in SCI32 too; Torin just had a script
bug.
2016-09-29 19:39:16 -05:00
Colin Snover
88de81a72e
SCI32: Patch bad calls to IntArray::newWith in Phant1 and SQ6
2016-09-29 19:39:16 -05:00
Colin Snover
3f91726765
SCI32: Rewrite kArray & kString
...
This change invalidates earlier SCI32 save games, which separated
arrays and strings in an incompatible manner. Old save games
contain invalid references to a string segment which no longer
exists, and contain incompatible array structures that lack
critical type information.
2016-09-29 19:39:16 -05:00
Colin Snover
1de74fa514
SCI: Improve debugging output for selector failures
2016-09-29 19:39:16 -05:00
Colin Snover
3201440d11
SCI: Generalize code for getting information on the current call
2016-09-29 19:39:16 -05:00
Colin Snover
b784357f5d
SCI: Fix whitespace
2016-09-29 19:39:16 -05:00
Colin Snover
3cf16c0a7f
SCI32: Explicitly instantiate MIN/MAX templates
2016-09-29 19:39:16 -05:00
Colin Snover
d0517f515e
SCI32: Update screen on frameout, instead of in the event loop
2016-09-29 19:39:16 -05:00
Colin Snover
78849053ca
SCI32: Fix off-by-one error
...
CID 1361599.
2016-09-29 19:39:16 -05:00
Martin Kiewitz
97d444a569
SCI: Fix kernel signature comment
2016-09-21 21:46:15 +02:00
Martin Kiewitz
2bec9c5a0c
SCI: Add qfg1vga script patch to fix bug #9558
...
This solves a game bug, that also happens when using the original
interpreter, during the time where Brutus and Bruno meet at the
shooting range.
2016-09-18 15:59:38 +02:00
Martin Kiewitz
71d20da1e5
SCI32: Fix GK1 day 5 script patch
...
The previous patch made ego not getting the drum book anymore.
2016-09-09 00:46:49 +02:00
Martin Kiewitz
858bfdf691
SCI32: Add script patch for fixing game dialogue error on day 5
...
Special thanks, credits and kudos to sluicebox on IRC, who did a
ton of research on this and even found this game bug originally.
2016-09-08 21:52:10 +02:00
Willem Jan Palenstijn
62b3c00da3
SCI: Add missing parentheses to SIG/PATCH macros
2016-08-30 19:49:03 +02:00
Martin Kiewitz
01327b540d
SCI32: Add script patch for Gabriel Knight 1 script bug day 10
...
Day 10 - when dressing up. Right after that Gabriel turns around,
which went on endlessly in ScummVM. In the original engine
kNumCels is broken and returns in special cases basically random
data instead of 0. We return 0, which caused the cycler to
never end, because the scripts asked to cycle until cel -1.
2016-08-28 22:08:30 +02:00
Colin Snover
1760fb3e0d
SCI32: Fix incorrect/missing cursor after restoring a save game
2016-08-28 13:06:34 -05:00
Colin Snover
c3335657f7
SCI32: Allow invalid bitmap references to be passed to kBitmapDestroy
...
SSCI explicitly ignored invalid references passed to this function.
Fixes GK1 room 410, when using the Rada Drum book on the drummer.
2016-08-27 12:03:37 -05:00
Willem Jan Palenstijn
e880fd74ed
SCI32: Fix warning
2016-08-26 18:57:43 +02:00
Willem Jan Palenstijn
5734400a37
SCI: Make kFileIORename use wrapped filenames
...
This fixes deleting savegames in Phantasmagoria 1.
2016-08-25 22:05:24 +02:00
Filippos Karapetis
ed461fba65
SCI32: Add a workaround when starting a new game in Phantasmagoria
...
This workaround is needed when starting a new game from a chapter after
the first one
2016-08-25 21:56:23 +03:00
Filippos Karapetis
429759b481
SCI32: Also handle chase.dat in Phantasmagoria like phantsg.dir
...
This file is used during the chase sequence, and needs the same
read/write logic as phantsg.dir
2016-08-25 21:56:22 +03:00
Filippos Karapetis
25515c690e
SCI32: Fix the signature of kDoAudioCritical, and add documentation
...
This is used in Phantasmagoria, chapter 3, nursery (room 14200),
during the "ghost lullaby" event. It is used to make the lullaby
sound exclusive, but it really doesn't make any major difference.
Also, the documentation has been adjusted to contain this
information. Finally, the documentation has been adjusted to use
80 columns
2016-08-25 17:02:21 +03:00
Filippos Karapetis
380902eb07
SCI32: Add workarounds for a bug in Torin, in an animation of Lycentia
2016-08-24 11:57:08 +03:00
Filippos Karapetis
14f163bad1
SCI32: Allow kListAt to reference an empty list
...
Happens in Torin when examining Di's locket in chapter 3
2016-08-23 14:26:59 +03:00
Filippos Karapetis
d15660e70d
SCI32: Add a workaround for an uninitialized variable in Torin
2016-08-23 14:06:39 +03:00
Filippos Karapetis
6929cc65f8
SCI32: Explicitly abord kEachElementDo when a game is being loaded
...
This is a better check than the one in commit 3d1f1a3a21
2016-08-23 13:08:37 +03:00
Filippos Karapetis
3d1f1a3a21
SCI32: Fix restoring games from Torin's game restore dialog
...
The list in kListEachElementDo may be invalidated after a
selector invocation
2016-08-23 11:36:38 +03:00
Filippos Karapetis
cd00132d23
SCI32: Also handle game checks for "torinsg.cat" in Torin
...
This shows the "Open..." button when continuing a game
2016-08-23 11:36:37 +03:00
Filippos Karapetis
f238ed18ec
SCI: Fix compilation when SCI32 is not enabled
2016-08-23 01:48:06 +03:00
Filippos Karapetis
a10c18fd8b
SCI32: Add a workaround for kDoSoundPlay for GK1 Mac
2016-08-22 19:57:02 +03:00
Filippos Karapetis
ba8d6f6c03
SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32
...
This was left in the SCI16 code in commit 80d9182554
2016-08-22 19:56:06 +03:00
Filippos Karapetis
39307d1f4d
SCI: Return the correct platform in kPlatform for Mac versions
2016-08-22 19:48:56 +03:00