clang interprets this expression as possibly a mistaken attempt to
add a number to the string, rather than to index into the string.
Adding parens around the string silences the warning.
Make a macro to unify processing.
Use the new Path helper to handle WIN32 and save to settings using the
toConfig helper.
This makes sure the path is properly encoded and will not be improperly
decoded later.
It is possible to run iOS applications on macOS on Mac computers
running on Apple Silicon. This was possible before moving to the
ModularGraphicsBackend implementation in the iOS7 port with just
a little tweaking.
After the move to ModularGraphicsBackend, the ScummVM application
crashed on launch. There were two reasons for crashing;
1. dlsym() was called with the special handle RTLD_SELF to search
for the address binding of the GLES2 load symbol. Using RTLD_SELF
the search for the symbol is limited to the shared object issuing
the call to dlsym() and those shared objjects which were loaded
after it. When running an iOS app in macOS it seems that the app
is running inside a wrapper, which means that the objects resides
in a different level. Changing the search level to RTLD_DEFAULT
changes the search to also include all objects loaded at program
start-up.
2. As for the native macOS application, XCode also adds the
argument -NSDocumentRevisionsDebugMode YES if XCode option
"Allow debugging when using document Versions Browser" is on.
Make sure not to parse that argument also when building the
IPHONE target.
Also made the ensureAccessibleDirectoryForPathOption() method use a recursive call to reduce complexity
The following decisions are made for commandline path options accessibility checks:
"screenshotpath" option is required to be writeable (not checked for readable)
"path" option is required to be readable (not checked for writeable)
"savepath" option is required to be readable AND writeable
"extrapath" option is required to be readable (not checked for writeable)
"iconspath" option is required to be readable AND writeable
"themepath" option is required to be readable (not checked for writeable)
This updates the FluidSynth settings to the value ranges and defaults used by
the current version 2.3.4.
Reverb
- Room size: 0.00-1.20 / 0.20 to 0.00-1.00 / 0.20
- Width: 0-100 / 1 to 0.0-100.0 / 0.5
Chorus
- Level: 0.00-1.00 / 1.00 to 0.00 - 10.00 / 2.00
- Speed: 0.30-5.00 / 0.30 to 0.10-5.00 / 0.30
- Depth: 0.0-21.0 / 8.0 to 0.0-256.0 / 8.0
SDL audio init will fail on Windows if all audio output devices are disabled.
Only about 10 engines are checking for this case and numerous pieces of common code (EmulatedOPL, VideoDecoder) fail as well, so this acts as a fallback to prevent instability.
- Add virtual function dumpDetectionEntries() to
MetaEngine
- Glk, Sky and SCUMM do not have proper
definitions for dumpDetectionEntries()
- Add md5PropToGameFile() to extract prefixes for
md5s
- AdvancedDetector writes content of DAT file to
STDOUT
When parsing the command line option "window-size" the DO_LONG_OPTION
inserts "window-size" into the settings StringMap. This is soon later
deleted, but instead of deleting "window-size" it deletes the
non-existent setting "window_size". This is needed because width and
height are stored in "last_window_width" and "last_window_height"
respectivly and "window-size" is not used anywhere.
This means building and running scummvm in tree now works out of the box.
Unfortnatelly registering them as defaults would not work as
ConfMan::hasKey() returns false when only defined as a default, and
in most places this is checked before using those paths. So if we
wanted to use defaults we would need to replace all those checks with
a check that the path is not empty.
There is a drawback to using the session domain though: it takes
priority over all other domains. So a custom extrapath defined for
a game will be ignored. We try to mitigate the issue by only adding
those path if they exist(so that it does not break shadow builds for
example).
Also the change is excluded on Windows as it is not needed there
since the themes and engine data files are embedded in the executable.
This allows opening the launcher after running a command line command,
such as --add. The main use for this would be for backends to be able
to easily add games from a folder on launch.
Normally, GameSpy Arcade (or a third-party app) would set these settings
into moonbase.ini for the game to read. But I feel like a couple of
command line options would be a lot simpler.
Also, doubles as a quick way to host and join a game for testing.
Unfortunately this does not support the demo version.