Willem Jan Palenstijn
e880fd74ed
SCI32: Fix warning
2016-08-26 18:57:43 +02:00
Filippos Karapetis
ad693ee768
SCI: Add a sanity check in wrapFilename(), as in unwrapFilename()
2016-08-26 11:26:09 +03: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
b3e24c2518
SCI32: Remove the warning about already opened robot files
...
This happens all the time in Phantasmagoria, with no ill side-effects
2016-08-25 17:02: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
Colin Snover
71294a8a98
SCI32: Remove extra ! in error message
2016-08-24 15:23:30 -05:00
Colin Snover
64f4ad4ad5
SCI32: Fix incorrect boolean operator
2016-08-24 15:22:55 -05:00
Colin Snover
1b6ea78216
SCI32: Remove error check for negative celNo
...
Negative cel numbers are exploited by at least the hi-res mode of
PQ4CD.
2016-08-24 15:21:42 -05: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
511d9f1e40
SCI32: Fix crash in Torin, chapter 4, catapult scene (via ScreenItem)
...
loopNo/celNo are set to unsigned integers in ScreenItem::setFromObject
in SSCI, thus their value will be adjusted when it's negative, like in
this case
2016-08-23 15:52:54 +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
6ce472a12a
SCI32: Update the SCI2/SCI2.1 games that use global 90 for speech/subs
2016-08-23 12:22:27 +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
1c19029c58
SCI32: Fix palette in SCI32 Mac games
2016-08-23 05:18:42 +03:00
Filippos Karapetis
f238ed18ec
SCI: Fix compilation when SCI32 is not enabled
2016-08-23 01:48:06 +03:00
Filippos Karapetis
2a75e90ba2
SCI32: Document the games that use Robot videos
2016-08-22 20:11:34 +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
Filippos Karapetis
88cffa3220
SCI32: Add stubs for the kPlayVMDSetPreload and kPaletteSetGamma calls
...
These were introduced in SCI3, and are used by RAMA. We don't preload
videos, so we don't really need kPlayVMDSetPreload, but
kPaletteSetGamma may need an implementation.
With these two stubs, the main menu of RAMA is working again
2016-08-22 19:04:26 +03:00
Filippos Karapetis
6b5e87683c
SCI32: Reorder the SCI32 palette kernel call assignments
2016-08-22 18:52:20 +03:00
Filippos Karapetis
b620b92ee7
SCI32: Fix fallback detector for SCI32 games again
...
A regression from c4250c05d0
2016-08-22 18:50:36 +03:00
Colin Snover
7f23c91de9
SCI32: Fix limited data range comparison warning
...
On at least DC platform, the ShowStyleType enum is fit to a 4-bit
data size, so the 16-bit input value needs to be checked for
validity *before* it is cast to a 4-bit ShowStyleType.
2016-08-19 15:23:10 -05:00
Colin Snover
da62a99a00
SCI32: Remove unused ResourceManager from GfxFrameout
2016-08-19 15:23:10 -05:00
Colin Snover
dc093742b3
SCI32: Bug fixes to PQ:SWAT script bugs and kList calls
2016-08-19 15:23:10 -05:00
Colin Snover
b106ba1102
SCI: Avoid attempts to use exe/txt/dll files as patches
...
Fixes some false warnings when games try to read in non-patch
files with names that start with A/B/S/T.
2016-08-19 15:23:10 -05:00
Colin Snover
c4250c05d0
SCI32: Enable multi-disc audio resources
...
Phant1, PQ:SWAT, GK2, and Phant2 all have different audio maps
and audio volumes on each CD. In order to make this work within
ScummVM, where CDs are never swapped, each RESOURCE.AUD for these
games must be renamed to RESAUD.00x and each RESOURCE.SFX renamed
to RESSFX.00x.
2016-08-19 15:23:10 -05:00
Colin Snover
0a4a2567a3
SCI32: Partially implement kCD
2016-08-19 15:23:10 -05:00
Colin Snover
051eae4639
SCI32: Increase maximum line width for graphics
...
Torin renders pics that are wider than 1024px; SCI3 bumps the
maximum line width to 4k.
2016-08-19 15:23:10 -05:00
Colin Snover
e55b774584
SCI32: Add kPlayVMDGetStatus kernel call
...
Used by Lighthouse.
2016-08-19 15:23:10 -05:00
Colin Snover
6708b58faf
SCI: Remove references to SCI32 features from SCI16 video player
2016-08-19 15:23:10 -05:00
Colin Snover
4e1a9be816
SCI32: Remove CoordAdjuster32, at least for the moment
...
This may come back in the future to deduplicate some gfx code,
but SCI32 had two different inlined ways of doing coordinate
conversions with different rounding methods, so CoordAdjuster32
didn't get used when the graphics system was rewritten.
At the moment, SCI32 code uses the mulru/mulinc methods from
helper.h for scaling up/down coordinates.
2016-08-19 15:23:10 -05:00
Colin Snover
eae6891404
SCI32: Fix kGlobalToLocal and kLocalToGlobal
...
Fixes (at least) the native SCI save dialogs.
2016-08-19 15:23:10 -05:00
Colin Snover
0f2748b15a
SCI32: Implement kRobot
2016-08-19 14:08:22 -05:00
Colin Snover
7da359755d
SCI32: Split kPlatform for SCI32
2016-08-19 13:57:40 -05:00
Colin Snover
b1d53ca25d
SCI32: Add kSetNowSeen variant for older SCI32 games
...
KQ7 2.00b, PQ:SWAT, Phant1, GK2, and Torin are all verified as
using the 'ignore' variant; SQ6 and QFG4CD are verified as using
the 'fail' variant. MGDX and Shivers could not be checked as they
have only Phar Lap Win16 executables, so took a guess based on
their release dates.
2016-08-19 13:57:40 -05:00
Colin Snover
fdb2290415
SCI32: Add some bounds checking, const-correctness, and errors to CelObj
2016-08-19 13:57:40 -05:00
Colin Snover
79d9e0af68
SCI32: Address TODO in seg_manager.h
2016-08-19 13:57:40 -05:00
Colin Snover
6e2e862d8e
SCI32: Implement kShakeScreen for SCI32
2016-08-19 13:57:40 -05:00
Colin Snover
b74532fc1e
SCI32: Clean up Cursor32 includes
2016-08-19 13:57:40 -05:00
Colin Snover
d5bcef1e66
SCI32: Hide cursors in 24bpp video playback mode
...
Drawing the cursor in this mode will result in a read overflow as
it is 8bpp.
2016-08-19 13:57:40 -05:00
Colin Snover
89a82f5b55
SCI32: Fix signature of kSetNowSeen
2016-08-19 13:57:40 -05:00
Colin Snover
ff00e93c67
SCI32: Remove GfxScreen from SCI32
2016-08-19 13:57:40 -05:00
Colin Snover
c8a2b9af22
SCI32: Fix comment
2016-08-19 13:57:40 -05:00
Colin Snover
03177721b8
SCI32: Allow pixel doubling of some cursors to improve usability
2016-08-19 13:57:40 -05:00