finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
937 stars 365 forks source link

[Feature Request] Game Controls macOS Big Sur 11.3 #775

Open softwaredeveloptam opened 3 years ago

softwaredeveloptam commented 3 years ago

image

Big Sur 11.3 featured a new way to allow game controllers such as Xbox Elite Series 2 and PS5 controllers to be recognized in-game. It would be cool to add this type of support for macOS if possible. I would be able to make a PR if necessary.

barbudreadmon commented 3 years ago

let's tag @0xe1f about this

0xe1f commented 3 years ago

The mac version doesn't yet have customizable controls - it's something I've started on several times and got sidelined. Any Big Sur-specific controller support would have to work well earlier versions of macOS. Do you have any additional documentation links on the new setup?

dinkc64 commented 3 years ago

Hi 0xe1f, I'm asking these questions for a friend: Is there any chance we can have gamepad support for Mac? Would it be possible to add it as a core to OpenEmu? He says a lot of Mac users prefer OpenEmu over Retroarch.

best regards,

0xe1f commented 3 years ago

Gamepad/joy support is something I plan to do - I just have to get sufficient time and traction to finish it. I'm getting more and more requests lately, so I'll try making more time for it - especially now that the builds are signed. As far as OpenEmu, I don't believe it supports arcade (or any non-console, for that matter) cores - I wrote an MSX core for it years ago, and it's still not supported officially. It already has a fairly robust set of supported console emulators, so I don't think it'd be worthwhile to port FBNeo just for its console emulation - at least, given my time constraints.

dinkc64 commented 3 years ago

0xe1f, sounds good! :)

palmerj commented 3 years ago

Heya @0xe1f thanks so much for starting to implement gamepad controls in master. I compiled the code and gave it a test and it works really well with my 8BitDo M30 2.4g via HID/Dinput.

controls

I mostly play fighting games. Would it be possible to implement 3x Punch and 3x Kick macros like in the windows version?

0xe1f commented 3 years ago

Full input configuration is not yet completed, and that's currently my priority - to allow full keyboard/joystick configuration. I'm not against adding macros (3P/3K), but that's lower on my priority list at the moment.

palmerj commented 3 years ago

Ok thanks. The controls are working well for my controller - so great work so far!

palmerj commented 3 years ago

Question: if we are going for a cross platform app, why are we not redeveloping on common cross platform toolkit like QT, rather than building parallel UI components for each platform using native tooling? I see there was a start with QT about 7 years ago, but it never got completed.

0xe1f commented 3 years ago

I'm not sure how the team feels about this, but I'm not a fan of cross-platform toolkits - or any middleware in general - any time you target multiple platforms, you end up stooping to the lowest common denominator, and the application suffers in the process. Add that to the storied history of FinalBurn (I was a huge fan of Dave's original Windows version way back when), the fact that the mac version is less than two years old, and the way the application is structured now, you'd have to rewrite most everything to get CP version to match the Windows version. It's doable, but it'd take time and effort - with questionable returns.

0xe1f commented 3 years ago

Ok thanks. The controls are working well for my controller - so great work so far!

That's great to hear and frankly, surprising. I'm ashamed to admit I haven't been able to dedicate as much time as I'd like to lately.

palmerj commented 3 years ago

I'm not sure how the team feels about this, but I'm not a fan of cross-platform toolkits - or any middleware in general - any time you target multiple platforms, you end up stooping to the lowest common denominator, and the application suffers in the process. Add that to the storied history of FinalBurn (I was a huge fan of Dave's original Windows version way back when), the fact that the mac version is less than two years old, and the way the application is structured now, you'd have to rewrite most everything to get CP version to match the Windows version. It's doable, but it'd take time and effort - with questionable returns.

Ok thanks, and I too was large fun of the original FB. I remember playing all the CPS-1 and 2 games back in about 2001 - great memories. This is understandable. I thought it might help to get more developers working on the app as most users are likely on Windows and LINUX, and the project could get consistent feature sets across all platforms. As far as I can see, the MacOS version still has a long way to go. But great work getting it to this point so far :-)

At the moment, I suspect most LINUX and MacOS people are just using WINE to use Finalburn. However, I find that option is not the best. For example, on my MacBook it's burning through way too many CPU cycles and overheating my book, and wasting my battery. When I use the native Mac version, it's using about a 1/4 of the CPU time :-) Also, the gamepad axis mapping is stuff up in FBNeo under WINE. The gamepad is showing up correctly under WINE system panel control and seems to be functioning correctly. But when I go into the map inputs in FBNeo, the left/right axis is not mapped correctly, with my right axis being activated in a ON state, and I can't set the left direction. I've tried other controllers (xinput) and it's ok, and I've also tried the same controller on LINUX with WINE/FBNeo and it's also ok. So it's obviously something MacOS/WINE specific with certain controllers, or maybe some difference between HID/dinput vs xinput mappings under MacOSX wine and FBANeo.

I want to help, but I know very little about Mac development and Appkit/Cocoa. So I'm not sure I would be very productive, but I guess you have to start somewhere. I do, however know QT/C++. Do you have some sort of list of things you would like to implement in the MacOS version? Maybe I could help in some way....

barbudreadmon commented 3 years ago

At the moment, I suspect most LINUX and MacOS people are just using WINE to use Finalburn.

The most popular way right now for linux/MacOS is probably the libretro port.

palmerj commented 3 years ago

The most popular way right now for linux/MacOS is probably the libretro port.

True, I was thinking about the Standalone use when I said this.

ghost commented 3 years ago

There seems to be qt in the source tree so someone was working on it at some point.