Colin Snover
9a64c0587b
SCI32: Always build scaler tables to the maximum possible size
...
This fixes rendering errors in Torin caused by the scaler table
being cut off early when cels larger than the dimensions of the
screen are scaled.
2016-09-29 19:39:16 -05:00
Colin Snover
2a27f27bb4
SCI32: Clean up scaling flags
2016-09-29 19:39:16 -05:00
Colin Snover
7011ee8f50
SCI32: Fix Torin inventory crash caused by wrong array type
2016-09-29 19:39:16 -05:00
Colin Snover
cb66bfead0
SCI32: Fix CelObj scaling in games with hi-res scripts
2016-09-29 19:39:16 -05:00
Colin Snover
2c61569c62
SCI32: Disable "change directory" button in native save/load dialogue
2016-09-29 19:39:16 -05:00
Colin Snover
4d73736d1f
SCI32: Fix compilation warnings
2016-09-29 19:39:16 -05:00
Colin Snover
1847b0f705
SCI32: Fix warnings and incompatible save games when built without SCI32
2016-09-29 19:39:16 -05:00
Colin Snover
3e75f42d85
SCI: Rename "until" to "thru" in kernel call signatures
...
Kernel calls with these signatures are inclusive of the engine
version given in the name; this change makes it clearer that
this is the case.
2016-09-29 19:39:16 -05:00
Colin Snover
7bae02e558
SCI32: Put brackets around rest parameters
...
The kernel signature * means "one or more", not "zero or more" as
might be expected from the otherwise regex-like syntax.
2016-09-29 19:39:16 -05:00
Colin Snover
c644f817e3
SCI32: Add mark for KQ7 in script patches
2016-09-29 19:39:16 -05:00
Colin Snover
0c9d423497
SCI32: Emulate MGDX ego view metadata
2016-09-29 19:39:16 -05:00
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
25c874b9cd
SCI32: Add more debugger support for dumping SCI32 arrays
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
240b0ca348
SCI32: Add a trap for invalid calls to kNumCels
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
3cc5e55201
SCI: Fix typo in debugger help
2016-09-29 19:39:16 -05:00
Colin Snover
84d8ac4c38
SCI32: Fix buffer overflow when drawing border to a tiny text bitmap
2016-09-29 19:39:16 -05:00
Colin Snover
658fb7f8e4
SCI32: Improved game resolution detection
2016-09-29 19:39:16 -05:00
Colin Snover
22e1f1f015
SCI: Put CD flag on CD games
2016-09-29 19:39:16 -05:00
Colin Snover
39a3b67522
SCI32: Skip SEQ playback if file not found
...
CID 1361588.
2016-09-29 19:39:16 -05:00
Colin Snover
209fe0f92a
SCI32: Fix incorrect use of speedThrottler in Video32
...
The sleep values for video playback are the amount of time until
the next frame needs to be displayed, whereas speedThrottler is
used to ensure that a given amount of time always elapses between
two triggered speedThrottler calls.
2016-09-29 19:39:16 -05:00
Colin Snover
560af83300
SCI: Move SciEngine::sleep to correct source file
2016-09-29 19:39:16 -05:00
Colin Snover
bf7adaa58f
SCI32: Fix incorrect warnings about unlocking type 140
...
This type in SSCI corresponds to Wave resources, but since ScummVM
does not differentiate between Wave and Audio resources, just say
it's an Audio resource type, not an Invalid resource type.
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
63345b2b70
SCI32: Fix kShowStyleNone transitions
2016-09-29 19:39:16 -05:00
Colin Snover
21ffb62f80
SCI32: Guard against dynamic_cast failure
...
CID 1361762, 1361763, 1361764, 1361765.
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