Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Previously, a C-style cast was used to convert a
Common::Array<Plugin *>, populated with pointers to StaticPlugin
and DynamicPlugin instances, to a
Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a
*sibling* class to StaticPlugin/DynamicPlugin, so this cast was
invalid and the results undefined. The methods for retrieving
subclasses of plugins can't be easily changed to just generate an
array of temporary wrapper objects that expose an identical API
which dereferences to the preferred PluginObject subclass because
pointers to these objects are retained by other parts of ScummVM,
so the wrappers would needed to be persisted or they would need to
just re-expose the underlying Plugin object again. This indicated
that a way to solve this problem is to have the callers receive
Plugin objects and get the PluginObject from the Plugin by
explicitly stating their desired type, in a similar manner to
std::get(std::variant), so that the pattern used by this patch to
solve the problem.
Closes gh-1051.
|
|
Removing this GUI control was suggested as far back as 2011 at
<http://lists.scummvm.org/pipermail/scummvm-devel/2011-November/010416.html>.
There were no objections, but it was never removed. When working
on audio latency bugs, I independently rediscovered that the GUI
option was broken: the per-game options would *never* work, and the
option would not take effect until ScummVM was restarted because
there is no API for interacting with the backend audio mixer. So
now, it is finally gone.
Primarily for the sake of future troubleshooting, configurability
of the audio sample frequency within SdlMixerManager is maintained
for the moment, but now users will need to edit their ScummVM
configuration file manually to change it.
|
|
Fixes Trac#9838.
|
|
GUI: Restore previous settings if GUI cannot be rendered
|
|
PR#921 changes the behavior of the client that if the GUI fails to be
rendered the previously applied settings in the misc category are
restored. Error messages were altered according to the changes.
Bug: #9717 GUI: Indirectly changing 'GUI Language' can produce
inconsistent behaviour when changing some options.
|
|
|
|
This is to avoid writing in deleted memory in the ButtonWidget::sendCommand
when the sent command results in the parent dialog being rebuilt.
|
|
The theme label in the Misc tab will not change to the correct theme
when current language and theme is changed and 'apply' pressed.
loadNewTheme() does not do a rebuild of all widgets, including the
theme label, like it is explicitly done in the 'language section'.
The problem is that rebuild() uses the currently applied settings to
rebuild all widgets. Although a new theme was selected by the user the
label will be overwritten with the name of the still active theme.
By rearranging the logic a complete rebuild of the GUI is done and
updates the widgets correctly.
|
|
PSP2: Add Playstation Vita support
|
|
|
|
|
|
GUI: Improve tab widget
|
|
|
|
|
|
|
|
- control options tab is moved past graphics options tab
- control tab is not the default anymore
- changed label of "Mouse Speed" option to "Pointer Speed"
- changed Pointer Speed infotip description to make it more clear
|
|
Fixes erratic speeds in analog pointer motion
Implemented option to set analog/keyboard pointer speed
and control the analog joystick deadzone. The deadzone option appears
only if the build supports analog joystick (via JOY_ANALOG define)
|
|
ANDROIDSDL: added tab Control in main Options menu for switching some features
|
|
swap_menu_and_back_buttons
|
|
The case probably would never show up, just fixed so it'd disappear from Coverity.
|
|
|
|
hasFeature... condition, renamed some fields and methods
|
|
|
|
GUIO_NOSPEECHVOLUME can be used for games that allow toggling of
speech but do not provide the ability for users to control speech
volume.
GUIO_LINKMUSICTOSFX and GUI_LINKSPEECHTOSFX can be used for games
that allow control of music, sfx, and speech in combinations, like
games that provide control of digital audio separately from MIDI,
or games that only control all three audio types through a single
volume control.
|
|
|
|
|
|
|
|
This fix is not totally clean as it spuriously uses the
serverLabelPosition variable in one case of the preprocessor ifdef
configuration, but with the current structure, this is a simple hack to
fix.
A better solution would be to rewrite some of these functions to remove
some of the preprocessor usage if possible.
|
|
|
|
This will be needed to allow changing the GUI language and applying
the change without having to close the dialog.
|
|
Unlike other options in the OptionsDialog, the theme change was
done when selecting a new theme and not when clicking on OK or
Apply. This commit makes it consistent with other options
|
|
|
|
A value of 0 is valid for tab ids, so the correct initialisation at this
stage is -1. However only one constructor properly initialized all the
tab ids to -1 in its initialisation list, but it was then changed to 0 in
init(). I have added the missing ones to the other constructors and
removed the incorrect ones in init(). But maybe all tab ids should be
initialised in init() rather than in the constructors initialisation lists.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cloud tab now contains a button to select path, path label and a clear
button.
|
|
|
|
Checked by rebuilding ScummVM without SDL_Net in MinGW.
Also fixes StorageWizardDialog's warning about _stopServerOnClose.
|
|
Commit also adds a fix for StorageWizardDialog, where LocalServer was
used even if USE_SDL_NET was undefined.
|
|
Added prefixes, used debug(9).
|
|
|