Commit Graph

101160 Commits

Author SHA1 Message Date
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
e16ec08d8b BASE: DETECTION: Use correct header file 2020-10-03 14:56:36 +02:00
aryanrawlani28
5f5363f03b BASE: MAIN: Load/Unload detection plugin for UncachedPluginMan as/when needed.
- Used only in context of UncachedPluginMan
- Always load on startup
- When starting a game, unload all other MetaEngines except the one needed.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8dfaf6cc0e BASE: PLUGINS: Add support for detection plugins to be loaded on demand.
- Mainly used for UncachedPluginManagers.
- CachedPluginManagers will not handle these, as metaengines will always be available in memory.
2020-10-03 14:56:36 +02:00
aryanrawlani28
b78534dcb0 BASE: PLUGINS: Seperate declaration/definition of StaticPlugins.
- Move declarations inside plugins.h to make it visible to detection/detection.cpp
2020-10-03 14:56:36 +02:00
aryanrawlani28
408158edc9 BASE: PLUGINS: Add a new type of plugin - DETECTION. 2020-10-03 14:56:36 +02:00
aryanrawlani28
74149fe7cd BASE: DETECTION: Add a new module detection.
- This is being done to enable support of building detection as dynamic libraries.
2020-10-03 14:56:36 +02:00
aryanrawlani28
05e170415c CONFIGURE: TEMP: Add support to build detection features as dynamic.
- A commit to show how the new makefiles structure and flow would look like. This is not final.
2020-10-03 14:56:36 +02:00
aryanrawlani28
ff74297940 PLUMBERS: Move detection related code to a new folder, add new Detection module. 2020-10-03 14:56:36 +02:00
aryanrawlani28
fa8aa6e9f4 AGI: Move detection related code to a new folder, add AGI-Detection module. 2020-10-03 14:56:36 +02:00
aryanrawlani28
7fe1eb330d DREAMWEB: Remove redundant and unreachable return statement 2020-10-03 14:56:36 +02:00
aryanrawlani28
53f08789eb BASE: PLUGINS: Restore functionalities of uncached plugin manager for the new changes. 2020-10-03 14:56:36 +02:00
aryanrawlani28
8b43e79695 GUI: Fix namespaces for saveload dialogs when cloud is enabled. 2020-10-03 14:56:36 +02:00
aryanrawlani28
84ddd3ac88 BASE: PLUGINS: Remove comments referring to old game detection 2020-10-03 14:56:36 +02:00
aryanrawlani28
92839dce1c GLK: Split detection features & adapt to new plugins.
- Additionally, adapt to renaming glulxe -> glulx
2020-10-03 14:56:36 +02:00
aryanrawlani28
27d16ba9c5 GLK: Move game-description struct into a header file from glk.h. 2020-10-03 14:56:36 +02:00
aryanrawlani28
53c772aebb ULTIMA: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
52a420f4b1 MOHAWK: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
45ad55df2d MOHAWK: Move shared engine/detection enums to new header file. 2020-10-03 14:56:36 +02:00
aryanrawlani28
b4a0fcca6c MOHAWK: Dialogs: Use the new classes to help in dialogs correctly. 2020-10-03 14:56:36 +02:00
aryanrawlani28
65320b26a6 MOHAWK: MYST: Move common myst engine/detection code to new class.
- This new class will help in detection.
2020-10-03 14:56:36 +02:00
aryanrawlani28
2113bbcd9c MOHAWK: RIVEN: Move shared detection/riven code from engine to a new MetaEngine class.
- This new class will help detection work properly.
2020-10-03 14:56:36 +02:00
aryanrawlani28
8c324fab42 MOHAWK: RIVEN: Move shared graphics/detection enum to new header. 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
255af8a0eb SCI: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
aa353cc4fb SCI: Move engine/detection common enums to new header. 2020-10-03 14:56:36 +02:00
aryanrawlani28
e644782294 SCI: Move graphics helpers/detection related enums into a new header 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
0b9df04112 WINTERMUTE: Rename game_description.h -> detection.h
- Done to match consistency with other engines.
- Remove external header file.
- Match namecalling of header where needed.
2020-10-03 14:56:36 +02:00
aryanrawlani28
b4044c87e7 WINTERMUTE: Move game/engine common enums from /base to a common enum 2020-10-03 14:56:36 +02:00
aryanrawlani28
57b5a93f47 WINTERMUTE: Move engine/game-detection common enum to new header 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
30d2d9167e ENGINES: ME: Mark destructor as virtual 2020-10-03 14:56:36 +02:00
aryanrawlani28
cd87a9150e XEEN: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
d8c82faf27 SAGA: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
95bc4c0994 SAGA: Move common engine/game-detection related enums into a new header. 2020-10-03 14:56:36 +02:00
aryanrawlani28
a4739197da SAGA: Move some shared defines between engine/game detection to a new header 2020-10-03 14:56:36 +02:00
aryanrawlani28
30794432ab FULLPIPE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
7944a7b039 DIRECTOR: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
e9ad5efad1 CRYOMNI3D: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
fb458421cf CRYO: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
2712bccff6 CRUISE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
ec3ccf5eb0 CINE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
6ade053c01 CHEWY: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
de141e7826 BLADERUNNER: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
c4ba47a65d BBVS: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
9208a65a1f AVALANCHE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
46f1ba1f1f WAGE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
52cdf07671 VOYEUR: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28
7c7263564b TUCKER: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00