revisió de capçaleres

This commit is contained in:
2025-05-29 09:58:23 +02:00
parent 677e4d465d
commit 0fc8224ef8
45 changed files with 1870 additions and 2684 deletions

View File

@@ -2,88 +2,91 @@
#include <SDL3/SDL_rect.h> // Para SDL_FRect
#include <SDL3/SDL_stdinc.h> // Para Uint32
#include <string> // Para string
#include <vector> // Para vector
#include "utils.h" // Para Color, Zone
#include <string> // Para std::string
#include <vector> // Para std::vector
#include "utils.h" // Para Color, Zone, NotifyPosition
// param.game
// --- Parámetros del juego ---
struct ParamGame
{
float width; // Ancho de la resolucion nativa del juego
float height; // Alto de la resolucion nativa del juego
float item_size; // Tamaño de los items del juego
float coffee_machine_w; // Ancho de la máquina de café
float coffee_machine_h; // Alto de la máquina de café
Zone play_area; // Rectangulo con la posición de la zona de juego
Zone game_area; // Rectangulo con las dimensiones del juego
float width; // Ancho de la resolución nativa del juego
float height; // Alto de la resolución nativa del juego
float item_size; // Tamaño de los ítems del juego
float coffee_machine_w; // Ancho de la máquina de café
float coffee_machine_h; // Alto de la máquina de café
Zone play_area; // Rectángulo con la posición de la zona de juego
Zone game_area; // Rectángulo con las dimensiones del juego
int enter_name_seconds; // Duración en segundos para introducir el nombre al finalizar la partida
Uint32 speed; // Velocidad a la que transcurre el juego
};
// param.fade
// --- Parámetros del fade ---
struct ParamFade
{
float num_squares_width; // Cantidad total de cuadraditos en horizontal para el FadeType::RANDOM_SQUARE
float num_squares_height; // Cantidad total de cuadraditos en vertical para el FadeType::RANDOM_SQUARE
float num_squares_width; // Cantidad total de cuadraditos en horizontal para el FadeType::RANDOM_SQUARE
float 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 random_squares_mult; // Cantidad de cuadrados que se pintarán cada vez
int post_duration; // Duración final del fade
float venetian_size; // Altura de los rectangulos para FadeType::VENETIAN
float venetian_size; // Altura de los rectángulos para FadeType::VENETIAN
};
// param.title
// --- Parámetros de la pantalla de título ---
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
int title_duration; // Tiempo de inactividad del título
int arcade_edition_position; // Posición del bitmap "Arcade Edition"
int title_c_c_position; // Posición del bitmap "Coffee Crisis"
};
// param.background
// --- Parámetros del fondo ---
struct ParamBackground
{
Color attenuate_color;
int attenuate_alpha;
Color attenuate_color; // Color para atenuar el fondo
int attenuate_alpha; // Alpha para la atenuación
};
// --- Parámetros de los globos (balloons) ---
struct ParamBalloon
{
float grav; // Aceleración en el eje Y. Modifica la velocidad
float vel; // Velocidad inicial que tienen al rebotar contra el suelo
float vel; // Velocidad inicial 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
// --- Parámetros 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
NotifyPosition pos_h; // Ubicación horizontal de las notificaciones en pantalla
NotifyPosition pos_v; // Ubicación vertical 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
// --- Estructura principal para almacenar todos los parámetros del juego ---
struct Param
{
ParamGame game;
ParamFade fade;
SDL_FRect scoreboard;
ParamTitle title;
ParamBackground background;
std::vector<ParamBalloon> balloon;
ParamNotification notification;
ParamGame game; // Parámetros del juego
ParamFade fade; // Parámetros del fade
SDL_FRect scoreboard; // Rectángulo del marcador
ParamTitle title; // Parámetros de la pantalla de título
ParamBackground background; // Parámetros del fondo
std::vector<ParamBalloon> balloon; // Parámetros de los globos
ParamNotification notification; // Parámetros de las notificaciones
// Constructor
Param() : game(), fade(), scoreboard(), title(), background(), notification()
{
balloon.reserve(4);
}
};
// --- Variable global con los parámetros del juego ---
extern Param param;
// Establece valores para los parametros a partir de un fichero de texto
void loadParamsFromFile(const std::string &file_path);
// --- Funciones globales ---
void loadParamsFromFile(const std::string &file_path); // Establece valores para los parámetros a partir de un fichero de texto