-
v1.10 Stable
released this
2026-03-30 10:02:25 +02:00 | 0 commits to main since this releaseNovetats de la versió 1.10
Canvis majors
Migració a SDL3
El motor gràfic ha sigut completament migrat de SDL2 a SDL3. Això afecta el sistema de finestra, el renderitzador, la gestió d'àudio i els dispositius d'entrada. La migració ha requerit actualitzar totes les crides a l'API i adaptar els tipus de dades de
intafloaten la majoria dels sistemes de renderitzat.Sistema de renderitzat basat en Surfaces (CPU)
S'ha eliminat l'ús directe de
SDL_Textureper a la lògica del joc. Ara tot el renderitzat intermedi es fa sobre Surfaces en memòria de la CPU (Surface), la qual cosa ha permès:- Paletes de color intercambiables en temps real (256 colors indexats per paleta)
- Suport per a múltiples paletes predefinides (CRT, Spectrum, Sweetie-16, etc.)
- Recoloració per programari sense shaders
- Compatibilitat total amb el sistema de shaders
- Eliminada la classe
Texture
Nou sistema de shaders i efectes visuals
Reescrit completament el sistema de postprocessat:
- Eliminat el suport d'OpenGL clàssic
- Nous backends: Vulkan (Windows/Linux) i Metal (macOS)
- Compilació automàtica de shaders SPIR-V en temps de compilació
- Nous presets de shader: CRT, PostFX, subpixel, scanlines amb suport de subpixels
- Supersampling per GPU (Lanczos)
- Comandos de consola i teceles de funció per canviar i ajustar shaders
Migració a sistema basat en temps (time-based)
Tot el joc ha sigut migrat de frame-based a time-based (delta time), la qual cosa garanteix una experiència consistent independentment de la taxa de fotogrames:
Logo,LoadingScreen,Title,Game,GameOver,Ending,Ending2,CreditsPlayer,Enemy,Item,Scoreboard,Notifier- Totes les classes
Sprite - Velocitats d'enemics als fitxers
.roomexpressades en píxels per segon
Migració de formats de fitxer a YAML
Tots els formats de configuració i dades han sigut migrats a YAML:
Format antic Format nou .ani.yaml(animacions).room+.tmx.yamlunificatassets.txtassets.yamlconfig.txtconfig.yamlA més, la biblioteca yaml-cpp ha sigut substituïda per fkYAML, més lleugera i sense dependències externes.
Consola interactiva
S'ha implementat una consola de comandos accessible en temps real durant el joc i en el menú principal:
- Escriptura de comandos amb suport UTF-8
- Ajuda organitzada per categories
- Comandos disponibles:
- Joc: canviar d'habitació, activar/desactivar trucs en calent
- Vídeo: canviar upscale/downscale, driver de GPU, shader
- Àudio: ajustar volums de música i efectes
- Sistema: canviar escena, reiniciar, eixir
- Debug: activar mode debug, establir posició inicial
- Afegits cheats activables directament des de la consola
Traducció al valencià i sistema multiidioma
- Implementat sistema de localització multiidioma
- Traducció completa al valencià
- Per defecte, el joc s'inicia en valencià
- Revisió i correcció de traduccions
Mode quiosc
Nou mode pensat per a instal·lacions en exposicions o màquines arcade:
- Inicia directament en pantalla completa
- Ignora les tecles F1, F2 i F3 (zoom i pantalla completa)
- Per eixir cal la combinació
Ctrl+Alt+Shift+Q - Configurable des del fitxer de configuració
Redefinició de tecles i suport per a mandos
- Es poden redefinir totes les tecles des del menú d'opcions
- Suport complet per a joysticks i mandos (botons i eixos)
- Base de dades de mandos actualitzada (
gamecontrollerdb.txt)
Nova classe Audio
- Creada la classe
Audiocom a gestor centralitzat de l'àudio - Volums normalitzats a
floatentre 0.0 i 1.0 - Fade de música en transicions entre escenes
- Configurable des de la consola i des del fitxer de configuració
Refactorització de Room (5 fases)
La classe
Roomha sigut modularitzada completament en 5 fases:- Extracció de la gestió d'entitats
- Extracció del sistema de col·lisions
- Extracció del sistema de renderitzat del tilemap
- Extracció del sistema de parseig de fitxers
- Neteja final i optimitzacions
Millores i correccions
Efectes visuals
- Nou efecte PixelReveal als crèdits i a l'ending
- Nou sprite SurfaceDissolveSprite
- Endings amb fades correctes
- Animacions al Logo amb easing
Pantalla de càrrega
- Nova pantalla de càrrega amb efectes visuals (picos de soroll als silencis, visualització de la càrrega de headers)
Sistema de depuració
- Overlay de debug millorat
- Mostra el dispositiu de renderitzat en la informació de debug
- La posició i habitació inicials de debug es poden establir des d'un fitxer o des de la consola
- Eliminada la classe
Debugen les versions Release
Notificacions
- Estils diferenciats per a notificacions de sistema i de logros
- Control d'offset de les notificacions des de
RenderInfo - Durada configurable per a cada notificació
- Nou hud amb info del joc
Sistema d'assets
- Migrat
Assetsper a que els fitxers no estiguen escrits en dur al codi - Recursos empaquetats en
resources.pack - Compilació automàtica de shaders integrada en el sistema de build
Build i empaquetament
- Suport per a compilació de shaders (
compile_spirv.cmake) - Makefile actualitzat amb múltiples targets (help, release, etc.)
- Correccions per a Windows (final de línia, lectures de fitxers)
- Correccions per a Wayland/Linux (VSync,
initSDLVideo)
Correccions de bugs destacades
- Corregit bug que impedia entrar a la presó correctament (ara usa el número d'habitació, no el nom)
- Corregit el càlcul incorrecte de l'offset dels tiles mortals
- Corregit que al canviar de pantalla lateralment es resetejava l'altura de salt
- Corregides les conveyor belts d'algunes habitacions
- Corregit el mode invulnerable: ja no quedava marcat com mort en caure d'alçades grans
- Corregida la pantalla completa, escalat sencer i VSync
- Corregits els endings
Notes tècniques
- Eliminada tota la funcionalitat de
gamepad_config_manageri la dependència de JSON - Eliminat el suport per a arguments de línia de comandos
- Unificat el número de versió en un sol lloc
- Reorganitzada l'estructura de carpetes de
source/ - Nou icono vectoritzat
- Afegida font tipogràfica d'Aseprite
- Revisades i corregides les traduccions (eliminats accents en títols d'habitacions)
Downloads