Canviades les paletes dels .gif

Ara es poden carregar paletes desde fitxers .pal
Reajustada la pleta general
fix: la pantalla de càrrega deixava un pixel per pintar, desde sempre
Ajustat el color del borde en el Logo i el Title per a ser igual al fondo amb les paletes de 16 colors (la del Spectrum es de 15)
This commit is contained in:
2025-03-06 20:04:53 +01:00
parent d0e06e30c9
commit d339fb13b0
46 changed files with 478 additions and 154 deletions

View File

@@ -9,8 +9,12 @@
// Alias
using Palette = std::array<Uint32, 256>;
// Carga una paleta desde un archivo .gif
Palette loadPalette(const std::string &file_path);
// Carga una paleta desde un archivo .pal
Palette readPalFile(const std::string &file_path);
struct SurfaceData
{
Uint8 *data; // Listado de indices de la paleta que conforman la imagen almacenada
@@ -66,7 +70,7 @@ class Surface
{
private:
std::shared_ptr<SurfaceData> surface_data_; // Datos a dibujar
Palette palette_; // Paleta para volcar la SurfaceData a una Textura
Palette palette_; // Paleta para volcar la SurfaceData a una Textura
int transparent_color_; // Indice de la paleta que se omite en la copia de datos
public:
@@ -126,11 +130,11 @@ public:
// Obtien ancho y alto
int getWidth() const { return surface_data_->width; }
int getHeight() const { return surface_data_->height; }
// Color transparente
int getTransparentColor() const { return transparent_color_; }
void setTransparentColor(int color) { transparent_color_ = color; }
Uint8 getTransparentColor() const { return transparent_color_; }
void setTransparentColor(Uint8 color) { transparent_color_ = color; }
// Paleta
void setPalette(const std::array<Uint32, 256> &palette) { palette_ = palette; }
};