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.
This includes removing horribly outdated information about MSVC6 support.
Since the wiki is down right now, I can not update the link. I suspect we
should update this building section a bit more anyway.
This gets rid of the hacks, where SdlEventSource added events with custom type
numbers to pass SDL_VIDEOEXPOSE and SDL_VIDEORESIZE to the graphics manager.
Furthermore it get rids of the uninituitive and hard to trace way of assigning
the proper mouse coordinates to mouse related events. Formerly it passed the
real screen coordinates through the even dispatching api to the graphics
manager (at least hopefully ;-) and let that handle creating a new event with
the proper coordinates. Now instead SdlEventSource handles the proper
coordinate setup itself.
Since this is a behavior change and I can not test all the SDL based small
devices ports this commit might break compilation for them and more serve it
might also break mouse position behavior. If any of that occurs I am sorry
about it.