Opened 3 years ago
Last modified 2 years ago
#11227 new defect
SCUMM: Indy3 - Fighting with Keypad keys doesn't work correctly
|Reported by:||rsn8887||Owned by:|
|Cc:||Game:||Indiana Jones 3|
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
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 (8)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
|Priority:||high → blocker|
comment:3 by , 3 years ago
It seems to work with number row keys, but not with keypad keys.
comment:4 by , 3 years ago
|Summary:||Fighting in Indy 3 with Keypad keys doesn't work correctly → SCUMM: Indy3 - Fighting with Keypad keys doesn't work correctly|
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 , 3 years ago
|Priority:||blocker → normal|
comment:6 by , 3 years ago
Why is the workaround https://bugs.scummvm.org/changeset/ce8227323b3fa658cdfb2f1e3de9b2fbca783c5a
that seems to fix this on Amiga platform not used for all platforms?
Does numpad fighting work on any platform (apart from Amiga, which was fixed by above commit) as it is currently?
comment:7 by , 3 years ago
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".
comment:8 by , 2 years ago
This issue exists in Indy3 in the latest android versions that I've tested with (while fighting).
So, I'll probably have to use the workaround for Android port too (which is OpenGL only, and does not use SDL backend code).
To be specific: Number row keys work, numpad keys don't.
In the Windows build, the number row keys work, and the numpad keys work but only if "Num Lock" is On (so that the numpad keys behave as numbers).
Tested on Linux and Switch