diff --git a/source/app_logo.cpp b/source/app_logo.cpp index 6ac99b0..ae2ad56 100644 --- a/source/app_logo.cpp +++ b/source/app_logo.cpp @@ -627,7 +627,8 @@ void AppLogo::renderWithGeometry(int logo_index) { // Aplicar alpha específico de cada logo (con retraso para logo2) int alpha = (logo_index == 1) ? logo1_alpha_ : logo2_alpha_; - SDL_SetTextureAlphaMod(texture, static_cast(alpha)); + float alpha_normalized = static_cast(alpha) / 255.0f; // Convertir 0-255 → 0.0-1.0 + // NO usar SDL_SetTextureAlphaMod - aplicar alpha directamente a vértices // Calcular tamaño con escala y deformaciones aplicadas // (base_width y base_height ya están pre-escalados al tamaño correcto de pantalla) @@ -665,7 +666,7 @@ void AppLogo::renderWithGeometry(int logo_index) { float rotated_y = local_x * sin_rot + local_y * cos_rot; vertices[0].position = {center_x + rotated_x, center_y + rotated_y}; vertices[0].tex_coord = {0.0f, 0.0f}; - vertices[0].color = {1.0f, 1.0f, 1.0f, 1.0f}; // Color blanco (textura se modula con alpha) + vertices[0].color = {1.0f, 1.0f, 1.0f, alpha_normalized}; // Alpha aplicado al vértice } // Vértice superior derecho (rotado) @@ -676,7 +677,7 @@ void AppLogo::renderWithGeometry(int logo_index) { float rotated_y = local_x * sin_rot + local_y * cos_rot; vertices[1].position = {center_x + rotated_x, center_y + rotated_y}; vertices[1].tex_coord = {1.0f, 0.0f}; - vertices[1].color = {1.0f, 1.0f, 1.0f, 1.0f}; + vertices[1].color = {1.0f, 1.0f, 1.0f, alpha_normalized}; // Alpha aplicado al vértice } // Vértice inferior derecho (rotado) @@ -687,7 +688,7 @@ void AppLogo::renderWithGeometry(int logo_index) { float rotated_y = local_x * sin_rot + local_y * cos_rot; vertices[2].position = {center_x + rotated_x, center_y + rotated_y}; vertices[2].tex_coord = {1.0f, 1.0f}; - vertices[2].color = {1.0f, 1.0f, 1.0f, 1.0f}; + vertices[2].color = {1.0f, 1.0f, 1.0f, alpha_normalized}; // Alpha aplicado al vértice } // Vértice inferior izquierdo (rotado) @@ -698,7 +699,7 @@ void AppLogo::renderWithGeometry(int logo_index) { float rotated_y = local_x * sin_rot + local_y * cos_rot; vertices[3].position = {center_x + rotated_x, center_y + rotated_y}; vertices[3].tex_coord = {0.0f, 1.0f}; - vertices[3].color = {1.0f, 1.0f, 1.0f, 1.0f}; + vertices[3].color = {1.0f, 1.0f, 1.0f, alpha_normalized}; // Alpha aplicado al vértice } // Índices para 2 triángulos diff --git a/source/defines.h b/source/defines.h index ebb8ac8..e7cba6a 100644 --- a/source/defines.h +++ b/source/defines.h @@ -289,8 +289,8 @@ constexpr float LOGO_FLIP_TRIGGER_MAX = 0.80f; // 80% máximo de progres constexpr int LOGO_FLIP_WAIT_PROBABILITY = 50; // 50% probabilidad de elegir el camino "esperar flip" // Configuración de AppLogo (logo periódico en pantalla) -constexpr float APPLOGO_DISPLAY_INTERVAL = 5.0f; // Intervalo entre apariciones del logo (segundos) -constexpr float APPLOGO_DISPLAY_DURATION = 10.0f; // Duración de visibilidad del logo (segundos) +constexpr float APPLOGO_DISPLAY_INTERVAL = 2.0f; // Intervalo entre apariciones del logo (segundos) +constexpr float APPLOGO_DISPLAY_DURATION = 4.0f; // Duración de visibilidad del logo (segundos) constexpr float APPLOGO_ANIMATION_DURATION = 2.0f; // Duración de animación entrada/salida (segundos) constexpr float APPLOGO_HEIGHT_PERCENT = 0.4f; // Altura del logo = 40% de la altura de pantalla constexpr float APPLOGO_PADDING_PERCENT = 0.1f; // Padding desde esquina inferior-derecha = 10%