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

@@ -335,6 +335,23 @@ void UIManager::renderDebugHUD(const Engine* engine,
lines.push_back(logic_res_text);
lines.push_back(refresh_text);
lines.push_back(theme_text);
std::string postfx_text;
if (!engine->isPostFXEnabled()) {
postfx_text = "PostFX: OFF";
} else {
static constexpr const char* preset_names[4] = {
"Vinyeta", "Scanlines", "Cromatica", "Complet"
};
int mode = engine->getPostFXMode();
char buf[64];
SDL_snprintf(buf, sizeof(buf), "PostFX: %s [V:%.2f C:%.2f S:%.2f]",
preset_names[mode],
engine->getPostFXVignette(),
engine->getPostFXChroma(),
engine->getPostFXScanline());
postfx_text = buf;
}
lines.push_back(postfx_text);
lines.push_back(elapsed_text);
const Ball* first_ball = scene_manager->getFirstBall();