This should make it easier to spot errors like the one spotted in
the Queen engine yesterday. The Windows MIDI driver already seems
to do something like this; I don't know about the others.
Deleting the parser may fire off a series of events, so it's
probably a good idea to keep the driver open for that. I have not
seen this error anywhere else, except maybe in the unit tests.
Deleting the parser may fire off a series of events, so it's
probably a good idea to keep the driver open for that. I have not
seen this error anywhere else, except maybe in the unit tests.
Formerly our code used "hasSuffix" to check for a ".zip" suffix. Since
hasSuffix does a case-sensitive match that would not work, in case the file
was called "scummmodern.ZIP" instead of "scummmodern.zip" for example.
To fix that I am using a case-insensitive matchString instead now.
Formerly create_project incorrectly assumed that a given object file is only
present once in an module.mk file. This is not the case for backends/module.mk
for example. There the Windows FS object files are in two different if blocks.
In this particular case it resulted in the object file being added to both the
include list and the exclude list.
Now the module.mk handler prefers files being in the include list.
SafeSubReadStream is basically a SeekableSubReadStream that
re-seek()s the parent stream before each read(). That way, more than
one SafeSubReadStream of the same parent stream can be used safely
at the same time, at the cost of increasing IO.
This should fix bug #3295893.
The intention of this piece of code was to pad the first save slot
name with spaces until it's as long as the longest save slot name,
because the scripts use it to gauge the width of the save list.
Unfortunately, I messed up there, overwriting variable space directly
after the save names. In Urban Runner's case, this would be the list
of inventory items.
(cherry picked from commit 8e03a200ef)
This should fix bug #3295893.
The intention of this piece of code was to pad the first save slot
name with spaces until it's as long as the longest save slot name,
because the scripts use it to gauge the width of the save list.
Unfortunately, I messed up there, overwriting variable space directly
after the save names. In Urban Runner's case, this would be the list
of inventory items.