On a Chromebook, the keyboard may be present but hidden (not available for
use) because the device is flipped around in Tablet mode. In this case we want
the soft keyboard to be available. This change also hides the soft keyboard
button if the hardware keyboard is available, since it doesn't do anything.
Fixes#13138.
I think this one would happen if an NPC initiated conversaion with you,
while you had a window (e.g. the inventory) open. The game would be put
in talk mode, then close the inventory (putting the game in standard
mode), then print the conversation options.
That's because a loop was terminated prematurely (with a break), thus
bypassing the bit that would set it back into talk mode again.
I encountered this when finally meeting up with Lord Brumwell.
The event loop when entering save game description in Rose Tattoo runs
at the speed of the background animations, which is much slower than
ScummVM's keyboard repeat.
It was very easy to saturate the _pendingKeys queue, particularly when
erasing an old savegame description. Then you might have to wait for a
few seconds while it processed dozens of pending backspaces.
Now all pending keys are processed as quickly as possible.
We want first-in-first-out, not first-in-last-out. I thought I saw
Serrated Scalpel occasionally swap the order of two keypresses for me
while entering the name of a save game, but didn't think much about it.
Where it got really noticeable was when saving in Rose Tattoo. When
erasing an old save name, once I started entering the new name it would
process the new keystrokes first, then immediately process the next
pending backspace.
Fixes QFG1 Japanese message display when messages are set to
Japanese and subtitles are enabled
Huge thanks to DarkSoul for verifying original PC-98 behavior
The arguments to `setARGBAt` and `getARGBAt` at were in RGBA order instead of
ARGB order (as the function name suggests they should be).
In practice this was not a bug as values were immediately passed back in the
same swapped order, but coverity complained about it and it's nicer to name
them correctly.
For instance, if you entered a letter like "g" and then erased it, there
would still be traces of it on screen. I've made the assumption that
subtracting 1 from the font height is wrong everywhere.
In some cases (e.g. when Lestrade greets you at the scene of the murder)
the talk window wasn't erased properly. This was a regression from a
recent fix for the inventory not being updated when certain objects were
added, e.g. when examining the pendant. See bug #10841.