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
Travis Howell
c0a8295919
Add more game demos.
...
svn-id: r40642
2009-05-17 10:40:28 +00:00
Travis Howell
dc55a54365
Add more game demos.
...
svn-id: r40635
2009-05-17 07:22:07 +00:00
Filippos Karapetis
565cfa074d
Simplified SCI versions to be SCI version generations, and fixed some game entries in the process. Also, added a sanity check for invalid game entries
...
svn-id: r40596
2009-05-15 09:04:21 +00:00
Filippos Karapetis
61d9a42c56
Fixed the detection entry for SQ3 Amiga, and added a special case for cursor hiding in SQ5
...
svn-id: r40574
2009-05-14 21:51:36 +00:00
Filippos Karapetis
42633c9865
Fixed SQ3 Amiga by hardcoding the resource version (automatic resource version detection fails on this one)
...
svn-id: r40568
2009-05-14 19:58:42 +00:00
Filippos Karapetis
97bdf32a59
Added the EGA version of Longbow, and partially reverted my previous commit. SCI1 EGA games should *really* be working now
...
svn-id: r40565
2009-05-14 18:55:30 +00:00
Filippos Karapetis
d5e1ca4630
- Added a new game flag to distinguish SCI1 EGA versions
...
- 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-14 17:50:09 +00:00
Filippos Karapetis
4a9e7e4393
Replaced the SCI_VERSION_FTU_DOSOUND_VARIANT_2 version check with the game feature flag GF_SCI1_NEWDOSOUND
...
svn-id: r40561
2009-05-14 13:51:42 +00:00
Filippos Karapetis
f75c950457
- Replaced SCI_VERSION_FTU_LOFS_ABSOLUTE with the GF_SCI1_LOFSABSOLUTE game flag
...
- Moved the version defines outside of versions.h
svn-id: r40559
2009-05-14 12:38:50 +00:00
Max Horn
b3ace666d0
SCI: Renamed GF_SCI0_BEFORE_* macros to GF_FOR_SCI0_BEFORE_* (to emphasise 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-14 11:30:21 +00:00
Filippos Karapetis
4ec6c4127f
Added a feature flag for the SCI1.1 behavior of kSetCursor() in Eco 1 and KQ5 CD. Some cleanup
...
svn-id: r40554
2009-05-14 11:11:56 +00:00
Filippos Karapetis
891a8fae05
- Removed SCI_VERSION_FTU_NEW_GETTIME
...
- Added defines for SCI0 flags, to simplify game entries
- Removed the leftover version_lock_flag from EngineState
svn-id: r40553
2009-05-14 10:24:39 +00:00
Filippos Karapetis
999d46b241
Started using game-specific flags and removed/replaced some SCI version checks with flags.
...
- The SCI0 new script header and the angles check have been replaced by the GF_SCI0_OLD flag
- The SCI0 new drawpic parameter and the new priority check have been replaced by the GF_SCI0_OLDGFXFUNCS flag
- Removed the code which retries to use the newer script header in SCI0 games if the detected one is wrong, as that case should be covered by the GF_SCI0_OLD flag
- Removed the leftover min_version and max_version variables from gamestate
- Cleaned up kGetTime() a bit
svn-id: r40552
2009-05-14 09:12:27 +00:00