Commit Graph
7044 Commits
Author SHA1 Message Date
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