aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/detection.cpp
AgeCommit message (Collapse)Author
2009-08-24More work on the fallback detector: added detection of CD games and ↵Filippos Karapetis
prevented a crash when detecting a SCI32 game if SCI32 isn't compiled in svn-id: r43698
2009-08-24- Removed the code which reads the SCI version string from the game ↵Filippos Karapetis
executable in the fallback detector. We no longer use the actual SCI version string, and we can auto-detect a lot of features from the game resources now. The EXE version string was only used to display the detected SCI version in the console, which isn't very useful to us anymore. - Added detection for PC and Amiga versions based on the game's detected view types. Still need to do detection for Mac and Atari ST versions svn-id: r43683
2009-08-24Move detection tables to separate file.Eugene Sandulenko
svn-id: r43682
2009-08-23- Added more mappings from Sierra's internal IDs to our own ones. Hopefully, ↵Filippos Karapetis
all SCI0-SCI11 games can now be detected correctly from the fallback detector - Simplified some checks for old script types svn-id: r43678
2009-08-21Fix use of default directories in SCI detection code. So far all our ↵Johannes Schickel
detection code was based on FSNode, but since SCI seems to call engine internal code for detection which operates via File, there was the need to use File::addDefaultDirectory to have it working. The problem here is that the default directories are not reset after game detection, since the caller code assumes it's all done via FSNode. A simple change to use SearchMan, which is used internally by File, to add the default directory and removing it later on in the SCI detection code fixed the issue. Of course that is still slightly of a HACK, but it is much nicer than to rewrite engine internal code to use FSNode, just to be usable for game detection. I added a possible solution to remove the HACK as sourcecode comment. svn-id: r43613
2009-08-20Add detection for the QFG2 demo.Matthew Hoops
svn-id: r43565
2009-08-18Started rewriting the SCI engine to use FSNode instead of file names. This ↵Filippos Karapetis
is the proper solution for removing the hack in the fallback detector, but it still needs work. Also, reduced the things needed to be initialized a bit, so that the detection is a bit faster svn-id: r43510
2009-08-18Mapped some Sierra internal IDs to our own ones, and added a note about a ↵Filippos Karapetis
hack currently used in the fallback detector svn-id: r43509
2009-08-18- Added game ID detection to the fallback detector. We still need to map ↵Filippos Karapetis
some of Sierra's internal IDs to our own ones - The class table is now created in the segment manager constructor svn-id: r43504
2009-08-18Removed the maxMemory parameter of the resource manager and replaced it with ↵Filippos Karapetis
a define svn-id: r43503
2009-08-17- Simplified some functions to accept only the parts of the EngineState they ↵Filippos Karapetis
need as parameters, instead of the whole EngineState - Moved the class table in the Segment manager - it's the only class using it directly - Removed the sci11 flag from save games (we already know this, we don't need to store it) - Moved script_get_segment() and get_class_address() inside the segment manager class - Removed the script_locate_by_segment wrapper - Simplified script_lookup_export() a lot by removing some paranoia checks - Added some WIP code for automatically determining the game id in the fallback detector (still not working) - General cleanup svn-id: r43458
2009-08-16SCI: Stage 1 of the game detection overhaul. The end goal is to autodetectWalter van Niftrik
as much as possible. All SCI_VERSION_* information was removed from detection.cpp (much of it was incorrect anyway). svn-id: r43449
2009-08-15SCI: Rename sci_version_t to SciVersionWalter van Niftrik
svn-id: r43407
2009-08-15SCI: Added enum for map and volume versions. Removed res_version setting fromWalter van Niftrik
detection.cpp (should be detectable). Cleanup. svn-id: r43390
2009-08-10SCI: Added detection entries for French versions of Eco Quest 1/2 (reportedWalter van Niftrik
by Strangerke). svn-id: r43190
2009-07-16Added missing information for the newly-added version of PepperFilippos Karapetis
svn-id: r42525
2009-07-16Added the French version of KQ5 floppy (bug report #2812611)Filippos Karapetis
svn-id: r42524
2009-07-16Added a detection entry for Pepper's Adventures in Time, and fixed an issue ↵Filippos Karapetis
with _gfxop_set_pic(), which was causing crashes in that game svn-id: r42523
2009-07-11Removed an invalid detection entryFilippos Karapetis
svn-id: r42373
2009-07-09Applied patch #2818845 - "SCI: resource.map detection for SCI1/1.1 fixed", ↵Filippos Karapetis
with some slight formatting changes svn-id: r42300
2009-07-07Added auto-detection for games with older headers for script blocks, and ↵Filippos Karapetis
removed game flag GF_SCI0_OLD svn-id: r42211
2009-07-07- Added auto-detection for EGA graphics. As a result of this, GF_SCI1_EGA ↵Filippos Karapetis
has been removed and versions SCI_VERSION_01_EGA and SCI_VERSION_01_VGA have been merged into SCI_VERSION_01 - Simplified the checks for EGA and VGA graphics - Fixed a bug in script_adjust_opcode_formats() - Simplified the code in GfxResManager::getView() a bit svn-id: r42206
2009-07-06Renamed SCI_VERSION_01 -> SCI_VERSION_01_EGAFilippos Karapetis
svn-id: r42181
2009-07-06KQ6CD should be working correctly againFilippos Karapetis
svn-id: r42178
2009-07-05SCI1 games with absolute parameters to lofs instructions are automatically ↵Filippos Karapetis
detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag svn-id: r42118
2009-07-04Newer DoSound() semantics are now detected automatically, by the existence ↵Filippos Karapetis
of the "setVol" selector. Removed game flag GF_SCI1_NEWDOSOUND svn-id: r42087
2009-07-03SCI0 games using older graphics functions are automatically detected now, ↵Filippos Karapetis
from the presence of the "TimesSin" and "SinMult" kernel functions. Removed the GF_SCI0_OLDGFXFUNCS game flag svn-id: r42081
2009-07-03Simplified the kernel name loading code: Merged the default SCI0 and SCI1 ↵Filippos Karapetis
kernel name tables in one table. vocab.999 is only used in SCI0 and SCI01 games if it exists as an override to the default kernel name table (which works with SCI0/SCI01 demos with no vocab.999, like KQ1 and xmas1998). Removed GF_SCI0_SCI1VOCAB. svn-id: r42050
2009-06-25After discussing with waltervn, committing my fix for the King's Quest I ↵Matthew Hoops
Demo (original from Patch #2795916). I'm also fixing the full game as well :) svn-id: r41841
2009-06-14SCI: Added detection entries for Japanese SQ4.Walter van Niftrik
svn-id: r41517
2009-06-12SCI: Added detection entries for Japanese QFG.Walter van Niftrik
svn-id: r41485
2009-06-07MD5 from bugreport #2797962: "SCI: Laura Bows 2 german, md5"Eugene Sandulenko
svn-id: r41326
2009-06-07Added MD5 from Bug #2796782: "SCI: LSL1 Russian MD5"Eugene Sandulenko
svn-id: r41325
2009-06-06Added game GUI options to advancedDetector and updated all enginesEugene Sandulenko
svn-id: r41272
2009-05-29- Rewrote kSetCursor to be a bit simpler to understand, and got rid of ↵Filippos Karapetis
GF_SCI1_NEWSETCURSOR - Removed the 3 mouse pointer view, loop and cell variables (and their 3 "save" versions) from the game state, as they're all actually not used anywhere - Cleanup svn-id: r40976
2009-05-27Added a warning when kDoAudio is called with the new semantics (SQ4CD or ↵Filippos Karapetis
newer) and fixed the detection entry for SQ4CD svn-id: r40935
2009-05-26Turned some static tables into static const tables; added some FIXME ↵Max Horn
comments to global static vars that should be removed (many more exist in SCI, Tinsel, and some other engines) svn-id: r40908
2009-05-26SCI: Some small fixes for KQ6CD.Walter van Niftrik
svn-id: r40898
2009-05-20removed trailing whitespacesMax Horn
svn-id: r40742
2009-05-17Add more game demos.Travis Howell
svn-id: r40642
2009-05-17Add more game demos.Travis Howell
svn-id: r40635
2009-05-15Simplified SCI versions to be SCI version generations, and fixed some game ↵Filippos Karapetis
entries in the process. Also, added a sanity check for invalid game entries svn-id: r40596
2009-05-14Fixed the detection entry for SQ3 Amiga, and added a special case for cursor ↵Filippos Karapetis
hiding in SQ5 svn-id: r40574
2009-05-14Fixed SQ3 Amiga by hardcoding the resource version (automatic resource ↵Filippos Karapetis
version detection fails on this one) svn-id: r40568
2009-05-14Added the EGA version of Longbow, and partially reverted my previous commit. ↵Filippos Karapetis
SCI1 EGA games should *really* be working now svn-id: r40565
2009-05-14- Added a new game flag to distinguish SCI1 EGA versionsFilippos Karapetis
- Fixed the wrong detected versions of Laura Bow 2 - Changed some code regarding the resource loader of Jones in the Fast Lane (which is still non-functional) svn-id: r40564
2009-05-14Replaced the SCI_VERSION_FTU_DOSOUND_VARIANT_2 version check with the game ↵Filippos Karapetis
feature flag GF_SCI1_NEWDOSOUND svn-id: r40561
2009-05-14- Replaced SCI_VERSION_FTU_LOFS_ABSOLUTE with the GF_SCI1_LOFSABSOLUTE game flagFilippos Karapetis
- Moved the version defines outside of versions.h svn-id: r40559
2009-05-14SCI: Renamed GF_SCI0_BEFORE_* macros to GF_FOR_SCI0_BEFORE_* (to emphasise ↵Max Horn
that those are not Game Features); also moved their definitions into detection.cpp, to minimize the risk that they are accidentally used by other code svn-id: r40557
2009-05-14Added a feature flag for the SCI1.1 behavior of kSetCursor() in Eco 1 and ↵Filippos Karapetis
KQ5 CD. Some cleanup svn-id: r40554