75 lines
2.2 KiB
YAML
75 lines
2.2 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
|
||
|
||
# Spawns d'entitats per a aquest nivell. El carregador de Map ignora aquest
|
||
# bloc; només EntityLoader::readSpawns el consulta. Fase actual: andamiatge;
|
||
# encara no cablejat al GameScene, així que aquests spawns es llegiran com
|
||
# a dades però no instanciaran res al joc real fins que hi arribi la fase
|
||
# d'integració. `position` és [col, row] en la graella de sarcòfags
|
||
# (Map::grid_cols × Map::grid_rows) per a sarcòfags, o [col, row] en la
|
||
# graella de tiles de 16 px per a la resta (to be refinat).
|
||
entities: []
|