307 Commits

Author SHA1 Message Date
Colin Snover
d17ae077dd SCI: Use reference instead of pointer for required out-data in metadata save function 2017-09-23 20:56:48 -05:00
Colin Snover
f11b0a4ff5 SCI32: Toggle Phant2 content censoring from game options
To enable the optional content censoring mode, Phant2 looks
for a RESDUK.PAT file, which is normally placed by the game's
installer if the user chose to enable censorship. If the file
exists, the game reads an unlock password out of the file and
asks the user to enter the password when starting a new game to
create an uncensored game, or to click a "less intense" button
to start the game with censoring. The censorship state of the
game is then persisted in the save game file, and installations
with the RESDUK.PAT file need to enter the password again in
order to restore any of the uncensored saves.

Since we do not have an installer that can enable this feature,
add a game option toggle to enable/disable censoring (for the
releases that have the optional censorship mode) instead so the
censored content feature is available for anyone that wants to use
it. This flag is restored from ScummVM whenever a save game is
loaded, so it can be toggled on or off at any point without
needing a separate save game, unlike in the original interpreter.
2017-09-08 16:03:24 -05:00
Colin Snover
6571111efc SCI32: Detect KQ7 2.00b using platform-specific files
The GOG.com release is missing the AVIs used for the intro &
ending animations in Windows. I'm unaware of any substantive
differences between the DOS and Windows versions otherwise, so
just not allowing Windows to be selected as a platform when the
video files are missing seems like it should be fine. (Same thing
in the opposite direction for a case where the DOS Robot files
are missing, though I don't know of a specific case where that is
a thing with KQ7 2.00b.)
2017-09-08 16:02:32 -05:00
Colin Snover
c8a06bed40 SCI32: Fix Phant2 game name
The game was originally titled "Phantasmagoria: A Puzzle of Flesh",
but the publisher now seem to be titling it "Phantasmagoria 2: A
Puzzle of Flesh". It was never referred to using roman numerals in
any release as far as I can find (the French "Fatal Obsessions"
release was just "Phantasmagoria: Obsessions Fatales").
2017-07-30 19:10:50 -05:00
Colin Snover
8cb35442c0 SCI32: Improve kShowMovieWin (AVI) rendering
1. Added a new game option for linear interpolation when scaling
   video in ScummVM builds with USE_RGB_COLOR;
2. 8bpp videos that put black in a palette index other than 0
   (KQ7) should now always render correctly without the earlier
   game-specific workarounds which did not work very well;
3. Data from game scripts regarding video size and position are
   now ignored, since games always just try to show videos in the
   middle of the screen, but frequently get this a little bit
   wrong, causing either bad aspect ratios or off-center videos;
4. Builds without USE_RGB_COLOR support will not crash when
   attempting to play >8bpp AVIs, like those from KQ7 2.00b.

Fixes Trac#9843, Trac#9762.
2017-07-06 19:12:38 -05:00
Colin Snover
d6ff67e3c4 SCI32: Fix detection and loading of localized resources in Torin
Italian still needs to be fixed, but nobody seems to have access
to this version at the moment.

Fixes Trac#9772.
2017-06-10 20:32:22 -05:00
Colin Snover
b1ace1a01c SCI: Suppress resource warnings when running fallback detection
For the moment, only warn about bad resources when a game is
actually starting, since unknown but valid resources being
detected by the fallback detector currently also trigger the
warning.
2017-05-13 22:49:40 -05:00
Colin Snover
866419fa71 SCI: Implement fallback detection for SCI3 2017-04-23 13:07:25 -05:00
Colin Snover
8817e8e3bf SCI: Explicitly label slot 0 as the autosave slot in the ScummVM UI 2017-04-22 19:28:34 -05:00
Colin Snover
2862e51068 SCI32: Fix launcher load for Shivers 2017-04-22 13:01:36 -05:00
Colin Snover
a2c48eff4c SCI32: Only activate the Load button in the launcher when it is usable 2017-04-22 13:01:36 -05:00
Colin Snover
c8486395fa SCI: Clean up unnecessary delayed restore flags
_delayedRestoreGame is always set and cleared at the same time as
_delayedRestoreGameId, and _delayedRestoreFromLauncher is written
but never read.
2017-04-22 13:01:35 -05:00
Colin Snover
31daa956d6 SCI: Implement bounds-checked reads of game resources 2017-03-27 19:42:31 -05:00
Colin Snover
bc8aea4b60 SCI32: Disable load button in F5 menu for Phant1 & Hoyle5
These games either don't have saves (Hoyle) or the saves bypass
the normal save game system so are unidentifiable by ScummVM
(Phant1).
2016-12-18 19:03:30 -06:00
Colin Snover
8bda50fb08 SCI: Clarify the SciEngine::canSaveGameStateCurrently situation 2016-12-18 19:03:30 -06:00
Ben Castricum
b041618a42 ALL: Remove comma before the word 'instead' 2016-11-29 20:22:19 +01:00
Willem Jan Palenstijn
ae683e33e1 SCI: Resolve duplicate resmap.001 check
Before cef5506e9f0ba328a064f058f074c979b8ba6485, we used to check
for any files starting with resmap.00. We now check for resmap.000
and resmap.001.
2016-10-28 21:40:14 +02:00
Eugene Sandulenko
dead4aa014 JANITORIAL: Remove trailing spaces 2016-10-09 14:59:58 +02:00
Colin Snover
64dc37cfe2 SCI32: Start implementing kSave for SCI32 2016-09-29 19:39:16 -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
Omer Mor
7c19e26610 SCI: Add detection to the Hoyle 5 family of games
Added games are:
  Hoyle Classic Games
  Hoyle Bridge
  Hoyle Children's Collection
  Hoyle Solitaire (CD and Hard Drive versions)

Additionaly, kGetConfig was modified to support two settings used by
these games: "laptop" and "jumpto".
2016-07-25 22:44:11 +03:00
Colin Snover
593560e876 SCI32: Add detection for Hoyle 5 demo 2016-07-11 13:02:27 -05:00
Colin Snover
b6dbc79021 SCI32: Add support for blacklined video
Ow. My eyeballs.
2016-07-10 09:36:10 -05:00
Omer Mor
445b690a6f SCI: Add detection for the ImagiNation Network (INN) Demo 2016-07-06 00:40:33 +03:00
Filippos Karapetis
6958aa9890 SCI: Separate the demos of QFG4, PQ4 and GK1 from their full versions
The demo versions of these games were using a very different engine -
SCI1.1 vs SCI2/SCI2.1. Thus, we split them into different game IDs,
to avoid mixing specific game checks for them, as well as specific
game workarounds, which are different for the demos than the full
versions. Also, the demos should be working when SCI32 is disabled.
For these games, we don't use ADGF_DEMO, to avoid game IDs like
foodemo-demo
2016-03-08 20:36:02 +02:00
Johannes Schickel
3aecd8ef2a ENGINES: Make variable names of ADGameDescription conform to our guidelines.
gameid     -> gameId
guioptions -> guiOptions
2016-03-08 19:01:38 +01:00
Johannes Schickel
0b6befdcc5 ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.
_singleid   -> _singleId
_gameids    -> _gameIds
_guioptions -> _guiOptions
2016-03-08 19:01:13 +01:00
Johannes Schickel
cea96e4a39 SCI: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Filippos Karapetis
9cb7caeb24 SCI: Fix a regression in the fallback detector. Some cleanup
Removed the superfluous initForDetection() function, which was not
updated in commit 2f17ba2b0ab77ef939c21efa04f7aaafccbd0c37 and
caused the fallback detector to crash because of uninitialized
variables
2016-02-20 16:56:08 +02:00
Martin Kiewitz
04de7279a1 SCI: Blocking ScummVM auto-save slot 0 for saving
Auto-saving is not used by SCI, but slot 0 is ScummVM "standard"
for auto-saving, that's why it's not available for saving anymore.
Jones still uses slot 0 for saving/restoring (because it's
hardcoded and changing it would break it somewhat)
Deleting + restoring is still possible of couse.
2016-02-05 19:43:48 +01:00
Johannes Schickel
c15d2edecf SCI: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Martin Kiewitz
0aa9924df1 SCI: add user option for high resolution graphics
Instead of choosing Windows as platform, users can now also simply
click this option for Gabriel Knight 1 + King's Quest 6
Defaults to high resolution graphics
2016-01-22 02:01:28 +01:00
Colin Snover
76bd2eeb2e SCI: Use tick-based timing more consistently
This means tick-based times are saved to save games, as in SCI32
engine, instead of seconds, which are not accurate enough. It
also means places in SCI engine that need to access game ticks
should do so through g_sci instead of g_system or g_engine.
2016-01-14 16:13:22 -06:00
Martin Kiewitz
8bfb268eb2 SCI: rename GAMEOPTION_EGA_UNDITHER name + desc
Original name + description were inaccurate. We don't actually
do undithering (besides the view undithering), but we instead
skip the EGA dithering code.
2015-06-15 17:37:33 +02:00
Martin Kiewitz
5a7dbc3666 SCI: remove unused code in SciEngine::loadGameState() 2015-04-26 09:10:25 +02:00
Martin Kiewitz
bfba28c335 SCI: implement delayed restore via ScummVM menu
will delay restoring a saved game until the next
 kGetEvent or kWait
also implement aborting playback for kPortrait
 and kShowMovie
2015-04-26 09:08:46 +02:00
Willem Jan Palenstijn
21b138add2 Revert "SCI: Hopefully fix bug #3565505 - "SCI : crash when loading a savegame""
This reverts commit 76ff4c700166d69b416dae324ee616ab57265c34.

It was intended to fix bug #6136, but only worked around the actual
problem in some cases. See 4c03e4b699916a9b9fe71afffaf41c283045216e.
2015-04-26 00:51:31 +02:00
Filippos Karapetis
4736c490e1 SCI: Separate the rest of the detection-only functions
This should fix bug #6717 - "SCI fallback detection assert failure"
2014-10-18 16:03:49 +03:00
Filippos Karapetis
fe3ed8ded2 SCI: Rename the version of addAppropriateSources() used in detection 2014-10-18 16:03:49 +03:00
Filippos Karapetis
17a77ff69c SCI: Fix some typos, and remove some redundant curly braces 2014-10-18 16:03:48 +03:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis
bd945bc756 SCI: Add support for the King's Questions mini-game
This can be found in the KQ collection
2013-08-20 19:48:33 +03:00
Matthew Hoops
0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Filippos Karapetis
146d00a799 SCI: Add the Inside the Chest / Benind the Developer's Shield demo 2012-10-22 12:19:13 +03:00
Filippos Karapetis
76ff4c7001 SCI: Hopefully fix bug #3565505 - "SCI : crash when loading a savegame"
This bug occurs because in the cases specified in the bug report, the main
loop hasn't run fully yet, and there is a mini loop running instead (e.g.
inside Print())
Hopefully, this catches most cases where the crash occurs, but it needs more
testing to find if there is any other such case.
2012-10-13 21:06:02 +03:00
Johannes Schickel
55d3223468 SCI: Fix spelling of Yamaha.
Thanks to somaen for noticing.
2012-07-04 02:02:58 +02:00
Johannes Schickel
05bd736d16 SCI: Slight cleanup in querySaveMetaInfos. 2012-07-03 18:39:50 +02:00
Filippos Karapetis
346c1fe461 GUI: Change the undithering checkbox to be an engine-specific option 2012-03-25 18:51:23 +03:00
Filippos Karapetis
1938d95c4e SCI: Rename the sci_originalsavedload option to originalsaveload
This changes its naming to be like the rest of the game options
2012-03-25 17:48:38 +03:00
Filippos Karapetis
96f132994f SCI: Add per-game GUI option support. 2012-03-19 21:04:29 +01:00