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

B04-unnamed-building.md

assets/docs/buildings/B04-unnamed-building.md3.3 KB10064407f631f2e0
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
# B04 - Unnamed building

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

`OVERWORLD` tileset, **4 x 2 cells** (8 x 4 tiles of 8px, 64 x 32 px). Appears **12 times** in the game. Tile ids index `assets/generated/tilesets/overworld.png`, 16 per row.

Coordinates are 1-based and local to the building: cell x=1..4, y=1..2; tile column c=1..8, tile row r=1..4. No terrain padding is included - edge rows and columns that were pure ground have been trimmed.

## Symbol grid

```
          x1   x2   x3   x4 
      +-----+-----+-----+-----+
   y1 | A B | C C | C C | D E |
      | F G | H H | H H | I J |
      +-----+-----+-----+-----+
   y2 | K L | M N | O O | P Q |
      | R S | * T | S S | S U |
      +-----+-----+-----+-----+
```

## Same grid, raw tile ids

```
            x1       x2       x3       x4   
      +---------+---------+---------+---------+
   y1 |   5   6 |   7   7 |   7   7 |   8   9 |
      |  21  22 |  23  23 |  23  23 |  24  25 |
      +---------+---------+---------+---------+
   y2 |  37  38 |  11  12 |  10  10 |  40  41 |
      |  78  26 |  27  28 |  26  26 |  26  79 |
      +---------+---------+---------+---------+
```

As a 1-based Lua array, `rows[r][c]`:

```lua
local rows = {
  {   5,   6,   7,   7,   7,   7,   8,   9 },  -- r1
  {  21,  22,  23,  23,  23,  23,  24,  25 },  -- r2
  {  37,  38,  11,  12,  10,  10,  40,  41 },  -- r3
  {  78,  26,  27,  28,  26,  26,  26,  79 },  -- r4
}
```

## Legend

_Legend pending._

- `*` = tile 27, used 1x
- `A` = tile 5, used 1x
- `B` = tile 6, used 1x
- `C` = tile 7, used 4x
- `D` = tile 8, used 1x
- `E` = tile 9, used 1x
- `F` = tile 21, used 1x
- `G` = tile 22, used 1x
- `H` = tile 23, used 4x
- `I` = tile 24, used 1x
- `J` = tile 25, used 1x
- `K` = tile 37, used 1x
- `L` = tile 38, used 1x
- `M` = tile 11, used 1x
- `N` = tile 12, used 1x
- `O` = tile 10, used 2x
- `P` = tile 40, used 1x
- `Q` = tile 41, used 1x
- `R` = tile 78, used 1x
- `S` = tile 26, used 4x
- `T` = tile 28, used 1x
- `U` = tile 79, used 1x

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

## Collision

Cell walkability reads the **bottom-left 8px tile** of each cell (`src/world/Map.lua:6`):

```
    y1   SOLID  SOLID  SOLID  SOLID
    y2   SOLID  DOOR   SOLID  SOLID
```

Enterable cell: (2,2).

## Silhouette

154 of the 2048 px inside the box are ground outside the black outline, so the 64x32 box is **not** a solid rectangle - a pixel-perfect cutout has to follow the outline. Terrain pixels by tile row:

```
    r1   c1:48px, c2:16px, c7:16px, c8:48px
    r3   c1:5px, c8:5px
    r4   c1:8px, c8:8px
```

## Where it stands

| map | cell (x,y) | door | leads to |
| --- | --- | --- | --- |
| FUCHSIA_CITY | (10,26) | (11,27) | `FUCHSIA_BILLS_GRANDPAS_HOUSE` |
| LAVENDER_TOWN | (6,8) | (7,9) | `MR_FUJIS_HOUSE` |
| LAVENDER_TOWN | (2,12) | (3,13) | `LAVENDER_CUBONE_HOUSE` |
| LAVENDER_TOWN | (6,12) | (7,13) | `NAME_RATERS_HOUSE` |
| PEWTER_CITY | (28,12) | (29,13) | `PEWTER_NIDORAN_HOUSE` |
| PEWTER_CITY | (6,28) | (7,29) | `PEWTER_SPEECH_HOUSE` |
| ROUTE_12 | (10,76) | (11,77) | `ROUTE_12_SUPER_ROD_HOUSE` |
| ROUTE_16 | (6,4) | (7,5) | `ROUTE_16_FLY_HOUSE` |
| ROUTE_2 | (14,18) | (15,19) | `ROUTE_2_TRADE_HOUSE` |
| ROUTE_8 | (12,2) | (13,3) | `UNDERGROUND_PATH_ROUTE_8` |
| VIRIDIAN_CITY | (20,8) | (21,9) | `VIRIDIAN_NICKNAME_HOUSE` |
| VIRIDIAN_CITY | (20,14) | (21,15) | `VIRIDIAN_SCHOOL_HOUSE` |