From 68be8e55ec1df801430125f2384b220ea755bb69 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Tue, 12 May 2026 20:58:30 +0200 Subject: [PATCH] feat(map): Map::light_level per sala des del YAML --- source/game/map/map.cpp | 5 +++++ source/game/map/map.hpp | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/source/game/map/map.cpp b/source/game/map/map.cpp index 798441b..36b6397 100644 --- a/source/game/map/map.cpp +++ b/source/game/map/map.cpp @@ -5,6 +5,7 @@ #include "core/resources/resource_helper.hpp" #include "external/fkyaml_node.hpp" +#include "utils/defaults.hpp" #include "utils/log.hpp" namespace { @@ -102,6 +103,10 @@ namespace Map { // canviarà el flag a true quan transiti a OPEN. door_open = false; + // Llum base de la sala. La clau és opcional a l'arrel del YAML; + // per defecte 1.0 (sala totalment il·luminada, comportament hui). + light_level = yaml.contains("light_level") ? yaml["light_level"].get_value() : Defaults::Lighting::ROOM_LIGHT_DEFAULT; + Log::info("Map", "geometria {}x{} sarcs {}x{} pitch {}x{} door_col {} des de {}", grid_cols, grid_rows, sarc_w, sarc_h, pitch_x, pitch_y, door_col, yaml_path); } diff --git a/source/game/map/map.hpp b/source/game/map/map.hpp index f04254e..7804086 100644 --- a/source/game/map/map.hpp +++ b/source/game/map/map.hpp @@ -50,6 +50,13 @@ namespace Map { inline int back_wall_h = 0; inline int side_wall_w = 0; + // Nivell d'il·luminació base de la sala. 1.0 = totalment il·luminada + // (com hui, sense efecte visual); 0.0 = completament negra fora del + // radi d'un emissor. La clau `light_level:` al YAML de la sala el + // sobreescriu — si manca, queda al default 1.0 i la pasada + // d'il·luminació del frame es salta com a no-op. + inline float light_level = 1.0F; + // Derivats de la geometria base: el pas entre sarcòfags ha de cabre // exactament el jugador, i el mateix passadís s'usa a l'exterior. inline int corridor_w = 0;