The autosave refactoring that was done in
7adad5aaf5831dc5adcee140f38aacc4a5db2518 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 7adad5aaf5831dc5adcee140f38aacc4a5db2518.
When the subtitle toggle controls are disabled for a game, don't
read the value and then set config values based on it.
This caused "Override global audio settings" to always set "subtitles"
and "mute_speech" even when the controls were disabled.
Fixes bug #13007 where "Override global audio settings" always
mutes the speech clips in Hoyle4.
This function supported loading alternative bdf fonts when we were
using 8 bits encodings for the translations. Now that we are using
unicode for all language, this is no longer needed.
This was only used to be part of the name under which loaded TTF
fonts are stored in the FontMan font map. But since all the
languages now use the same charset (UTF-32), there is no longuer
a need to include the charset in the name. We still need to
differentiate between bdf fonts that can only be used for English
and TTF fonts, but this is is the case due to the font size being
included in the name. And otherwise we could just add a hardcoded
"-ttf" in the name.
We used to have different charsets depending on the language and
a different set of fonts for each one. So themes could support
some language and not others depending on the fonts it contained.
Now all languages are using UTF-32, except English. So the only
case that can fail is when not using English and the Theme does
not have TTF fonts.
This new mode is functionally identical to playback mode, however
a new recording file is used to track the actual output of ScummVM.
This feature can be used to update a suite of existing recordings after
a renderer or a timing change.
Screen update boundaries are now used as sync points.
Screenshots are now processed on a screen update boundary.
This change increments the version of the Event Recorder
file format to 2; version 1 files will still play back as
before, without synchronising to screen updates.
The assignment back to _saveList is required, because the initial read does
not assign playtime.
In case the slot is empty, querySaveMetaInfos returns an empty description
with saveSlot -1 on most engines, so _saveList[selItem] loses its slot.
Cover this by adding a check.
Reverts 0425dff8245fd07329753a1f9c9cf91b4e79c534.
This revert part of a17816f1 (GUI: Warn when saving a "young" game
over an "older" one).
The issue was that when trying to save in a new slot with the list
save dialog, this was not creating the save.
This finishes to fix bug #12850
In my case I had a section where only the gameid was defined and no path.
Obviously this is not valid and I cannot start that game. But this is not
a reason to crash with an unknown "path" key error when starting ScummVM.
This was a regression introduced in fea19c69a. The code forgot to
add the margin on either side of the text when computing the width
of the dialog.
I also introduced a variable with the mergin value to clarify the
code (and also make it easy to change that margin in the future if
we want to).