diff --git a/CHANGELOG.md b/CHANGELOG.md index 111fc86..8ae1f2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,170 +1,204 @@ # Changelog -All notable changes to JailDoctor's Dilemma are documented here. +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 -### Novedades -- **Color del jugador configurable:** se puede cambiar desde la consola (persistente), con comprobación automática para evitar que coincida con el color de fondo -- **Skins de enemigos para el jugador:** posibilidad de usar skins de enemigos en el jugador, con cambio en caliente en el marcador -- **Indicador de trucos mejorado:** ya no usa el color del jugador, ahora se muestra en el marcador -- **Shader presets por nombre:** se puede establecer un shader preset directamente por nombre desde la consola, con autocompletado -- **Comandos externos en consola:** la consola lee los comandos desde un fichero externo -- **Gestión de paletas mejorada:** - - Nuevas paletas añadidas - - Restaurado el orden original de las paletas - - Opción de reordenar paletas automáticamente por luminosidad o parecido a la paleta de Spectrum - - Nombres "pretty" para las paletas (cambia los `-` por ` `) - - Eliminadas responsabilidades de `Options` sobre las paletas - - Nueva herramienta en Python para reordenar paletas -- **Aceleración hardware configurable:** posibilidad de desactivar la aceleración hardware desde el fichero de configuración; si no hay aceleración, se deshabilitan teclas y comandos de shaders -- **Autocompletado mejorado:** shader preset y palette autocompletan con la lista de nombres -- Reestructuración de comandos de consola -- Reestructuración del apartado de vídeo en `config.yaml` -- Optimizaciones en `Surface` +### 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` -### Correcciones -- Fix: entrar y salir del modo debug mantiene el estado previo del jugador -- Corregido Makefile: migración completa a cmake, detección automática de SO para release +### 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 -### 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 +### 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 -### 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 +### 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 -### 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 +### 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 -### 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 `) +### 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 -### 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 +### 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 -### 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 +### 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 -### 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` +### 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` -### 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 +### 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 -### 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()` +### 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()` -### 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 +### 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ón de lanzamiento inicial. +Versió de llançament inicial. --- -*El formato de este changelog sigue [Keep a Changelog](https://keepachangelog.com/).* +*El format d'este changelog seguix [Keep a Changelog](https://keepachangelog.com/).*