181 lines
7.0 KiB
YAML
181 lines
7.0 KiB
YAML
# Tema de la UI: índexs de paleta, timings, fonts i flags visuals. Tota
|
||
# clau absent cau al valor compilat a Defaults::UI (veure defaults.hpp).
|
||
|
||
colors:
|
||
render_info_text: 58
|
||
render_info_shadow: 16
|
||
canvas_bg: 72
|
||
notification_text: 232
|
||
notification_bg: 64
|
||
exit_text: 71
|
||
exit_bg: 2
|
||
menu_bg: 2
|
||
menu_border: 232
|
||
menu_title: 237
|
||
menu_label: 58
|
||
menu_value: 232
|
||
menu_cursor: 71
|
||
menu_disabled: 16
|
||
hud_bg: 9
|
||
hud_label: 58
|
||
hud_value: 187
|
||
hud_flash: 237
|
||
# Rètol de transició de sala (ROOM_INTRO i ROOM_OUTRO). Independents
|
||
# de notification_* perquè la fase i les notificacions són dos canals
|
||
# visuals distints: ací pots canviar el color del rètol sense tocar
|
||
# els missatges del HUD.
|
||
room_text: 160
|
||
room_text_outline: 253
|
||
|
||
timings:
|
||
notification_ms: 4000
|
||
exit_ms: 4000
|
||
|
||
fonts:
|
||
hud:
|
||
name: "8bithud"
|
||
gif: "data/fonts/8bithud.gif"
|
||
fnt: "data/fonts/8bithud.fnt"
|
||
kerning: 1
|
||
placeholder:
|
||
name: "ari-w9500-condensed-display"
|
||
gif: "data/fonts/ari-w9500-condensed-display.gif"
|
||
fnt: "data/fonts/ari-w9500-condensed-display.fnt"
|
||
kerning: 1
|
||
# Font del rètol de transició de sala (ROOM_INTRO i ROOM_OUTRO).
|
||
room_text:
|
||
name: "CaesarDressing-Regular"
|
||
gif: "data/fonts/CaesarDressing-Regular.gif"
|
||
fnt: "data/fonts/CaesarDressing-Regular.fnt"
|
||
kerning: 1
|
||
menu_title:
|
||
name: "ari-w9500-display"
|
||
gif: "data/fonts/ari-w9500-display.gif"
|
||
fnt: "data/fonts/ari-w9500-display.fnt"
|
||
kerning: 0
|
||
menu_items:
|
||
name: "ari-w9500-condensed-display"
|
||
gif: "data/fonts/ari-w9500-condensed-display.gif"
|
||
fnt: "data/fonts/ari-w9500-condensed-display.fnt"
|
||
kerning: 0
|
||
# Copyright de la TITLE: pixel-art estricte (Tiny5-Regular size 5,
|
||
# caixa 3×6 px) generat amb font-gen. Diferenciada de la `placeholder`
|
||
# que pinta el "press start" — així la jerarquia tipogràfica del peu
|
||
# queda neta.
|
||
copyright:
|
||
name: "Tiny5-Regular"
|
||
gif: "data/fonts/Tiny5-Regular.gif"
|
||
fnt: "data/fonts/Tiny5-Regular.fnt"
|
||
kerning: 1
|
||
|
||
hud:
|
||
bg_enabled: false
|
||
entry_ms: 800 # durada de l'animació d'entrada dels tres blocs
|
||
flash_ms: 250 # durada del flash quan un jugador rep un hit
|
||
shake_ms: 300 # durada del shake que acompanya el flash
|
||
|
||
# Geometria del popup superior (Notifier). En píxels del canvas, llevat de
|
||
# slide_ms (durada en ms de l'animació d'entrada i d'eixida; constant
|
||
# independentment de la mida de la caixa). El padding vertical és asimètric a
|
||
# propòsit: padding_top > padding_bottom puja una mica el text dins la caixa.
|
||
# Corbes disponibles: linear, outQuad, inQuad, inOutQuad, outCubic, inCubic.
|
||
notifier:
|
||
padding_h: 6
|
||
padding_top: 4
|
||
padding_bottom: 3
|
||
line_gap: 1
|
||
margin_top: 3
|
||
border_px: 1
|
||
slide_ms: 300
|
||
slide_in_curve: outCubic
|
||
slide_out_curve: inCubic
|
||
|
||
# Pausa graduada de la GameScene: el món no para d'un colp, s'atura amb
|
||
# easing i torna a arrancar amb una altra corba. Els timings es poden
|
||
# afinar independentment, i les corbes permeten estils diferents entrant
|
||
# i sortint (p.ex. frenar suau i arrancar seca). Corbes disponibles:
|
||
# linear, outQuad, inQuad, inOutQuad, outCubic, inCubic.
|
||
pause:
|
||
enter_ms: 400
|
||
exit_ms: 250
|
||
enter_curve: outCubic
|
||
exit_curve: inCubic
|
||
|
||
# Sons del menú de servei. Els fitxers viuen a data/sounds/. SELECT
|
||
# acompanya navegació (amunt/avall) i back; ACCEPT acompanya modificació
|
||
# d'opció (esquerra/dreta/retorn) o entrada a un submenú.
|
||
sounds:
|
||
menu_select: "menu_select.wav"
|
||
menu_accept: "menu_accept.wav"
|
||
# Disparat quan un jugador prem START a la TITLE (primera pulsació o
|
||
# la del segon jugador dins de la finestra de STARTING).
|
||
player_start: "player_start.wav"
|
||
|
||
# Escena TITLE (placeholder visual mentre no hi haja artwork).
|
||
# `bg_color` i `text_color` són índexs sobre la paleta "ui" (uzebox.pal):
|
||
# 1 = (36,0,0) gairebé negre amb un mínim de càlid; 31 = (255,109,0)
|
||
# taronja pur. `duration_ms` és el timeout abans de saltar a la
|
||
# següent escena (skipable amb tecla no reservada). Els dos
|
||
# `blink_*_ms` defineixen el cicle del prompt "press start": el text
|
||
# es veu durant `visible_ms` i s'amaga durant `hidden_ms` repetint-se.
|
||
title:
|
||
duration_ms: 30000
|
||
bg_color: 1
|
||
text_color: 31
|
||
# Color del text del © de copyright (peu de la TITLE). Off-white càlid:
|
||
# índex 183 = (255,218,170), tipus crema/peach, ~90% blanc amb tint càlid.
|
||
copyright_color: 183
|
||
# Color de l'outline del prompt "PRESS START". Marró fosc càlid (índex
|
||
# 19 = 109,72,0), coherent amb la paleta del logo. Es manté separat de
|
||
# `copyright_color` perquè l'outline i el text del © tenen rols visuals
|
||
# diferents (contrast vs. peu informatiu).
|
||
press_start_outline_color: 19
|
||
# Posicions Y dels tres elements verticals de la TITLE, en percentatge
|
||
# sobre l'alçada del canvas (240 px). El logo s'ancora pel seu top
|
||
# (la imatge cau cap avall des d'aquest Y); el prompt i el copyright
|
||
# es centren verticalment sobre la línia.
|
||
logo_y_percent: 15
|
||
prompt_y_percent: 68
|
||
copyright_y_percent: 92
|
||
# Separació vertical en píxels entre el minilogo i el text del © al peu.
|
||
mini_logo_gap_px: 2
|
||
blink_visible_ms: 800
|
||
blink_hidden_ms: 200
|
||
# Fase STARTING (entre la primera pulsació de START i el salt a la
|
||
# següent escena). `starting_ms` és la durada fixa; durant aquesta
|
||
# fase el parpadeig accelera per `starting_blink_speedup` (2.0 = doble
|
||
# de freqüència). Si l'altre jugador prem START dins d'aquesta
|
||
# finestra, el comptador es reseteja i s'arrenca amb BOTH.
|
||
starting_ms: 3000
|
||
# Durant STARTING el prompt commuta a un cicle simètric 50/50
|
||
# (visible/ocult) amb aquest període total. 200 ms = 5 Hz, prou
|
||
# ràpid per llegir-se com a "pulsació confirmada".
|
||
starting_blink_period_ms: 200
|
||
# Fade-out estil "mosaic dissolve" durant l'última part de STARTING.
|
||
# `fade_out_ms` ha de ser <= starting_ms (els últims X ms del STARTING
|
||
# es fan amb el dissolve actiu fins a quedar negre). `fade_out_max_block`
|
||
# és la mida màxima de bloc en píxels al final del fade.
|
||
fade_out_ms: 800
|
||
fade_out_max_block: 32
|
||
# Fade-out de `title.ogg` en entrar a STARTING. Independent del visual:
|
||
# la música pot acabar abans o després del mosaic dissolve.
|
||
music_fade_out_ms: 3000
|
||
# Fade-to-black per a la sortida d'attract (timeout cap a LOGO). NO és
|
||
# mosaic — capa negra lineal damunt del canvas. La música no es toca:
|
||
# `title.ogg` continua sonant cap a LOGO, que ja veurà què en fa.
|
||
attract_fade_to_black_ms: 800
|
||
# Fade-in inicial: capa negra al començament que s'esvaeix cap al fons.
|
||
# Mateix valor que `room_intro.fade_in_ms` (data/scenes/game.yaml) perquè
|
||
# l'arribada a la TITLE i a una sala de joc tinguin el mateix ritme.
|
||
intro_fade_in_ms: 500
|
||
# Distorsió sinusoidal del fons (efecte de calor del desert).
|
||
# `amplitude_px`: desplaçament màxim de cada fila en píxels.
|
||
# `wavelength_px`: distància vertical entre dos pics de l'ona.
|
||
# `speed_hz`: velocitat amb què avança la fase (cicles per segon).
|
||
# Si `enabled` és false, el fons es pinta sense distorsió.
|
||
heat_haze:
|
||
enabled: true
|
||
amplitude_px: 1.5
|
||
wavelength_px: 32.0
|
||
speed_hz: 0.6
|