This is used by 3D games to limit the frames per seconds.
The default value was lost in commit b586571900 when sync'ing
ScummVM and ResidualVM code. This resulting in a default of 0,
which means no throtling.
This should fix bug #13631
Follow-up to the feature that allows skipping certain ADGF flags.
This here now also allows skipping of incomplete file/md5/size matches. It is basically the same behavior as the graylist. For the mass add all files are treated as if they are on the list.
I added skipping for the ADGF_WARNING and ADGF_UNSUPPORTED flags.
For me, this is mostly about fixing bug no. 13282. We sometimes have bogus entries which only have the purpose of presenting the error message (reasons for being unsupported) contained in the extra field of the detection entry.
The SDL backend was getting that path at the start and storing
it in a class member so that it would persist for the session.
But now that we have a kSessionDomain in ConfMan, it is cleaner
to use that (and this will also work for non-SDL backends).
These are emitted by GCC when -Wundef is passed.
This could have caused odd behaviour if the WIN32 symbol was defined
as 0 i.e. #ifdef WIN32 code is included for compilation, but #if WIN32
guarded code is excluded, hence #ifdef is used in all cases as per the
existing compile time guards.
Fixes assigning the wrong game id when upgrading a target to have
an engine id. If a game had been run earlier ran then its checksums
could still be cached. If both games were from the same engine then
advanced detector could select the previous game.
Fixes bug: #13458
Add a class to group all renderer related (static) functions.
This allows to have getBestMatchingAvailableType inline in all engines.
The matching code is now shared between all engines but allows
customization for engines needing it (Grim, WME3D).
The new code takes runtime availability of features to select the
best renderer.
It avoid crashes when user choosed OpenGL but GLES2 is used.
Note that since the ConfMan transient domain is cleared when opening
the launcher, this only work when specifying a game on the command
line as well, and only until returning to the launcher.
This commit adds support for the SudoMaker RetroWave OPL3 sound card. Requires
the retrowave library.
Add the following settings to scummvm.ini:
retrowaveopl3_bus=serial
retrowaveopl3_port=<port> f.e. COM3 or ttyACM0
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).
Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
The following variables:
gScummVMVersion
gScummVMBuildDate
gScummVMVersionDate
gScummVMFullVersion
gScummVMFeatures
are declared as pointers to strings but there is no need to do so.
They can be simply declared as const strings, since they will be never modified when SCUMMVM runs.
Exports version variables as const strings
Trying all engine plugins in alphabetical order is a time consuming
process, so start by trying the plugin which has the same name as the
engine id first, if it exists, as it will usually be the right one.
In the rare case that it would be the wrong one there is no problem;
the code will simply fall through to the old scanning and then record
the correct plugin in the engine_plugin_files domain where it will be
found the next time the plugin is needed.
Plugin filenames are all upper case on Dreamcast due to the ISO 9660
filesystem. It doesn't seem likely that making the check case
insensitive would cause any problems even on a file system that
is case sensitive.
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.
Fixes GUI events leaking into engines at startup. This caused
Phantasmagoria 1 to skip its introduction if the game was started from
the ScummVM GUI with a keyboard (Enter) but not with a mouse because
the key-down event started the engine and the key-up event remained
in the queue.
This also purges and mouse events since we happen to already have a
purgeMouseEvents() method. We may want to also clear joystick inputs,
or possibly the entire event queue, but that can be done after the
upcoming release. For now, the known bug is fixed.
This is a degradation from the split of detection plugins. All the
caching code which was present was left with detection plugins which
now make no sense: we always load all detection plugins as a whole.
This commit moves the caching logic over to the Engine plugins.
This opens a question now whether we should move all to UNCACHED_PLUGINS
Create a new flag --enable-windows-console to build with console
output on MinGW. The default behavior will be to enable the console.
The current plan is to continue to offer the users both options for
release builds - ScummVM and ScummVM (noconsole).
Whenever the text console is enabled, Windows console will be added
by default. This is to prevent a situation where ScummVM will not load
any visible debug console on hotkey or error.
This is currently only (partially) implemented for the 16-color Mac
versions of Loom and Indiana Jones and the Last Crusade. The text is
still drawn in color, since that's rendered separately, but I'm
committing this now while it still works.