- [NEW] Dialeg per a configurar els joysticks
This commit is contained in:
38
gamepad.cpp
38
gamepad.cpp
@@ -34,7 +34,7 @@ namespace gamepad
|
||||
{
|
||||
found = false;
|
||||
next_type++;
|
||||
if (next_type > GAMEPAD_TYPE_FULLER) return GAMEPAD_TYPE_SINCLAIR_1;
|
||||
if (next_type == GAMEPAD_TYPE_CUSTOM) return next_type;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -42,7 +42,7 @@ namespace gamepad
|
||||
return next_type;
|
||||
}
|
||||
|
||||
void add(int32_t index, uint8_t type)
|
||||
uint8_t add(int32_t index, uint8_t type)
|
||||
{
|
||||
if (SDL_IsGameController(index)) {
|
||||
gamepad_t gamepad;
|
||||
@@ -52,6 +52,19 @@ namespace gamepad
|
||||
gamepad.type = ( (type == GAMEPAD_TYPE_ANY) ? getNextType() : type );
|
||||
gamepads.push_back(gamepad);
|
||||
}
|
||||
return gamepads.size()-1;
|
||||
}
|
||||
|
||||
void modify(int32_t index, uint8_t type)
|
||||
{
|
||||
for (auto& gamepad : gamepads)
|
||||
{
|
||||
if (gamepad.index == index)
|
||||
{
|
||||
gamepad.type = type;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void remove(int32_t index)
|
||||
@@ -67,7 +80,7 @@ namespace gamepad
|
||||
void buttonDown(int32_t index, uint8_t button)
|
||||
{
|
||||
SDL_GameController *game_controller = SDL_GameControllerFromInstanceID(index);
|
||||
for (auto gamepad : gamepads)
|
||||
for (auto& gamepad : gamepads)
|
||||
{
|
||||
if (gamepad.gamepad == game_controller)
|
||||
{
|
||||
@@ -111,7 +124,7 @@ namespace gamepad
|
||||
void buttonUp(int32_t index, uint8_t button)
|
||||
{
|
||||
SDL_GameController *game_controller = SDL_GameControllerFromInstanceID(index);
|
||||
for (auto gamepad : gamepads)
|
||||
for (auto& gamepad : gamepads)
|
||||
{
|
||||
if (gamepad.gamepad == game_controller)
|
||||
{
|
||||
@@ -153,4 +166,21 @@ namespace gamepad
|
||||
|
||||
}
|
||||
|
||||
uint8_t getNumGamepads()
|
||||
{
|
||||
return gamepads.size();
|
||||
}
|
||||
|
||||
uint8_t getGamepadType(uint8_t index)
|
||||
{
|
||||
if (gamepads.size()>index) return gamepads[index].type;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void setGamepadType(uint8_t index, uint8_t type)
|
||||
{
|
||||
if (gamepads.size()>index) gamepads[index].type = type;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user