Commit Graph
311 Commits
Author SHA1 Message Date
Filippos Karapetis ed6b9175d0 Further work on the fallback detector: added several demos
svn-id: r43756
2009-08-26 10:01:05 +00:00
Filippos Karapetis 5ac2b5522d Added code to distinguish between the demo and full versions of fairytales
svn-id: r43752
2009-08-26 01:38:18 +00:00
Filippos Karapetis fcf4366230 Started working on distinguishing the Sierra game demos. Also added a note about a potential problem with language detection with some SCI games
svn-id: r43751
2009-08-26 01:26:56 +00:00
Filippos Karapetis 3583216c82 Wording
svn-id: r43750
2009-08-26 00:37:04 +00:00
Filippos Karapetis ed9313f3c1 Added automatic detection of the game language to the fallback detector
svn-id: r43749
2009-08-26 00:27:14 +00:00
Filippos Karapetis c3db0d3f2a - Finished automatic detection of the game platform in the fallback detector
- 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 23:36:20 +00:00
Matthew Hoops b5da8a5cdc - Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and 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-25 23:02:57 +00:00
Filippos Karapetis 3f2e43478b Fixed detection for GK1 demo when SCI32 is not enabled
svn-id: r43727
2009-08-25 09:24:35 +00:00
Filippos Karapetis eb83ca267d Silenced warnings (thanks wjp)
svn-id: r43725
2009-08-25 09:02:00 +00:00
Filippos Karapetis ed66cad677 - Simplified the parameters of some functions
- 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-25 08:38:14 +00:00
Filippos Karapetis f7b7b494f9 Show if a game is using EGA graphics or not in the detected entry
svn-id: r43699
2009-08-24 14:00:29 +00:00
Filippos Karapetis 5618965282 More work on the fallback detector: added detection of CD games and prevented a crash when detecting a SCI32 game if SCI32 isn't compiled in
svn-id: r43698
2009-08-24 13:47:38 +00:00
Filippos Karapetis 4c62b6ac86 - Removed the code which reads the SCI version string from the game 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-24 08:10:29 +00:00
Eugene Sandulenko 030665f90b Move detection tables to separate file.
svn-id: r43682
2009-08-24 07:57:04 +00:00
Filippos Karapetis 60af2db2fd - Added more mappings from Sierra's internal IDs to our own ones. Hopefully, 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-23 21:57:30 +00:00
Johannes Schickel edc8ffdaba Fix use of default directories in SCI detection code. So far all our 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-21 22:25:55 +00:00
Matthew Hoops c32f11c106 Add detection for the QFG2 demo.
svn-id: r43565
2009-08-20 18:10:02 +00:00
Filippos Karapetis db0cd620f6 Started rewriting the SCI engine to use FSNode instead of file names. This 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-18 14:10:31 +00:00
Filippos Karapetis 766cdac9f3 Mapped some Sierra internal IDs to our own ones, and added a note about a hack currently used in the fallback detector
svn-id: r43509
2009-08-18 12:49:34 +00:00
Filippos Karapetis ca9bbce9b3 - Added game ID detection to the fallback detector. We still need to map 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-18 10:01:18 +00:00
Filippos Karapetis 65ac355efa Removed the maxMemory parameter of the resource manager and replaced it with a define
svn-id: r43503
2009-08-18 09:12:41 +00:00
Filippos Karapetis c38f58598b - Simplified some functions to accept only the parts of the EngineState they 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-17 05:55:21 +00:00
Walter van Niftrik 00f4794c0a SCI: Stage 1 of the game detection overhaul. The end goal is to autodetect
as much as possible. All SCI_VERSION_* information was removed from
detection.cpp (much of it was incorrect anyway).

svn-id: r43449
2009-08-16 19:18:19 +00:00
Walter van Niftrik 5709e524f9 SCI: Rename sci_version_t to SciVersion
svn-id: r43407
2009-08-15 12:09:47 +00:00
Walter van Niftrik f99932b72a SCI: Added enum for map and volume versions. Removed res_version setting from
detection.cpp (should be detectable). Cleanup.

svn-id: r43390
2009-08-15 00:28:59 +00:00
Walter van Niftrik 6dc54e4496 SCI: Added detection entries for French versions of Eco Quest 1/2 (reported
by Strangerke).

svn-id: r43190
2009-08-10 01:08:20 +00:00
Filippos Karapetis 52ed2fe04c Added missing information for the newly-added version of Pepper
svn-id: r42525
2009-07-16 08:21:06 +00:00
Filippos Karapetis efc5f80f51 Added the French version of KQ5 floppy (bug report #2812611)
svn-id: r42524
2009-07-16 08:17:38 +00:00
Filippos Karapetis 00dbbedbad Added a detection entry for Pepper's Adventures in Time, and fixed an issue with _gfxop_set_pic(), which was causing crashes in that game
svn-id: r42523
2009-07-16 08:13:08 +00:00
Filippos Karapetis 4f2b857982 Removed an invalid detection entry
svn-id: r42373
2009-07-11 06:34:25 +00:00
Filippos Karapetis 717de7800c Applied patch #2818845 - "SCI: resource.map detection for SCI1/1.1 fixed", with some slight formatting changes
svn-id: r42300
2009-07-09 15:54:18 +00:00
Filippos Karapetis d55f7e72d0 Added auto-detection for games with older headers for script blocks, and removed game flag GF_SCI0_OLD
svn-id: r42211
2009-07-07 10:28:05 +00:00
Filippos Karapetis c716e43a2b - Added auto-detection for EGA graphics. As a result of this, GF_SCI1_EGA 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-07 07:44:25 +00:00
Filippos Karapetis 219b0de0d2 Renamed SCI_VERSION_01 -> SCI_VERSION_01_EGA
svn-id: r42181
2009-07-06 16:22:14 +00:00
Filippos Karapetis 8f284ad396 KQ6CD should be working correctly again
svn-id: r42178
2009-07-06 15:30:07 +00:00
Filippos Karapetis 5c60d94725 SCI1 games with absolute parameters to lofs instructions are automatically detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag
svn-id: r42118
2009-07-05 11:08:53 +00:00
Filippos Karapetis 230e7a8d2c Newer DoSound() semantics are now detected automatically, by the existence of the "setVol" selector. Removed game flag GF_SCI1_NEWDOSOUND
svn-id: r42087
2009-07-04 11:24:09 +00:00
Filippos Karapetis df9570cb32 SCI0 games using older graphics functions are automatically detected now, from the presence of the "TimesSin" and "SinMult" kernel functions. Removed the GF_SCI0_OLDGFXFUNCS game flag
svn-id: r42081
2009-07-03 23:37:08 +00:00
Filippos Karapetis 9664050ff0 Simplified the kernel name loading code: Merged the default SCI0 and SCI1 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-07-03 09:01:51 +00:00
Matthew Hoops 4df9dd82fb After discussing with waltervn, committing my fix for the King's Quest I Demo (original from Patch #2795916). I'm also fixing the full game as well :)
svn-id: r41841
2009-06-25 00:14:07 +00:00
Walter van Niftrik d0471f01db SCI: Added detection entries for Japanese SQ4.
svn-id: r41517
2009-06-14 14:11:21 +00:00
Walter van Niftrik 019be026d9 SCI: Added detection entries for Japanese QFG.
svn-id: r41485
2009-06-12 23:29:27 +00:00
Eugene Sandulenko a881ba9d42 MD5 from bugreport #2797962: "SCI: Laura Bows 2 german, md5"
svn-id: r41326
2009-06-07 10:13:05 +00:00
Eugene Sandulenko 75ef63a363 Added MD5 from Bug #2796782: "SCI: LSL1 Russian MD5"
svn-id: r41325
2009-06-07 10:04:41 +00:00
Eugene Sandulenko 1bd6f6c99f Added game GUI options to advancedDetector and updated all engines
svn-id: r41272
2009-06-06 17:56:41 +00:00
Filippos Karapetis e9444e2b93 - Rewrote kSetCursor to be a bit simpler to understand, and got rid of 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-29 08:25:42 +00:00
Filippos Karapetis 16078599fb Added a warning when kDoAudio is called with the new semantics (SQ4CD or newer) and fixed the detection entry for SQ4CD
svn-id: r40935
2009-05-27 08:48:57 +00:00
Max Horn 7d5f3e1714 Turned some static tables into static const tables; added some FIXME comments to global static vars that should be removed (many more exist in SCI, Tinsel, and some other engines)
svn-id: r40908
2009-05-26 11:30:21 +00:00
Walter van Niftrik de5ca1e472 SCI: Some small fixes for KQ6CD.
svn-id: r40898
2009-05-26 00:03:41 +00:00
Max Horn bba91075bf removed trailing whitespaces
svn-id: r40742
2009-05-20 17:53:31 +00:00