dethrace-labs / dethrace

Reverse engineering the 1997 game "Carmageddon"
https://twitter.com/dethrace_labs
GNU General Public License v3.0
659 stars 37 forks source link

Feature Request: Xbox gamepad / xinput support #343

Open Gagert opened 1 year ago

Gagert commented 1 year ago

It would be neat to be able to enjoy Carma 1 + Splat Pack with proper controller support, making it possible to map everything to an Xbox gamepad / xinput device. Perfect for couch gaming in front of the TV.

I suppose SDL2 has support for xinput, or at least the various Xbox gamepads. Even a simple text file for button mapping on an xinput device would be more than good enough if you ask me.

jeff-1amstudios commented 1 year ago

Yep, this is on my mental list. I don’t have a gamepad currently but was planning to get one to implement this unless someone beats me to it!

Original game has support for joysticks, so it should be a simple ish matter of hooking up gamepad input to the original joystick stubs

Gagert commented 1 year ago

I haven't personally played Carmageddon 1 with a joystick before, but I wonder how the game originally handled a joystick? Is it only the various keyboard button commands mapped to a joystick, or was it more fancy like 360 degree movement comparable to the analogue stick on an Xbox gamepad instead of just left, right, reverse and forward?

This might sound like a dumb question but way back then in the late 90s I barely touched any kind of relevant joysticks or gamepads for PCs (keyboard & mouse only back then).

If Carmageddon 1 supported 360 degree movement in its code, this could be very beneficial for modern Xbox gamepads.

JYouren commented 1 year ago

Way back when I purchased an original carmageddon copy in a box it actually came with a free pc controller! From memory it was very similar to sega mega drive/genesis type controllers. It was fairly cheap being free, and I don't remember using it much, preferring the keyboard.

NebularNerd commented 1 year ago

I've played Carmageddon with many controllers over the years. It fully supports proper analogue steering and acceleration. One of my happiest times playing this was with a steering wheel and pedals years ago. Used to be great fun for hurtling around.

You can map most functions to the buttons as memory serves, if you had enough buttons you rarely needed the keyboard during play.