Solved renseignements sur le mapping des touches dans FBA_Libretro
-
Bonjour à tous,
Je souhaiterai avoir quelques précisions sur le fonctionnement du mapping des touches sur FBA_libretro.
Pour la mise en situation, j'utilise Recalbox sur ma borne homemade avec les boutons et sticks directement dans les ports GPIO. Les 6 boutons sont sur deux lignes (de gauche a droite en haut : Y,X,L et en bas : B,A,R).Sur les précédentes versions de recalbox (la version 4.1 il me semble) je m'etais créé plusieurs mapping générique que j'avais sauvegardé pour les rendre accessible en 2 clics dans retroarch.
Mapping 4 boutons (par defaut) : 1=B ,2=Y, 3=X, 4=L -> config SNK (4 boutons en arc)
Mapping 3 boutons : 1=B, 2=A, 3=R -> config shmup (les 3 boutons du bas)
Mapping 6 boutons -> config type Street Fighter 2Concrètement, lorsque je lancais un nouveau jeu non configuré, il était en mapping 4 boutons (par defaut) et il me suffisait de rentrer dans retroarch > settings > input , puis charger le mapping qui m'interessait (par exemple 3 boutons pour Dodonpachi) et faire save game remap. La config était sauvegardé pour les prochaines sessions.
Mais depuis, cette methode ne fonctionne plus. Lorsque je charge un de mes mapping type, les touches ne correspondent pas à celle que j'avais enregistré.
Autre truc étrange, lorsque j'ouvre un fichier *.rmp que je viens de sauvegarder (via save game remap), les touches renseignées n'apparaissent pas toutes.Désormais, je dois remapper à la main tous les nouveaux jeux fba que je lance (ce qui est un peu fastidieux quand il s'agit d'un Street Fighter ou d'un Vampire Savior).
Est-ce qu'il s'agit d'un fonctionnement normal ?
Je ne sais pas si mon problème (qui n'en ai pas réellement un) est bien clair.Merci.
-
@kaoru_requiem Tu es sur du cas très spécifique auquel je n'avais jamais pensé, et pour lequel je ne vois même pas de solution viable au niveau du core, tout ce que je peux faire c'est te détailler le mapping de base sans aucun remapping. Déjà il y a 2 mapping disponibles via "Quick Menu > Controls > User X Device type" :
- Le "classic" (réglage par défaut) :
- cas normal : 1=B, 2=A, 3=Y, 4=X, 5=R, 6=L, 7=R2, 8=L2 , ce qui dans le cas d'un jeu 4 boutons neogeo revient à jouer sur un pad neocd
- cas spécial des jeux 3 punchs / 3 kicks (donc entre autre les street fighters) : B=LK, A=MK, R=HK, Y=LP, X=MK, L=HK
- quelques exceptions, je ne détaillerai pas mais si tu es intéressé tu peux jeter un oeil aux lignes 3565-3957 de https://github.com/libretro/fbalpha/blob/master/src/burner/libretro/libretro.cpp
- Le "modern", 2 choses qui changent :
- Le mapping sur les jeux de baston neogeo respecte le nouveau standard des jeux SNK (utilisé depuis la PS1 si je me souviens bien, en gros tu as une rotation des touches de 90° dans le sens horaire)
- sur les jeux utilisant ces touches : L devient R, R devient R2, R2 devient L, L2 ne change pas ; l'objectif étant à la fois de reproduire le mapping des jeux capcom "récents" (le HK n'est plus sur L), et d'avoir un mapping cohérent sur les pads/sticks dont la 3ème colonne contient les touches R1/R2 (la majorité des sticks du marché depuis la PS1, ainsi que la totalité des fightpads il me semble)
En espérant que ces infos te seront utiles pour mieux comprendre comment çà marche.
-
@barbudreadmon Tes explications m'ont permis d'y voir plus clair et de solutionner mon problème.
J'ai supprimé tous mes remap ainsi que le core remap (qui je pense est à la base de mon soucis). Désormais, de base les touches tombent juste pour les jeux 2 boutons (shmups) et 6 boutons (street fighter), je n'ai plus a remapper chaque jeu indépendamment.
J'ai simplement recréé 2 mapping pour les cas particuliers :
- Pour les shmups 3 boutons (ex: Dragon Blaze), j'ai assigné dans retroarch le bouton 3 a R au lieu de Y et je charge ce mapping quand c'est nécessaire.
- Pour les jeux de combat SNK j'ai également créé un mapping 4 boutons en arc de cercle B,Y,X,L que je charge pour KOF, Fatal Fury et autres bourre pif MAX 330 MEGA.
Problème résolu. Merci beaucoup barbu