# Changelog All notable changes to JailDoctor's Dilemma are documented here. --- ## [v1.11] - 2026-03-31 ### Novedades - **PaletteManager:** refactorización de `Screen`, responsabilidades de gestión de paletas extraídas a clase propia - **Consola 2.1:** la consola puede cambiar de paleta por nombre (`Screen` devuelve lista de paletas) - **Zoom configurable:** `Screen` permite establecer el nivel de zoom directamente desde consola - **Autocompletar en consola:** autocompletado de comandos con Tab (incluyendo soporte para armadura de lagarto) - Generación automática de tabla de tab-completions en la consola ### Correcciones - Fix: al entrar a GAME con la consola abierta, el jugador no tenía los inputs deshabilitados - Fix: al hacer restart con la música del attract mode sonando, la música no paraba al ir al logo - Fix: en modo debug, protección para que el jugador no caiga infinitamente si sale de pantalla - Corregido el case en algunas respuestas de la consola - Corregido Makefile --- ## [v1.10] - 2026-03-30 ### Novedades - **Consola 2.0:** rediseño completo de la consola de desarrollador - Efecto typewriter al mostrar texto - Separación de líneas automática - Cambio de skin - Historial y navegación mejorada - Comandos para cheats, control de escena, debug, audio y shaders - Teclas de función operativas con la consola abierta - Límite de caracteres ampliado - La consola ya no pausa al jugador - Reorganización del sistema de comandos y aliases (`show info`, `hide info`, etc.) - **RenderInfo:** nueva clase con animación para mostrar info de renderizado en pantalla - **Soporte multi-shader:** comandos y teclas para manejar el nuevo diseño de shaders (SPIRV/SPIR-V) - **Modo kiosko:** defaults y restricciones de comandos para modo kiosk - **Supersampling Lanczos:** implementación de escalado Lanczos en el supersampling - **Driver GPU configurable:** permite elegir driver de GPU o ninguno desde consola - Cheats accesibles desde la consola - Cambio y reinicio de escena desde la consola - Posición e habitación inicial de debug configurables desde consola y fichero - `Debug` carga posición e habitación inicial desde fichero - Comandos de audio configurables desde consola - Renderizado del dispositivo GPU en info_debug - `Screen` optimizado (`textureToRenderer()`) - Eliminado soporte para argumentos de línea de comandos - Eliminado `Options::console` - Help de consola organizado ### Correcciones - Fix: vsync off no funcionaba en Wayland - Fix: en TITLE, la consola no bloqueaba la pulsación del 1 al 4 y entraba a opciones - Fix: dos logs de consola con formato incorrecto - Fix: lógica para abrir y entrar a la jail (ahora usa número de habitación, no nombre) - Corregido `compile_spirv.cmake` y la `system_folder` para shaders - Corregido carácter de caret que se había perdido - Eliminados acentos en títulos de habitaciones que causaban problemas con fuentes - Revisadas y corregidas traducciones - Corregidos ficheros `.fnt` - Corrección en `Screen` para `std::setprecision()` (faltaba `#include `) --- ## [v1.09] - 2025-03-01 ### Novedades - **Refactorización a singletons:** `Screen`, `Input`, `Audio`, `Resource::Cache`, `Resource::List`, `Director`, `Cheevos`, `Debug` convertidos a singletons thread-safe - **Smart pointers:** uso de `std::shared_ptr` y `std::unique_ptr` para gestión de recursos y sprites - **Surfaces 8-bit indexadas:** nuevo sistema de renderizado con color indexado y paletas intercambiables - **Sistema de notificaciones rediseñado:** nuevo engine de notificaciones con control de offset - **Modos de vídeo mejorados:** la ventana mantiene posición al cambiar tamaño o activar borde; puede crecer según el escritorio - **ItemTracker:** nuevo singleton para rastrear ítems recogidos - **globalEvents:** nuevo sistema de eventos globales SDL - **Barra de progreso en carga de recursos** (actualización cada 5 ítems para mayor rendimiento con vsync) - **Métodos show/hide ventana:** métodos para mostrar u ocultar la ventana - Afinada la clase `Options` - Actualizada a la última versión de `jail_audio` - Implementados shaders - Nueva tipografía añadida - Parametros de ficheros `.ani` migrados a snake_case - Música de Title y attract mode restaurada - Eliminado sistema online completo ### Correcciones - Fix: notificaciones ya no ensucian la pantalla de carga - Fix: no pintaba el efecto de carga del borde en `LoadingScreen` - Fix: bug con el puntero a `ScoreboardData` - Fix: carga de opciones y recursos corregida - Eliminados acentos problemáticos --- ## [v1.08] - 2024-02-22 ### Novedades - Posibilidad de saltar la pantalla de carga ya completada desde el menú de título - El `gamestate_title` puede empezar en diferentes estados - Pantalla de carga con fade de paleta - GIF loader: dibujado correcto de GIFs en pantalla - Añadida `paleta.cpp`/`.h` y `gif.c` ### Correcciones - Corregido bug en el fade de paleta (el canal azul no se propagaba) - Arreglada la separación entre el título y el fade - Online deshabilitado por defecto al crear el fichero de configuración - Tiempo de la pantalla de carga aumentado --- ## [v1.07] - 2022-12-02 ### Novedades - El nombre de la habitación se pinta a partir de una textura - Añadido Batman a FEEL THE HEAT - Cielo de la Jail actualizado - Retocada la pantalla de título - Sprite de PACO modificado - Nombre del enemigo diskette cambiado a floppy - Cambios cosméticos en algunas habitaciones (BE CAREFUL WITH THE FUSE renombrado) - El color de fondo de la habitación se pinta en la textura del mapa - Optimizaciones en intro y title - Preparación para compatibilidad con consolas - Actualizado `jail_audio` a la última versión - Eliminados la mayor parte de accesos a `vector::at()` ### Correcciones - Corregido bug: en la jail se rellenaban las vidas mientras estaba activa la pausa - Corregido memory leak en `texture.cpp` - Corregido bug en apertura de la Jail --- ## [v1.0] - 2022-11-13 Versión de lanzamiento inicial. --- *El formato de este changelog sigue [Keep a Changelog](https://keepachangelog.com/).*