Commit Graph
137148 Commits
Author SHA1 Message Date
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