mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 15:40:44 +00:00
Fixed joypad index lookup.
This commit is contained in:
parent
3fd630e062
commit
947d2a3514
@ -150,26 +150,28 @@ static void *sdl_input_init(void)
|
||||
if (g_settings.input.joypad_map[i] < 0)
|
||||
continue;
|
||||
|
||||
if (sdl->num_joysticks > (unsigned)g_settings.input.joypad_map[i])
|
||||
unsigned port = g_settings.input.joypad_map[i];
|
||||
|
||||
if (sdl->num_joysticks <= port)
|
||||
continue;
|
||||
|
||||
sdl->joysticks[i] = SDL_JoystickOpen(port);
|
||||
if (!sdl->joysticks[i])
|
||||
{
|
||||
sdl->joysticks[i] = SDL_JoystickOpen(g_settings.input.joypad_map[i]);
|
||||
if (!sdl->joysticks[i])
|
||||
{
|
||||
SSNES_ERR("Couldn't open SDL joystick #%u on SNES port %u\n", g_settings.input.joypad_map[i], i + 1);
|
||||
free(sdl);
|
||||
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
SSNES_LOG("Opened Joystick: %s #%u on port %u\n",
|
||||
SDL_JoystickName(g_settings.input.joypad_map[i]), g_settings.input.joypad_map[i], i + 1);
|
||||
|
||||
sdl->num_axes[i] = SDL_JoystickNumAxes(sdl->joysticks[i]);
|
||||
sdl->num_buttons[i] = SDL_JoystickNumButtons(sdl->joysticks[i]);
|
||||
sdl->num_hats[i] = SDL_JoystickNumHats(sdl->joysticks[i]);
|
||||
SSNES_LOG("Joypad has: %u axes, %u buttons, %u hats.\n",
|
||||
sdl->num_axes[i], sdl->num_buttons[i], sdl->num_hats[i]);
|
||||
SSNES_ERR("Couldn't open SDL joystick #%u on SNES port %u\n", port, i + 1);
|
||||
free(sdl);
|
||||
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
SSNES_LOG("Opened Joystick: %s (#%u) on port %u\n",
|
||||
SDL_JoystickName(port), port, i + 1);
|
||||
|
||||
sdl->num_axes[i] = SDL_JoystickNumAxes(sdl->joysticks[i]);
|
||||
sdl->num_buttons[i] = SDL_JoystickNumButtons(sdl->joysticks[i]);
|
||||
sdl->num_hats[i] = SDL_JoystickNumHats(sdl->joysticks[i]);
|
||||
SSNES_LOG("Joypad has: %u axes, %u buttons, %u hats.\n",
|
||||
sdl->num_axes[i], sdl->num_buttons[i], sdl->num_hats[i]);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -418,7 +418,7 @@ bool config_load_file(const char *path)
|
||||
for (unsigned i = 0; i < MAX_PLAYERS; i++)
|
||||
{
|
||||
char buf[64];
|
||||
snprintf(buf, sizeof(buf), "input_player%u_joypad_index", i);
|
||||
snprintf(buf, sizeof(buf), "input_player%u_joypad_index", i + 1);
|
||||
CONFIG_GET_INT(input.joypad_map[i], buf);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user