guardar partida pq ja estic fent canvis a cegues a vore si trac açò

This commit is contained in:
2024-07-07 14:38:46 +02:00
parent 3ee04f7e1c
commit ceafe931f1
14 changed files with 201 additions and 111 deletions

View File

@@ -45,8 +45,8 @@ enum inputs_e
input_number_of_inputs
};
#define REPEAT_TRUE true
#define REPEAT_FALSE false
#define ALLOW_REPEAT true
#define DO_NOT_ALLOW_REPEAT false
#define INPUT_USE_KEYBOARD 0
#define INPUT_USE_GAMECONTROLLER 1
@@ -75,19 +75,22 @@ private:
};
// Variables
std::vector<SDL_GameController *> connectedControllers; // Vector con todos los mandos conectados
std::vector<SDL_Joystick *> joysticks; // Vector con todos los joysticks conectados
std::vector<keyBindings_t> keyBindings; // Vector con las teclas asociadas a los inputs predefinidos
std::vector<GameControllerBindings_t> gameControllerBindings; // Vector con las teclas asociadas a los inputs predefinidos
std::vector<std::string> controllerNames; // Vector con los nombres de los mandos
std::vector<inputs_e> gameInputs; // Inputs usados para jugar, normalmente direcciones y botones
std::vector<inputs_e> buttonInputs; // Inputs asignados al jugador y a botones, excluyendo direcciones
int numJoysticks; // Número de joysticks conectados
int numGamepads; // Número de mandos conectados
std::string dbPath; // Ruta al archivo gamecontrollerdb.txt
bool verbose; // Indica si ha de mostrar mensajes
i_disable_e disabledUntil; // Tiempo que esta deshabilitado
bool enabled; // Indica si está habilitado
std::vector<SDL_GameController *> connectedControllers; // Vector con todos los mandos conectados
std::vector<SDL_Joystick *> joysticks; // Vector con todos los joysticks conectados
std::vector<keyBindings_t> keyBindings; // Vector con las teclas asociadas a los inputs predefinidos
std::vector<std::vector<GameControllerBindings_t>> gameControllerBindings; // Vector con los botones asociadas a los inputs predefinidos para cada mando
std::vector<std::string> controllerNames; // Vector con los nombres de los mandos
std::vector<inputs_e> gameInputs; // Inputs usados para jugar, normalmente direcciones y botones
std::vector<inputs_e> buttonInputs; // Inputs asignados al jugador y a botones, excluyendo direcciones
int numJoysticks; // Número de joysticks conectados
int numGamepads; // Número de mandos conectados
std::string dbPath; // Ruta al archivo gamecontrollerdb.txt
bool verbose; // Indica si ha de mostrar mensajes
i_disable_e disabledUntil; // Tiempo que esta deshabilitado
bool enabled; // Indica si está habilitado
// Convierte un inputs_e a std::string
std::string to_String(inputs_e input);
public:
// Constructor
@@ -100,7 +103,7 @@ public:
void bindKey(inputs_e input, SDL_Scancode code);
// Asigna inputs a botones del mando
void bindGameControllerButton(inputs_e input, SDL_GameControllerButton button);
void bindGameControllerButton(int index, inputs_e input, SDL_GameControllerButton button);
// Comprueba si un input esta activo
bool checkInput(inputs_e input, bool repeat = true, int device = INPUT_USE_ANY, int index = 0);
@@ -109,10 +112,10 @@ public:
bool checkAnyInput(int device = INPUT_USE_ANY, int index = 0);
// Comprueba si hay algún botón pulsado
int checkAnyButtonPressed();
int checkAnyButtonPressed(bool repeat = DO_NOT_ALLOW_REPEAT);
// Busca si hay un mando conectado
bool discoverGameController();
// Busca si hay mandos conectados
bool discoverGameControllers();
// Comprueba si hay algun mando conectado
bool gameControllerFound();
@@ -134,6 +137,9 @@ public:
// Obtiene el indice del controlador a partir de un event.id
int getJoyIndex(int id);
// Muestra por consola los controles asignados
void printBindings(int device = INPUT_USE_KEYBOARD, int index = 0);
};
#endif