aa0abd9ae1
defaults.hpp tenia 527 línies amb 17 namespaces de dominis distints (Window, Game, Zones, Entities, Palette, Ship, Physics, Math, Brightness, Rendering, Audio, Music, Sound, Controls, Enemies, Title, FloatingScore). 22 .cpp/.hpp l'incloïen, així que tocar una constant forçava recompilar pràcticament tot. Es divideix en 15 subfitxers (un per namespace, fusionant Music/Sound a audio.hpp i unificant els dos blocs Game duplicats en un sol): defaults/window.hpp defaults/audio.hpp defaults/game.hpp defaults/controls.hpp defaults/zones.hpp defaults/enemies.hpp defaults/entities.hpp defaults/title.hpp defaults/palette.hpp defaults/floating_score.hpp defaults/ship.hpp defaults/math.hpp defaults/physics.hpp defaults/brightness.hpp defaults/rendering.hpp Cross-deps explícites (#include en lloc d'order-of-declaration): zones.hpp -> game.hpp (per Game::WIDTH/HEIGHT) enemies.hpp -> entities.hpp (per SHIP_RADIUS) title.hpp -> game.hpp, math.hpp + <cmath> defaults.hpp queda com a umbrella que inclou els 15 subfitxers. Els 22 includers existents no requereixen cap canvi. Codi nou pot incloure el subfitxer concret per millorar la compilació incremental. Hallazgos #22 i #30 de CODE_REVIEW.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
24 lines
1016 B
C++
24 lines
1016 B
C++
// brightness.hpp - Control d'intensitat per tipus d'entitat i starfield
|
|
// © 2026 JailDesigner
|
|
|
|
#pragma once
|
|
|
|
// La antigua oscilación CPU (namespace Color) se ha migrado al shader de
|
|
// postpro. Los parámetros de flicker / background pulse viven ahora en
|
|
// data/config/postfx.yaml y se aplican en shaders/postfx.frag.glsl.
|
|
|
|
namespace Defaults::Brightness {
|
|
|
|
// Brillantor estàtica per entidades de juego (0.0-1.0)
|
|
constexpr float NAU = 1.0F; // Màxima visibilitat (player)
|
|
constexpr float ENEMIC = 0.7F; // 30% més tènue (destaca menys)
|
|
constexpr float BALA = 1.0F; // Brillo a tope (màxima visibilitat)
|
|
|
|
// Starfield: gradient segons distancia al centro
|
|
// distancia_centre: 0.0 (centro) → 1.0 (vora pantalla)
|
|
// brightness = MIN + (MAX - MIN) * distancia_centre
|
|
constexpr float STARFIELD_MIN = 0.3F; // Estrelles llunyanes (prop del centro)
|
|
constexpr float STARFIELD_MAX = 0.8F; // Estrelles properes (vora pantalla)
|
|
|
|
} // namespace Defaults::Brightness
|