Commit Graph
1012 Commits
Author SHA1 Message Date
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
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
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
Eugene Sandulenko bd788ad801 BASE: Mention FriBiDi in the about dialog when compiled in 2020-04-30 11:52:42 +02:00
Thierry Crozat b196d26b3e SDL: Add --logfile command line argument to specify logfile path 2020-04-17 22:39:50 +01:00
Bastien Bouclet bcfb7145fa GUI: Allow engines to define a fully custom tab in the edit game dialog
By implementing MetaEngine::buildEngineOptionsWidget, engines can
instantiate a container widget that will be shown in the Engine tab of
the edit game dialog. The default implementation retains the existing
behavior and shows the extra GUI options.
2020-03-28 07:38:39 +01:00
Bastien Bouclet 9cc2fee887 SDL: Enable joystick input by default
Game controller input is now enabled whenever a compatible device is
connected. The keymapper's keymaps are refreshed when a joystick is added
or removed.

Fixes #10366.
2020-03-16 18:41:27 +01:00
Cameron Cawley f2db412ba5 GUI: Store the shader name in the config file instead of the ID 2020-03-09 18:01:14 -05:00
Cameron Cawley 7488e17c0a GUI: Allow shaders to be selected for individual targets 2020-03-09 18:01:14 -05:00
Zvika Haramaty 3b4810aab4 AUDIO: Added dump-midi mechanism
This mechanism is enabled by '--dump-midi' command line parameter.
The midi events are printed to screen, and dumped to 'dump.mid' file.
2020-02-28 08:27:12 +02:00
Bastien Bouclet 3567c4f159 BASE: Reset the keymapper on RTL with dynamic plugins enabled
When returning to the launcher with dynamic plugins enabled, the config manager
is re-created, invalidating the pointers the keymapper keeps to the
configuration domains.

Fixes #11348.
2020-02-09 07:29:43 +01:00
Bastien Bouclet 2ef7365401 KEYMAPPER: Change backend default bindings to replace keymap defaults
Previously backend defaults where added to the keymap defaults.
However, it became apparent backends need to change the default bindings
to resolve conflicts.
2020-01-29 08:51:30 +01:00
Bastien Bouclet 519b4a57e2 KEYMAPPER: Allow engines to return multiple keymaps
The idea is that keymaps may be situational. A keymap may be always
enabled, while another one may be enabled only during combat..
2020-01-29 08:51:29 +01:00
Bastien Bouclet 7617723ab5 KEYMAPPER: Allow backends to register multiple keymaps 2020-01-29 08:51:29 +01:00
Bastien Bouclet 14663c4790 KEYMAPPER: Make the keymapper mandatory 2020-01-29 08:51:29 +01:00
Bastien Bouclet 8dd2b7ca39 EVENTS: Expose the primary global keymap builder 2020-01-26 23:09:08 +02:00
Bastien Bouclet be388fd9b0 BASE: Don't needlessly go through EngineMan to get the game description 2020-01-26 23:09:08 +02:00
Bastien Bouclet ee8229dc00 ENGINES: Move keymap initialization to MetaEngine
To be able to access the keymap while the engine is not running.
2020-01-26 23:09:08 +02:00
Bastien Bouclet 19de568e24 KEYMAPPER: Untangle the dependencies between Action and Keymap 2020-01-26 23:09:08 +02:00
Bastien Bouclet 576982bc33 KEYMAPPER: Use the default action bindings defined by the backends 2020-01-26 19:07:53 +01:00
Bastien Bouclet 17791e2f7d KEYMAPPER: Actions can now have default mappings 2020-01-26 19:07:53 +01:00
Bastien Bouclet 9c0bc2b633 KEYMAPPER: Simplify the way keymaps are enabled and disabled 2020-01-26 19:07:53 +01:00
Bastien Bouclet ac44469558 KEYMAPPER: Remove the domain class 2020-01-26 19:07:53 +01:00
Bastien Bouclet e197a75829 KEYMAPPER: Action can generate only a single event 2020-01-26 19:07:53 +01:00
Bastien Bouclet b7a816f1eb KEYMAPPER: Clean up the classes dependencies 2020-01-26 19:07:53 +01:00
Cameron Cawley 795452042e BASE: Add mouse click events to the global keymap 2020-01-21 19:49:10 +00:00
Bastien Bouclet f17a7a96da BASE: Fix being unable to run games when using dynamic plugins
When the plugin-engine mapping is not cached in the configuration file,
we were not scanning all the plugins to establish the mapping.

This is a regression from commit: e2d91258b7

This commit reverts the offending commit and implements a proper fix for
the case where there are no dynamic plugins.

Fixes #11300.
2020-01-04 17:49:32 +01:00
Bastien Bouclet 9454346782 ENGINES: Copy the data referenced by QualifiedGameDescriptor
The engineId, gameId and description come from static data in the game
engines. When the game engines are compiled as dynamic plugins, the QGD
structure may outlive the engine plugin. Making a copy ensures the data
remains available.

Fixes #11292.
2020-01-01 08:19:48 +01:00
Cameron Cawley e2d91258b7 PLUGINS: Fix crash when no plugins are available 2019-12-02 11:04:57 +02:00
Cameron Cawley f2b9f7bb76 BACKENDS: Remove the Windows CE port 2019-11-17 22:33:56 +01:00
Bastien Bouclet 3c0abc0800 BASE: Remove the engines/games alphabetical sort 2019-11-03 11:43:00 +01:00
Bastien Bouclet c142838122 BASE: Change the command line interface to use engine-qualified game names
Qualified game names have the following form: engineId:gameId.
Unqualified game names are still supported as long as they are not
ambiguous. However they are considered deprecated and are no longer
displayed by the --list-games command.
2019-11-03 11:43:00 +01:00
Bastien Bouclet 47a2b2a9a2 BASE: Add a command line option to list the engines 2019-11-03 11:43:00 +01:00
Bastien Bouclet ae9f764c7a ENGINES: Automatically upgrade the targets on launch to add an engine ID 2019-11-03 11:43:00 +01:00
Bastien Bouclet bb813719b5 ENGINES: Change targets to have an 'engine ID'
The engine ID identifies which engine should be used to launch the target.
Also remove the 'single ID' system. Different games from engines that used
that system now have different game IDs.

Also-By: Matthew Hoops <clone2727@gmail.com>
2019-11-03 11:43:00 +01:00
Jaromir Wysoglad 9a7a7743bb TTS: Fix "No voice available" warning 2019-10-14 01:34:54 +02:00
Eugene Sandulenko 41b49444b6 RELEASE: This is 2.2.0git 2019-09-23 00:12:30 +02:00
Eugene Sandulenko 7414258dff JANITORIAL: Fix indentation 2019-09-14 22:23:04 +02:00
Jaromir Wysoglad 324a90f4f6 TTS: Implement tts state switching when needed.
The state has to be pushed and poped when there is a transition
between game and gui code.
2019-09-01 22:47:55 +03:00
Jaromir Wysoglad ce64528129 TTS: Make sure that TTS lang matches transMan lang 2019-09-01 22:47:55 +03:00
Bastien Bouclet c5b92bcb2e GUI: Better integration for the unknown game dialog when adding games
* The list of candidates now includes unknown variants. When an unknown
variant is selected, the unknown game dialog is shown.
* On the unknown game dialog, users are given the choice to add the game
when that is possible, or to cancel.

The goal of those changes is to make the unknown game dialog less
confusing for users, especially when both known and unknown games
variants are found.
2019-05-12 11:44:51 +03:00
Eric Culp 6d11f46b15 BASE: Only reload engine plugins after return to launcher
The other plugins do not need to be reloaded. Reloading
the scaler plugins breaks the graphics.
2019-03-10 03:49:29 +02:00
sluicebox e67b8501bf WIN32: Fix embedding disabled engine files
Fix Windows builds (msvc and mingw) including data files from disabled
engines as embedded resources in executable. Bug #10878
2019-03-02 10:01:37 +02:00
Torbjörn Andersson 3153f017a2 BASE: Add feature string for liba52 support. 2019-01-13 09:02:45 +01:00