aryanrawlani28
e08748866e
SCI & WINTERMUTE: Fix unsafe code for fallbackDetect
...
- Using static for plugins will result in crash if the plugins are unloaded after being called for the first time.
- Good example is when UncachedPluginMan uses these.
2020-10-03 14:56:36 +02:00
aryanrawlani28
a9841622e0
ENGINES: DETECTION: Use inheritance hierarchy and mimic existing plugins.
2020-10-03 14:56:36 +02:00
aryanrawlani28
6679c7e72e
GLK: Fix modules to build
...
- Creating an instance of GLK requires searching through all sub-engine detection lists.
- So, these must be there at the time of creating an instance of GLK.
- Hence, all these objects will ONLY be skipped from static-detection, if GLK itself is static.
- The above point is because it will need to avoid duplicate symbols.
2020-10-03 14:56:36 +02:00
aryanrawlani28
102b22f4a8
SCI: Fix naming for SciMetaEngineConnect
2020-10-03 14:56:36 +02:00
aryanrawlani28
9eb564b89f
SCI: Move common enum -> detection.h
2020-10-03 14:56:36 +02:00
aryanrawlani28
32799c1ee8
SCUMM: Fix naming for ScummMetaEngineConnect
2020-10-03 14:56:36 +02:00
Eugene Sandulenko
ceabaf3b0d
BASE: Added override keywords
2020-10-03 14:56:36 +02:00
aryanrawlani28
2c2f21b0cd
NEVERHOOD: Fix compilation
2020-10-03 14:56:36 +02:00
aryanrawlani28
973526a4d3
BBVS: Fix compilation
2020-10-03 14:56:36 +02:00
aryanrawlani28
a56dc094b9
ENGINES: ALL: Move detection_enums -> detection.h
...
- Cleans up headers quite a bit.
2020-10-03 14:56:36 +02:00
aryanrawlani28
ba5368542f
BASE: PLUGINS: Update header file & use DETECTION_STATIC def check to build static detection features.
2020-10-03 14:56:36 +02:00
aryanrawlani28
11615faca8
MAKEFILES: Include dynamic building detection module if requested
2020-10-03 14:56:36 +02:00
aryanrawlani28
81d2bb8f11
ENGINES: DETECTION: Shift detection files to live inside engines subdirectory
2020-10-03 14:56:36 +02:00
aryanrawlani28
867e6c4e21
CONFIGURE: Improve enabling of detection as static/dynamic
...
- Add config statements to help in makefiles & base/plugins.cpp
- Print to console if detection is building as static or not
2020-10-03 14:56:36 +02:00
aryanrawlani28
0cbff637d4
MAKEFILES: Include all detection objects while keeping the rest as-is.
...
- This enables detection objects to be always available and build into the executable.
2020-10-03 14:56:36 +02:00
aryanrawlani28
1d3e4d2800
MOHAWK: Do not create additional folders for riven & myst metaengines.
2020-10-03 14:56:36 +02:00
aryanrawlani28
4f55c1b689
DIRECTOR & KYRA: MODULES: Use workarounds to skip warnings.
...
- When these files are included for the second time, a warning is shown that the previous recipes will be overriden.
- Use_Rules helps with a workaround to disable these warnings.
2020-10-03 14:56:36 +02:00
aryanrawlani28
ac900a06b8
BASE: PLUGINS: Use engines/detection_table header for static plugins
2020-10-03 14:56:36 +02:00
aryanrawlani28
6735c46c41
MAKEFILES: Add a variable which helps in deciding if rules.mk should be used or not
...
- It is always enabled by default
- Only disabled when we would include all engine module files, so we don't include unnecessary stuff
2020-10-03 14:56:36 +02:00
aryanrawlani28
911e0e4f3c
GIT: Rename detection_tables inside gitignore which is now present inside engines subdirectory
2020-10-03 14:56:36 +02:00
aryanrawlani28
e64446e4ce
CONFIGURE: Remove detection submodules written to engines.mk
...
- Write detection_table inside engines subdirectory
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
274b8a51a1
TONY: Match consistency with other engines & move enums to new header.
2020-10-03 14:56:36 +02:00
aryanrawlani28
f3b9477893
ENGINES: ALL: Add header guards for the new detection-header files.
2020-10-03 14:56:36 +02:00
aryanrawlani28
fea29b04ac
BASE: PLUGINS: Add a plugin suffix only if it is available
2020-10-03 14:56:36 +02:00
aryanrawlani28
7615f37698
BASE: PLUGINS: Add detection tables header file when getting static plugins.
2020-10-03 14:56:36 +02:00
aryanrawlani28
11f46399b6
GIT: Add detection_tables header to .gitignore
...
- It is generated by configure and works similiarly to plugins_table.
2020-10-03 14:56:36 +02:00
aryanrawlani28
2ee4cd2878
CONFIGURE: Add functionality for detection modules for each engine
...
- In engines.mk, add another module "enginename/detection"
- This module is always added, regardless if the engine is enabled or not.
- Remove the array which helped out when each individual engine port was being added over.
2020-10-03 14:56:36 +02:00
aryanrawlani28
78dd712a1c
PARALLACTION: Adapt to new detection modules and misc changes.
...
- Move common enums into detection_enums.h
- Make a new module for detection. See previous commit notes for more info.
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
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