aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/detection.cpp
AgeCommit message (Collapse)Author
2009-10-09Removed the now unused GF_SCI0_OLDGETTIME flag and simplified all of the ↵Filippos Karapetis
game entries in the detector svn-id: r44856
2009-09-24Add "demo" to the extras field of the fallback detector for demosFilippos Karapetis
svn-id: r44291
2009-09-23- Moved the SCI version in a global variableFilippos Karapetis
- Changed all the SCI version checks to use getSciVersion() - Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine) The fallback detector should work correctly now svn-id: r44269
2009-09-17Made script_lookup_export() a method of SegManagerFilippos Karapetis
svn-id: r44140
2009-09-12- Made obj_get and obj_get_name methods of SegManager (getObject and ↵Filippos Karapetis
getObjectName, respectively) - Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency svn-id: r44039
2009-09-06SCI: Rename resManager -> resMan; segManager -> segManMax Horn
svn-id: r43980
2009-09-02Some renaming:Filippos Karapetis
getresourceManager -> getResourceManger resourceManager -> resMan segmentManager ->segMan svn-id: r43908
2009-09-01- Reverted the *vga targets back to *sci, and used the extras field again ↵Filippos Karapetis
for VGA remakes - The extras field is now filled by the fallback detector for VGA games svn-id: r43893
2009-09-01- Added MD5's for the 5 different Crazy Nick's collectionsFilippos Karapetis
- Added the MD5's of the French versions of GK2 and SQ6 (bug reports #2846842 and #2846515) - Added a different game id for QFG1 VGA (SCI1.1), to distinguish it from the older EGA version (SCI0) and added detection for the VGA version in the fallback detector - Changed some VGA SCI game IDs: lsl1sci -> lsl1vga, pq1sci -> pq1vga, sq1sci -> sq1vga, to distinguish SCI VGA remakes from SCI EGA remakes (like with QFG1VGA) svn-id: r43891
2009-09-01- Moved the Sierra game ID conversion code inside game.cpp, so that any ↵Filippos Karapetis
game-specific workarounds are tested against ScummVM IDs - Added detection for the EcoQuest 1 demo in the fallback detector - Partially reverted my previous "fix" for EcoQuest 1 CD, and turned it into a script-specific hack for that game, for now - Added handling of kDisposeScript calls made with 2 parameters, e.g. in KQ5CD and others (still untested, haven't found a test case) svn-id: r43887
2009-09-01SCI: Turned convertSierraGameId partially into a tableMax Horn
svn-id: r43883
2009-09-01Coding best practice: Whenever possible, pass objects by reference instead ↵Max Horn
of by value. Also make variables or data table which are only used locally "static". svn-id: r43882
2009-08-26Further work on the fallback detector: added several demosFilippos Karapetis
svn-id: r43756
2009-08-26Added code to distinguish between the demo and full versions of fairytalesFilippos Karapetis
svn-id: r43752
2009-08-26Started working on distinguishing the Sierra game demos. Also added a note ↵Filippos Karapetis
about a potential problem with language detection with some SCI games svn-id: r43751
2009-08-26WordingFilippos Karapetis
svn-id: r43750
2009-08-26Added automatic detection of the game language to the fallback detectorFilippos Karapetis
svn-id: r43749
2009-08-25- Finished automatic detection of the game platform in the fallback detectorFilippos Karapetis
- Added detection for GK1 to the fallback detector - Removed the rest of the executable reading code, as it's no longer used svn-id: r43746
2009-08-25- Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and ↵Matthew Hoops
SCI_VERSION_3 (each version has a different kernel table). - Improve map detection. - Fix SCI32 object and script initialization (Torin's Passage and GK1 scripts now start up, and probably most SCI2/2.1 games). - Add SCI2 and SCI2.1 kernel tables. svn-id: r43742
2009-08-25Fixed detection for GK1 demo when SCI32 is not enabledFilippos Karapetis
svn-id: r43727
2009-08-25Silenced warnings (thanks wjp)Filippos Karapetis
svn-id: r43725
2009-08-25- Simplified the parameters of some functionsFilippos Karapetis
- Replaced some EngineState parameters - The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions - Plugged 2 leaks in the fallback detector - Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency svn-id: r43722
2009-08-24Show if a game is using EGA graphics or not in the detected entryFilippos Karapetis
svn-id: r43699
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