# 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 hud_bg: 9 hud_flash: 63 # 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. Comparteix la família del CENTER del HUD # (or sobre marró) perquè "Piràmide N / Sala N" sigui sempre daurat # arreu del joc. room_text: 55 # or brillant (#FFDA00, = hud_center.value) room_text_outline: 10 # marró cremat (#482400, = hud_center.shadow) # Tema actiu del menú de servei. Ha de coincidir amb una clau de # `menu_themes`; si manca o no existeix, cada slot cau al default # compilat a Defaults::UI (= tema "classic"). Canviar de tema requereix # reiniciar el joc — la càrrega de paleta es fa només en arrencar. menu_theme: egyptian # Conjunts de colors del menú de servei. Cada tema defineix els 7 slots # (sense prefix `menu_` perquè ja som dins del bloc del tema). Si manca # alguna clau dins d'un tema, cau al default compilat. Per afegir un # tema nou, només cal una nova entrada aquí i posar-ne el nom a # `menu_theme`. menu_themes: # Tema històric (defaults compilats). Cian + verd llima + magenta — # paleta arcade clàssica, freda i amb molt contrast. classic: bg: 2 # marró-vermell fosc (#480000) border: 232 # cian brillant (#00B6FF) title: 237 # lavanda (#B6B6FF) title_outline: 64 # navy fosc (#0000AA) — halo fred del títol label: 58 # verd llima (#48FF00) label_outline: 17 # verd molt fosc (#244800) — bord same-family del label value: 232 # cian brillant (#00B6FF) — coincideix amb el border value_outline: 64 # navy fosc (#0000AA) — halo cian cursor: 71 # magenta-vermell (#FF0055) cursor_outline: 1 # granat fosc (#240000) — halo càlid del cursor disabled: 16 # verd fosc (#004800) # Tema "egípci": família or/ambre/marró coherent amb el HUD i el # rètol de transició de sala (room_text). El bg comparteix to amb # `room_text_outline` i `hud_center.shadow` perquè el menú "creixi" # del mateix món visual que el joc. egyptian: bg: 10 # marró cremat (#482400) border: 55 # or brillant (#FFDA00) title: 127 # groc llimona viu (#FFFF55) title_outline: 19 # oliva fosc (#6D4800) — halo càlid del groc label: 47 # ambre (#FFB600) label_outline: 11 # marró (#6D2400) — bord càlid del label value: 191 # crema clar (#FFFFAA) value_outline: 19 # oliva fosc (#6D4800) — recolza el crema cursor: 23 # vermilló (#FF4800) cursor_outline: 9 # marró molt fosc (#240000) — halo profund del cursor disabled: 19 # oliva fosc (#6D4800) 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 # Parpadeig dels prompts inactius ("Polsa start..." / "Espera..."). Un # únic temporitzador global al Hud sincronitza P1 i P2 i no es reinicia # quan el text canvia entre CAN_JOIN i WAIT. cycle<=0 o ratio>=1 → # sempre visible (disable trivial). blink_cycle_ms: 1000 # durada del cicle complet blink_visible_ratio: 0.8 # proporció del cicle visible (0..1) # Famílies de color del HUD per bloc. Cada bloc té `label` (to apagat # per etiquetes), `value` (to viu per a la xifra) i `shadow` (to fosc # del mateix matís — efecte embossing 1 px a baix-dreta). Si manca un # camp, cau al default compilat a `Defaults::UI`. El `colors.hud_flash` # és comú a totes tres famílies. hud_p1: label: 7 # vermell pur value: 183 # crema-préssec shadow: 2 # vermell fosc hud_center: label: 29 # ambre cremat value: 55 # or brillant shadow: 10 # marró cremat hud_p2: label: 248 # cian pur value: 253 # blau pàl·lid shadow: 64 # blau marí # 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 # Sons del menú de servei. Els fitxers viuen a data/audio/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" # Soroll/scratch sincronitzat amb la fase SCAN de LogoScene (scanline # reveal). Es dispara al constructor de l'escena. logo_glitch: "glitch.wav"