Should resolve ticket #11407https://bugs.scummvm.org/ticket/11407
However, in our commons/events.h currently there are TODO notes about implementing support for repeated firing of keyboard keys so this could be revisited in the future to use that functionality when implemented
When assigning a String or char * to an existing U32String, the code
assumed that the current _str pointed to the internal storage. But
that is not the case if the U32String contains a string longer
than the internal storage capacity prior to the assignment, and
this led to various memory issues (and usually a crash down the
line).
This also bug #11648 about the string not being translated to
English (as the translation is mapped to the correct German
string). I have also checked that the original game as the
correct string, so the typo was specific to ScummVM.
In French Amiga Future Wars from bug #10643 when walking left from the
scene with the open manhole cover a call to renderOverlay with a
type 0 (color sprite) overlay happens. The source mask for the overlay
is NULL and a memcpy using a NULL pointer as source is initiated.
This results in a memory access violation.
This fixes that memory access violation by simply setting the
destination mask to all zeroes when the source mask is NULL.
Seems to work fine at least in this case.
Fixes bug #10643.
This raises the maximum number of savegames from 20 to 100.
The original UI could only show 20 on a screen at once so an
intermediate selection menu for selecting the group of 20 savegames
to be accessed is added in this commit:
0-19
20-39
40-59
60-79
80-99
Those are the values that are shown when selecting
"Restore game" or "Save game".
After selecting the group of savegames to be accessed that particular
group is only shown as those 20 can fit on the screen using the
original save/load UI.
At least partially if not fully fixes bug #11625.
This throttles the safe controls in Operation Stealth in the
presidential palace after the first labyrinth arcade sequence.
The problem was that the safe controls were a bit too fast i.e. by
pressing on a single button you might easily get the numbers to change
by more than a single digit. This throttles the pressing of safe
control buttons in this particular scene to a maximum rate of 4Hz
(i.e. at least 250ms has to have passed before a click is registered
again).
Fixes bug #11621.
This reverts commit 0bc61d3c21.
The volume mapping does not match what the original is doing. In the
case of this bug, a volume of 127 for the fountain sound would be
mapped to 2/255 when standing right in front of it, which is too quiet.