Also moved all standard game event methods to CMainGameWindow. This
will allow for the Continue Save dialog to be added in and get
events instead of the game window
The original loads savegames by loading a new project hierarchy and then
deleting and replacing the existing one. This means that objects in the
original project, such as the PET control, are destroyed, leaving the
remainder of the PET code that called load operating on destroyed objects.
This workaround instead flags for a load to be done, and adds new code in
the game manager to take care of it. This way, the remainder of the PET
event handling can finish first, and it will be then safe to destroy the
original game project (including PET) and load the new savegame.
This method is used to blit large buffers, so a large unrolling is still
beneficial. As it is the second hottest-spot in grim, the frame rate
increase is most significant there (compared to emi).
It is possible to convert calls to memset_{s,l} into call to memset when
all bytes of the depth or color value are the same (which is the likely
case), improving buffer clearing speed.
The contained data corresponds to Revolution's original assembly sources, scummvm's initial file contained one incorrect reference.
This will stop Officer Blunt from swimming in the lake without any further sideeffects.
This is the corresponding source change to create a fixed sky.cpt binary. The binary is exactly the same as the manually patched one attached to the bug ticket.
In order to fix the bug while beint least invasive, I suggest replacing the binaries (the one from the ticket should be the new, official binary) and we will put a workaround in the code anyways to deal correctly with potentially outdated binaries floating around the web and linux distributions.
The error was initially introduced with the long term conversion of Revolution's assembly sources to C++ sources, then to textual resource data and then a precompiled binary.
Pixel format does not seem to be stored in save game, so when loading a
save game produced in 32 bits mode it appears corrupted. So, to preserve
backward compatibility, convert to 16bits format before storing.
So caller does not have to depend on the pixel format used internally to
BlitImage.
Update callers which do request for color keying (GRIM/EMI only).
Also, remove a special-casing of transparent color when converting image
format which sets a color in a packed format independent from actual
destination format.
Also, in GfxTinyGL::createTextObject, prefer changing invisible colorKey
value than actually-visible color.