refactor(defaults): centralitza init hud, tips, hit timer, line thickness i debug overlay
This commit is contained in:
1 parent
08100f60e8
commit
7139dea7f6
8 files changed
+111
-75
No files matched your search
@@ -10,9 +10,13 @@ namespace Defaults::Game {
|
||||
constexpr int HEIGHT = 720;
|
||||
|
||||
// Regles de partida
|
||||
constexpr int STARTING_LIVES = 3; // Initial lives
|
||||
constexpr float DEATH_DURATION = 3.0F; // Seconds of death animation
|
||||
constexpr float GAME_OVER_DURATION = 5.0F; // Seconds to display game over
|
||||
constexpr int STARTING_LIVES = 3; // Initial lives
|
||||
constexpr float DEATH_DURATION = 3.0F; // Seconds of death animation
|
||||
constexpr float GAME_OVER_DURATION = 5.0F; // Seconds to display game over
|
||||
|
||||
// Valores centinela del temporitzador de mort per-jugador.
|
||||
constexpr float HIT_TIMER_INACTIVE_PLAYER = 999.0F; // Jugador permanentment inactiu
|
||||
constexpr float HIT_TIMER_TRIGGER_DEATH = 0.001F; // Trigger inicial post-impacte (>0 sense disparar regla)
|
||||
constexpr float COLLISION_SHIP_ENEMY_AMPLIFIER = 0.80F; // 80% hitbox (generous)
|
||||
constexpr float COLLISION_BULLET_ENEMY_AMPLIFIER = 1.15F; // 115% hitbox (generous)
|
||||
|
||||
|
||||
@@ -10,4 +10,32 @@ namespace Defaults::Hud {
|
||||
constexpr float SCOREBOARD_TEXT_SCALE = 0.85F;
|
||||
constexpr float SCOREBOARD_TEXT_SPACING = 0.0F;
|
||||
|
||||
// Animación de entrada del HUD (init_hud_animator).
|
||||
namespace InitAnim {
|
||||
// Spawn vertical de la nave: 50 px bajo la PLAYAREA (sale desde fuera).
|
||||
constexpr float SHIP_SPAWN_Y_OFFSET = 50.0F;
|
||||
|
||||
// Bordes: ratios de las tres fases (top → laterales → bottom).
|
||||
constexpr float BORDER_PHASE_1_END = 0.33F; // Fin de la fase top
|
||||
constexpr float BORDER_PHASE_2_END = 0.66F; // Fin de la fase laterales
|
||||
} // namespace InitAnim
|
||||
|
||||
// Indicadores ("tips") sobre los enemigos enganchados a la nave.
|
||||
// Offset local al frame de la nave (apunta hacia delante, eje Y negativo).
|
||||
namespace Tips {
|
||||
constexpr float LOCAL_X = 0.0F;
|
||||
constexpr float LOCAL_Y = -12.0F;
|
||||
} // namespace Tips
|
||||
|
||||
// Overlay de debug (FPS, métriques) en coordenades lògiques (1280×720).
|
||||
namespace DebugOverlay {
|
||||
constexpr float X = 12.0F;
|
||||
constexpr float Y_FPS = 12.0F;
|
||||
constexpr float LINE_HEIGHT = 18.0F; // separació entre línies (scale 0.4 → ~16 px alt)
|
||||
constexpr float TEXT_SCALE = 0.4F;
|
||||
constexpr float TEXT_SPACING = 2.0F;
|
||||
constexpr float BRIGHTNESS = 1.0F;
|
||||
constexpr float FPS_UPDATE_INTERVAL = 0.5F; // Cadencia d'actualització del FPS visible
|
||||
} // namespace DebugOverlay
|
||||
|
||||
} // namespace Defaults::Hud
|
||||
@@ -26,6 +26,9 @@ namespace Defaults::Physics {
|
||||
constexpr float FACTOR_HERENCIA_MAX = 1.0F; // Màxim 100% del drotacio heredat
|
||||
constexpr float FRICCIO_ANGULAR = 0.5F; // Desacceleració angular (rad/s²)
|
||||
|
||||
// Velocity heredada de la nau a l'explosió (80% del feel original).
|
||||
constexpr float SHIP_VELOCITY_INHERITANCE = 0.8F;
|
||||
|
||||
// Angular velocity sin for trajectory inheritance
|
||||
// Excess above this threshold is converted to tangential linear velocity
|
||||
// Prevents "vortex trap" problem with high-rotation enemies
|
||||
|
||||
@@ -11,6 +11,10 @@ namespace Defaults::Rendering {
|
||||
constexpr int VSYNC_DEFAULT = 1; // 0=disabled, 1=enabled
|
||||
constexpr int ANTIALIAS_DEFAULT = 1; // 0=disabled, 1=enabled (AA geomètric a les línies)
|
||||
|
||||
// Grosor global per defecte de les línies. 1.5 dóna línia visible i crujent;
|
||||
// 1.0 es veu massa fi en pantalles grans. Configurable via setLineThickness.
|
||||
constexpr float LINE_THICKNESS_DEFAULT = 1.5F;
|
||||
|
||||
// Resolució del render target offscreen. El tamany lògic del joc roman a
|
||||
// 1280×720 (coordenades dels objectes); aquesta és la resolució física a
|
||||
// la qual es rasteritzen les línies abans de la composició final.
|
||||
|
||||
Reference in new issue
Block a user