Commit graph

45 commits

Author SHA1 Message Date
Max Horn
ec27c53491 AdvancedDetector: revamped the file based fallback code
svn-id: r25599
2007-02-14 23:46:39 +00:00
Max Horn
62bd2a1544 Make use of md5_file_string
svn-id: r25593
2007-02-14 21:59:57 +00:00
Max Horn
42631d21b1 Some more cleanup, and that's it for tonight
svn-id: r25580
2007-02-14 00:52:12 +00:00
Max Horn
6b2ff5616b Minor cleanup
svn-id: r25579
2007-02-14 00:38:45 +00:00
Max Horn
265deaffff Added some comments and performed some cleanup in the file based fallback code of the AdvancedDetector
svn-id: r25578
2007-02-14 00:37:02 +00:00
Max Horn
75ae7cdb73 Properly implemented the AD fallback callback
svn-id: r25576
2007-02-14 00:21:53 +00:00
Max Horn
59b1526e5a Since detectBestMatchingGame now returns a ADGameDescription pointer, we can change detectGame to return a ADGameDescList
svn-id: r25575
2007-02-13 23:47:41 +00:00
Max Horn
7572d2b4f2 Changed detectBestMatchingGame to return a pointer to a ADGameDescription (or a subclass of it); added a (currently fake) fallback callback entry in ADParams
svn-id: r25574
2007-02-13 23:37:44 +00:00
Max Horn
2e567f1cc9 Some more AdvancedDetector cleanup: Removed kADFlagFilebasedFallback flag (just check whether a fileBasedFallback has been provided); moved some internal definitions, added some doxygen coments, etc.
svn-id: r25570
2007-02-13 22:25:25 +00:00
Max Horn
433e7d69ac Thanks to the previous changes, we can now cleanup detectGameForEngineCreation somewhat
svn-id: r25548
2007-02-13 15:03:43 +00:00
Max Horn
4968e912ce AdvancedDetector changes:
* Renamed genGameList to gameIDList to make it match the corresponding
  plugin API function name
* removed the detectFunc param from detectGameForEngineCreation,
  as it *always* pointed to a straight wrapper around AdvancedDetector::detectAllGames
* as a consequence, removed the various GAME_detectGames functions from the
  engines, and removed the detectFunc param from ADVANCED_DETECTOR_DEFINE_PLUGIN

svn-id: r25547
2007-02-13 14:55:11 +00:00
Eugene Sandulenko
da7d8c9f35 Rename Common::GF_XXX to Common::ADGF_XXX
svn-id: r25545
2007-02-13 13:42:28 +00:00
Max Horn
731f1017c1 Renamed generateComplexID to generatePreferredTarget to match my previous commit
svn-id: r25544
2007-02-13 13:19:43 +00:00
Max Horn
2afe07992f Renamed kADFlagComplexID to kADFlagAugmentPreferredTarget, document it, and add it for AGOS, too
svn-id: r25543
2007-02-13 13:17:46 +00:00
Max Horn
287e21d36e Moved detectGameForEngineCreation next to detectBestMatchingGame (somebody should explain the difference between the two...)
svn-id: r25542
2007-02-13 13:04:51 +00:00
Max Horn
55e132ca7d Use GF_DEMO flag in the AdvancedDetector to augment the preferredtarget name
svn-id: r25541
2007-02-13 13:00:18 +00:00
Max Horn
16a2940808 cleanup
svn-id: r25452
2007-02-09 17:57:49 +00:00
Sven Hesse
193349fd60 Only do the file based fallback when no matches by MD5s were found
svn-id: r25394
2007-02-05 14:22:10 +00:00
Eugene Sandulenko
7b6bdd231d AdvancedDetector now has built-in fallback detection based on file lists.
Currently only gob engine benefits from it.

svn-id: r25374
2007-02-04 03:10:27 +00:00
Eugene Sandulenko
9833a65d4c - Fixed bug with single ID detection
- Added more debug output

svn-id: r25273
2007-01-30 02:02:10 +00:00
Eugene Sandulenko
adcfd2cc5f Now AdvancedDetector could use single ID per engine. Also it can suggest
more complex game IDs with platform and language specified.

AGI engine benefits most from that.
Also turned Cine, Parallaction and SAGA to single ID, autoupgrading old ID.

svn-id: r25269
2007-01-29 23:25:51 +00:00
Max Horn
d70c83bd4b Lots of cleanup in the AdvancedDetector
svn-id: r25194
2007-01-25 21:16:57 +00:00
Max Horn
85dc27db2f cleanup
svn-id: r25179
2007-01-25 01:07:59 +00:00
Max Horn
0314bfdb94 Removed getDescription() function
svn-id: r25177
2007-01-25 01:01:01 +00:00
Eugene Sandulenko
c92f2ec212 Print out file size for unmatched files. Also alter output slighty.
svn-id: r25175
2007-01-25 00:47:35 +00:00
Max Horn
9dada67e5a Removed class AdvancedDetector
svn-id: r25174
2007-01-25 00:43:35 +00:00
Eugene Sandulenko
6eb9f41e68 Use file sizes in detection too.
svn-id: r25172
2007-01-25 00:37:12 +00:00
Eugene Sandulenko
edd2422a55 Hide all AdvacedDetector parameters into a structure for easier maintenance
and extensibility

svn-id: r25163
2007-01-24 22:24:52 +00:00
Eugene Sandulenko
cd8a5f3a98 First phase of detection-related plugins interface improvements. Now plugins
return StringMap instead of fixed list of parameters. This adds great
flexibility.

Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.

svn-id: r25134
2007-01-20 21:27:57 +00:00
Max Horn
6eef02245c Stripped some more real_ prefixes from function names; also added a new FIXME comment to Kyra's setupGameFlags, and did some more cleanup
svn-id: r24899
2006-12-20 00:08:51 +00:00
Max Horn
e0ee3fd06d Properly walk through lists of (extended) ADGameDescriptions -- we previously only checked the first byte, which 'often' worked fine on little endian machines, but almost never worked correct on big endian ones
svn-id: r24897
2006-12-19 23:58:45 +00:00
Max Horn
559f2b62eb Renamed real_ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION to ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION, and real_ADVANCED_DETECTOR_DETECT_INIT_GAME to ADVANCED_DETECTOR_DETECT_INIT_GAME
svn-id: r24896
2006-12-19 23:57:04 +00:00
Max Horn
07c6fa980f Further AdvancedDetector cleanup (in particular, renamed ADGameDescription::name to the more suitable ADGameDescription::gameid)
svn-id: r24895
2006-12-19 23:37:03 +00:00
Max Horn
2969144120 * Simplified code in AdvancedDetector::detectGame
* Removed AdvancedDetector::setFileMD5Bytes, now AdvancedDetector::detectGame
  simply takes the MD5 byte limit as an extra parameter

svn-id: r24894
2006-12-19 23:14:15 +00:00
Max Horn
865d8717a3 * Change the GameList typedef to a proper class with an additional
constructor which takes a PlainGameDescriptor 'list'
* Replaced real_ADVANCED_DETECTOR_GAMEID_LIST by this new constructor
* Removed ADVANCED_DETECTOR_GAMEID_LIST and ADVANCED_DETECTOR_FIND_GAMEID
* Some minor cleanup

svn-id: r24893
2006-12-19 22:43:15 +00:00
Max Horn
0d1f78e4be Fix compiler warning (in general, NULL is deprecated in C++ -- just use 0 instead)
svn-id: r24885
2006-12-19 12:21:23 +00:00
Eugene Sandulenko
457ebfea3c Get rif od ARRAYSIZE in ADGameDescription
svn-id: r24882
2006-12-19 04:35:08 +00:00
Eugene Sandulenko
18ce381060 Got rid of ARRAYSIZE in advanceDetector calls
svn-id: r24881
2006-12-19 03:52:04 +00:00
Max Horn
1f26cb8965 Reworked code in the advanced game detector (getting rid of much of the evil #define hell it consisted of previously)
svn-id: r24685
2006-11-12 03:23:29 +00:00
Eugene Sandulenko
a977988058 Next step in AdvancedDetector unification. Moved all common functions to
macroses. Now typical usage is just list of macros with parameters and 
array of game details.

svn-id: r24670
2006-11-10 22:43:10 +00:00
Gregory Montoir
f9cf368a67 got rid of two memory leaks
svn-id: r24589
2006-11-03 21:01:49 +00:00
Max Horn
7889783cac const correctness
svn-id: r24488
2006-10-24 09:44:20 +00:00
Max Horn
dca237598b Added a const qualifier inside struct ADGameDescription (rule of thumb: Make as many pointers and members const as possible, it helps prevent bugs, and potentially helps the optimizer)
svn-id: r24181
2006-10-08 00:20:44 +00:00
Eugene Sandulenko
107a9f3bef Moved unrelated fields out of ADGameDescription structure.
svn-id: r24090
2006-10-02 23:31:14 +00:00
Eugene Sandulenko
988ddf2b36 Unify SAGA/AGOS detection code so other engines could also reuse it
without further code duplication.

svn-id: r24083
2006-10-02 22:21:57 +00:00