Commit Graph
118 Commits
Author SHA1 Message Date
Roberto Sánchez e2b0259d29 BASE: Add function EngineManager::generateUniqueDomain 2022-12-07 22:58:48 +01:00
Eugene Sandulenko 8f8d522913 COMMON: Move achievements.* to engines/ 2022-12-02 00:12:22 +01:00
Cameron Cawley 6506e59064 ENGINES: Add getMD5Bytes to the base MetaEngineDetection class 2022-11-30 23:29:37 +02:00
Cameron Cawley 2c8a7d3900 ENGINES: Remove support for GUI options in MetaEngineDetection subclasses 2022-11-16 23:58:54 +01:00
Cameron Cawley fd37e09acb ENGINES: Allow getExtraGuiOptions() to be implemented in MetaEngine subclasses 2022-11-16 23:58:54 +01:00
athrxx a84336c583 COMMON: more flexible gui options handling
This allows the meta engines to post process the gui options,
before they get to be used in the GUI. This allows adding or
removing options on a larger scale without having to modify
each detection entry individually. In this case, it is meant to be
used in the SCUMM engine, to allow adding render mode
gui options wothout modifying the tables.
2022-11-07 00:27:34 +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
Torbjörn Andersson e06f3c9a5a GUI: Allow game option checkboxes to be disabled
Depending on other game option checkboxes. This is used to
enable/disable the semi-smooth scrolling checkboxes for FM Towns Loom,
since it's only used when smooth scrolling is enabled.
2022-04-21 11:07:17 +02:00
Orgad Shaneh eed2e93d03 ENGINES: Fix GCC warnings
In file included from C:/Projects/scummvm/common/array.h:25,
                 from C:/Projects/scummvm/common/achievements.h:25,
                 from C:/Projects/scummvm/engines/metaengine.h:25,
                 from C:/Projects/scummvm/engines/advancedDetector.h:25,
                 from C:/Projects/scummvm/engines/sci/detection.cpp:22:
C:/Projects/scummvm/common/scummsys.h:400:44: warning: attribute ignored [-Wattributes]
  400 |                 #define WARN_UNUSED_RESULT [[nodiscard]]
      |                                            ^
C:/Projects/scummvm/engines/metaengine.h:565:16: note: in expansion of macro 'WARN_UNUSED_RESULT'
  565 |         static WARN_UNUSED_RESULT bool readSavegameHeader(Common::InSaveFile *in, ExtendedSavegameHeader *header, bool skipThumbnail = true);
      |                ^~~~~~~~~~~~~~~~~~
C:/Projects/scummvm/common/scummsys.h:400:44: note: an attribute that appertains to a type-specifier is ignored
  400 |                 #define WARN_UNUSED_RESULT [[nodiscard]]
      |                                            ^
C:/Projects/scummvm/engines/metaengine.h:565:16: note: in expansion of macro 'WARN_UNUSED_RESULT'
  565 |         static WARN_UNUSED_RESULT bool readSavegameHeader(Common::InSaveFile *in, ExtendedSavegameHeader *header, bool skipThumbnail = true);
      |                ^~~~~~~~~~~~~~~~~~
2022-01-12 23:53:27 +02: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
Orgad Shaneh 78ef6203de ENGINES: Fix getSavegameFile for almost all engines
Use kSimpleSavesNames correctly, add where needed, remove where needed.

Trac #12977
2021-11-10 21:49:48 +00:00
Cameron Cawley 2f99746d8d ENGINES: Allow implementing registerDefaultSettings in the MetaEngine class 2021-09-18 11:57:29 +02:00
Orgad Shaneh c8c429a425 ENGINES: Document -1 as return value of getAutosaveSlot when not supported 2021-09-10 19:38:39 +03:00
Orgad Shaneh 6aeda12247 ENGINES: Warn when overwriting a non-autosave on autosave 2021-08-23 13:34:35 +02:00
Orgad Shaneh f32624c8f2 ENGINES: Remove unimplemented function declaration 2021-08-21 23:58:33 +03:00
Cameron Cawley d79f1eb55e ENGINES: Remove getExtraGuiOptions from MetaEngine 2021-08-14 13:57:54 +02:00
Eugene Sandulenko 0fcb6aa3e5 METAENGINE: Add optional offset parameter for extended saves 2021-07-16 01:18:56 +02:00
a/ 17b2c657ae ENGINES: METAENGINE: Add method to append extended save header to stream 2021-07-16 05:43:27 +09:00
Martin Gerhardy dfd6b6a9a4 COMMON: moved AchievementDescriptionList into Common namespace
getAchievementsInfo is also moved into the MetaEngine to reduce code duplication
2021-06-16 00:25:14 +03:00
ysj1173886760 859d9acef3 ENGINE: add doxygen comments fo DebugChannelDef and getDebugChannels 2021-05-22 01:34:57 +02:00
ysj1173886760 5feac6bdff BASE: add list-all-debugflags and list-debugflags to commandLine 2021-05-22 01:34:57 +02:00
ysj1173886760 96aa98ed14 ENGINE: change the name of the delimiter of DebugChannelDef 2021-05-22 01:34:57 +02:00
ysj1173886760 dde0961225 ENGINE: return the pointer of array instead of a array of getDebugChannels in metaengine 2021-05-22 01:34:57 +02:00
ysj1173886760 9d149b7988 ENGINE: add method getDebugChannelOptions for metaegine detection 2021-05-22 01:34:57 +02:00
a/ bad9008a89 DETECTOR: Modify getFileProperties to cache md5 results 2021-05-14 22:35:23 +02:00
a/ 45aa165b80 Modify getFileProperties to cache md5 results 2021-05-14 22:35:23 +02:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Paul Gilbert ae4da8bce0 ENGINES: Make creation of savegame thumbnails an overrideable method 2021-03-07 09:34:33 -08: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
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 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 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
aryanrawlani28 81ba5d5627 ENGINES: ME & MEC: Allow MEC to build engine options widget.
- Rename the one in ME to avoid ambiguity.
- ME is named *static & MEC is named *dynamic.
- This change means that engines  can build 2 types of option widgets.
- The "Engine" tab is created statically regardless if an engine plugin is present or not.
- The in-game options are built using the MEC.
- With this commit, engines/dialogs is no longer dependant on MetaEngine, and instead used MEC all over.
2020-10-03 14:56:36 +02:00
aryanrawlani28 30d2d9167e ENGINES: ME: Mark destructor as virtual 2020-10-03 14:56:36 +02:00
aryanrawlani28 1616d7d515 ENGINES: ME & MEC: Move achievements-related code to MetaEngineConnect
- Adjust accordingly for dialogs.
2020-10-03 14:56:36 +02:00
aryanrawlani28 fd1e333100 ENGINES: METAENGINE: Move initKeymaps into MetaEngineConnect.
- Used by Sky, for example.
2020-10-03 14:56:36 +02:00
aryanrawlani28 01efb65931 ENGINES: METAENGINE: Shift save/load related content to MetaEngineConnect
- These include various functions and functionalities related to save/load.
- These are shifted, because the MEC class will house things that can be dynamic in nature.
- The MetaEngine class is fully & only dependent on ScummVM code, so it can always be built into executable.
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 09a16347de ENGINES: Move createInstance from ME to MetaEngineConnect class 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
aryanrawlani28 943df64b32 ENGINES: Change behaviour of EngineMan::getPlugins.
- Changed so we can get any type of plugins.
- This used to always return PLUGIN_TYPE_ENGINE.
- Because now we can differentiate between engines and metaengine, this must be changed.
- For now, return METAENGINE by default
2020-10-03 14:56:36 +02:00
Paul Gilbert bf754b76aa ENGINES: Cleanup of get savegame file & patterns 2020-09-19 09:31:49 -07:00
Paul Gilbert 5136ff228e ENGINES: Fix defaults for engines using new extended format
This fixes two issues. First of all, when I was fleshing
out the Quux example engine with save support, I realised
that the default savegame pattern for engines is target.***,
whereas for the meta engine it was target.s**. This was
causing newly created saves not to appear in the savegame list.
The second is a minor convenience nicety.. if an engine is
supporting the new extended format, it means they do have saves,
so it's better to default to 100 slots by default without
requiring the engine to explicity declare it.
2020-09-16 21:52:38 -07:00
lolbot-iichan b1ddd940ae ENGINES: Add achievements info API 2020-04-29 10:31:36 +02:00
Bastien Bouclet bcfb7145fa GUI: Allow engines to define a fully custom tab in the edit game dialog
By implementing MetaEngine::buildEngineOptionsWidget, engines can
instantiate a container widget that will be shown in the Engine tab of
the edit game dialog. The default implementation retains the existing
behavior and shows the extra GUI options.
2020-03-28 07:38:39 +01:00