Commit Graph
1357 Commits
Author SHA1 Message Date
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
aryanrawlani28 68d01321d6 GUI: U32: Downscale changes of U32, fix review issues
This commit addresses a range of changes, within scummvm subproject.

- Audio files, like mididrv, remove U32String based name and identifier, because ASCII only.
- mididrv.cpp had some wrong format for warning messages, fix those
- Message dialogs were modified to use default arguments more often, but reverting back to the orignal to minimize changes.
- SetTooltip has a fake constructor that takes in a string, and use it.
- U32Format had some break statements missing, add those.
- RemapWidget: Use fake constructor for setLabel and setTooltip, to make minimal changes
- SDL: setting text in clipboard no longer uses SDL_iconv_string
- TTS: Override base class "say" with strings, so tts->say can be used with normal strings too.
- About dialog: fix incorrect code for u32string variables
- Fix some extra brackets
- Some buttons were incorrectly removed from using translated labels, revert those
- Message Dialog: Pass default and alt buttons as const references
- Saveload Dialog: Use translations in missing places, use const-references. Also, use translations in a correct manner.
- Use const references for tooltip in GraphicsWidget, EditTextWidget, error.cpp
- DomainEditTextWidget: Use U32String for text
2020-08-30 14:43:41 +02:00
aryanrawlani28 4b6976c558 GUI: U32: Reduce number of files changed and fixes
Up until last commit, everything was working fine but the amount of files changed was too large. This commit tries to reduce the changes.

- Add a fake constructor to Keymap, text-to-speech, setDescription (save-state)
- Redirecting functions for PopUpWidget::appendEntry, ButtonWidget::setLabel, GUIErrorMessage
- Use the above functions and constructors to reduce changes in Engines
- Fix warnings being in unicode. Only output english text in - Warnings, Errors, etc.
- Mark some strings as "translation" strings. (Not yet added to POTFILES)
- Remove some CP related things from po/modules.mk
- Previously used some Common::convertToU32 where it was not necessary, replace this with u32constructor
2020-08-30 14:43:41 +02:00
aryanrawlani28 cbc83065c0 GUI: U32: Fix warnings with printf statements
Command line printfs used some functions which returned u32 strings. Correctly encode them and then turn into c_str
2020-08-30 14:43:41 +02:00
aryanrawlani28 f800ca4ada GUI: U32: Convert majority of code to use U32
This commit also includes some additional major changes.

- Return U32String from TransMan getTranslation()
- Change tooltips to be U32Strings
- Remove temporary code of convertToU32String
- U32 Support various dialogs (Browser, FileBrowser, Messages, Chooser, etc)
- U32 for music plugins
- U32 for OSD messages
- Add some helper functions to ustr.cpp
- Change default tooltips from nullptr & 0 -> ""
- Some runtime exceptions may occur when changing languages due to incorrect String::Format
2020-08-30 14:43:41 +02:00
Eugene Sandulenko 98e0b14852 RELEASE: This is 2.3.0git 2020-08-30 13:42:19 +02:00
Bastien Bouclet 3f45f77269 BACKENDS: Fix crash when all the plugins fail to load 2020-08-27 21:14:07 +02:00
Eugene Sandulenko fe0193b914 JANITORIAL: Remove unndeded "common/translation.h" include 2020-08-27 20:26:45 +02:00
BeWorld 2f1acbe627 MORPHOS: simplify VERSION
- Same as AmigaOS4, add AMIGA format DATE
- Configure : force optimization level on release build
2020-08-21 00:59:18 +02:00
BeWorld 8f38b6a08d MORPHOS: Update version.cpp
MorphOS Support
2020-08-21 00:59:18 +02:00
Pawel Kolodziejski aea3bae26d ALL: Synced with ScummVM - rev 0b777c23a9 2020-08-11 00:59:40 +02:00
Eugene Sandulenko aa563f0c81 ALL: Remove PS2 port 2020-08-01 15:15:49 +02:00
athrxx 5e276286ae AUDIO/GUI: add SegaCD sound settings 2020-07-30 22:19:21 +02:00
Roland van Laar 14c92e6179 DIRECTOR: Extend --start-movie to start at frame
A frame number can be given to --start-movie and it will start
at that frame.
Examples:
    --start-movie=movie.dir@45  # start movie.dir at frame 45
    --start-movie=@23           # start the default movie frame 23
    --start-movie=movie.dir     # start movie.dir as usual
2020-07-24 20:57:52 +02:00
Pawel Kolodziejski 8f4e1c6cf3 Sync with ScummVM rev. 654b8208b8 2020-06-22 08:14:16 +02:00
Lothar Serra Mari aca3975843 BASE: Fix missing newline in command line output 2020-06-06 13:01:28 +02:00
Cameron Cawley 23e3a672b0 DS: Fix compilation with C++11 enabled 2020-05-29 20:05:02 +01:00
Thierry Crozat 75426284f7 BASE: Add test with c++11 std::initializer_list replacement
This code is adapted from similar code in SerenityOS and allows the
LIST_INITIALIZER1 test to pass with c++11 compliant compiler when
targeting an old c++ std librray that does not have
std::initializer_list.
2020-05-29 19:23:02 +01:00
Thierry Crozat c643801b65 BASE: Fix INITIALIZIER_LIST1 c++11 test 2020-05-29 19:23:02 +01:00
Zvika Haramaty 55ae963488 BASE: Added 'test_new_standards.cpp'
Adding C++11 compatibility tests, disabled by default.
See instructions inside the file.
2020-05-27 12:47:05 +02:00
Cameron Cawley cc5abf5ebb TTS: Fix crash when TextToSpeechManager is unavailable, clean up formatting 2020-05-27 12:43:49 +02:00
Cameron Cawley 65a09ee0fa BASE: Always set a default value for the vsync config key 2020-05-15 15:48:08 +02:00
mataniko 2f5eb14d4b JANITORIAL: Rename additional RTL references and comments 2020-05-12 10:36:38 +02:00
mataniko 321a02aff2 JANITORIAL: Rename shouldRTL, resetRTL and FORCE_RTL 2020-05-12 10:36:38 +02:00
Pawel Kolodziejski b586571900 ALL: synced with ScummVM commit 09bf38c120 2020-05-09 20:05:54 +02:00
Matthew Duggan e5501c7be4 BASE: Move CoreMIDI to end of list to speed up finding the right device (#2193)
CoreMIDI provides hardware midi device support.

On my MacBook, the first call to MIDIGetNumberOfDestinations() takes around 2
seconds.  Using one of the midi devices lower on the plugin list (mt32,
fluidsynth, etc) takes 2 extra seconds on every game start as
MidiDriver::getDeviceHandle() enumerates all the plugins to find the right one.

This change simply moves CoreMIDI to the bottom of the list.  It will still
take 2 extra seconds when opening the options box, but that's a rare operation
relative to starting games.
2020-05-01 13:27:43 +09:00