Before, the game would sometimes register the mouse release event right
as the mouse pointer passed over the Exit button, causing e.g the
conversation window to close right away. This was probably also what
caused it to sometimes select conversation topics seemingly at random
for me.
This seems to match the speed of the original better, and makes the
power bars move at the same speed for both you and your opponent. It
does make the game more frustrating, I guess, but playing darts is
optional anyway.
The user interface windows should generally end one pixel short of the
bottom of the screen, not two. This was most noticeable when saving to
the last visible slot, because the blinking cursor would erase part of
the background.
I honestly don't know if I got all of them, but it should be a bit
better than before at least.
Not every event has mouse position information. This was causing
problems on the city map, because whenever I moved the mouse cursor
outside the ScummVM window it would scroll to the upper left corner.
When examining a room object with a description that spans multiple
pages, only the first page was shown if the inventory was open at the
same time. This bug happens in the original too. Hopefully fixing it
does not cause any unwanted side effects.
Instead of using _backBuffer1 directly, we should draw the inventory
icons to the current back buffer. This makes a difference in cases where
the engine has activated back buffer 2. Referring to _backBuffer2
directly should still be ok. This fixes inventory redrawing after
examining a room object.
In The Case of the Rose Tattoo, certain rooms have a hard-coded haze.
Ensure that this gets loaded even when going directly from the overhead
map to such a room. I could be wrong, but I believe Cleopatra's Needle
is the only such room that can be accessed directly from the map, but do
it for all rooms just in case.
Some engines (like kyra) return a SaveStateDescriptor with slot assigned,
even when the slot is free. The indication for an empty save is empty
description on these cases.
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.
Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.
Amends 7adad5aaf5.
The sound of the doorbell at Lord Brumwell's mansion is played at 1100
Hz. That has to be an error in the game data. The other sound effects I
checked were usually 11000 Hz, and sometimes 22000 Hz. It's hard to tell
by ear which one is correct here, but 11000 Hz seems to match the 3DO
version quite well.
This bug is present in the original DOS version, though less noticeably
so. Perhaps the original audio driver clamps the sample rate to a
reasonable interval? It still gets it wrong, but not as badly?
This fixes bug #10838.
When the map was displayed, there would often be a noticeable glitch
where the map jumped from the upper left corner to the saved position.
This removes that initial map display and relies on scrolling to always
move it to the correct position.
This fixes#10850