[Scummvm-tracker] [ScummVM :: Bugs] #14694: Missing undocumented keystrokes: Alt+NumPad 3 and Alt+NumPad9
ScummVM :: Bugs
trac at scummvm.org
Mon Nov 20 10:03:30 UTC 2023
#14694: Missing undocumented keystrokes: Alt+NumPad 3 and Alt+NumPad9
----------------------+--------------------------------
Reporter: CaneCraft | Owner: (none)
Type: defect | Status: new
Priority: low | Component: Engine: SCI
Version: | Resolution:
Keywords: | Game: Quest for Glory 4
----------------------+--------------------------------
Comment (by sluicebox):
How did you find out that these key combinations worked?
These are ALT codes, not QFG4 shortcuts. ALT codes were a IBM BIOS feature
that Windows also implements for entering arbitrary characters by number:
https://en.wikipedia.org/wiki/Alt_code
For example, ALT+65 prints a capital A, because 'A' is character code 65.
In this case, characters 3 and 9 triggered QFG4 functionality. I have no
idea how, that sounds like a bug in Sierra's interpreter that's
translating them incorrectly through the event layers. I am confident that
no QFG4 developer intended that to work. We can see in the decompiled
scripts that they are only listening for Ctrl+C or Tab; there was no
second set of shortcuts. https://github.com/sluicebox/sci-
scripts/blob/e2b933ded8540cc1d4d09c0153331abc3bc67a5b/qfg4-cd-
dos-1.0/src/Main.sc#L1673
That implies that this worked by accident because character codes 3 and 9
happen to turn into SCI event messages 17 and 22.
I'm not saying it can't be done, but it was an unintentional feature and I
don't know if we're capable of implementing given that we've got the SDL
layer to go through on top of everything, and we're talking about
characters that can't be typed.
To implement this you'd have to:
1. Figure out what Sierra's keyboard driver and exe were doing to produce
event code 17 from character code 3
2. Figure out how to reproduce that in kGetEvent
3. Figure out if we can get character codes 3 and 9 through all the
SDL/ScummVM layers to the SCI engine code
Sounds hard!
--
Ticket URL: <https://bugs.scummvm.org/ticket/14694#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list