Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
- Add a float suffix in convertScreenHToSpaceX/Y
|
|
|
|
|
|
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.
|
|
This flag is removed for a few reasons:
* Engines universally set this flag to true for widths > 320,
which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
since its behaviour was almost completely undocumented and users
would need to figure out that they'd need an explicit non-default
scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
deciding how the backend may choose to render its virtual screen.
The choice of rendering behaviour belongs to the user, and the
backend, in that order.
A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
|
|
write streams
|
|
For better performance.
|
|
Fixes loading a game from the launcher after returning to the launcher.
|
|
InputDeviceManager::pumpEvents is called from neighborhood classes that
are destroyed when loading.
Don't allow loading from that method to prevent use after free bugs.
|
|
Otherwise, pressing escape to close the GMM opens the game's own menu.
|
|
Fixes a crash to debugger in the following case:
- TSA: Select he Pegasus biochip. The recall button is disabled.
- Select the gas canister in the inventory
- Jump to Norad VI
- Press T to show the Pegasus biochip. The recall button is still
incorrectly disabled. Clicking on it triggers an error.
|
|
Fixes the display of OSD information when toggling fullscreen.
|
|
All these fall through were marked as deliberate, so again I've only
changed the comment to silence GCC.
|
|
This reverts commit eefa72afa1978a9dea10f5b1833fcc8f58a3468e.
With this patch ConfigManager is broken.
|
|
This fixes tons of warnings with clang from a recent xcode version on
macOS (and possibly other systems) complaining that an instantiation
of _singleton is required but no definition is available.
|
|
|
|
|
|
|
|
|
|
|
|
Recently we started to use this as new semantics, although in the past
we used simly <engine>_H. Now these guard defines are consistent with
rest of the files which are used in the engines.
|
|
The code which follows in the method has this check, assuming that
a null dereference is potentially possible.
|
|
_singleid -> _singleId
_gameids -> _gameIds
_guioptions -> _guiOptions
|
|
Some backends like GCW0 do no support graphics >320x240 due to
the hardware limitation (downscaling is possible but it will ruin
the pixel hunting which is often part of the gameplay).
Instead of manually updating the list of engines, we now introduce
a new dependency.
I marked all relevant engines, but some, like tinsel, require more
work with putting their relevant high-res games under USE_HIGHRES
define.
|
|
All callers requiring SeekableAudioStream have been adapted by using dynamic_cast
|
|
|
|
|
|
|
|
Thanks to LordHoto for his assistance in tracking this nonsense down.
|
|
Agreed with clone2727.
|
|
Based on a patch by Keith Kaisershot (blitter)
|
|
|
|
|
|
|
|
Based on a patch by Keith Kaisershot
|
|
|
|
|
|
Based on a patch by Keith Kaisershot (blitter)
|
|
|
|
|
|
|
|
|
|
|
|
|