El bloc `geometry:` de pyramid.yaml porta les 9 constants base (grid, sarc, pitch, HUD, murs); els derivats (corridor, board, origin, playfield) es recalculen al `Map::loadFrom()`. `constexpr` passa a `const` on calia i els membres estàtics adopten snake_case. Desbloqueja la iteració "pirámide a pirámide" sense recompilar.
66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
# Mapa de la piràmide: graella 21×15 de tiles 16×16 sobre tomb.gif.
|
||
# Overscan horitzontal: 8 px per banda (les parets laterals ocupen 2 tiles
|
||
# en el tilemap però només 1.5 visibles al canvas, així que la textura es
|
||
# dibuixa amb un origen de x=-8). Vertical no cal overscan: 15·16 = 240.
|
||
#
|
||
# Símbols del grid:
|
||
# W = paret (tile 99 del tileset, o (3,3) en 0-indexed)
|
||
# F = sòl (llista = un tile aleatori entre aquests per cada casella)
|
||
# . = cap tile (els sarcòfags seran actors, ací deixem transparent)
|
||
#
|
||
# Índexs lineals: els tiles van d'esquerra a dreta, de dalt a baix. Amb un
|
||
# tileset de 512×256 i tiles de 16×16 hi ha 32 tiles per fila.
|
||
|
||
tileset: data/tilesets/tomb.gif
|
||
tile_size: 16
|
||
origin: [-8, 0]
|
||
|
||
# Geometria lògica de la piràmide (separada del render visual del tileset).
|
||
# La graella de sarcòfags, el pitch entre ells i les amplades dels murs
|
||
# decideixen els límits del jugador i les seues caixes de col·lisió. Abans
|
||
# vivien com a `static constexpr` a map.hpp; ara cada piràmide pot definir
|
||
# la seua pròpia forma sense recompilar.
|
||
geometry:
|
||
grid_cols: 4
|
||
grid_rows: 5
|
||
sarc_w: 48
|
||
sarc_h: 16
|
||
pitch_x: 64
|
||
pitch_y: 32
|
||
hud_h: 24
|
||
back_wall_h: 24
|
||
side_wall_w: 24
|
||
|
||
legend:
|
||
W: 292
|
||
X: 169
|
||
Y: 1
|
||
Z: 202
|
||
T: 200
|
||
R: 262
|
||
G: 263
|
||
H: 230
|
||
I: 231
|
||
J: 233
|
||
A: 2
|
||
B: 34
|
||
C: 33
|
||
D: 32
|
||
|
||
data: |
|
||
YYYYYYYYYYYYYYYYYYYYY
|
||
YHJJJJJJJJJJJJJJJJJIY
|
||
YZWWWWWWWWWWWWWWWWWTY
|
||
YZDDADDBBDDADDDDBDDTY
|
||
YZD...D...D...B...DTY
|
||
YZDDDCCDDDDDADDDBDDTY
|
||
YZD...D...A...D...DTY
|
||
YZDDCCDDDDDADDBDDDDTY
|
||
YZD...D...D...D...DTY
|
||
YZDDDDCCDDDDADDDDDDTY
|
||
YZD...D...D...D...DTY
|
||
YZDDDABDDDDADCDDBDDTY
|
||
YZD...D...D...D...DTY
|
||
YZDDBBDDADDDBCDDDDDTY
|
||
YRXXXXXXXXXXXXXXXXXGY
|