RetroAchievements / RALibretro

RALibretro is a multi-emulator used to develop RetroAchievements.
https://retroachievements.org
GNU General Public License v3.0
183 stars 37 forks source link

Better N64 Core Settings C-Button Mapping #423

Open Yvendous opened 1 month ago

Yvendous commented 1 month ago

It's frustrating that my only options for the c-buttons on both N64 cores are 1. they are mapped to the right analogue stick or 2. "independent c-buttons" which is fine but eliminates the L button entirely.

I've tried using the analogue-stick-c-buttons and mapping a couple other buttons to be the analogue stick directions as well so I can press them instead of moving the stick (much better for jumping in smash bros.): I couldn't get this work-around to work unfortunately! I tried "independent c-buttons" as well but as I said, this eliminates the L-button which is used in some games I would like to play. (it changes it into a c-button without putting it elsewhere (how about the empty right analogue stick??))

Editing my controller in Settings>Input>Controller 1 is a nice start (where is controllers 3 and 4?), but Settings>Core Settings needs better mapping options for this console's controllers (for Mupen AND Parallel). Anything that allows me more control over connecting my buttons to the emulated N64 controller's. Any other idea you have would be fine as well if it fixes this issue!

Thank you so much for your hard work fixing little problems like these. I'm sure you don't hear that nearly enough.

Jamiras commented 1 month ago

Controller mapping and core settings are functions of the cores, and there's nothing we can really do in RAlibretro to change them.

Controllers 3 and 4 are not present because achievement sets are almost always designed around a single player experience. Controller 2 is present because there are a number of games that use a second controller for inputting cheat codes, which developers may want to protect against.

Yvendous commented 1 month ago

Thank you for the explanation about the cores being seperate. With that in mind I'm hoping there would be some way to remedy this issue within the input mapping of RAlibretro itself as other libretro builds do not have this issue; I'm normally able to map my buttons and find workarounds that function well. As it stands a few games would be painful to play, but maybe those few being enjoyable isn't an issue for you.

The reasoning on 3 and 4 being left out is fine, but doesn't make sense on the whole. All consoles with achievements don't do this. It limits playing options with friends mostly, which is an odd thing to strive for. All controllers being available should be a no-brainer when you're supporting consoles that have games with functions that support those ports. There's more to say but I think I've made my point.