58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
|
|
#include <string>
|
|
#include <unordered_map>
|
|
|
|
// --- Enums ---
|
|
enum class InputAction : int { // Acciones de entrada posibles en el juego
|
|
// 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_POSTFX,
|
|
NEXT_SHADER,
|
|
NEXT_POSTFX_PRESET,
|
|
TOGGLE_SUPERSAMPLING,
|
|
TOGGLE_VIDEO_INTEGER_SCALE,
|
|
TOGGLE_VIDEO_VSYNC,
|
|
RESET,
|
|
TOGGLE_AUDIO,
|
|
CHANGE_LANG,
|
|
SHOW_INFO,
|
|
CONFIG,
|
|
SWAP_CONTROLLERS,
|
|
TOGGLE_AUTO_FIRE,
|
|
|
|
// Input obligatorio
|
|
NONE,
|
|
SIZE,
|
|
};
|
|
|
|
// --- Variables ---
|
|
extern const std::unordered_map<InputAction, std::string> ACTION_TO_STRING; // Mapeo de acción a string
|
|
extern const std::unordered_map<std::string, InputAction> STRING_TO_ACTION; // Mapeo de string a acción
|
|
extern const std::unordered_map<SDL_GamepadButton, std::string> BUTTON_TO_STRING; // Mapeo de botón a string
|
|
extern const std::unordered_map<std::string, SDL_GamepadButton> STRING_TO_BUTTON; // Mapeo de string a botón
|
|
extern const std::unordered_map<InputAction, InputAction> ACTION_TO_ACTION; // Mapeo de acción a acción
|