205 lines
8.9 KiB
Markdown
205 lines
8.9 KiB
Markdown
# 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 <iomanip>`)
|
|
|
|
---
|
|
|
|
## [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/).*
|