feat(postfx): debug HUD mostra PostFX, overrides persistents al ciclar, --postfx sense valor

- HUD (F1) afegeix línia PostFX: OFF o PostFX: <preset> [V:x.xx C:x.xx S:x.xx]
- applyPostFXPreset reaaplica overrides de CLI per preservar-los en ciclar amb X
- setPostFXParamOverrides guarda els valors en membres privats per persistència
- --postfx sense valor ja no dona error i utilitza complet (preset 3) per defecte

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-20 12:20:30 +01:00
parent d76c7f75a2
commit e3f29c864b
4 changed files with 64 additions and 3 deletions

View File

@@ -1053,6 +1053,9 @@ void Engine::applyPostFXPreset(int mode) {
postfx_uniforms_.vignette_strength = presets[mode][0];
postfx_uniforms_.chroma_strength = presets[mode][1];
postfx_uniforms_.scanline_strength = presets[mode][2];
// Reaplicar overrides de CLI si están activos
if (postfx_override_vignette_ >= 0.f) postfx_uniforms_.vignette_strength = postfx_override_vignette_;
if (postfx_override_chroma_ >= 0.f) postfx_uniforms_.chroma_strength = postfx_override_chroma_;
}
void Engine::handlePostFXCycle() {
@@ -1089,6 +1092,15 @@ void Engine::setInitialPostFX(int mode) {
applyPostFXPreset(mode);
}
void Engine::setPostFXParamOverrides(float vignette, float chroma) {
postfx_override_vignette_ = vignette;
postfx_override_chroma_ = chroma;
postfx_enabled_ = true;
// Aplicar inmediatamente sobre el preset activo
if (vignette >= 0.f) postfx_uniforms_.vignette_strength = vignette;
if (chroma >= 0.f) postfx_uniforms_.chroma_strength = chroma;
}
void Engine::toggleIntegerScaling() {
// Ciclar entre los 3 modos: INTEGER → LETTERBOX → STRETCH → INTEGER
switch (current_scaling_mode_) {