feat(intro/outro): rètol centrat sobre el playfield i ajustos de timings/colors

This commit is contained in:
JailDesigner committed 2026-04-26 18:08:02 +02:00
1 parent 98303f7ce8
commit 0752df0f62
5 files changed
+15 -10

No files matched your search

+9 -4
View File
@@ -657,6 +657,11 @@ void GameScene::renderRoomText() {
// de les dues.
if (!room_text_font_) { return; }
// Centre vertical de la zona de joc (canvas sense la HUD). Reemplaça
// l'antic GameCanvas::CENTER_Y per descomptar la franja del marcador
// i tenir el rètol equilibrat sobre el playfield.
const int PLAY_CENTER_Y = (GameCanvas::HEIGHT + Map::hud_h) / 2;
constexpr int KERNING = 0;
constexpr Uint8 STROKE_DIST = 1;
// Colors del rètol via UiConfig — abans el contorn estava
@@ -725,8 +730,8 @@ void GameScene::renderRoomText() {
// sumem cap avall a la sala, mantenint el centre del bloc fix.
const int LINE_HEIGHT = room_text_font_->getLineHeight();
const int GAP = transition_config_.intro_text_line_gap_px;
const int Y_PYRAMID = GameCanvas::CENTER_Y - LINE_HEIGHT - (GAP / 2);
const int Y_ROOM = GameCanvas::CENTER_Y + (GAP / 2);
const int Y_PYRAMID = PLAY_CENTER_Y - LINE_HEIGHT - (GAP / 2);
const int Y_ROOM = PLAY_CENTER_Y + (GAP / 2);
draw_line(LINE_PYRAMID, X_PYRAMID, Y_PYRAMID);
draw_line(LINE_ROOM, X_ROOM, Y_ROOM);
} else if (state_ == RoomFsm::State::ROOM_OUTRO && transition_.phase >= 0 && transition_.phase <= 2) {
@@ -743,8 +748,8 @@ void GameScene::renderRoomText() {
const int X_2 = compute_x(W_2, 0, 2, DUR_ENTER, DUR_EXIT, /*from_right=*/true);
const int LINE_HEIGHT = room_text_font_->getLineHeight();
const int GAP = transition_config_.outro_text_line_gap_px;
const int Y_1 = GameCanvas::CENTER_Y - LINE_HEIGHT - (GAP / 2);
const int Y_2 = GameCanvas::CENTER_Y + (GAP / 2);
const int Y_1 = PLAY_CENTER_Y - LINE_HEIGHT - (GAP / 2);
const int Y_2 = PLAY_CENTER_Y + (GAP / 2);
draw_line(LINE_1, X_1, Y_1);
draw_line(LINE_2, X_2, Y_2);
}