Muntat a c++14 per a make_unique

Mes autos, const i constexpr perl codi
Ara la classe Screen es un poc pitjor
This commit is contained in:
2024-10-06 14:58:00 +02:00
parent 25a2753b13
commit afe092c742
16 changed files with 290 additions and 381 deletions

View File

@@ -10,11 +10,16 @@
#include "input.h" // for inputs_e
struct JA_Music_t;
struct JA_Sound_t;
enum class screenFilter;
enum class screenVideoMode;
// Dificultad del juego
#define DIFFICULTY_EASY 0
#define DIFFICULTY_NORMAL 1
#define DIFFICULTY_HARD 2
enum class gameDifficulty
{
EASY = 0,
NORMAL = 1,
HARD = 2,
};
// Tamaño de bloque
#define BLOCK 8
@@ -22,9 +27,7 @@ struct JA_Sound_t;
// Estructura para definir un circulo
struct circle_t
{
int x;
int y;
int r;
int x, y, r;
};
// Estructura para definir una linea horizontal
@@ -54,9 +57,7 @@ struct line_t
// Estructura para definir un color
struct color_t
{
Uint8 r;
Uint8 g;
Uint8 b;
Uint8 r, g, b;
};
// Posiciones de las notificaciones
@@ -97,23 +98,17 @@ struct demoKeys_t
// Estructura para las opciones de la ventana
struct op_window_t
{
int width; // Ancho de la ventana
int height; // Alto de la ventana
int size; // Contiene el valor por el que se multiplica el tamaño de la ventana
};
// Estructura con opciones para el video
struct op_video_t
{
int gameWidth; // Ancho de la resolucion nativa del juego
int gameHeight; // Alto de la resolucion nativa del juego
op_window_t window; // Opciones para la ventana del programa
Uint32 mode; // Contiene el valor del modo de pantalla completa
Uint32 filter; // Filtro usado para el escalado de la imagen
bool vSync; // Indica si se quiere usar vsync o no
bool integerScale; // Indica si el escalado de la imagen ha de ser entero en el modo a pantalla completa
bool keepAspect; // Indica si se ha de mantener la relación de aspecto al poner el modo a pantalla completa
bool shaders; // Indica si se van a usar shaders para los filtros de video
op_window_t 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 vSync; // Indica si se quiere usar vsync o no
bool shaders; // Indica si se van a usar shaders para los filtros de video
};
// Estructura para las opciones de musica
@@ -140,7 +135,7 @@ struct op_audio_t
// Estructura para las opciones del juego
struct op_game_t
{
Uint8 difficulty; // Dificultad del juego
gameDifficulty difficulty; // Dificultad del juego
Uint8 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_t> hiScoreTable; // Tabla con las mejores puntuaciones