# Changelog

Tots els canvis de la reconstrucció moderna (C++/SDL3) d'**Aventures en Egipte**, des de l'inici del port fins a la v1.1.

## [1.1] — 2026-04-05

Versió que fa coincidir la numeració amb la del joc original del 2000.

### Afegit

#### Presentació i renderitzat
- Backend **SDL3GPU** amb shaders GLSL compilats a SPIR-V (`2c7b709`, `2a774f7`)
- Presets de shaders **PostFX** (CRT, NTSC, CURVED, SCANLINES, SUBTLE, CRT LIVE) i **CRT-Pi** (DEFAULT, CURVED, SHARP, MINIMAL) amb cicle i persistència (`eb3f449`, `d4fc7c0`)
- Control complet de finestra i imatge via tecles de funció F1–F10 (zoom, fullscreen, shaders, aspect ratio 4:3, supersampling, filtres, render info) (`abb2307`)
- VSync i integer scaling configurables (`22ee953`)
- `renderInfo` amb animacions i posicions (off → dalt → baix); correcció del jitter (`4238ae1`, `c0553c6`)
- Suport de framerates fins a 250 FPS al `Director` (`e7202c9`)

#### Overlay i UI
- Capa d'**overlay** que pinta directament sobre el buffer ARGB: notificacions amb slide-in, informació de render i text amb *outline* (`fe8e5d6`, `b707bdd`, `6a58f75`)
- Renderitzador de fonts bitmap (`.fnt` + `.gif`) amb suport UTF-8 i accents
- Primer menú in-game amb opcions d'àudio, vídeo i controls (`dbecd1e`, `6d42f84`)
- Animacions al menú (`5ac570d`)
- Confirmació de sortida amb doble ESC (`a4ee304`, `00f8d6d`)
- Pausa funcional (`91f88de`)
- Fitxer de locales amb textos centralitzats (`788a883`)
- Crèdits dels ports a l'overlay (`6a58f75`)

#### Input
- Capa `GlobalInputs` que intercepta tecles de funció abans que arriben al joc (`699989e`)
- Suport per a **gamepad** (`a328681`)
- Redefinició de tecles des del menú (`f8b60cb`)
- `Mouse` que amaga el cursor automàticament després de 3 segons d'inactivitat (`a4ee304`)
- Mètodes per ciclar presets i opcions amb ESC dins del joc sense tancar l'aplicació (`be4b624`)

#### Arquitectura
- Model de **threads estil emulador**: `Director` al fil principal a 60 FPS independent del fil del joc, amb doble buffer (`6342442`)

#### Persistència i configuració
- Sistema de configuració YAML amb **fkYAML** (`6a09d72`)
- Fitxers a `~/.config/jailgames/aee/`: `config.yaml`, `postfx.yaml`, `crtpi.yaml`
- Ajustats els valors per defecte (`0784cb1`)

#### Release i empaquetat
- Carpeta `release/` amb scripts `make release` (`c0553c6`, `75b6b6f`)
- Accés a la carpeta `data/` des del binari de release (`21bb22b`)
- Icones de l'aplicació (`df18a81`)
- Logo alternatiu opcional (`ec0f233`)

#### Documentació
- `CLAUDE.md` amb instruccions d'arquitectura per a l'assistent (`3aa6078`)
- `README.md` amb descripció, captures i controls (`8fc61de`)

### Canviat
- Netejada iterativa del codi (`08ba88e`, `baee62b`)
- Versió marcada com a **1.1** per a coincidir amb l'original (`486f00b`)

### Arreglat
- `renderInfo` no guardava el preset actual (`d4fc7c0`)
- Eixida neta quan la pausa estava activa (`00f8d6d`)
- Eliminats warnings del codi original tocant el mínim possible (`d598d4f`)
- Eliminats warnings addicionals (pragmas clang+gcc) (`9f37518`)
- El fitxer `gamecontrollerdb.txt` es copiava al release però no es carregava: ara `Gamepad::init()` crida `SDL_AddGamepadMappingsFromFile` per estendre la base de dades de mandos de SDL

---

[1.1]: https://gitea/aee/compare/9e0ab87...HEAD
