Ya se guardan las asignaciones de los botones en el fichero de configuración

This commit is contained in:
2024-07-07 19:22:36 +02:00
parent 38dc63ef02
commit caca21cba5
7 changed files with 232 additions and 68 deletions

View File

@@ -3,6 +3,7 @@
#include <SDL2/SDL.h>
#include "texture.h"
#include "jail_audio.h"
#include "input.h"
#include <string>
#include <vector>
@@ -86,14 +87,6 @@ struct demoKeys_t
Uint8 fireRight;
};
// Estructura para albergar métodos de control
struct input_t
{
int id; // Identificador en el vector de mandos
std::string name; // Nombre del dispositivo
Uint8 deviceType; // Tipo de dispositivo (teclado o mando)
};
// Estructura con las opciones para el borde
struct op_border_t
{
@@ -149,19 +142,28 @@ struct op_audio_t
// Estructura para las opciones del juego
struct op_game_t
{
Uint8 difficulty; // Dificultad del juego
Uint8 playerSelected; // Jugador seleccionado para el modo 1P
std::vector<input_t> input; // Modo de control (teclado o mando)
Uint8 language; // Idioma usado en el juego
Uint8 difficulty; // Dificultad del juego
Uint8 language; // Idioma usado en el juego
};
// Estructura para los controles del juego
struct op_controller_t
{
int index; // Indice en el vector de mandos
Uint8 deviceType; // Indica si se utilizará teclado o mando o ambos
std::string name; // Nombre del dispositivo
std::vector<inputs_e> inputs; // Listado de inputs
std::vector<SDL_GameControllerButton> buttons; // Listado de botones asignados a cada input
};
// Estructura con todas las opciones de configuración del programa
struct options_t
{
bool console; // Indica si ha de mostrar información por la consola de texto
op_game_t game; // Opciones para el propio juego
op_video_t video; // Opciones relativas a la clase screen
op_audio_t audio; // Opciones para el audio
bool console; // Indica si ha de mostrar información por la consola de texto
op_game_t game; // Opciones para el propio juego
op_video_t video; // Opciones relativas a la clase screen
op_audio_t audio; // Opciones para el audio
std::vector<op_controller_t> controller; // Opciones con las asignaciones del mando para cada jugador
};
// Estructura para almacenar todos los parámetros del juego