I suspect this is the format for AGI V1 sound resources as well. It is
currently implemented by splitting getNextNote() to getNextNote_v2() and
getNextNote_v1(). Since the V1 format consists of simple register values
to the sound chip in PCjr, this could probably be made more cleanly by
refactoring the code to resemble the chip more closely, so that its state
is updated by writing to the registers.
Now only 320x200 and 640x400 will result in aspect ratio correction to be used
if the user requested it. This should fix some strechting in Myst/Riven.
This should help fix a lock up on window managers, which will try to force the
ScummVM window to a certain size, by just requesting the same size over and
over again.
Now we get black borders even in windowed mode when the aspect of the window
does not match the aspect of the game screen (and we are not in "normal" mode),
but that is usually the same in video players too, so shouldn't be too bad.
This fixes corruption when there's only one pixel left to
decompress, but two pixels available in the compressed data.
Also, improve error checking in the bitmap decompression code.
The bug in question is "SDL/OpenGL: Crash when switching renderer backend". To
fix it I added a stupid graphics state copying to the SDL backend, in case the
graphics manager is switched. The implementation of this is considered a pure
workaround, no one should ever do it like this in reality... I just want to
die when looking at this... Not sure why I actually committed it.
Anyway it at least makes the OpenGL backend testable for those who do not
want to fiddle with the config file directly.
This makes the name removal consistent with the timer proc removal.
It seems we only allow a specific timer proc being added once anymore though.
So this should not change too much right now.
This should fix#3389673 "LOOM: CD-Version crashes at start". It also fixes the
same error showing up for me in Monkey CD.
The doc changes in 4c7958450f claims the name is used for the event
recorder, but as far as I can tell it is not used right now. Thus depending on
how it is used the behavior of SCUMM removing and adding the same timer aagain
*might* cause problems.
In any way we need to remove the name in removeTimerProc, else RTL + launching
the same game again would be broken too.