55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
|
|
#include <string>
|
|
#include <unordered_map>
|
|
|
|
// Acciones de entrada posibles en el juego
|
|
enum class InputAction : int {
|
|
// Inputs de movimiento
|
|
UP,
|
|
DOWN,
|
|
LEFT,
|
|
RIGHT,
|
|
|
|
// Inputs personalizados
|
|
FIRE_LEFT,
|
|
FIRE_CENTER,
|
|
FIRE_RIGHT,
|
|
START,
|
|
|
|
// Service Menu
|
|
SM_SELECT,
|
|
SM_BACK,
|
|
|
|
// Inputs de control
|
|
BACK,
|
|
EXIT,
|
|
PAUSE,
|
|
SERVICE,
|
|
WINDOW_FULLSCREEN,
|
|
WINDOW_INC_SIZE,
|
|
WINDOW_DEC_SIZE,
|
|
TOGGLE_VIDEO_SHADERS,
|
|
TOGGLE_VIDEO_INTEGER_SCALE,
|
|
TOGGLE_VIDEO_VSYNC,
|
|
RESET,
|
|
TOGGLE_AUDIO,
|
|
CHANGE_LANG,
|
|
SHOW_INFO,
|
|
CONFIG,
|
|
SWAP_CONTROLLERS,
|
|
TOGGLE_AUTO_FIRE,
|
|
|
|
// Input obligatorio
|
|
NONE,
|
|
SIZE,
|
|
};
|
|
|
|
// Mapas para convertir entre enums y strings
|
|
extern const std::unordered_map<InputAction, std::string> ACTION_TO_STRING;
|
|
extern const std::unordered_map<std::string, InputAction> STRING_TO_ACTION;
|
|
extern const std::unordered_map<SDL_GamepadButton, std::string> BUTTON_TO_STRING;
|
|
extern const std::unordered_map<std::string, SDL_GamepadButton> STRING_TO_BUTTON;
|
|
extern const std::unordered_map<InputAction, InputAction> ACTION_TO_ACTION; |