DCurrent / openbor

OpenBOR is the ultimate 2D side scrolling engine for beat em' ups, shooters, and more!
http://www.chronocrash.com
BSD 3-Clause "New" or "Revised" License
901 stars 121 forks source link

Completely rework the input subsystem #235

Closed Plombo closed 3 years ago

Plombo commented 3 years ago

This is it: the big input rework. The platform-specific control code for SDL and Wii has been completely rewritten. Input devices are now assigned to individual players, controller hotplugging is handled gracefully, and it is easy to reassign which player uses which device. This should fix most of the control issues people have traditionally had with OpenBOR. The days of OpenBOR treating all input devices like pieces of a giant imaginary keyboard are over!

The new input subsystem works very well on Windows/Linux. I haven't been able to test controller support on Android, but these changes at least don't break the regular touch-based input system. The Wii implementation is in worse shape; it is still incomplete and buggy, and will need someone to improve it in the future.

Darknior commented 3 years ago

Impressive update :)

For my part we are patching OB to make the INI readable by a human, to make it easier to integrate in a system, to use OB like any other emulator or game engine ... It help us to script in python the controller support, to respect our mapping, our controller order etc ....

Do you think it can be possible to add it officially too ? For sure having a readable ini file is better and will help other users ... It is fine to encode the save files, for sure, but the ini file is not really fine i think.

Darknior commented 3 years ago

https://github.com/DCurrent/openbor/issues/236

fgames9000 commented 3 years ago

I did a quick test, the automatic controller detection is fantastic. But it seems that some buttons are not working and others are inverted. I will continue testing to send more exact feedback.