DramaticShapeVoxelMod archival mirror · read-only
assets/docs/buildings/B19-unnamed-building.md

B19-unnamed-building.md

assets/docs/buildings/B19-unnamed-building.md11.9 KB10064418c98ac9eb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
# B19 - Unnamed building

![Unnamed building](img/B19_x4.png)

`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

![distinct tiles](img/B19_atlas.png)

## 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` |