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.
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.
The EGA version of Gobliiins, similar to Little Red Riding Hood,
claims a few resources are larger than they actually are. The original
happily reads past the resource structure, but we'll instead fix
the size of the resource after loading.
This fixes bug #7162.
The delay occurred when trying to interrupt the animation while at
the start of the first scene with Igor. After the interruption (skipping
the intro, return to launcher or quitting ScummVM) it would continue
to play the animation for a bit longer than necessary.
GCC 6's -Wmisleading-indentation warns about the debugC() statement
being wrongly indented, as if belonging into the else's branch, which
it clearly doesn't.
I tried to cover most of the things that seem to be interesting
for the end user. I excluded the SCI32 stuff because a) it's not
officially supported and b) I don't have the slightest clue what
most of the changes to the SCI32 engine do. :)
Please excuse if you made a noteworthy contribution I missed
to mention in this NEWS update. It was not on purpose.