working on game controller input

This commit is contained in:
2021-08-24 20:52:32 +02:00
parent 09cee79122
commit c3d560a9b6
2 changed files with 19 additions and 4 deletions

View File

@@ -125,15 +125,27 @@ bool Director::initSDL()
bool success = true;
// Inicializa SDL
//if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_GAMECONTROLLER| SDL_INIT_AUDIO | SDL_INIT_HAPTIC) < 0)
if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER | SDL_INIT_AUDIO | SDL_INIT_HAPTIC) < 0)
//if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
{
printf("SDL could not initialize!\nSDL Error: %s\n", SDL_GetError());
success = false;
}
else
{
SDL_JoystickEventState(SDL_ENABLE);
if (SDL_WasInit(SDL_INIT_GAMECONTROLLER) != 1)
SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER);
int nJoysticks = SDL_NumJoysticks();
int numGamepads = 0;
// Count how many controllers there are
for (int i = 0; i < nJoysticks; i++)
if (SDL_IsGameController(i))
numGamepads++;
printf("%i nJoysticks, %i numGamepads\n", nJoysticks, numGamepads);
//SDL_JoystickEventState(SDL_ENABLE);
// Establece el filtro de la textura a nearest
if (!SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "0"))

View File

@@ -15,8 +15,10 @@ Input::Input(int source)
mGameControllerBindings[i].active = false;
}
mGameControllerFound = false;
// Comprueba si hay algún mando conectado
discoverGameController();
//discoverGameController();
// En caso de haber un mando, el objeto se puede utilizar con entradas de mando
if (mGameControllerFound)
@@ -186,6 +188,7 @@ bool Input::checkInput(Uint8 input, bool repeat)
// Comprueba si hay un mando conectado
bool Input::discoverGameController()
{
printf("%i joystics found", SDL_NumJoysticks());
for (int i = 0; i < SDL_NumJoysticks(); ++i)
{