73 Commits
Author SHA1 Message Date
Cameron Cawley b93419019d ENGINES: Change SaveStateDescriptor description to use Common::String 2026-04-08 15:16:28 +03:00
Eugene Sandulenko e5b824fbdb ENGINES: Normalize keymapping names 2026-02-10 00:51:16 +01:00
Matthew Jimenez 8ffd7fdf58 KEYMAPPER: Add keymap option for allowing patial matching.
In previous code partial match would always be allowed, but this hides intended inputs for engines that neither define their own keymaps nor disable them on text input. The fallback engine-default keymap will no longer match partial inputs.
2025-07-14 02:14:52 +03:00
aunnoman1 f3531d43dc I18N: Consistent wording in "Middle click" keymapper action in engines 2025-06-25 00:20:56 +02:00
aunnoman1 0f0b7e7ece I18N: Consistent wording in "Right click" keymapper action in engines 2025-06-25 00:20:56 +02:00
aunnoman1 6b47688551 I18N: Consistent wording in "Left click" keymapper action in engines 2025-06-25 00:20:56 +02:00
Eugene Sandulenko a7a593e70c Revert "ENGINES: Prevent resource leak in ExtendedSavegameHeader. CID 1591629"
This reverts commit 89e71ebec4.

Just as anticipated, this led to crashes.
2025-06-12 20:10:48 +02:00
Eugene Sandulenko 89e71ebec4 ENGINES: Prevent resource leak in ExtendedSavegameHeader. CID 1591629 2025-06-12 00:34:39 +02:00
Orgad Shaneh a53c713eb0 ENGINES: Deduplicate escapeString and fix unused-function warnings
The code that uses them in glk and scumm is in #if 0.
2025-04-30 18:50:58 +03:00
Filippos Karapetis 1921ebf02e ENGINES: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
sluicebox 4200d6575c ALL: Return result from MetaEngine::removeSaveState 2024-10-18 09:41:03 +03:00
Le Philousophe 3276c7d501 ENGINES: Fix global constructor warning
I don't know why Clang (and GCC) creates a global constructor when we
use a global variable with a pointer.
Using an array instead seems to please both of them.
2024-08-28 17:09:56 +02:00
Le Philousophe 65c0429045 ALL: Declare the Game not implemented message in only one place 2024-08-17 17:51:06 +03:00
Le Philousophe a7d0db4947 ENGINES: Let MetaEngine delete the engine
This will allow to cleanup other data managed by the MetaEngine (game
descriptors).
2024-06-30 18:39:06 +02:00
scemino 599adef9d5 ACHIEVEMENTS: Allow to override the default achievements platform 2024-04-23 13:37:01 +02:00
Matthew Jimenez 5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
Aditya a5b3353022 ALL: Decrease header dependency for gui_options.h
Now the number of times the header file gui_options.h
is added is much smaller.
2023-10-27 01:16:32 +02:00
Cameron Cawley 9c86add634 ENGINES: Remove MetaEngineDetection::parseAndCustomizeGuiOptions() 2023-08-28 22:59:50 +02:00
elasota d1571d0195 ENGINES: Add functions to decompose the date and time values from a savegame header 2023-06-19 08:32:01 +03:00
Matthew Jimenez 23f65282e6 ENGINES: Prevent save description length overflow 2023-06-18 00:49:10 +03:00
Kaloyan Chehlarski 48a387832d ENGINES: Correctly store extended save playtime
Changed the extended saves code so time is stored in milliseconds
instead of seconds. This fixes an issue where loading a save would
pass a playtime value of 1/1000 of the real playtime to the engine,
resulting in total playtime effectively being zeroed every time a
save is loaded.
Existing savefile compatibility is ignored since the value stored
inside old saves would be wrong for any savefile that has been
saved over more than once.
2023-03-26 13:24:31 +03:00
macca8 8906a0c4a9 ENGINES: Fix invalid double-quote symbols 2023-03-05 23:19:40 +01:00
macca8 159f554d20 ENGINES: Improve management of empty autosave slot
Addresses a vulnerability where the autosave slot may present as a regular empty slot when autosaving is disabled.
By default, an empty autosave slot will always:
- be identified by a dummy autosave.
- display the current autosave state.
- remain clear until an autosave creates the autosave file.
2023-03-05 23:19:40 +01:00
macca8 2868b74e30 ENGINES: Use slot test to test where save is stored
Also reinstated desc.setAutosave(header.isAutosave) call in querySaveMetaInfos().
These changes are simply a reversion of the relevant changes made in #3261, including any subsequent changes since then.
2023-03-05 23:19:40 +01:00
Eugene Sandulenko d80de9511e ENGNES: Reduced MASSIVE and unneeded dependency from gui_options.h header 2023-02-23 14:03:08 +01:00
Cameron Cawley 2c8a7d3900 ENGINES: Remove support for GUI options in MetaEngineDetection subclasses 2022-11-16 23:58:54 +01:00
Cameron Cawley fd37e09acb ENGINES: Allow getExtraGuiOptions() to be implemented in MetaEngine subclasses 2022-11-16 23:58:54 +01:00
Le Philousophe 7948a2820f ENGINES: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Cameron Cawley a020300701 ENGINES: Remove use of getEngineId() in MetaEngine subclasses 2022-07-20 11:54:19 +02:00
AndywinXp 7a29c27d23 KEYMAPPER: Allow repeated keypresses for standard actions 2022-05-29 22:05:16 +02:00
Die4Ever 8d77870287 ENGINES: revert accidental changes to metaengine.cpp 2022-02-15 16:58:23 -06:00
Die4Ever 17706734a0 GROOVIE: prevent saving over reserved save slots 2022-02-15 16:38:58 -06:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh e96a72ae87 ENGINES: Fix listSaves for 3-digit savegame patterns 2021-12-11 21:01:06 +02:00
Orgad Shaneh 78ef6203de ENGINES: Fix getSavegameFile for almost all engines
Use kSimpleSavesNames correctly, add where needed, remove where needed.

Trac #12977
2021-11-10 21:49:48 +00:00
Orgad Shaneh fe104cc337 ENGINES: Use MetaEngine consistently for getting autosave slot
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.

Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.

Amends 7adad5aaf5.
2021-10-24 16:46:06 +02:00
Orgad Shaneh 1b380a9e0b ENGINES: Fix moving savegames to a new free slot
This was broken for most engines.
2021-09-17 01:58:22 +03:00
Orgad Shaneh 6aeda12247 ENGINES: Warn when overwriting a non-autosave on autosave 2021-08-23 13:34:35 +02:00
Orgad Shaneh 7adad5aaf5 ENGINES: Streamline auto-save write/delete protection
Some engines call setAutosave and some don't. isAutosave is used to
determine if a saved game is an autosave, but in fact, on most cases it
just falls back to comparing the name to "Autosave".

This is wrong for several reasons:
* Older versions of ScummVM used Autosave 0.
* The name "Autosave" is translated, so if you change the language, it
  won't be detected.

Instead of relying on the name, use the well-known getAutosaveSlot() from
Engine/MetaEngine.

Fixes #12735.
2021-08-23 13:34:35 +02:00
Cameron Cawley d79f1eb55e ENGINES: Remove getExtraGuiOptions from MetaEngine 2021-08-14 13:57:54 +02:00
Eugene Sandulenko 0fcb6aa3e5 METAENGINE: Add optional offset parameter for extended saves 2021-07-16 01:18:56 +02:00
a/ 17b2c657ae ENGINES: METAENGINE: Add method to append extended save header to stream 2021-07-16 05:43:27 +09:00
Martin Gerhardy dfd6b6a9a4 COMMON: moved AchievementDescriptionList into Common namespace
getAchievementsInfo is also moved into the MetaEngine to reduce code duplication
2021-06-16 00:25:14 +03:00
SupSuper da2de3eee9 COMMON: Simplify MetaEngine::listSaves
Use querySaveMetaInfos to get save metadata
2021-06-07 12:39:15 +02:00
Cameron Cawley ef0048fa77 COMMON: Add standard actions for mouse button clicks 2021-04-06 11:15:42 +03:00
Paul Gilbert ae4da8bce0 ENGINES: Make creation of savegame thumbnails an overrideable method 2021-03-07 09:34:33 -08:00
Thierry Crozat 67720ef658 JANITORIAL: Remove obselete references to MetaEngineConnect
At some point when splitting the MetaEngine to a detection
plugin and a static meta engine, the former was called
MetaEngine while the latter was called MetaEngineConnect.
Thus was then later change to MetaEngineDetection and
MetaEngine. But some references were left to the former
names in comments and documentation.
2021-02-14 14:32:36 +00:00
Eugene Sandulenko 7ff34bc9ec PLUGINS: MetaEngineStatic -> MetaEngineDetection 2020-10-11 23:14:39 +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 81ba5d5627 ENGINES: ME & MEC: Allow MEC to build engine options widget.
- Rename the one in ME to avoid ambiguity.
- ME is named *static & MEC is named *dynamic.
- This change means that engines  can build 2 types of option widgets.
- The "Engine" tab is created statically regardless if an engine plugin is present or not.
- The in-game options are built using the MEC.
- With this commit, engines/dialogs is no longer dependant on MetaEngine, and instead used MEC all over.
2020-10-03 14:56:36 +02:00