mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-06-01 17:37:39 +00:00
Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file to load at initialization containing SDL game controller mappings
This commit is contained in:
parent
898644d18e
commit
70ce0f2e06
2 changed files with 18 additions and 6 deletions
|
@ -1308,15 +1308,17 @@ SDL_GameControllerLoadHints()
|
|||
|
||||
/*
|
||||
* Fill the given buffer with the expected controller mapping filepath.
|
||||
* Usually this will just be CONTROLLER_MAPPING_FILE, but for Android,
|
||||
* we want to get the internal storage path.
|
||||
* Usually this will just be SDL_HINT_GAMECONTROLLERCONFIG_FILE, but for
|
||||
* Android, we want to get the internal storage path.
|
||||
*/
|
||||
static SDL_bool SDL_GetControllerMappingFilePath(char *path, size_t size)
|
||||
{
|
||||
#ifdef CONTROLLER_MAPPING_FILE
|
||||
#define STRING(X) SDL_STRINGIFY_ARG(X)
|
||||
return SDL_strlcpy(path, STRING(CONTROLLER_MAPPING_FILE), size) < size;
|
||||
#elif defined(__ANDROID__)
|
||||
const char *hint = SDL_GetHint(SDL_HINT_GAMECONTROLLERCONFIG_FILE);
|
||||
if (hint && *hint) {
|
||||
return SDL_strlcpy(path, hint, size) < size;
|
||||
}
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
return SDL_snprintf(path, size, "%s/controller_map.txt", SDL_AndroidGetInternalStoragePath()) < size;
|
||||
#else
|
||||
return SDL_FALSE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue