Commit graph

86 commits

Author SHA1 Message Date
Le Philousophe
90b886097f ENGINES: Create a type aware advanced detector 2024-06-30 18:39:06 +02:00
Le Philousophe
98d6f155d2 ENGINES: Split Engine::createInstance in two
This brings a cleaner separation between AdvancedMetaEngineDetection and
AdvancedMetaEngine.
2024-06-30 18:39:06 +02:00
AndywinXp
6d4bcfe132 SWORD1: Implement GUI option for Windows audio mode 2024-06-01 09:41:45 +02:00
Aditya
a5b3353022 ALL: Decrease header dependency for gui_options.h
Now the number of times the header file gui_options.h
is added is much smaller.
2023-10-27 01:16:32 +02:00
Eugene Sandulenko
45b03009ef
SWORD1: Made detection more robust and added Polish with DXA. Bug #14276 2023-03-02 00:26:16 +01:00
Eugene Sandulenko
e0d0eca348
SWORD1: Remove redundant flags from the detection entries 2023-01-14 21:14:21 +01:00
Eugene Sandulenko
032b9b46b9
SWORD1: Improve detection entries. Bug #14013 2023-01-14 21:14:21 +01:00
Thierry Crozat
f1afa2f3d6 SWORD1: Fix detection when using a "video" sub-directory
This was supported by the engine when running the game, but
detection was broken since moving to the advanced detector.
2022-12-27 15:21:21 +01:00
Lothar Serra Mari
798a569d62 SWORD1: Add multiple game variants to the detection table 2022-10-22 18:38:38 +02:00
Cameron Cawley
aaf82d7ca6 SWORD1: Switch to AdvancedMetaEngineDetection 2022-10-22 18:38:38 +02:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
athrxx
54af166305 COMMON: (AD) - further reduce output of mass add detection
Follow-up to the feature that allows skipping certain ADGF flags.

This here now also allows skipping of incomplete file/md5/size matches. It is basically the same behavior as the graylist. For the mass add all files are treated as if they are on the list.
2022-06-12 10:12:39 +02:00
athrxx
e01416ef32 COMMON: (AD) - allow mass add to skip targets with certain ADGF flags
I added skipping for the ADGF_WARNING and ADGF_UNSUPPORTED flags.

For me, this is mostly about fixing bug no. 13282. We sometimes have bogus entries which only have the purpose of presenting the error message (reasons for being unsupported) contained in the extra field of the detection entry.
2022-06-12 10:12:39 +02:00
trembyle
b9e7b1dfcd COMMON: ENGINES: Correct Czech language ISO code
1. Correct constant in common files
2. Add the old code to obsolete language codes
3. Replace all occurences in engine code
2022-03-04 18:29:02 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko
ccfaf478ab
AD: Make sure that we initialize hashmaps. Unfortunately, this leads to less const'ness 2021-11-29 01:50:03 +01:00
Zvika Haramaty
f204d3639a SWORD1: Add support for Hebrew translation 2021-08-17 00:12:18 +02:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Eugene Sandulenko
7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +02:00
Eugene Sandulenko
7ea6781043 PLUGINS: PLUGIN_TYPE_METAENGINE -> PLUGIN_TYPE_ENGINE_DETECTION 2020-10-11 23:12:32 +02:00
aryanrawlani28
d26bbe521c ENGINES: ALL: Finish renaming ME & AME classes
- ME -> MetaEngineStatic (static parts)
- MEC -> MetaEngine (dynamic parts)
2020-10-03 14:56:36 +02:00
aryanrawlani28
29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28
467ca35a37 SWORD1: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
Bastien Bouclet
0eb3fea404 SWORD1: Change detection to query the name of the parent folder only once
All the files passed to the detector are in the same folder. They all
have the same parent. No need to check each one individually.

This saves 2500 ms on the 3DS.
2020-09-13 09:31:07 +02:00
Eugene Sandulenko
a619827ffa SWORD1: Improved detection for demos. Now Spanish demo is detected properly 2020-09-01 16:37:36 +02:00
Thierry Crozat
d07c009d7e SWORD1: Fix detection code for Mac demo
It was using the wrong file count define when iterating on the files.
Fortunately the one being used has currently the same value as the
one that should have been used. So it was working correctly despite
the bug.

Also reorder the defines to match the order of the files in the
g_filesToCheck array.
2020-08-26 21:35:45 +01:00
mataniko
581a6ec7d6 JANITORIAL: Rename kSupportsRTL to kSupportsReturnToLauncher 2020-05-12 10:36:38 +02:00
Paul Gilbert
a00e44ba6c ENGINES: Merge saveGameState virtual methods into a single one 2020-02-16 15:44:28 -08:00
Bastien Bouclet
9d1447113d SWORD1: Add override keywords 2020-02-09 12:43:16 +01:00
Eugene Sandulenko
9801396f9f SWORD1: Added override keywords 2020-01-31 14:26:23 +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
4b42112721 ENGINES: Add an engine ID to all the engines 2019-11-03 11:43:00 +01:00
Bastien Bouclet
9a4c0ae281 ENGINES: Normalize the getName() result of metaengines
Also-By: Matthew Hoops <clone2727@gmail.com>
2018-12-10 06:47:27 +01:00
Bastien Bouclet
1dcb8076db ENGINES: Remove usage of C++11 extended initializer lists 2018-05-10 09:26:26 +02:00
Bastien Bouclet
90b78c5446 ENGINES: Merge GameDescriptor and DetectedGame 2018-05-10 09:04:23 +02:00
Bastien Bouclet
1de5aca585 ENGINES: Set the GameDescriptor decription in the constructor 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
00e59a3122 ALL: Load savegame thumbnail only when necessary
This commit introduces the following changes:

1. Graphics::loadThumbnail()

   Now returns a boolean and takes a new argument skipThumbnail which
   defaults to false. In case of true, loadThumbnail() reads past the
   thumbnail data in the input stream instead of actually loading the
   thumbnail. This simplifies savegame handling where, up until now,
   many engines always read the whole savegame metadata (including
   the thumbnail) and then threw away the thumbnail when not needed
   (which is in almost all cases, the most common exception being
   MetaEngine::querySaveMetaInfos() which is responsible for loading
   savegame metadata for displaying it in the GUI launcher.

2. readSavegameHeader()

   Engines which already implement such a method (name varies) now take
   a new argument skipThumbnail (default: true) which is passed
   through to loadThumbnail(). This means that the default case for
   readSavegameHeader() is now _not_ loading the thumbnail from a
   savegame and just reading past it. In those cases, e.g.
   querySaveMetaInfos(), where we actually are interested in loading
   the thumbnail readSavegameHeader() needs to explicitely be called
   with skipThumbnail == false.

   Engines whose readSavegameHeader() (name varies) already takes an
   argument loadThumbnail have been adapted to have a similar
   prototype and semantics.
   I.e. readSaveHeader(in, loadThumbnail, header) now is
   readSaveHeader(in, header, skipThumbnail).

3. Error handling

   Engines which previously did not check the return value of
   readSavegameHeader() (name varies) now do so ensuring that possibly
   broken savegames (be it a broken thumbnail or something else) don't
   make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +02:00
Colin Snover
925c9416db SWORD1: Fix use of deallocated stack memory
FSNode::getName returns a String object, not a reference, so the
pointer from c_str is valid only until the end of the statement.
2017-11-10 23:22:26 -06:00
Thierry Crozat
34969d50b8 SWORD1: Specify list of available languages in detection code
This way only those languages are listed in the language selector
for the game settings.
2017-07-12 21:44:10 +01:00
Johannes Schickel
e515fc18db ENGINES: Make variable names of PlainGameDescriptor conform to our guidelines.
gameid -> gameId
2016-03-08 19:01:42 +01:00
Johannes Schickel
d740bc4f2e SWORD1: Let listSaves return list sorted on slot numbers. 2016-02-25 21:39:45 +01:00
Johannes Schickel
fda7ce1e14 SWORD1: Only request actual save slots in listSaves. 2016-01-26 16:35:30 +01:00
Johannes Schickel
f4724e7a46 SWORD1: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Filippos Karapetis
f915daad6d SWORD1: Fix bug #3049346 - "BS1: Detects games in wrong places"
We no longer detect the sword1 files inside the "clusters" folder
2012-11-07 21:56:26 +02:00
Johannes Schickel
89b8f6bb56 SWORD1: Slight cleanup in querySaveMetaInfos. 2012-07-03 18:39:50 +02:00