feat(intro): font dedicada (CaesarDressing) i separació vertical entre línies

Nova font del rètol de transició de sala (ROOM_INTRO i ROOM_OUTRO):
CaesarDressing-Regular, vista com a fonts.room_text al data/ui.yaml i
exposada per UiConfig::roomTextFont(). Director la preloda al costat
de la del HUD i la del placeholder; GameScene construeix
room_text_font_ paral·lel a pause_font_ i renderRoomText l'usa per a
les dues línies de l'INTRO i el text de l'OUTRO. La pausa segueix
amb la font placeholder antiga — no es barregen.

Espai vertical configurable: nova clau room_intro.line_gap_px al
data/scenes/game.yaml (default 8 px). El gap es suma al lineHeight
natural del font i es reparteix simètricament cap amunt i cap avall
del CENTER_Y, deixant el bloc de dues línies sempre centrat. Es
poden afinar des del YAML sense recompilar.
This commit is contained in:
JailDesigner committed 2026-04-26 15:40:09 +02:00
1 parent f52e7f4682
commit af25a31639
11 files changed
+201 -17

No files matched your search

+9
View File
@@ -130,6 +130,15 @@ namespace Defaults {
constexpr const char* PLACEHOLDER_FNT = "data/fonts/ari-w9500-condensed-display.fnt";
constexpr int PLACEHOLDER_KERNING = 1;
// Text de transició de sala (ROOM_INTRO "Piràmide N / Sala M" i
// ROOM_OUTRO "Fase completada"). Font temàtica diferenciada de la
// del HUD i de la dels placeholders perquè el rètol de fase tinga
// pes visual propi. La pausa segueix amb la PLACEHOLDER.
constexpr const char* ROOM_TEXT_NAME = "CaesarDressing-Regular";
constexpr const char* ROOM_TEXT_GIF = "data/fonts/CaesarDressing-Regular.gif";
constexpr const char* ROOM_TEXT_FNT = "data/fonts/CaesarDressing-Regular.fnt";
constexpr int ROOM_TEXT_KERNING = 1;
// Menú de servei (F9): títol en display normal, items en la
// variant condensed-display (més compacta, perquè caben més
// files sense encongir la caixa). Kerning 0 a totes dues perquè