fix(input): mou gamecontrollerdb.txt a l'arrel i el copia al build/ via CMake
This commit is contained in:
1 parent
c77f90f6b6
commit
91614fc545
4 files changed
+38
-11
No files matched your search
@@ -149,16 +149,22 @@ void GamepadManager::init() {
|
||||
<< SDL_GetError() << '\n';
|
||||
return;
|
||||
}
|
||||
// `gamecontrollerdb.txt` és opcional. Si no existeix, SDL retorna -1 i
|
||||
// continuem amb les definicions internes del sistema. Sempre informem
|
||||
// del resultat per facilitar el diagnòstic de mandos no reconeguts.
|
||||
static constexpr const char* DB_PATH = "data/input/gamecontrollerdb.txt";
|
||||
const int ADDED = SDL_AddGamepadMappingsFromFile(DB_PATH);
|
||||
// `gamecontrollerdb.txt` és opcional. Viu a l'arrel del projecte
|
||||
// (no a `data/`) perquè SDL_AddGamepadMappingsFromFile només sap
|
||||
// llegir del filesystem real, no del pack. CMake el copia al costat
|
||||
// del binari a cada build perquè SDL_GetBasePath el trobi tant en
|
||||
// dev com en release. Sempre informem del resultat per facilitar el
|
||||
// diagnòstic de mandos no reconeguts.
|
||||
std::string db_path = "gamecontrollerdb.txt";
|
||||
if (const char* base = SDL_GetBasePath()) {
|
||||
db_path = std::string(base) + "gamecontrollerdb.txt";
|
||||
}
|
||||
const int ADDED = SDL_AddGamepadMappingsFromFile(db_path.c_str());
|
||||
if (ADDED < 0) {
|
||||
std::cout << "GamepadManager: no s'ha pogut carregar " << DB_PATH
|
||||
std::cout << "GamepadManager: no s'ha pogut carregar " << db_path
|
||||
<< ": " << SDL_GetError() << '\n';
|
||||
} else {
|
||||
std::cout << "GamepadManager: " << ADDED << " mappings carregats de " << DB_PATH << '\n';
|
||||
std::cout << "GamepadManager: " << ADDED << " mappings carregats de " << db_path << '\n';
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
|
||||
Reference in new issue
Block a user