Opened 17 months ago

Closed 6 months ago

#10558 closed defect (fixed)

SCUMM: Indiana Jones 3/4 (partially) lost numpad control (regression)

Reported by: raziel- Owned by: raziel-
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Indiana Jones 3

Description

ScummVM 2.1.0git (May 29 2018 08:17:19)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC FreeType2 JPEG PNG cloud (servers, local)

Since version 2.0.0 the numpad fighting/control of Indy doesn't work partially or fully and seems to be "out of focus"/wrongly assigned.
i.e. with the FM-Towns version i can still use 7 (for high attack), 1 (for middle attack) and 3 (for retreating) - those are wrongly assigned as they should be high attack - 9, middle attack - 6 and retreat - (7,4,1?).
And they only "work" when setting NUMLOCK to OFF, while in ScummVM 1.9.0 it ONLY works when one sets NUMLOCK to ON.

Another user confirmed that it doesn't work at all (regardless the NUMLOCK setting) in the MS-DOS VGA version with ScummVM 2.0.0.

Confirmed version where it breaks:
ScummVM 2.0.0 and later

Confirmed version working:
ScummVM 1.9.0

It's not a problem with SDL2 per se, because i used SDL1.x when building ScummVM 1.9.0, but SDL2 is also affected as the above mentioned bleeding edge build was done with SDL2, so maybe it's because of some changes done to the keyboard code to iron out other SDL2 keyboard shortcomings? Just guessing here as i seem to remember reading something about SDL2 keyboard problems on the development feed.

Indiana Jones and the Last Crusade
Confirmed versions affected:
MSDOS VGA
FM-TOWNS/English

AmigaOS4 - PPC - SDL - BE
gcc (adtools build 5.4.0) 5.4.0

Attachments (1)

atlantis.s06 (20.4 KB ) - added by raziel- 17 months ago.
Simply open the hatch to start the fight

Download all attachments as: .zip

Change History (14)

comment:1 by raziel-, 17 months ago

Update:

Indiana Jones and the Fate of Atlantis (CD/DOS/English) suffers the same problem, though with this game there is no using of the numpad whatsoever, it's simply dead no matter if NUMLOCK is on or off.

With both games the number keys below the F keys still work.

savegame from before the uboot fight attached

by raziel-, 17 months ago

Attachment: atlantis.s06 added

Simply open the hatch to start the fight

comment:2 by raziel-, 17 months ago

Summary: SCUMM: Indiana Jones 3 (partially) lost numpad control (regression)SCUMM: Indiana Jones 3/4 (partially) lost numpad control (regression)

comment:3 by raziel-, 17 months ago

ScummVM 2.1.0git (Jun 7 2018 11:41:44)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC FreeType2 JPEG PNG cloud (servers, local)

This built was done with SDL1 and it displays the same problems with numpad.

I'll try to bisect to find the version where it broke (help very appreciated, because i have to do it one by one)

comment:4 by raziel-, 17 months ago

I did it myself.

This one breaks the numpad fighting
https://github.com/scummvm/scummvm/commit/641012a14160d9d93997cafffcac30aaa2bd0f48

It was PR #777

This breaks on both SDL1 and 2 and in both Indiana Jones games

comment:5 by raziel-, 14 months ago

If anyone has some spare time, i could need help with that one.
Simply undoing that PR leads to a freeze when the Indiana Jones games start.

comment:6 by raziel-, 12 months ago

@m-kiewitz

Since PR #777 was from you, could you maybe please take a look?

comment:7 by digitall, 12 months ago

Sorry the tracker has interpreted the hash-number as a bug link, but you are referring to this:
https://github.com/scummvm/scummvm/pull/777

comment:9 by raziel-, 12 months ago

@digitall

Thank you for fixing my links, i thought the bug tracker can show PR's aswell.

comment:10 by digitall, 12 months ago

Not that I can locate... at least not without just linking via standard URL

comment:11 by raziel-, 12 months ago

This is definitely a problem in ScummVM.
I just checked SDL2 in other games/apps and the numpad keys work perfectly.

Last edited 7 months ago by raziel- (previous) (diff)

comment:12 by Filippos Karapetis <bluegr@…>, 6 months ago

In ce822732:

AmigaOS4: Exclude platform from a SDL1/2 keyboard fix that breaks numpad usage (#1551)

SDL1/2: Exclude AmigaOS4 from returning 0 for .ascii

*reset .ascii to 0, when Num-Lock is NOT enabled and keypad directional keys are pressed* (original description) is causing the numpad to play dead completely on AmigaOS4 (no matter if numlock is active or not). This is a workaround for the SCUMM engine, where keycodes are mixed with ASCII codes.

Check commit f5ed14e93d85b638c8e49468b2885c1278d56d20 for reference.

Fixes bug #10558. Tested with both SDL1 and 2 on AmigaOS4 and with both Indiana Jones games.

comment:13 by bluegr, 6 months ago

Owner: set to raziel-
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.