The functions that were passed to the constructor would not be called
in the order that they appear, causing the hotspot list to be initialized
incorrectly
This is the same fix as the one applied for per-scene globals in b2e6bc545a
Guard against potential cases where a scene global isn't correctly
set, and we fall back to game globals. This essentially resulted in
undefined behavior, so now we properly try to handle such cases, or
error out to detect potential game-breaking bugs
The functions that were passed to the constructor would not be called
in the order that they appear, causing the globals list to be initialized
incorrectly
Fixes negative displacements being scaled to the wrong value, causing
views to be drawn at the wrong location.
Example: LB2 floppy Act 3 room 430 scaled O'Riley's x displacement
to -2 instead of -1, placing him one pixel too far to the left.
Confirmed in disassembly that this calculation is a signed divide
and not an unsigned shift.
Fixes the pigeon flight in Pepper's Adventures in Time.
The pigeon view is scaled down to one pixel but the scaling code was
incorrectly producing an empty table for certain inputs. Other scaling
inaccuracies were identified and fixed too.
Fixes bug #15222
This closes ticket #6712:
"SCUMM/HE: SPYFOX3 - Text drawing
glitch in "Radioactive Trash Collector""
HE100 (and a very late version of HE99) uses different
flags for drawBox color modes. Incidentally, the target
color (light gray) used for the background on which
text is rendered managed to trigger a different mode,
hence the text never being removed.
Fixes out of bounds memory access when closing a window that overlaps
with the menu bar at the top of the screen. This crashed at least some
release builds, including Windows release 2.8.1.
Mixed-Up Mother Goose is the only game known to draw a text window over
the menu bar. When I recently added support for this, I missed that the
code for closing the window needed to be updated too:
bc8550ce02a036e3757d817e963e038463844412
Fixes bug #15241
Big thanks to @hugoarpin for reporting this and testing the fix.
Simultaneous MIDI players aren't supported by the backend.
MIDI sound effects are deactivated for now, till this
functionality is implemented properly with a single instance
Fixes or works around https://bugs.scummvm.org/ticket/15243 . This may
not be appropriate, but it avoids a segfault (nil _aspectCheckbox) for
me when I've specified `--disable-aspect` and switch from SDL to
OpenGL, anyway.