Opened 12 months ago

Last modified 6 weeks ago

#11227 new defect

SCUMM: Indy3 - Fighting with Keypad keys doesn't work correctly

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

Description

Indy 3 should allow fighting with KP_1 to KP_9 keys, but doesn't.

I suspect the offending code is some kind of partial hard-mapping of some keys like KEYCODE_KP4, KEYCODE_4 etc. in the file script_v6.cpp, line 2786
https://github.com/scummvm/scummvm/blob/ee2aa6160cdd393f15253ee564252f486d4f03bd/engines/scumm/script_v6.cpp#L2786

in the function ScummEngine::getKeyState

How has this gone unnoticed?

This affects gamepads too because dpad and R+dpad is mapped to keypad, which works for walking in Sierra games, but apparently not for fighting in Indy 3.

Change History (7)

comment:1 by rsn8887, 12 months ago

Tested on Linux and Switch

comment:2 by rsn8887, 12 months ago

Priority: highblocker

comment:3 by rsn8887, 12 months ago

It seems to work with number row keys, but not with keypad keys.

comment:4 by raziel-, 3 months ago

Summary: Fighting in Indy 3 with Keypad keys doesn't work correctlySCUMM: Indy3 - Fighting with Keypad keys doesn't work correctly

@rsn8887

Are the Linux and Switch platforms based on the SDL backend?
If yes, please take a look here #10558, as it sounds like the exact same problem, i was having on AmigaOS4.
If it is, it should be fairly easy to fix...

comment:5 by sev-, 8 weeks ago

Priority: blockernormal

comment:6 by rsn8887, 6 weeks ago

Why is the workaround https://bugs.scummvm.org/changeset/ce8227323b3fa658cdfb2f1e3de9b2fbca783c5a
that seems to fix this on Amiga platform only used for Amiga, not for all platforms?

Does numpad fighting work on any platform?

Version 0, edited 6 weeks ago by rsn8887 (next)

comment:7 by raziel-, 6 weeks ago

@rsn8887

Iirc the fix was limited to Amigaos4 back then because other platforms didn't suffer from the problem.

At least there was never any feedback from other sdl-based platforms or other bug items regarding this.

Also, since I'm only able to test Amigaos4 I'd never assume that the bug would be more than "my platform only".

Note: See TracTickets for help on using tickets.