Commit Graph
1182 Commits
Author SHA1 Message Date
Cameron Cawley 01b4432825 BACKENDS: Use Common::U32String for OSystem::setWindowCaption 2020-11-22 17:20:19 +00:00
Cameron Cawley 11724f9df1 GUI: Add a tab for backend-specific options 2020-11-22 16:35:03 +00:00
Cameron Cawley 1bf1fb40fc CONFIGURE: Allow building with TinyGL disabled (#2528) 2020-10-14 20:31:22 +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
Paweł Kołodziejski 35b9cccbde ALL: Merge ResidualVM 2020-10-09 19:44:13 +02:00
Pawel Kolodziejski 2ecbaef5b5 BASE: Added more information about opengl related features 2020-10-07 11:33:22 +02:00
Pawel Kolodziejski b05551ec2d BACKEND: Drop bpp param. it was used for grim only. 2020-10-05 14:41:36 +02:00
Pawel Kolodziejski 4631c0e2ed ALL: Sync with ScummVM rev: a4002bdeee 2020-10-04 23:59:26 +02:00
Eugene Sandulenko b73034e3a0 GUI: Added setting for disabling directory scan at the GUI launch 2020-10-04 18:05:02 +02:00
Pawel Kolodziejski 1f73d401ab BASE: Cleanup cmdline options 2020-10-04 14:43:09 +02:00
Eugene Sandulenko 9590eed4b4 BASE: Upgrade fullpipe engineid to ngi
Making it hardcoded because:
  * This is the only place where it could happen
  * It is the second time in history of ScummVM when we renamed
    and engine (the first one was Simon -> AGOS)

Thus, there is a little sense in creating a universal solution.
2020-10-04 14:17:59 +02:00
aryanrawlani28 ffa69bfb26 GUI: debug statements related to plugins matching -> level 9. 2020-10-03 14:56:36 +02:00
aryanrawlani28 41af1b63a9 BASE: PLUGINS: Improve fb detection for Sci & Wintermute 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 c48719404a BASE: PLUGINS: Rename plugin matching helpers
- give*From* -> get*From*
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
Eugene Sandulenko ceabaf3b0d BASE: Added override keywords 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 ac900a06b8 BASE: PLUGINS: Use engines/detection_table header for static plugins 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 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 53f08789eb BASE: PLUGINS: Restore functionalities of uncached plugin manager for the new changes. 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 0cc8719417 BASE: ENGINES: Adapt to keymaps moving to engine plugins
- Also improvise usage of MetaEngineConnect in main.cpp a bit.
2020-10-03 14:56:36 +02:00
aryanrawlani28 9353e339c6 BASE: MAIN: Proper usage of unloadPluginsExcept before running a game. 2020-10-03 14:56:36 +02:00
aryanrawlani28 bdafdf220d BASE: PLUGINS: Deprecate improper usage of unloadPluginsExcept 2020-10-03 14:56:36 +02:00
aryanrawlani28 73cc973ad7 BASE: ENGINES: Change saveload code to adapt to the new MEC class.
- MEC: MetaEngineConnect.
- How do games handle save/load if MetaEngine (detection) is seperate from MetaEngineConnect (engine factory)?

- Most of the changes are quite similiar. ConfMan finds us the relevant MetaEngine, then simply use the new helpers from PluginMan.
- The new helpers will help convert a relevant MetaEngine into the other format or vice versa.
- Once the matching is complete, simply invoke functions by:
plugin->get<MetaEngineConnect>().engineMethod();
- Refer to previous commits to see the new class changes & notes.
2020-10-03 14:56:36 +02:00
aryanrawlani28 39f5c93c5c BASE: PLUGINS: Bump PLUGIN_TYPE_ENGINE_VERSION to 2
- Because of the many changes happening to engine classes, it would be a good idea to update the version, something similiar was done with themes.
2020-10-03 14:56:36 +02:00
aryanrawlani28 50e9f0d875 BASE: PLUGINS: Add helper methods which match MetaEngine to Engine & vice-versa 2020-10-03 14:56:36 +02:00
aryanrawlani28 f2dd03e7d8 BASE: PLUGINS: Implement a getEngineId for PluginObjects, return nullptr by default.
- See comments.
2020-10-03 14:56:36 +02:00
aryanrawlani28 575e77522a BASE: MAIN: Change how running games works.
- In runGame(), in main.cpp, we get a plugin of type MetaEngine.
- This MetaEngine cannot createInstances, but it just a helper class.
- Connect a MetaEngine class with it's factory class - MetaEngineConnect.
- Then, simply call the method.
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
aryanrawlani28 f07bdb100e BASE: PLUGINS: Implement unloadPluginsExcept correctly
- The new implementation matchs a plugin from type MetaEngine to an Engine, and unloads every else ENGINE.
2020-10-03 14:56:36 +02:00
aryanrawlani28 09c1e1e07d BASE: Change how game detection works.
- Do NOT use pluginMan and load plugins, etc, etc.
- Get MetaEngines from memory, since they're always built in statically.
- Use detectGames method to detect games.
2020-10-03 14:56:36 +02:00
aryanrawlani28 6689fa740a BASE: PLUGINS: Add a new type of plugin - MetaEngine
- MetaEngines will now always go to the executable.
- But, because they still live in engine projects and are connected via a macro, they will need to be differentiated from Engines.
- This macro, and it's use in future will help in that.
2020-10-03 14:56:36 +02:00
aryanrawlani28 a8d5168a35 PLUGINS: Add a ease-use macro - PLUGIN_ENABLED 2020-10-03 14:56:36 +02:00
Pawel Kolodziejski d8f2040dba ALL: Drop setupScreen API, use new initGraphics3d from engine API.
Enabled system API for begin/end gfx transactions, initSize, setGraphicsMode.
Function setGraphicsMode will use optional params to trigger 3d rendering
and switch to proper SDL Gfx manager.
2020-10-02 19:14:19 +02:00
Pawel Kolodziejski 6f69981904 BACKENDS: Drop launcherInitSize() and use 2d backend gfx manager for launcher. 2020-09-30 16:52:44 +02:00
Pawel Kolodziejski 2b248a85bf ALL: Minimise differences with ScummVM 2020-09-29 07:57:40 +02:00
Pawel Kolodziejski bfe58d3c77 ALL: Synced with ScummVM - rev: d4db631f9b 2020-09-23 21:52:10 +02:00
Lothar Serra Mari 51c42478d2 BASE: WIN32: Exclude scummvm's base directory from plugin path
Currently, the plugin architecture searches for plugins in ScummVM's
base directory and in the plugins directory itself.

However, for Win32, we need to bundle several DLL files in order to
make ScummVM run at all. Currently, this leads to several warning
messages since ScummVM tries to load those DLLs as plugins.

This patch excludes the ScummVM base directory when running on Win32 and
only accepts plugins from the plugins directory.
2020-09-13 18:03:16 +02:00
Pawel Kolodziejski 15a759370a ALL: Synced with ScummVM - rev: bdbbcd81ae 2020-09-12 19:38:50 +02:00
Pawel Kolodziejski d5304e2568 ALL: Synced with ScummVM - rev: 33a47d23b8 2020-09-03 02:21:14 +02:00
Thierry Crozat 1dfbb0cc4c BASE: Add c++11 unicode string literal test 2020-09-01 01:33:39 +01:00
aryanrawlani28 01176e43f7 GUI: U32: Use unicode based generateGameReport correctly in all places
- UnknownGameDialog: Use u32 for gameReport dependant functions
2020-08-30 14:43:41 +02:00