[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