Commit graph

122 commits

Author SHA1 Message Date
Paul Gilbert
76e2a42240 ENGINES: Convert advanced detector file sizes to int64 2021-07-08 18:24:28 -07:00
ysj1173886760
65f36c33ff ENGINES: extend toDetectedGames to deal with ADDetectedGameExtraInfo. 2021-06-13 14:15:45 +02:00
ysj1173886760
8abdcf6600 ENGINES: dealing with ADDetectedGameExtraInfo after we using fallback detection 2021-06-13 14:15:45 +02:00
ysj1173886760
7af3a3f84c ENGINES: introduce ADDectedGameExtraInfo to ADGameDetector, add extra info as parameter for fallback detect. 2021-06-13 14:15:45 +02:00
a/
bad9008a89 DETECTOR: Modify getFileProperties to cache md5 results 2021-05-14 22:35:23 +02:00
Thierry Crozat
0622c9f8fb ENGINES: Allow engines to decide if unknown variants can be run 2021-04-21 23:11:28 +01:00
Thierry Crozat
6d2a62fe72 AGS: Improve detection
For unknown variants it now checks that the file is actually an
AGS game to avoid false positive due to generic names used by
some of the detection entries (such as 'game.exe'). Also unknown
variants can now be added.
2021-04-17 22:20:59 +01:00
Eugene Sandulenko
ec2a50b746
AD: Implemented AGDF_WARNING flag 2021-04-16 14:20:13 +02:00
Eugene Sandulenko
0739c1a165
JANITORIAL: Remove trailing spaces 2021-04-16 14:13:24 +02:00
Thierry Crozat
67720ef658 JANITORIAL: Remove obselete references to MetaEngineConnect
At some point when splitting the MetaEngine to a detection
plugin and a static meta engine, the former was called
MetaEngine while the latter was called MetaEngineConnect.
Thus was then later change to MetaEngineDetection and
MetaEngine. But some references were left to the former
names in comments and documentation.
2021-02-14 14:32:36 +00:00
Cameron Cawley
4ced49acd4 ENGINES: Changed AdvancedMetaEngine::createInstance to return a Common::Error 2020-12-04 20:57:14 +00:00
Bartosz Gentkowski
f04056519a DOXYGEN: Review of high prio headers from engines
This is a doxygen review for 4 header files that have been
identified as high priority for GSoD:

- advancedDetector.h
- metaengine.h
- engine.h
- util.h

It also adds doxy groups to other headers from this folder to
make them appear properly in the structure.
2020-12-02 00:13:49 +00:00
Eugene Sandulenko
969695d5ba AD: Added shortcut for 2 entries to the table 2020-11-26 23:58:04 +01:00
athrxx
3437beffab COMMON: add new flag ADGF_UNSUPPORTED to advanced detector
This will give an error dialog and not actually start the game. The dialog can be customized with a message from the ADGameDescription::extra field.

Some changes have been made to DetectedGame to prevent the string from the extras field to be appended to the game description.
2020-11-08 20:31:39 +01:00
Eugene Sandulenko
1c830bc068 AD: Restrict length of autogenerated targets 2020-10-21 19:13:12 +02:00
Eugene Sandulenko
7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Paweł Kołodziejski
35b9cccbde ALL: Merge ResidualVM 2020-10-09 19:44:13 +02:00
Pawel Kolodziejski
3d74c3dd4d GRIM: Post branch merge fixes. 2020-10-07 19:50:27 +02:00
Paweł Kołodziejski
6e619ca714 GRIM: Merge branch 'remastered' 2020-10-07 18:26:49 +02:00
Pawel Kolodziejski
4631c0e2ed ALL: Sync with ScummVM rev: a4002bdeee 2020-10-04 23:59:26 +02:00
aryanrawlani28
e3e8e81815 ENGINES: METAENGINE: Improve comments 2020-10-03 14:56:36 +02:00
aryanrawlani28
71a820caff ENGINES: Begin class renaming of ME & AME
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00
Eugene Sandulenko
ceabaf3b0d BASE: Added override keywords 2020-10-03 14:56:36 +02:00
aryanrawlani28
c9f2c50380 WINTERMUTE: Split detection features & adapt to new plugins.
- Update AMEC's getFileProps (changes related to MacResMan)
- This commit also includes a change from other engines.
- Fallback detection here depends upon many Engine resources.
- As such, it might not be suitable to add all of them to executable.
- Thus, shift fallback detection to the dynamic part.
- The static part gets the relevant Engine plugin & then tries to call it.
- This way, fallback detection for Wintermute will depend on the engine plugin.
- Normal detection will still work fine.
2020-10-03 14:56:36 +02:00
aryanrawlani28
395f590554 ENGINES: AMEC: Add some fallback detection-related functionality.
- Add fallbackDetectExtern, meant to be overriden by child classes, if fallbackdetection heavily depends on Engine code.
- Add getFileProperties helper.
- End function names with "extern" to distinguish from normal.
2020-10-03 14:56:36 +02:00
aryanrawlani28
a73858a3df ENGINES: MEC & AMEC: Provide notes for getName().
- If classes inherting provide the same name here as they did in the relevant MetaEngine, we can easily match a Engine with MetaEngine.
2020-10-03 14:56:36 +02:00
aryanrawlani28
e69d9c98a4 ENGINES: AME: Move the subclass implemented method createInstance out of AME into AMEConnect.
- We have a default createInstance method overridden from MetaEngine from before in AME.
- So, just leave that as-is, and call the child class's function from there.
- Lastly, in AMEC - the generic createInstance is called, so we redirect it to call the one in the MetaEngine.
- Then, games can be run normally.
2020-10-03 14:56:36 +02:00
aryanrawlani28
24ee4c7559 ENGINES: ME & AME: Add new classes related to ME & AME.
- MetaEngineConnect
- AdvancedMetaEngineConnect
- These classes will have "bridge" functions, see comments for more info.
2020-10-03 14:56:36 +02:00
Pawel Kolodziejski
bfe58d3c77 ALL: Synced with ScummVM - rev: d4db631f9b 2020-09-23 21:52:10 +02:00
Bastien Bouclet
0f2c6cd9ea ENGINES: Change mac resource fork file detection to use the file cache
Common::MacResMan is now able to open files from a specified
Common::Archive. This is a bit hacky as dynamic_cast is used to break
the Archive encapsulation to retreive the underlying FSNode. It should
however be more correct than the previous code that assumed files were
at the root of the currently running game's path.

AdvancedDetector constructs a Common::Archive from its FileMap based
filesystem cache and uses it to detect the mac resource fork files.

This cuts the time it takes to run the detection code with all the
engines enabled as dynamic plugins on the 3DS to 30 s from 280 s.
2020-09-20 16:33:45 +02:00
Pawel Kolodziejski
8f4e1c6cf3 Sync with ScummVM rev. 654b8208b8 2020-06-22 08:14:16 +02:00
Bastien Bouclet
675776ffe9 ENGINES: Make AdvancedMetaEngine::toDetectedGame virtual
To allow subclasses to post-process the games detected by
AdvancedMetaEngine.
2020-06-07 07:40:27 +02:00
Pawel Kolodziejski
b586571900 ALL: synced with ScummVM commit 09bf38c120 2020-05-09 20:05:54 +02:00
Eugene Sandulenko
d804afbe70 ENGINES: Add override markers where appropriate 2020-01-31 12:26:29 +01:00
Bastien Bouclet
feaf9dc365 ALL: Sync with ScummVM rev. 55dba55056 2019-12-08 17:06:42 +01:00
Bastien Bouclet
bb813719b5 ENGINES: Change targets to have an 'engine ID'
The engine ID identifies which engine should be used to launch the target.
Also remove the 'single ID' system. Different games from engines that used
that system now have different game IDs.

Also-By: Matthew Hoops <clone2727@gmail.com>
2019-11-03 11:43:00 +01:00
Bastien Bouclet
53759fe53a ALL: Sync with ScummVM - rev. 2586ca2345 2018-07-31 21:09:37 +02:00
Bastien Bouclet
2fe060e5c9 ENGINES: Cleanup DetectedGame initialization in the AD 2018-05-10 09:04:23 +02:00
Bastien Bouclet
90b78c5446 ENGINES: Merge GameDescriptor and DetectedGame 2018-05-10 09:04:23 +02:00
Bastien Bouclet
643c24db75 ENGINES: Change MetaEngine::listSupportedGames to return plain game descriptors 2018-05-10 09:04:23 +02:00
Bastien Bouclet
8fb149e3c7 ENGINES: Change MetaEngine::findGame to return a plain game descriptor 2018-05-10 09:04:23 +02:00
Bastien Bouclet
cf1ebf2951 ENGINES: Add unknown game variants to the game detector results 2018-05-10 09:04:23 +02:00
Lothar Serra Mari
451cf2304f ENGINES: Show the unknown Game dialog only when the detector is launched by the Add Game feature 2018-04-29 21:47:10 +01:00
Adrian Frühwirth
92f739d53d JANITORIAL: Fix whitespace 2018-04-29 00:16:42 +02:00
Bastien Bouclet
455a409cab ALL: Sync with ScummVM - rev. b272701834 2018-03-17 16:25:28 +01:00
Walter van Niftrik
3850b115f8 ENGINES: Make AdvancedMetaEngine::detectGame() virtual 2018-02-02 22:18:25 +01:00
Bastien Bouclet
3ec01653c3 ALL: Merge from ScummVM rev 3a933138ce 2017-12-06 21:41:03 +01:00
Colin Snover
a2bdff02d7 ENGINES: Improve output of unknown game variant detection
When a user tries to add a game expecting it to be a particular
game for a particular engine, but a detector from another engine
happens to match some files that exist in the game directory and
reports on those files instead, this can cause a lot of confusion
because the detector doesn't say what engine or game it thought it
matched.

This patch adds the name of the matching engine as well as any
matching game IDs (if applicable) to the detector's logged output.
It also provides more specific guidance about where to send the
detection information (to the bug tracker), and properly wraps the
first part of the report to 80 columns.

Refs Trac#10272.
2017-11-10 09:57:41 -06:00
Bastien Bouclet
84e62b6c8d ALL: Sync with ScummVM - rev. 87ebc7140c 2017-09-02 15:04:07 +02:00
Colin Snover
159e5a97ce ENGINES: Allow detection entries to match on full paths
This allows an engine to match files that exist multiple times
in the same game directory with the same basename.

For example, different releases of Torin's Passage in SCI engine
come with zero or more GERMAN, FRENCH, ENGLISH, etc. directories,
all containing files with the same basenames but with different
contents per language. Because the allFiles map used only the
basename of a file as a key, it could not match more than one of
these localization directories, which made it impossible to select
from all the possible languages.

Refs Trac#9772.
2017-05-21 15:56:42 -05:00