WIP: Preparar infraestructura para Modo Logo (easter egg)
ROADMAP: - Añadida tarea #4: Implementar Modo Logo (easter egg) - Documentada integración con DEMO y DEMO LITE - Añadida tarea #5: Mejorar sistema vértices PNG_SHAPE INFRAESTRUCTURA AÑADIDA: - engine.h: Variable logo_mode_enabled_ + estado previo - engine.h: Métodos toggleLogoMode(), enterLogoMode(), exitLogoMode() - defines.h: Constantes LOGO_MODE_* (min balls, scale, timings) - defines.h: Probabilidades de salto desde DEMO/DEMO_LITE PENDIENTE IMPLEMENTAR: - Funciones enterLogoMode() y exitLogoMode() - Integración con tecla K - Lógica salto automático desde DEMO/DEMO_LITE - Excluir PNG_SHAPE de arrays aleatorios - Display visual "LOGO MODE" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -102,9 +102,15 @@ class Engine {
|
||||
// Sistema de Modo DEMO (auto-play)
|
||||
bool demo_mode_enabled_ = false; // ¿Está activo el modo demo completo?
|
||||
bool demo_lite_enabled_ = false; // ¿Está activo el modo demo lite?
|
||||
bool logo_mode_enabled_ = false; // ¿Está activo el modo logo (easter egg)?
|
||||
float demo_timer_ = 0.0f; // Contador de tiempo para próxima acción
|
||||
float demo_next_action_time_ = 0.0f; // Tiempo aleatorio hasta próxima acción (segundos)
|
||||
|
||||
// Estado previo antes de entrar a Logo Mode (para restaurar al salir)
|
||||
ColorTheme logo_previous_theme_ = ColorTheme::SUNSET;
|
||||
size_t logo_previous_texture_index_ = 0;
|
||||
float logo_previous_shape_scale_ = 1.0f;
|
||||
|
||||
// Batch rendering
|
||||
std::vector<SDL_Vertex> batch_vertices_;
|
||||
std::vector<int> batch_indices_;
|
||||
@@ -137,6 +143,11 @@ class Engine {
|
||||
void randomizeOnDemoStart(bool is_lite);
|
||||
void toggleGravityOnOff();
|
||||
|
||||
// Sistema de Modo Logo (easter egg)
|
||||
void toggleLogoMode(); // Activar/desactivar modo logo manual (tecla K)
|
||||
void enterLogoMode(bool from_demo = false); // Entrar al modo logo (manual o automático)
|
||||
void exitLogoMode(bool return_to_demo = false); // Salir del modo logo
|
||||
|
||||
// Sistema de transiciones LERP
|
||||
float lerp(float a, float b, float t) const { return a + (b - a) * t; }
|
||||
Color getInterpolatedColor(size_t ball_index) const; // Obtener color interpolado durante transición
|
||||
|
||||
Reference in New Issue
Block a user