# Changelog Tots els canvis notables de JailDoctor's Dilemma es documenten ací. --- ## [v1.13] - 2026-04-03 ### Novetats - **Editor de mapes (mode debug):** editor complet de nivells integrat en el joc - Drag & drop de jugador, enemics, boundaries i ítems - Editor de tiles amb TilePicker (amb spacing_in i spacing_out) - Edició de propietats d'enemics i d'habitacions - MiniMapa amb visualització de tiles i càlcul correcte de minipíxels - Rejilla configurable - Navegació entre habitacions (left, right, up, down) - Guardat automàtic dels canvis en l'habitació - Creació i eliminació d'habitacions - Nova font específica per a l'editor - Opcions persistents de l'editor - Tecla 9 per a entrar i eixir de l'editor - Al eixir de l'editor, recarrega l'habitació amb els canvis - Mostra les rutes dels enemics - RoomSaver millorat (ja no corromp els fitxers YAML) - Status bar de l'editor reorganitzada - **Àmbits en la consola:** filtratge de comandos per mode (editor, debug, global) - **Nou format per a assets.yaml:** ResourceList gestiona addAsset i removeAsset - Eliminats fitxers sobrants de frameworks - Arreglos en stats.cpp - Posat un poc d'ordre en els comandos de la consola ### Correccions - Fix: bug que feia que en l'editor, al canviar d'habitació el renderInfo tornara a eixir - Fix: faltava propietat mirror en els enemics - Fix: al fer clic es tanca la consola - Arreglat el càlcul dels minipíxels en els tiles amb transparent - Verificació que l'habitació de debug.yaml existisca --- ## [v1.12] - 2026-04-02 ### Novetats - **Color del jugador configurable:** es pot canviar des de la consola (persistent), amb comprovació automàtica per a evitar que coincidisca amb el color de fons - **Skins d'enemics per al jugador:** possibilitat d'utilitzar skins d'enemics en el jugador, amb canvi en calent en el marcador - **Indicador de trucs millorat:** ja no gasta el color del jugador, ara es mostra al marcador - **Shader presets per nom:** es pot establir un shader preset directament per nom des de la consola, amb autocompletat - **Comandos externs en consola:** la consola llig els comandos des d'un fitxer extern - **Gestió de paletes millorada:** - Noves paletes afegides - Restaurat l'ordre original de les paletes - Opció de reordenar paletes automàticament per luminositat o paregut a la paleta d'Spectrum - Noms "pretty" per a les paletes (canvia els `-` per ` `) - Eliminades responsabilitats d'`Options` sobre les paletes - Nova ferramenta en Python per a reordenar paletes - **Acceleració hardware configurable:** possibilitat de desactivar l'acceleració hardware des del fitxer de configuració; si no hi ha acceleració, es deshabiliten tecles i comandos de shaders - **Autocompletat millorat:** shader preset i palette autocompleten amb la llista de noms - Reestructuració de comandos de consola - Reestructuració de l'apartat de vídeo en `config.yaml` - Optimitzacions en `Surface` ### Correccions - Fix: entrar i eixir del mode debug manté l'estat previ del jugador - Corregit Makefile: migració completa a cmake, detecció automàtica de SO per a release --- ## [v1.11] - 2026-03-31 ### Novetats - **PaletteManager:** refactorització de `Screen`, responsabilitats de gestió de paletes extretes a classe pròpia - **Consola 2.1:** la consola pot canviar de paleta per nom (`Screen` torna llista de paletes) - **Zoom configurable:** `Screen` permet establir el nivell de zoom directament des de la consola - **Autocompletar en consola:** autocompletat de comandos amb Tab (incloent suport per a armadura de lagarto) - Generació automàtica de taula de tab-completions en la consola ### Correccions - Fix: al entrar a GAME amb la consola oberta, el jugador no tenia els inputs deshabilitats - Fix: al fer restart amb la música de l'attract mode sonant, la música no parava al anar al logo - Fix: en mode debug, protecció per a que el jugador no caiga infinitament si ix de la pantalla - Corregit el case en algunes respostes de la consola - Corregit Makefile --- ## [v1.10] - 2026-03-30 ### Novetats - **Consola 2.0:** redisseny complet de la consola de desenvolupador - Efecte typewriter al mostrar text - Separació de línies automàtica - Canvi de skin - Historial i navegació millorada - Comandos per a cheats, control d'escena, debug, àudio i shaders - Tecles de funció operatives amb la consola oberta - Límit de caràcters ampliat - La consola ja no pausa al jugador - Reorganització del sistema de comandos i aliases (`show info`, `hide info`, etc.) - **RenderInfo:** nova classe amb animació per a mostrar info de renderitzat en pantalla - **Suport multi-shader:** comandos i tecles per a manejar el nou disseny de shaders (SPIRV/SPIR-V) - **Mode kiosc:** defaults i restriccions de comandos per a mode kiosc - **Supersampling Lanczos:** implementació d'escalat Lanczos en el supersampling - **Driver GPU configurable:** permet triar driver de GPU o cap des de la consola - Cheats accessibles des de la consola - Canvi i reinici d'escena des de la consola - Posició i habitació inicial de debug configurables des de la consola i fitxer - `Debug` carrega posició i habitació inicial des de fitxer - Comandos d'àudio configurables des de la consola - Renderitzat del dispositiu GPU en info_debug - `Screen` optimitzat (`textureToRenderer()`) - Eliminat suport per a arguments de línia de comandos - Eliminat `Options::console` - Help de consola organitzat ### Correccions - Fix: vsync off no funcionava en Wayland - Fix: en TITLE, la consola no bloquejava la pulsació de l'1 al 4 i entrava a opcions - Fix: dos logs de consola amb format incorrecte - Fix: lògica per a obrir i entrar a la jail (ara gasta número d'habitació, no nom) - Corregit `compile_spirv.cmake` i la `system_folder` per a shaders - Corregit caràcter de caret que s'havia perdut - Eliminats accents en títols d'habitacions que causaven problemes amb fonts - Revisades i corregides traduccions - Corregits fitxers `.fnt` - Correcció en `Screen` per a `std::setprecision()` (faltava `#include `) --- ## [v1.09] - 2025-03-01 ### Novetats - **Refactorització a singletons:** `Screen`, `Input`, `Audio`, `Resource::Cache`, `Resource::List`, `Director`, `Cheevos`, `Debug` convertits a singletons thread-safe - **Smart pointers:** ús de `std::shared_ptr` i `std::unique_ptr` per a gestió de recursos i sprites - **Surfaces 8-bit indexades:** nou sistema de renderitzat amb color indexat i paletes intercanviables - **Sistema de notificacions redissenyat:** nou engine de notificacions amb control d'offset - **Modes de vídeo millorats:** la finestra manté posició al canviar tamany o activar borde; pot créixer segons l'escriptori - **ItemTracker:** nou singleton per a rastrejar ítems arreplegats - **globalEvents:** nou sistema d'events globals SDL - **Barra de progrés en càrrega de recursos** (actualització cada 5 ítems per a major rendiment amb vsync) - **Mètodes show/hide finestra:** mètodes per a mostrar o amagar la finestra - Afinada la classe `Options` - Actualitzada a l'última versió de `jail_audio` - Implementats shaders - Nova tipografia afegida - Paràmetres de fitxers `.ani` migrats a snake_case - Música de Title i attract mode restaurada - Eliminat sistema online complet ### Correccions - Fix: notificacions ja no embruten la pantalla de càrrega - Fix: no pintava l'efecte de càrrega del borde en `LoadingScreen` - Fix: bug amb el punter a `ScoreboardData` - Fix: càrrega d'opcions i recursos corregida - Eliminats accents problemàtics --- ## [v1.08] - 2024-02-22 ### Novetats - Possibilitat de saltar la pantalla de càrrega ja completada des del menú de títol - El `gamestate_title` pot començar en diferents estats - Pantalla de càrrega amb fade de paleta - GIF loader: dibuixat correcte de GIFs en pantalla - Afegida `paleta.cpp`/`.h` i `gif.c` ### Correccions - Corregit bug en el fade de paleta (el canal blau no es propagava) - Arreglada la separació entre el títol i el fade - Online deshabilitat per defecte al crear el fitxer de configuració - Temps de la pantalla de càrrega augmentat --- ## [v1.07] - 2022-12-02 ### Novetats - El nom de l'habitació es pinta a partir d'una textura - Afegit Batman a FEEL THE HEAT - Cel de la Jail actualitzat - Retocada la pantalla de títol - Sprite de PACO modificat - Nom de l'enemic diskette canviat a floppy - Canvis cosmètics en algunes habitacions (BE CAREFUL WITH THE FUSE reanomenat) - El color de fons de l'habitació es pinta en la textura del mapa - Optimitzacions en intro i title - Preparació per a compatibilitat amb consoles - Actualitzat `jail_audio` a l'última versió - Eliminats la major part d'accessos a `vector::at()` ### Correccions - Corregit bug: en la jail es rellenaven les vides mentre estava activa la pausa - Corregit memory leak en `texture.cpp` - Corregit bug en obertura de la Jail --- ## [v1.0] - 2022-11-13 Versió de llançament inicial. --- *El format d'este changelog seguix [Keep a Changelog](https://keepachangelog.com/).*