Pasaeta de include-what-you-use
Acabada de perfilar la classe PathSprite Menjeades declaracions de utils.h als fitxers que toca
This commit is contained in:
189
source/utils.h
189
source/utils.h
@@ -1,34 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL2/SDL_gamecontroller.h> // para SDL_GameControllerButton
|
||||
#include <SDL2/SDL_rect.h> // para SDL_Rect, SDL_Point
|
||||
#include <SDL2/SDL_render.h> // para SDL_Renderer
|
||||
#include <SDL2/SDL_stdinc.h> // para Uint8
|
||||
#include <stdint.h> // para int32_t
|
||||
#include <string> // para string
|
||||
#include <vector> // para vector
|
||||
enum class InputType : int;
|
||||
enum class ScreenFilter; // lines 14-14
|
||||
enum class ScreenVideoMode; // lines 15-15
|
||||
namespace lang
|
||||
{
|
||||
enum class Code : int;
|
||||
}
|
||||
struct JA_Music_t; // lines 12-12
|
||||
struct JA_Sound_t; // lines 13-13
|
||||
#include <SDL2/SDL_rect.h> // Para SDL_Rect, SDL_Point
|
||||
#include <SDL2/SDL_render.h> // Para SDL_Renderer
|
||||
#include <SDL2/SDL_stdinc.h> // Para Uint8
|
||||
#include <stdint.h> // Para int32_t
|
||||
#include <string> // Para string
|
||||
#include <vector> // Para vector
|
||||
|
||||
// Constantes
|
||||
constexpr int BLOCK = 8;
|
||||
constexpr int TOTAL_DEMO_DATA = 2000;
|
||||
|
||||
// Dificultad del juego
|
||||
enum class GameDifficulty
|
||||
{
|
||||
EASY = 0,
|
||||
NORMAL = 1,
|
||||
HARD = 2,
|
||||
};
|
||||
|
||||
// Variables para que los argumentos del programa tengan mas peso que los definidos en otros lugares
|
||||
struct Overrides
|
||||
{
|
||||
@@ -74,17 +56,6 @@ enum class NotifyPosition
|
||||
RIGHT,
|
||||
};
|
||||
|
||||
// Estructura para las entradas de la tabla de recirds
|
||||
struct HiScoreEntry
|
||||
{
|
||||
std::string name; // Nombre
|
||||
int score; // Puntuación
|
||||
|
||||
// Constructor
|
||||
explicit HiScoreEntry(const std::string &n = "", int s = 0)
|
||||
: name(n), score(s) {}
|
||||
};
|
||||
|
||||
struct DemoKeys
|
||||
{
|
||||
Uint8 left;
|
||||
@@ -117,74 +88,6 @@ struct Demo
|
||||
: enabled(e), recording(r), counter(c), keys(k), data(d) {}
|
||||
};
|
||||
|
||||
// Estructura para las opciones de la ventana
|
||||
struct OptionsWindow
|
||||
{
|
||||
int size; // Contiene el valor por el que se multiplica el tamaño de la ventana
|
||||
};
|
||||
|
||||
// Estructura con opciones para el video
|
||||
struct OptionsVideo
|
||||
{
|
||||
OptionsWindow window; // Opciones para la ventana del programa
|
||||
ScreenVideoMode mode; // Contiene el valor del modo de pantalla completa
|
||||
ScreenFilter filter; // Filtro usado para el escalado de la imagen
|
||||
bool v_sync; // Indica si se quiere usar vsync o no
|
||||
bool integer_scale; // Indica si se va a usar el escalado entero
|
||||
bool shaders; // Indica si se van a usar shaders para los filtros de video
|
||||
};
|
||||
|
||||
// Estructura para las opciones de musica
|
||||
struct OptionsMusic
|
||||
{
|
||||
bool enabled; // Indica si la musica suena o no
|
||||
int volume; // Volumen al que suena la música
|
||||
};
|
||||
|
||||
// Estructura para las opciones de sonido
|
||||
struct OptionsSound
|
||||
{
|
||||
bool enabled; // Indica si los sonidos suenan o no
|
||||
int volume; // Volumen al que suenan los sonidos
|
||||
};
|
||||
|
||||
// Estructura para las opciones de audio
|
||||
struct OptionsAudio
|
||||
{
|
||||
OptionsMusic music; // Opciones para la música
|
||||
OptionsSound sound; // Opciones para los efectos de sonido
|
||||
};
|
||||
|
||||
// Estructura para las opciones del juego
|
||||
struct OptionsGame
|
||||
{
|
||||
GameDifficulty difficulty; // Dificultad del juego
|
||||
lang::Code language; // Idioma usado en el juego
|
||||
bool autofire; // Indica si el jugador ha de pulsar repetidamente para disparar o basta con mantener pulsado
|
||||
std::vector<HiScoreEntry> hi_score_table; // Tabla con las mejores puntuaciones
|
||||
};
|
||||
|
||||
// Estructura para los controles del juego
|
||||
struct OptionsController
|
||||
{
|
||||
int index; // Indice en el vector de mandos
|
||||
int player_id; // Jugador asociado al mando
|
||||
Uint8 device_type; // Indica si se utilizará teclado o mando o ambos
|
||||
std::string name; // Nombre del dispositivo
|
||||
bool plugged; // Indica si el mando se encuentra conectado
|
||||
std::vector<InputType> 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
|
||||
{
|
||||
OptionsGame game; // Opciones para el propio juego
|
||||
OptionsVideo video; // Opciones relativas a la clase screen
|
||||
OptionsAudio audio; // Opciones para el audio
|
||||
std::vector<OptionsController> controller; // Opciones con las asignaciones del mando para cada jugador
|
||||
};
|
||||
|
||||
// Posiciones dentro de un rectangulo
|
||||
struct Zone
|
||||
{
|
||||
@@ -197,80 +100,6 @@ struct Zone
|
||||
int third_quarter_y; // Anclaje al 75% del eje X
|
||||
};
|
||||
|
||||
// param.game
|
||||
struct ParamGame
|
||||
{
|
||||
int width; // Ancho de la resolucion nativa del juego
|
||||
int height; // Alto de la resolucion nativa del juego
|
||||
int item_size; // Tamaño de los items del juego
|
||||
Zone play_area; // Rectangulo con la posición de la zona de juego
|
||||
Zone game_area; // Rectangulo con las dimensiones del juego
|
||||
int enter_name_seconds; // Duración en segundos para introducir el nombre al finalizar la partida
|
||||
};
|
||||
|
||||
// param.fade
|
||||
struct ParamFade
|
||||
{
|
||||
int num_squares_width; // Cantidad total de cuadraditos en horizontal para el FadeType::RANDOM_SQUARE
|
||||
int num_squares_height; // Cantidad total de cuadraditos en vertical para el FadeType::RANDOM_SQUARE
|
||||
int random_squares_delay; // Duración entre cada pintado de cuadrados
|
||||
int random_squares_mult; // Cantidad de cuadrados que se pintaran cada vez
|
||||
int post_duration; // Duración final del fade
|
||||
int venetian_size; // Altura de los rectangulos para FadeType::VENETIAN
|
||||
};
|
||||
|
||||
// param.title
|
||||
struct ParamTitle
|
||||
{
|
||||
int press_start_position; // Posición del texto para empezar a jugar
|
||||
int title_duration; // Tiempo de inactividad del titulo
|
||||
int arcade_edition_position; // Posición del bitmap
|
||||
int title_c_c_position; // Posición del bitmap
|
||||
};
|
||||
|
||||
// param.background
|
||||
struct ParamBackground
|
||||
{
|
||||
Color attenuate_color;
|
||||
int attenuate_alpha;
|
||||
};
|
||||
|
||||
struct ParamBalloon
|
||||
{
|
||||
float grav; // Aceleración en el eje Y. Modifica la velocidad
|
||||
float vel; // Velocidad inicial que tienen al rebotar contra el suelo
|
||||
|
||||
// Constructor
|
||||
explicit ParamBalloon(float grav_val = 0.0f, float vel_val = 0.0f)
|
||||
: grav(grav_val), vel(vel_val) {}
|
||||
};
|
||||
|
||||
// Estructura para las opciones de las notificaciones
|
||||
struct ParamNotification
|
||||
{
|
||||
NotifyPosition pos_h; // Ubicación de las notificaciones en pantalla
|
||||
NotifyPosition pos_v; // Ubicación de las notificaciones en pantalla
|
||||
bool sound; // Indica si las notificaciones suenan
|
||||
Color color; // Color de las notificaciones
|
||||
};
|
||||
|
||||
// Estructura para almacenar todos los parámetros del juego
|
||||
struct Param
|
||||
{
|
||||
ParamGame game; // Parametros relacionados con el juego
|
||||
ParamFade fade; // Parametros para ajustar el fade
|
||||
SDL_Rect scoreboard; // Posición y tamaño del marcador
|
||||
ParamTitle title; // Parametros con ajustes para la sección Title
|
||||
ParamBackground background; // Parametros que afectan a la clase Background
|
||||
std::vector<ParamBalloon> balloon; // Parametros de velocidad y gravedad de cada tipo de globo
|
||||
ParamNotification notification; // Opciones para las notificaciones
|
||||
|
||||
Param()
|
||||
{
|
||||
balloon.reserve(4); // Reservar espacio para 4 elementos
|
||||
}
|
||||
};
|
||||
|
||||
// Calcula el cuadrado de la distancia entre dos puntos
|
||||
double distanceSquared(int x1, int y1, int x2, int y2);
|
||||
|
||||
@@ -312,8 +141,10 @@ std::string trim(const std::string &str);
|
||||
|
||||
// Función de suavizado
|
||||
double easeOutQuint(double t);
|
||||
|
||||
// Función de suavizado
|
||||
double easeInQuint(double t);
|
||||
double easeInOutQuint(double t);
|
||||
double easeInQuad(double t);
|
||||
double easeOutQuad(double t);
|
||||
double easeInOutSine(double t);
|
||||
|
||||
// Comprueba si una vector contiene una cadena
|
||||
|
||||
Reference in New Issue
Block a user