Filippos Karapetis
20fcedc34a
Some further work on the fallback detector, reducing the reliance on the segment manager
...
svn-id: r49125
2010-05-21 07:30:37 +00:00
Filippos Karapetis
678411ae5e
Slight bugfix in the object iteration inside getSierraGameId()
...
svn-id: r49110
2010-05-19 23:29:27 +00:00
Filippos Karapetis
480e5c8488
Added a new method to the resource manager, to help determine if we got a SCI1.1 Mac game. Started rewriting the fallback detector so that it doesn't rely on the segment manager to find the internal game ID
...
svn-id: r49102
2010-05-19 15:57:58 +00:00
Matthew Hoops
7344ac20d7
Add support for loading SCI games from Mac resource forks. The games themselves do not work yet as some (not all) of the data is in BE order instead of LE. They currently error out because it thinks the relocation block is outside of the script.
...
svn-id: r48998
2010-05-10 18:29:13 +00:00
Max Horn
cac0ac66e2
COMMON: Get rid of Common::StringList
...
svn-id: r48287
2010-03-18 15:54:40 +00:00
Max Horn
ee1110a114
SCI: Reduce header interdependencies
...
svn-id: r48086
2010-02-17 23:38:43 +00:00
Max Horn
903b694574
SCI: Cleanup resource.h
...
svn-id: r48084
2010-02-17 23:37:32 +00:00
Max Horn
26b7f0bbb9
SCI: Remove hack in convertSierraGameId which caused a memory leak
...
svn-id: r48083
2010-02-17 23:36:50 +00:00
Johannes Schickel
044ddf02a0
Fix warning format arguments. (Passing a Common::String ins't that much of a good idea)
...
svn-id: r47743
2010-01-31 10:02:38 +00:00
Filippos Karapetis
f59f03967b
- Fixed saving from the GMM
...
- Grouped game IDs per SCI generation
svn-id: r47742
2010-01-31 08:28:10 +00:00
Filippos Karapetis
7f4aa161bc
Removed duplicate code. Some cleanup
...
svn-id: r47735
2010-01-31 01:26:06 +00:00
Matthew Hoops
eabbe89971
Improve support for the SCI2.1/SCI3 file naming scheme. Multiple maps can be used and have to be matched up with their volume counterparts. Adding detection for the Phantasmagoria Demo too.
...
svn-id: r47588
2010-01-27 04:26:28 +00:00
Johannes Schickel
aed02365ec
Strip trailing spaces/tabs.
...
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis
c46c42ceb0
SCI: Saved games can now be loaded from ScummVM's launcher
...
svn-id: r47423
2010-01-21 22:20:16 +00:00
Martin Kiewitz
055e17b60e
SCI: fixed detection to not crash when adding sierras pinball creep, also changed detection so that we dont "accept" games that use unknown view resources (otherwise pinball creep will get detected as SCI)
...
svn-id: r47348
2010-01-17 22:32:53 +00:00
Martin Kiewitz
11d9f15010
SCI: search for %J in text resources to identify japanese games, switch to upscaled hires when japanese games are started, removed TODO
...
svn-id: r47088
2010-01-06 18:25:43 +00:00
Filippos Karapetis
9a99226d31
Removed a hack from the fallback detector, used to distinguish some demos from their full versions
...
svn-id: r47086
2010-01-06 16:39:48 +00:00
Filippos Karapetis
60ece55fb9
Fallback detector:
...
- Added detection for SCI2 games (GK1, PQ4, QFG4)
- Rewrote the way demos are detected
- Games are no longer distinguished from the existence of certain files
svn-id: r46970
2010-01-04 13:50:43 +00:00
Filippos Karapetis
fabe51c129
Renamed gameName -> gameId, to keep the same vocabulary everywhere
...
svn-id: r46635
2009-12-27 12:54:03 +00:00
Max Horn
429c9eb814
SCI: Don't end warning() format strings with a newline or a period (a newline and an exclamation mark are automatically added)
...
svn-id: r45049
2009-10-13 20:52:05 +00:00
Torbjörn Andersson
57ae40e52c
Fixed a warning, ironically inside a warning().
...
svn-id: r44931
2009-10-11 16:00:16 +00:00
Filippos Karapetis
1d3118cf42
Implemented some advanced savegame functionality - loading and deleting savegames from the GMM is now possible, and new saved games will also have thumbnails. Saving from the GMM creates corrupted saved games, so it has been disabled for now
...
svn-id: r44930
2009-10-11 15:51:43 +00:00
Filippos Karapetis
b91ae69ad2
Removed the now unused GF_SCI0_OLDGETTIME flag and simplified all of the game entries in the detector
...
svn-id: r44856
2009-10-09 23:19:53 +00:00
Filippos Karapetis
c6d2190d2d
Add "demo" to the extras field of the fallback detector for demos
...
svn-id: r44291
2009-09-24 07:18:38 +00:00
Filippos Karapetis
13ad217cdd
- Moved the SCI version in a global variable
...
- 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-23 10:55:35 +00:00
Filippos Karapetis
dce185ba8b
Made script_lookup_export() a method of SegManager
...
svn-id: r44140
2009-09-17 09:36:52 +00:00
Filippos Karapetis
90ae20c3ea
- Made obj_get and obj_get_name methods of SegManager (getObject and getObjectName, respectively)
...
- Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency
svn-id: r44039
2009-09-12 00:10:07 +00:00
Max Horn
d04b5d2c9b
SCI: Rename resManager -> resMan; segManager -> segMan
...
svn-id: r43980
2009-09-06 12:57:42 +00:00
Filippos Karapetis
1bbab8f191
Some renaming:
...
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan
svn-id: r43908
2009-09-02 12:02:37 +00:00
Filippos Karapetis
fd92b49486
- Reverted the *vga targets back to *sci, and used the extras field again for VGA remakes
...
- The extras field is now filled by the fallback detector for VGA games
svn-id: r43893
2009-09-01 19:40:29 +00:00
Filippos Karapetis
a191728945
- Added MD5's for the 5 different Crazy Nick's collections
...
- 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 19:05:21 +00:00
Filippos Karapetis
2e04dcb133
- Moved the Sierra game ID conversion code inside game.cpp, so that any 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-01 17:09:59 +00:00
Max Horn
fbfe40d7e2
SCI: Turned convertSierraGameId partially into a table
...
svn-id: r43883
2009-09-01 13:03:32 +00:00
Max Horn
11a16fa30e
Coding best practice: Whenever possible, pass objects by reference instead of by value. Also make variables or data table which are only used locally "static".
...
svn-id: r43882
2009-09-01 13:03:12 +00:00
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