fix(input): dedup de mandos, auto-assign per ordre i cycles sense col·lisió

This commit is contained in:
JailDesigner committed 2026-04-24 18:06:24 +02:00
1 parent e5b8d7731b
commit 996ff0053e
4 files changed
+111 -20

No files matched your search

+13
View File
@@ -80,6 +80,19 @@ class GamepadManager {
// Esborra l'assignació (per si l'usuari trie "Cap" al menú).
void unassignFromPlayer(int player_id);
// Per a cada slot buit, hi vincula el primer mando connectat que no
// estigui reclamat per un altre slot. Equivalent al patró de
// `coffee_crisis_arcade_edition`: les assignacions persistides tenen
// prioritat; els slots que queden buits després s'emplenen per
// ordre. Retorna la llista de parells (player_id, name, path) que
// s'han vinculat, per a que Options pugui persistir-los.
struct AutoAssigned {
int player_id;
std::string name;
std::string path;
};
auto autoAssignFreeSlots() -> std::vector<AutoAssigned>;
private:
struct Entry {
SDL_Gamepad* pad{nullptr};