Commit Graph
4144 Commits
Author SHA1 Message Date
Bastien Bouclet 32174c9067 KEYMAPPER: Actions can now be bound to joystick buttons 2020-01-29 08:51:29 +01:00
Bastien Bouclet df4bf6556c KEYMAPPER: Introduce custom engine actions
Custom engine actions are a new type of event the Keymapper can produce.
When an engine declares its keymap, it can declare it wants to receive
custom action events when the corresponding key is pressed, instead of
the originating hardware input events.

This system allows:
* Key bindings to be specified only once when declaring the keymap,
  instead of twice (when handling the events).
* To truly rebind keys in the keymaps dialog. When using traditional
  event mapping, the keymapper remaps the user keypress to the keypress
  expected by the game engine to perform the action. However, the engine
  still accepts the original keys.

The new concept of 'standard actions' defines a set of engine actions
that are commonly available in the games supported by ScummVM. Backends
can define default bindings for the standard actions to hardware
specific input devices.
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 ec9c394787 KEYMAPPER: Remove DefaultEventMapper
Now the keymapper is enabled by default, it does not make sense to have
a separate class anymore.
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 cc336635a1 KEYMAPPER: Change custom backend action events not to be instant
Allows action consumers to choose if they want to react on the start or
on the end of an user interaction.
2020-01-29 08:51:29 +01:00
Bastien Bouclet 2d7588d9c3 EVENTS: Remove the dependency to EventSource from EventMapper 2020-01-29 08:51:29 +01:00
Bastien Bouclet 511d138bbc KEYMAPPER: Move the remap dialog to an option dialog tab
The aim is to make it easy to discover, and possible to use without a
keyboard.
2020-01-26 23:09:08 +02:00
Bastien Bouclet 8dd2b7ca39 EVENTS: Expose the primary global keymap builder 2020-01-26 23:09:08 +02:00
Bastien Bouclet 7edff01e69 KEYMAPPER: Move the remap event capture logic out of the keymapper 2020-01-26 19:07:53 +01:00
Bastien Bouclet 63142d8090 COMMON: Event observers can't eat poll notifications anymore
It did not make much sense, and was unused.
2020-01-26 19:07:53 +01:00
Cameron Cawley 9fc24522d7 BACKENDS: Add more keycodes 2020-01-21 03:28:22 +02:00
Cameron Cawley a692905eb2 COMMON: Add a function to simplify loading Windows executables 2020-01-11 17:34:12 +02:00
Cameron Cawley aa9a41545a COMMON: Add a common base class for the Windows resource classes 2020-01-11 17:34:12 +02:00
Cameron Cawley b8e94e1acd COMMON: Rename PEResources::getNameList() to getIDList() 2020-01-11 17:34:12 +02:00
Eugene Sandulenko a6307b768c COMMON: Fix reading beyond array pointers in toString() 2020-01-06 13:31:58 +01:00
aviloria 92c7366d1c COMMON: Add ZH_ANY language for generic chinese languages
We have a game that has actual ZH_CNA, ZH_TWN translations and also ships with the same file set that formed ZH_CNA in previous game versions, when there was no separate Traditional/Simplified variants and was only one 'Chinese'
2019-12-27 01:36:19 +02:00
Eugene Sandulenko 5375a2a048 COMMON: Add sanity check to MacResMan 2019-12-26 17:03:44 +01:00
Thanasis Antoniou 0357293897 ANDROID: Fix crash due to adding '.' folder in SearchManager 2019-12-16 22:59:10 +02:00
Cameron Cawley e92ac655be BACKENDS: Add default implementation for GraphicsMode functions 2019-12-15 16:06:56 +02:00
Cameron Cawley c3c3137ab3 BACKENDS: Move nextHigher2() into common/algorithm.h 2019-12-14 17:09:18 +02:00
Eugene Sandulenko 5825a30b67 JANITORIAL: Whitespace fixes 2019-12-13 00:02:38 +01:00
Eugene Sandulenko 4b0fcd411b COMMON: Fix string length in U32String::encode()
Our method expects length in bytes, not in characters, which is 4x for U32
2019-12-12 23:59:58 +01:00
D G Turner 365e9af4f0 COMMON: Minor Spelling Fix to Util Header Comment
No functional change.
2019-12-11 02:19:28 +00:00
Eugene Sandulenko c85e5a64d7 COMMON: Fix toPrintable() for upper characters 2019-12-11 00:45:12 +01:00
sluicebox baea8d5c9c COMMON: Make save compression optional when copying
Allows for copying or renaming uncompressed save files, such as
in Phantasmagoria 1, without compressing them in the process.
2019-12-09 22:57:46 -08:00
Eugene Sandulenko 6b6dc21813 COMMON: Added helper function to produce printable strings 2019-12-10 00:32:54 +01:00
D G Turner 2d90392ba5 COMMON: Fix GCC-9 Warning in MacResManager Class
This is another case of a warning from using memset to clear a non-trivial
data structure.

GCC-9 detects this with the default warning of -Wclass-memaccess.
2019-12-09 16:59:10 +00:00
Bastien Bouclet feaf9dc365 ALL: Sync with ScummVM rev. 55dba55056 2019-12-08 17:06:42 +01:00
D G Turner 76bf6da5fa COMMON: Fix Missing Default Switch Case in Span Header
This is flagged by GCC if -Wswitch-default is enabled.
2019-12-01 00:32:48 +00:00
Le Philousophe 6aaec02c57 COMMON: Add CJK encodings to Common::CodePage
Use Encoding::convert to do the conversion first and try old method if
it fails
2019-11-30 13:34:33 +02:00
sluicebox b8390fa161 GRAPHICS: Add interface for horizontal shake 2019-11-19 00:20:40 +01:00
Cameron Cawley f2b9f7bb76 BACKENDS: Remove the Windows CE port 2019-11-17 22:33:56 +01:00
Bastien Bouclet 34bf3f2de0 TTS: Fix use of virtual function in TTSMan destructor
TextToSpeechManager::freeVoiceData was called while the virtual function
table pointer was already reset by the parent class destructor.
2019-11-15 21:24:22 +01:00
Paul Gilbert d51d3d4086 COMMON: Allow for enabling/disabling debug channels by number 2019-11-11 18:20:29 -08:00
Bastien Bouclet 6a627e3e98 COMMON: Fix very noisy warning when building with GCC 9 in C++11 mode 2019-11-10 21:04:29 +01:00
Cameron Cawley d1fa1154fe BACKENDS: Fix using fillScreen in non-paletted screen modes 2019-11-10 01:25:46 +02:00
Thierry Crozat 8ac0012fdd COMMON: Clarify documentation for OSystem::convertEncoding 2019-11-08 20:43:25 +00:00
Le Philousophe d62bb15d71 COMMON: Add ignoreClashes flag to SearchSet and FSDirectory
This lets engine mute warnings about name clashes when there are useless
for its case. This will be used by Versailles as the tree has
directories with the same name at various places.
Files are duplicated too in different directories but are identical.
2019-11-03 00:44:23 +01:00
D G Turner dca112f94b COMMON: Fix Missing Default Switch Case in Coroutine Macros
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-21 00:19:41 +01:00
Eugene Sandulenko 50822e708b COMMON: Moved string encoding to separate file 2019-10-19 17:38:26 +02:00
Eugene Sandulenko 9ff8e69aa9 COMMON: Added new + operator to U32String 2019-10-18 17:20:27 +02:00
Eugene Sandulenko eb72d6b479 COMMON: Added String::find() 2019-10-18 00:28:36 +02:00
Jaromir Wysoglad b9d3c84db4 TTS: Fix language setting. 2019-10-16 19:30:56 +02:00
D G Turner a7c497af3b COMMON: Add Missing Default Switch Case to U32String Class
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-06 09:51:01 +01:00
D G Turner 70582daf46 COMMON: Fix Missing Default Switch Cases in Lua Interpreter
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-06 07:58:40 +01:00
Eugene Sandulenko dbf56a3b29 COMMON: Add methods to U32String to match String 2019-10-04 15:54:48 +02:00
Eugene Sandulenko 72a5d9d4ba JANITORIAL: Whitespace fixes 2019-10-04 15:54:48 +02:00
D G Turner 4a2cbd94b6 COMMON: Add Missing Switch Default Case in ZLIB Class
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-04 04:27:42 +01:00
D G Turner cee1b56f3a COMMON: Add Missing Default Switch Cases in DCT Class
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-04 04:27:03 +01:00