Need betatesters for new input handling in fbalpha-libretro

I want feedback !

You can build the core with the new input handling by running :

make -f makefile.libretro USE_NEW_MAPPING=1

Test with your favorites games and tell me if you find anything that seems messed up. some games should have the same mapping as before (neogeo, street fighters, …), some other probably won’t (for those, i tried to use standalone fba as reference).

If there is no major issue, i’ll make it the default in a few days (the new code is easier to maintain and should solve present and future issues with bad/missing inputs).

You mean, if one launch a NEO GEO game, it will load NEO GEO bindings, Capcom bindings for Capcom games and so on? If I use a PSX gamepad, square would be (in Capcom), light punch, triangle, medium punch and L1, Strong Punch, X light kick, O medium kick and R1 strong kick, is this what your make -f makefile.libretro USE_NEW_MAPPING=1 is intended for?

Yes ! Same as before for street fighters and neogeo games.

Basically, only the internals changed :

What we were doing before :

  • Compare button’s display name with a list of 305 display name we indexed, with different corresponding button depending on core options
  • Use the first one matching, as an example “P1 Weak Punch” corresponds to first controller’s “Retropad Y” when gamepad scheme is selected in core options, but would be “Retropad A” if arcade scheme had been selected
  • If no match, skip the button

What we will be doing with the new code :

  • Use the button internal name, which is normalized across all games (every game has a button with “p1 fire 1” as internal name, unlike display name which differs, or not, depending on game).
  • Get the number of “fire” button (those are the buttons used in gameplay) used in the game, if lesser than or equal to 4 “fire” button tell if it is a neogeo game or not, if greater than 4 “fire” button tell if it is a street fighter or not
  • Use a different mapping for each of those 4 cases, adapt this mapping depending on the core options

That`s nice, how can I try it to make sure the buttons will be mapped automatically?

New input handling is now the default, feel free to update your core to the latest commit, i don’t think it is in the nightlies yet.