Revert "skins: SkinManager + hot-swap (F7), classic/nes a data/skins/"

This reverts commit ebfcad6f22.
This commit is contained in:
2026-05-18 16:39:59 +02:00
parent ebfcad6f22
commit a8c0386355
125 changed files with 76 additions and 962 deletions
+2 -7
View File
@@ -84,19 +84,14 @@ Pipeline SDL3 GPU portat de `coffee_crisis_arcade_edition`. El canvas 256×192 e
- `videoGpuPreferredDriver` (string, buit = auto)
- `videoShaderEnabled` (bool)
- `videoShaderType` (0=POSTFX, 1=CRTPI)
- **Hotkeys** (provisionals fins que hi hagi menú d'opcions): `F4` activa/desactiva post-procesado · `F5` alterna POSTFX ↔ CRTPI (només si està actiu) · `F6` següent preset (només si està actiu) · `F7` següent skin. No hi ha tecla per a preset anterior.
- **Hotkeys** (provisionals fins que hi hagi menú d'opcions): `F4` activa/desactiva post-procesado · `F5` alterna POSTFX ↔ CRTPI (només si està actiu) · `F6` següent preset (només si està actiu). No hi ha tecla per a preset anterior.
- **API** a `Screen`: `setGpuAcceleration`/`toggleGpuAcceleration`/`isGpuAccelerated`, `setShaderEnabled`/`toggleShaderEnabled`/`isShaderEnabled`, `setActiveShader`/`toggleActiveShader`/`getActiveShader`.
Presets PostFX/CrtPi i cicle de presets encara **no** estan implementats — arribaran amb la migració a YAML. Per ara, valors per defecte hardcoded.
### Skins
Els gràfics viuen sota `data/skins/<id>/gfx/`. Cada skin té un `skin.yaml` (id, display_name, gfx_dir). `SkinManager` (`core/resources/skin_manager.*`) escaneja manifests al boot, recorda l'skin activa (`Options::settings.skin`) i composa paths per a `Asset::addSkinAware()`. El canvi en calent (F7) és lliure: `Resource::reloadForSkin()` recorre el cache de Texture* i .ani fent `reLoadFromPath`/re-parse, mantenint stable pointer identity perquè els Sprites no s'invaliden. Les skins han de mantenir paritat de basenames i dimensions (recoloreds purs). De moment només es varia el contingut gràfic; logo, fades i altres comportaments són comuns.
## Data Directory
- `data/skins/<id>/gfx/` — PNG spritesheets and `.ani` animation definition files per skin (`classic`, `nes`, ...)
- `data/skins/<id>/skin.yaml` — manifest de la skin (id, display_name, gfx_dir)
- `data/gfx/` — PNG spritesheets and `.ani` animation definition files
- `data/font/` — bitmap font files
- `data/music/` and `data/sound/` — audio assets
- `data/lang/` — language files (es_ES, ba_BA, en_UK)