RetroPie-Setup icon indicating copy to clipboard operation
RetroPie-Setup copied to clipboard

LZDOOM - Added joypad support for menus

Open madmodder123 opened this issue 3 years ago • 10 comments

Added fixes from https://github.com/protocultor/gzdoom/commit/ce79b391f7f6fc8417b98a1caeae9b1affd55024 Also enabled joypads by default for raspberry pi (I set the default deadzones to 0.1 instead of 0 so the analog sticks don't spam the menu controls, it can still be adjusted lower than 0.1 if wanted). You can also map the menu button to whatever you want. Now you don't need a keyboard at all to set up or play the game.

Tested and working on RPI 4 with lzdoom 3.86a (running retropie 4.6)

madmodder123 avatar Jul 23 '20 18:07 madmodder123

Hi, thanks for the contribution. I think you should try to get this merged upstream instead of here in RetroPie. Once merged, we can bump the version in RetroPie that includes this change.

hhromic avatar Jul 23 '20 18:07 hhromic

Hi, thanks for the contribution. I think you should try to get this merged upstream instead of here in RetroPie. Once merged, we can bump the version in RetroPie that includes this change.

The original author made a pull request on April 20th for the ORIGINAL GZDOOM repo (https://github.com/coelckers/gzdoom/pull/1072) that hasn't been merged yet.

LZDOOM was recently updated to 3.86a* (This was announced as the final lzdoom release to support GL2 rendering https://github.com/RetroPie/RetroPie-Setup/commit/754024ab67eef3885041336f539a7f6dd6800c02) so I wasn't sure if we would continue using newer versions.

Could I just edit the code to check if the source files have been updated to include the fix (patch if they haven't, ignore if they have been updated), as a temporary fix until they get the code merged (if at all)?

That way if LZDOOM does get updated the patch won't break the install if someone updates the LZDOOM gitPullOrClone version and forgets to remove the patch code.

madmodder123 avatar Jul 23 '20 23:07 madmodder123

Oh, it looks like he also made an upstream commit in April for LZDOOM as well as the original upstream GZDOOM repo. It hasn't been merged yet either, I also noticed his defbinds.txt is out of date, so it would fail if someone tried to patch 3.86a with that commit (mine works fine though).

madmodder123 avatar Jul 28 '20 14:07 madmodder123

Thanks. Patch looks pretty clean but might be worth querying on the existing PR on upstream if this or an alternative would be accepted. Patches like this need to be maintained and it can be problematic due to the amount of software installable by retropie.

Would prefer to wait for a comment from upstream tbh.

joolswills avatar Aug 01 '20 02:08 joolswills

Thanks. Patch looks pretty clean but might be worth querying on the existing PR on upstream if this or an alternative would be accepted. Patches like this need to be maintained and it can be problematic due to the amount of software installable by retropie.

Would prefer to wait for a comment from upstream tbh.

I'll ask around the upstream repo, thanks for the input!

madmodder123 avatar Aug 01 '20 03:08 madmodder123

It's done at GZDoom at least: https://github.com/coelckers/gzdoom/pull/1163

protocultor avatar Sep 27 '20 18:09 protocultor

@protocultor You said "I have yet to see another controller that reaches a number that high of buttons, in any platform." What happens if there are more buttons? Nothing AFAIK. LZDoom supports up to 4 controllers at the same time with 32 buttons each for fake splitscreen. BTW i've extended support for the old g3.3mgw branch a bit more and i'll release 3.87 in a few days. Due to my bad personal situation i'm forced to add paypal.me and ko-fi links to my GitHub i hope for a very limited time.

drfrag666 avatar Sep 28 '20 13:09 drfrag666

@drfrag666 I was trying to justify the inclusion of buttons 14 and 15 as "cancel" and "accept" for menus, respectively. As you say, even if there are more buttons, it just means there are more buttons to accept and cancel in menus. Good luck with your personal situation; these are difficult times for many of us.

protocultor avatar Sep 28 '20 17:09 protocultor

Merged upstream but i haven't pushed it yet, it's in the legacy branch for now.

drfrag666 avatar Sep 28 '20 19:09 drfrag666

I'm going to close this as the needed changes will be included in the next release as mentioned.

Btw @drfrag666 would we be better off tracking a development branch rather than the last release for the version we include in RetroPie? If your legacy development branch is generally stable we could switch.

If you had a stable branch that would be even better as we would always have the latest release code (or we could extract latest release versions from githubs API also)

joolswills avatar Jul 21 '21 03:07 joolswills

Thanks to the author, but at this point in time, this is worth closing, since the "official" releases already include everything. All of the backend changes were already included in version 3.87c, and the only one missing, the "open menu with controller" button in the options, appears in 3.88b.

protocultor avatar Nov 14 '23 19:11 protocultor

Thank you!

joolswills avatar Nov 14 '23 20:11 joolswills