Error messages now contain the name of the failed function and
plane/screen item information that can be used to look up the
plane/screen item in a debugger, if the games ever crash in a
release in this code, per suggestion by @m-kiewitz.
Commented out messages that were used during the rearchitecture of
the main graphics engine are also removed, since that code is stable
now.
The original check broke if either DOTT or MM had a trailing path
separator in the game path. The new check is too broad, but the risk of
false positives should be minimal.
The one in e11a370fe4 would break if one
of the two had a separator, but not both.
This patch fixes the compile error:
format not a string literal and no
format arguments [-Werror=format-security]
Just suply "%s" as the standard format.
This way the string is not interpreted as format
which may lead to security issues.
It turns out that in some versions of ScummVM, paths end with a
directory separator, while in others they don't. This should handle
both cases, I hope. (It's a bit tricky for me to test.)
Changing the language in-game causes the language to be set for the target in the
scummvm.ini file. Then the next time we try to start the engine, if was causing an error
(Sword25 failed to instantiate engine: Game data not found) because there was no match
for the path and language in the detection table. Setting the language to Unknown in
the detection table for this multilingual data file fixes the issue.
When adding support for Russian fan translations the font source data was
accidentally switched to the Russian font data for all game versions, not just
the Russian one. Now we only use the Russian font data only for the Russian
versions.
Bug #7071 "MM V2: Umlauts disappeared in German versions" is a regression from
556d65713b.
Bug #7070 "ZAK V2: Umlauts disappeared in German versions" is a regression from
c809a65b93.
When selecting non-English language, the scripts default to using
German voices. This commit edits the file path on the fly to use instead
English voices for all languages other than German. This implements bug
#6804 - SWORD25: add option to choose language speech.
If the English voice pack is not present it falls back to using German voices.
The way this is implemented here however does not allow to use German
voices with English text or English voices with German text. This could be
achieved with a slightly different implementation of the same idea.