This is part of an on-going effort on my end to document the AKOS code, and fix strange stuff
such as integers being used as booleans, and variable_names instead of variableNames
This is a fix for a regression which unfortunately went unnoticed during the GUI implementation.
Since we moved stuff around in the main loop at that time, we also missed on something:
if Guybrush speaks at a certain camera position, and then ESC is pressed triggering an override,
if the override changes the camera position, the blastText rectangles will have to be updated, otherwise
we'd end up with an uncleared text on the screen. To reproduce the issue fixed here, start Part 2 and
press ESC as soon as Guybrush speaks.
It was getting painful to go through the AKOS system without proper opcodes documentation, so here it is.
This was checked against COMI and SCUMM HE code, for names consistency.
Previously we had asserts instructions in place for this; they work under the assumption that the user
always has the sound files available. Unfortunately this assumption breaks in at least two cases:
- The user plays the COMI demo (small version, without sound files);
- The user copies the whole COMI game from the CDs/Steam to the device of choice (e.g. tablet),
and doesn't copy the BUN files over (e.g. for storage issues).
We simply remove the assertions and put a check in its place, and if that check fails we just exit
the function and resume normal execution. This fixes#13845.
Remove check if resource exists in the stream when loading a cast.
This check is already executed by `Archive::getMovieResourceIfPresent`.
Coverity found this as a Deference null return value due to not
checking if the stream was not a nullptr.
Fixes COVERITY: 1491676
Add check on currentSprite because if statement before does a
check if currentSprite exists, meaning currentSprite can be a nullptr.
Fixes COVERITY: 1487084
1839780513 made a mistake by
confusing the IO-attributes with the non-IO_-attributes,
as there is a difference in the order of the flags between
these two sets.
Fixes bug: https://bugs.scummvm.org/ticket/13810