Commit Graph
111291 Commits
Author SHA1 Message Date
aryanrawlani28 fd1e333100 ENGINES: METAENGINE: Move initKeymaps into MetaEngineConnect.
- Used by Sky, for example.
2020-10-03 14:56:36 +02:00
aryanrawlani28 5d3292d844 CONFIGURE: Update to properly support statically linked ScummVM.
- Since new engine classes cannot provide same ID for the 2 different types of MetaEngines, update the script to adjust for this behaviour.
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 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 ce80c0c730 ENGINES: Add a helper method - getMetaEngineConnect().
- Get a metaEngine plugin by querying the ConfMan.
- Next, use this MetaEngine to find a matching enginePlugin.
- Return the enginePlugin.
2020-10-03 14:56:36 +02:00
aryanrawlani28 9c67225293 COMMON: ERROR: Add kMetaEnginePluginNotFound 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 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 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 e69d9c98a4 ENGINES: AME: Move the subclass implemented method createInstance out of AME into AMEConnect.
- We have a default createInstance method overridden from MetaEngine from before in AME.
- So, just leave that as-is, and call the child class's function from there.
- Lastly, in AMEC - the generic createInstance is called, so we redirect it to call the one in the MetaEngine.
- Then, games can be run normally.
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
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 28dc54940f BUILD: MAKEFILE: Introduce DETECT_OBJS variable. Executable depends on it.
Note: No detection objects added currently. It's just an empty variable uptill now.
- These DETECT_OBJS will be seen in action in the new commits
- They contain engine_name/detection.o
- They have MetaEngine code, which has detection features.
- This way, Executable will have linked against the detection.o files
- Detection.cpp files will be individually compilable and not dependent on engine
2020-10-03 14:56:36 +02:00
aryanrawlani28 365b1101f3 CONFIGURE: Add static-detect-plugins array to be added in plugin_tables.h
- Currently, it is empty.
- After I enable engines one by to one to use detection statically, I will add them to the static_detect_engines array.
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
Matthew Duggan f6c5fed173 ULTIMA8: Implement PaceProcess for Crusader NPCs 2020-10-03 21:30:33 +09:00
Matthew Duggan b890fe997f ULTIMA8: Remove out-of-date TODO 2020-10-03 21:21:24 +09:00
Thierry Crozat 6f1a119263 BUILD: Disable debug build by default for release builds
It is still possible to make a release build with debug symbols by
explicitly requesting it with configure --enable-release --enable-debug
2020-10-03 11:40:50 +01:00
antoniou 5613c50fb3 ANDROID: Set AC_BACK to be the default map for Skip action
If Skip is not otherwise mapped by the game engine explicitly
2020-10-03 12:26:38 +03:00
antoniou 7e174a05ef ANDROID: Restore app icon that got wrongly removed 2020-10-03 01:09:59 +03:00
Andrei Prykhodko e472b7b2a3 PETKA: fix min walk distance 2020-10-03 00:59:09 +03:00
Andrei Prykhodko 145cb9680d PETKA: fix JumpVich opcode 2020-10-03 00:58:36 +03:00
Andrei Prykhodko 815a0324d7 PETKA: fix WalkTo opcode 2020-10-02 23:50:13 +03:00
Andrei Prykhodko 8e7425e16d PETKA: fix WalkVich opcode 2020-10-02 23:49:16 +03:00
Andrei Prykhodko b7f408bb85 PETKA: fix show opcode 2020-10-02 23:31:11 +03:00
Andrei Prykhodko 16b216537c PETKA: recalculate needed xOffset 2020-10-02 22:56:14 +03:00
Andrei Prykhodko 93ae63e563 PETKA: set walk background when loading room 2020-10-02 22:46:36 +03:00
Andrei Prykhodko 6025f75544 PETKA: stop walk when clicking on object 2020-10-02 22:39:37 +03:00
Andrei Prykhodko 7e41be4877 PETKA: renamed unk field in QSystem 2020-10-02 22:35:18 +03:00
Andrei Prykhodko e75ee3f5f2 PETKA: completed video system 2020-10-02 22:35:18 +03:00
Andrei Prykhodko e82fbdd495 PETKA: QObjectBG completed 2020-10-02 22:35:18 +03:00
Andrei Prykhodko 28bbc7dc83 PETKA: use math constants 2020-10-02 22:35:18 +03:00
Eugene Sandulenko c375a93f68 DEVTOOLS: Print usage information for encode-macbinary.sh 2020-10-02 21:04:26 +02:00
Pawel Kolodziejski fc0638a4db BACKENDS: Remove not used PS3 code 2020-10-02 20:02:15 +02:00
Pawel Kolodziejski b1fcc7cb89 BACKENDS: Remove not used code 2020-10-02 20:01:17 +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
antoniou 319149343f ANDROID: Reduce more Lint warnings
Unused resources, mem leak for event handler, overried View's performClick for accessibility
2020-10-02 19:50:30 +03:00
Pawel Kolodziejski a38148e428 BACKENDS: Make unique change id on startup 2020-10-02 15:44:34 +02:00
Alexander Reim c0062fe761 WII: Fix compilation with flag: disable-16bit 2020-10-02 15:00:57 +02:00
Pawel Kolodziejski e88cb497ff BACKENDS: Fixed compilation under Xcode 2020-10-02 14:16:43 +02:00
Pawel Kolodziejski e072e2cef8 GRAPHICS: Alpha mode state was not stored in YUVToRGBManager 2020-10-02 13:09:30 +02:00
antoniou 50eb038312 ANDROID: Comment about related bug report for transient config options 2020-10-02 12:42:06 +03:00