aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/detection.cpp
AgeCommit message (Collapse)Author
2018-09-01SCI32: Add a game option to double the videos in KQ7 by defaultFilippos Karapetis
Scaling works correctly with the Windows variant, which uses AVI files, but the DOS variant uses Robot videos, and the way scaling is done there is different, and is not working yet with KQ7 DOS. Nonetheless, both versions are included in the game, so it's not a major issue.
2018-08-30SCI32: update the fallback detector for Hoyle5, some cleanupFilippos Karapetis
2018-06-03Merge pull request #1141 from DanielSWolf/larryscaleThierry Crozat
SCI: High-quality "LarryScale" cel scaler for LSL7
2018-05-10ENGINES: Add unknown game variants to the game detector resultsBastien Bouclet
2018-04-07ALL: Load savegame thumbnail only when necessaryAdrian Frühwirth
This commit introduces the following changes: 1. Graphics::loadThumbnail() Now returns a boolean and takes a new argument skipThumbnail which defaults to false. In case of true, loadThumbnail() reads past the thumbnail data in the input stream instead of actually loading the thumbnail. This simplifies savegame handling where, up until now, many engines always read the whole savegame metadata (including the thumbnail) and then threw away the thumbnail when not needed (which is in almost all cases, the most common exception being MetaEngine::querySaveMetaInfos() which is responsible for loading savegame metadata for displaying it in the GUI launcher. 2. readSavegameHeader() Engines which already implement such a method (name varies) now take a new argument skipThumbnail (default: true) which is passed through to loadThumbnail(). This means that the default case for readSavegameHeader() is now _not_ loading the thumbnail from a savegame and just reading past it. In those cases, e.g. querySaveMetaInfos(), where we actually are interested in loading the thumbnail readSavegameHeader() needs to explicitely be called with skipThumbnail == false. Engines whose readSavegameHeader() (name varies) already takes an argument loadThumbnail have been adapted to have a similar prototype and semantics. I.e. readSaveHeader(in, loadThumbnail, header) now is readSaveHeader(in, header, skipThumbnail). 3. Error handling Engines which previously did not check the return value of readSavegameHeader() (name varies) now do so ensuring that possibly broken savegames (be it a broken thumbnail or something else) don't make it into the GUI launcher list in the first place.
2018-03-16SCI: Add game option for enabling/disabling LarryScale in LSL7Daniel Wolf
All other SCI games continue using the default scaler.
2017-09-23SCI: Use reference instead of pointer for required out-data in metadata save ↵Colin Snover
function
2017-09-08SCI32: Toggle Phant2 content censoring from game optionsColin Snover
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-08SCI32: Detect KQ7 2.00b using platform-specific filesColin Snover
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-07-30SCI32: Fix Phant2 game nameColin Snover
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-06SCI32: Improve kShowMovieWin (AVI) renderingColin Snover
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-06-10SCI32: Fix detection and loading of localized resources in TorinColin Snover
Italian still needs to be fixed, but nobody seems to have access to this version at the moment. Fixes Trac#9772.
2017-05-13SCI: Suppress resource warnings when running fallback detectionColin Snover
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-04-23SCI: Implement fallback detection for SCI3Colin Snover
2017-04-22SCI: Explicitly label slot 0 as the autosave slot in the ScummVM UIColin Snover
2017-04-22SCI32: Fix launcher load for ShiversColin Snover
2017-04-22SCI32: Only activate the Load button in the launcher when it is usableColin Snover
2017-04-22SCI: Clean up unnecessary delayed restore flagsColin Snover
_delayedRestoreGame is always set and cleared at the same time as _delayedRestoreGameId, and _delayedRestoreFromLauncher is written but never read.
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
2016-12-18SCI32: Disable load button in F5 menu for Phant1 & Hoyle5Colin Snover
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-18SCI: Clarify the SciEngine::canSaveGameStateCurrently situationColin Snover
2016-11-29ALL: Remove comma before the word 'instead'Ben Castricum
2016-10-28SCI: Resolve duplicate resmap.001 checkWillem Jan Palenstijn
Before cef5506e9f0ba328a064f058f074c979b8ba6485, we used to check for any files starting with resmap.00. We now check for resmap.000 and resmap.001.
2016-10-09JANITORIAL: Remove trailing spacesEugene Sandulenko
2016-09-29SCI32: Start implementing kSave for SCI32Colin Snover
2016-08-19SCI32: Enable multi-disc audio resourcesColin Snover
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-07-25SCI: Add detection to the Hoyle 5 family of gamesOmer Mor
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-11SCI32: Add detection for Hoyle 5 demoColin Snover
2016-07-10SCI32: Add support for blacklined videoColin Snover
Ow. My eyeballs.
2016-07-06SCI: Add detection for the ImagiNation Network (INN) DemoOmer Mor
2016-03-08SCI: Separate the demos of QFG4, PQ4 and GK1 from their full versionsFilippos Karapetis
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-08ENGINES: Make variable names of ADGameDescription conform to our guidelines.Johannes Schickel
gameid -> gameId guioptions -> guiOptions
2016-03-08ENGINES: Make variable names of AdvancedMetaEngine conform to our guidelines.Johannes Schickel
_singleid -> _singleId _gameids -> _gameIds _guioptions -> _guiOptions
2016-02-25SCI: Let listSaves return list sorted on slot numbers.Johannes Schickel
2016-02-20SCI: Fix a regression in the fallback detector. Some cleanupFilippos Karapetis
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-05SCI: Blocking ScummVM auto-save slot 0 for savingMartin Kiewitz
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-01-26SCI: Only request actual save slots in listSaves.Johannes Schickel
2016-01-22SCI: add user option for high resolution graphicsMartin Kiewitz
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-14SCI: Use tick-based timing more consistentlyColin Snover
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.
2015-06-15SCI: rename GAMEOPTION_EGA_UNDITHER name + descMartin Kiewitz
Original name + description were inaccurate. We don't actually do undithering (besides the view undithering), but we instead skip the EGA dithering code.
2015-04-26SCI: remove unused code in SciEngine::loadGameState()Martin Kiewitz
2015-04-26SCI: implement delayed restore via ScummVM menuMartin Kiewitz
will delay restoring a saved game until the next kGetEvent or kWait also implement aborting playback for kPortrait and kShowMovie
2015-04-26Revert "SCI: Hopefully fix bug #3565505 - "SCI : crash when loading a savegame""Willem Jan Palenstijn
This reverts commit 76ff4c700166d69b416dae324ee616ab57265c34. It was intended to fix bug #6136, but only worked around the actual problem in some cases. See 4c03e4b699916a9b9fe71afffaf41c283045216e.
2014-10-18SCI: Separate the rest of the detection-only functionsFilippos Karapetis
This should fix bug #6717 - "SCI fallback detection assert failure"
2014-10-18SCI: Rename the version of addAppropriateSources() used in detectionFilippos Karapetis
2014-10-18SCI: Fix some typos, and remove some redundant curly bracesFilippos Karapetis
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-08-20SCI: Add support for the King's Questions mini-gameFilippos Karapetis
This can be found in the KQ collection
2013-05-02COMMON: Change kPlatformPC to kPlatformDOSMatthew Hoops
"PC" was very ambiguous and now it matches what we show in the GUI. This also corrects sword2's platform to Windows.
2012-10-22SCI: Add the Inside the Chest / Benind the Developer's Shield demoFilippos Karapetis