136 lines
12 KiB
Markdown
136 lines
12 KiB
Markdown
# B19 - Unnamed building
|
|
|
|

|
|
|
|
`PLATEAU` tileset, **20 x 5 cells** (40 x 10 tiles of 8px, 320 x 80 px). Appears **1 time** in the game. Tile ids index `assets/generated/tilesets/plateau.png`, 16 per row.
|
|
|
|
Coordinates are 1-based and local to the building: cell x=1..20, y=1..5; tile column c=1..40, tile row r=1..10. No terrain padding is included - edge rows and columns that were pure ground have been trimmed.
|
|
|
|
## Symbol grid
|
|
|
|
```
|
|
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
y1 | A B | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | C C | A B |
|
|
| D E | F F | F F | F F | F F | F F | G H | C C | C C | C C | C C | C C | C C | G H | F F | F F | F F | F F | F F | D E |
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
y2 | I J | K K | K K | K K | I J | K K | L M | C C | C C | C C | C C | C C | C C | L M | K K | I J | K K | K K | K K | I J |
|
|
| N O | K K | K K | K K | N O | K K | L M | C C | C C | C C | C C | C C | C C | L M | K K | N O | K K | K K | K K | N O |
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
y3 | N O | K K | K K | K K | N O | K K | A B | C C | C C | C C | C C | C C | C C | A B | K K | N O | K K | K K | K K | N O |
|
|
| I J | P P | P P | P P | I J | P P | D E | F F | F F | F F | F F | F F | F F | D E | P P | I J | P P | P P | P P | I J |
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
y4 | Q Q | Q Q | Q Q | Q Q | Q Q | Q Q | I J | K K | K K | K K | K K | K K | K K | I J | Q Q | Q Q | Q Q | Q Q | Q Q | Q Q |
|
|
| R Q | Q Q | R Q | Q Q | R Q | Q Q | N O | K K | K K | K K | K K | K K | K K | N O | R Q | Q Q | R Q | Q Q | R Q | Q Q |
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
y5 | Q Q | Q Q | Q Q | Q Q | Q Q | Q Q | N O | K K | K K | S T | S T | K K | K K | N O | Q Q | Q Q | Q Q | Q Q | Q Q | Q Q |
|
|
| Q Q | R Q | Q Q | R Q | Q Q | R Q | I J | P P | P P | * U | * U | P P | P P | I J | Q Q | R Q | Q Q | R Q | Q Q | R Q |
|
|
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
```
|
|
|
|
## Same grid, raw tile ids
|
|
|
|
```
|
|
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
|
|
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|
|
y1 | 37 38 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 37 38 |
|
|
| 40 41 | 13 13 | 13 13 | 13 13 | 13 13 | 13 13 | 32 33 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 32 33 | 13 13 | 13 13 | 13 13 | 13 13 | 13 13 | 40 41 |
|
|
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|
|
y2 | 21 22 | 15 15 | 15 15 | 15 15 | 21 22 | 15 15 | 46 47 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 46 47 | 15 15 | 21 22 | 15 15 | 15 15 | 15 15 | 21 22 |
|
|
| 5 6 | 15 15 | 15 15 | 15 15 | 5 6 | 15 15 | 46 47 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 46 47 | 15 15 | 5 6 | 15 15 | 15 15 | 15 15 | 5 6 |
|
|
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|
|
y3 | 5 6 | 15 15 | 15 15 | 15 15 | 5 6 | 15 15 | 37 38 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 3 3 | 37 38 | 15 15 | 5 6 | 15 15 | 15 15 | 15 15 | 5 6 |
|
|
| 21 22 | 14 14 | 14 14 | 14 14 | 21 22 | 14 14 | 40 41 | 13 13 | 13 13 | 13 13 | 13 13 | 13 13 | 13 13 | 40 41 | 14 14 | 21 22 | 14 14 | 14 14 | 14 14 | 21 22 |
|
|
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|
|
y4 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 | 21 22 | 15 15 | 15 15 | 15 15 | 15 15 | 15 15 | 15 15 | 21 22 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 |
|
|
| 45 35 | 35 35 | 45 35 | 35 35 | 45 35 | 35 35 | 5 6 | 15 15 | 15 15 | 15 15 | 15 15 | 15 15 | 15 15 | 5 6 | 45 35 | 35 35 | 45 35 | 35 35 | 45 35 | 35 35 |
|
|
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|
|
y5 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 | 5 6 | 15 15 | 15 15 | 11 12 | 11 12 | 15 15 | 15 15 | 5 6 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 | 35 35 |
|
|
| 35 35 | 45 35 | 35 35 | 45 35 | 35 35 | 45 35 | 21 22 | 14 14 | 14 14 | 27 28 | 27 28 | 14 14 | 14 14 | 21 22 | 35 35 | 45 35 | 35 35 | 45 35 | 35 35 | 45 35 |
|
|
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|
|
```
|
|
|
|
As a 1-based Lua array, `rows[r][c]`:
|
|
|
|
```lua
|
|
local rows = {
|
|
{ 37, 38, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 37, 38 }, -- r1
|
|
{ 40, 41, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 32, 33, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 32, 33, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 40, 41 }, -- r2
|
|
{ 21, 22, 15, 15, 15, 15, 15, 15, 21, 22, 15, 15, 46, 47, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 46, 47, 15, 15, 21, 22, 15, 15, 15, 15, 15, 15, 21, 22 }, -- r3
|
|
{ 5, 6, 15, 15, 15, 15, 15, 15, 5, 6, 15, 15, 46, 47, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 46, 47, 15, 15, 5, 6, 15, 15, 15, 15, 15, 15, 5, 6 }, -- r4
|
|
{ 5, 6, 15, 15, 15, 15, 15, 15, 5, 6, 15, 15, 37, 38, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 37, 38, 15, 15, 5, 6, 15, 15, 15, 15, 15, 15, 5, 6 }, -- r5
|
|
{ 21, 22, 14, 14, 14, 14, 14, 14, 21, 22, 14, 14, 40, 41, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 40, 41, 14, 14, 21, 22, 14, 14, 14, 14, 14, 14, 21, 22 }, -- r6
|
|
{ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 21, 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 22, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 }, -- r7
|
|
{ 45, 35, 35, 35, 45, 35, 35, 35, 45, 35, 35, 35, 5, 6, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 5, 6, 45, 35, 35, 35, 45, 35, 35, 35, 45, 35, 35, 35 }, -- r8
|
|
{ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 5, 6, 15, 15, 15, 15, 11, 12, 11, 12, 15, 15, 15, 15, 5, 6, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35 }, -- r9
|
|
{ 35, 35, 45, 35, 35, 35, 45, 35, 35, 35, 45, 35, 21, 22, 14, 14, 14, 14, 27, 28, 27, 28, 14, 14, 14, 14, 21, 22, 35, 35, 45, 35, 35, 35, 45, 35, 35, 35, 45, 35 }, -- r10
|
|
}
|
|
```
|
|
|
|
## Legend
|
|
|
|
_Legend pending._
|
|
|
|
- `*` = tile 27, used 2x
|
|
- `A` = tile 37, used 4x
|
|
- `B` = tile 38, used 4x
|
|
- `C` = tile 3, used 84x
|
|
- `D` = tile 40, used 4x
|
|
- `E` = tile 41, used 4x
|
|
- `F` = tile 13, used 32x
|
|
- `G` = tile 32, used 2x
|
|
- `H` = tile 33, used 2x
|
|
- `I` = tile 21, used 12x
|
|
- `J` = tile 22, used 12x
|
|
- `K` = tile 15, used 80x
|
|
- `L` = tile 46, used 4x
|
|
- `M` = tile 47, used 4x
|
|
- `N` = tile 5, used 12x
|
|
- `O` = tile 6, used 12x
|
|
- `P` = tile 14, used 24x
|
|
- `Q` = tile 35, used 84x
|
|
- `R` = tile 45, used 12x
|
|
- `S` = tile 11, used 2x
|
|
- `T` = tile 12, used 2x
|
|
- `U` = tile 28, used 2x
|
|
|
|

|
|
|
|
## Collision
|
|
|
|
Cell walkability reads the **bottom-left 8px tile** of each cell (`src/world/Map.lua:6`):
|
|
|
|
```
|
|
y1 SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID
|
|
y2 SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID
|
|
y3 SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID
|
|
y4 DOOR DOOR DOOR DOOR DOOR DOOR SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID DOOR DOOR DOOR DOOR DOOR DOOR
|
|
y5 DOOR DOOR DOOR DOOR DOOR DOOR SOLID SOLID SOLID DOOR DOOR SOLID SOLID SOLID DOOR DOOR DOOR DOOR DOOR DOOR
|
|
```
|
|
|
|
Enterable cells: (1,4), (2,4), (3,4), (4,4), (5,4), (6,4), (15,4), (16,4), (17,4), (18,4), (19,4), (20,4), (1,5), (2,5), (3,5), (4,5), (5,5), (6,5), (10,5), (11,5), (15,5), (16,5), (17,5), (18,5), (19,5), (20,5).
|
|
|
|
## Silhouette
|
|
|
|
1621 of the 25600 px inside the box are ground outside the black outline, so the 320x80 box is **not** a solid rectangle - a pixel-perfect cutout has to follow the outline. Terrain pixels by tile row:
|
|
|
|
```
|
|
r1 c1:14px, c2:14px, c3:4px, c4:4px, c5:4px, c6:4px, c7:4px, c8:4px, c9:4px, c10:4px, c11:4px, c12:4px, c13:4px, c14:4px, c15:4px, c16:4px, c17:4px, c18:4px, c19:4px, c20:4px, c21:4px, c22:4px, c23:4px, c24:4px, c25:4px, c26:4px, c27:4px, c28:4px, c29:4px, c30:4px, c31:4px, c32:4px, c33:4px, c34:4px, c35:4px, c36:4px, c37:4px, c38:4px, c39:14px, c40:14px
|
|
r2 c1:10px, c2:10px, c3:16px, c4:16px, c5:16px, c6:16px, c7:16px, c8:16px, c9:16px, c10:16px, c11:16px, c12:16px, c13:15px, c14:15px, c15:1px, c27:15px, c28:15px, c29:16px, c30:16px, c31:16px, c32:16px, c33:16px, c34:16px, c35:16px, c36:16px, c37:16px, c38:16px, c39:10px, c40:10px
|
|
r3 c1:10px, c2:10px, c9:10px, c10:10px, c13:8px, c14:8px, c15:1px, c27:8px, c28:8px, c31:10px, c32:10px, c39:10px, c40:10px
|
|
r4 c1:8px, c2:8px, c9:8px, c10:8px, c13:8px, c14:8px, c15:1px, c27:8px, c28:8px, c31:8px, c32:8px, c39:8px, c40:8px
|
|
r5 c1:8px, c2:8px, c9:8px, c10:8px, c13:13px, c14:13px, c15:1px, c27:13px, c28:13px, c31:8px, c32:8px, c39:8px, c40:8px
|
|
r6 c1:10px, c2:10px, c3:9px, c4:8px, c5:8px, c6:8px, c7:8px, c8:8px, c9:10px, c10:10px, c11:9px, c12:8px, c13:10px, c14:10px, c15:16px, c16:16px, c17:16px, c18:16px, c19:16px, c20:16px, c21:16px, c22:16px, c23:16px, c24:16px, c25:16px, c26:16px, c27:10px, c28:10px, c29:9px, c30:8px, c31:10px, c32:10px, c33:9px, c34:8px, c35:8px, c36:8px, c37:8px, c38:8px, c39:10px, c40:10px
|
|
r7 c13:10px, c14:10px, c27:10px, c28:10px
|
|
r8 c13:8px, c14:8px, c27:8px, c28:8px
|
|
r9 c13:8px, c14:8px, c27:8px, c28:8px
|
|
r10 c13:15px, c14:15px, c15:9px, c16:8px, c17:8px, c18:8px, c23:8px, c24:8px, c25:8px, c26:8px, c27:15px, c28:15px
|
|
```
|
|
|
|
## Where it stands
|
|
|
|
| map | cell (x,y) | door | leads to |
|
|
| --- | --- | --- | --- |
|
|
| INDIGO_PLATEAU | (0,1) | (9,5) | `INDIGO_PLATEAU_LOBBY` |
|
|
| INDIGO_PLATEAU | (0,1) | (10,5) | `INDIGO_PLATEAU_LOBBY` |
|