I started working through the games from A-Z, the first two I hit were 2060 BC, which needs buttons for flapping and picking/dropping things and Alerion which needs two fire buttons. So...off the back of those two games I completely rewrote the * command for mapping Joysticks to keys, so it supports up to 8 fire buttons.
I've also modified the direction key mapping, so it also checks the 16bit Joystick interface which USBJoystick maps to thumb wheels if available. So on XB360 controllers you can use the thumb sticks, or D-Pad to move.
Alerion has however thrown up an issue I need to investigate. When Joystick keymapping is enabled, Alerion randomly crashes which appears to be down to ADFFS calling the KeyV vector to trigger the key press. I've tried various workarounds, such as calling KeyV via CallBack, checking for threading etc. None of which worked.
I think what I'm going to do is continue adding Joystick key mapping to games and see just how many are affected - its possible is simply a re-entry bug in Alerion which needs patching.
Abuse poses another challenge as it uses the mouse for the fire direction, so I need to figure out a solution for that. I did try using the mouse mapping in USBJoystick, but couldn't get it working - I've not had a chance yet to figure out why that didn't work.
I'll post a beta ADFFS build soon, along with updated game packages.
Games with Joystick Key mapping added:
- F10001 2067 BC (1993) (Oregan Developments)
- F10006 Aggressor (1992) (Atomic Software)
- F10015 Alone In the Dark (1995) (Krisalis Software)
- F10231 Ballarena (1990) (Sisteme)
- F10036 Ballarena (1994) (Uffenkamp Computer Systeme)
- F10010 Alerion (1988) (DABS Press)