B32-unnamed-building.md
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# B32 - Unnamed building  `SHIP_PORT` tileset, **8 x 3 cells** (16 x 6 tiles of 8px, 128 x 48 px). Appears **1 time** in the game. Tile ids index `assets/generated/tilesets/ship_port.png`, 16 per row. Coordinates are 1-based and local to the building: cell x=1..8, y=1..3; tile column c=1..16, tile row r=1..6. 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 +-----+-----+-----+-----+-----+-----+-----+-----+ y1 | A A | B C | D E | F G | H H | I I | J K | L M | | N O | P Q | R S | T U | V W | V W | X Y | Z a | +-----+-----+-----+-----+-----+-----+-----+-----+ y2 | b c | d e | f g | h i | j k | j k | l m | n o | | p c | d q | r s | t u | v w | v w | x y | x o | +-----+-----+-----+-----+-----+-----+-----+-----+ y3 | z 0 | 1 2 | 3 4 | 4 4 | 4 4 | 4 4 | 4 5 | 6 7 | | A 8 | 9 ! | # # | # # | # # | # # | # $ | % & | +-----+-----+-----+-----+-----+-----+-----+-----+ ``` ## Same grid, raw tile ids ``` x1 x2 x3 x4 x5 x6 x7 x8 +---------+---------+---------+---------+---------+---------+---------+---------+ y1 | 20 20 | 2 3 | 4 5 | 6 7 | 9 9 | 11 11 | 12 13 | 14 15 | | 16 17 | 18 19 | 0 21 | 22 23 | 24 25 | 24 25 | 28 29 | 30 31 | +---------+---------+---------+---------+---------+---------+---------+---------+ y2 | 32 33 | 34 35 | 36 37 | 38 39 | 40 41 | 40 41 | 44 45 | 46 47 | | 48 33 | 34 51 | 52 53 | 54 55 | 56 57 | 56 57 | 62 61 | 62 47 | +---------+---------+---------+---------+---------+---------+---------+---------+ y3 | 64 65 | 66 67 | 68 69 | 69 69 | 69 69 | 69 69 | 69 77 | 78 79 | | 20 81 | 82 83 | 85 85 | 85 85 | 85 85 | 85 85 | 85 93 | 90 91 | +---------+---------+---------+---------+---------+---------+---------+---------+ ``` As a 1-based Lua array, `rows[r][c]`: ```lua local rows = { { 20, 20, 2, 3, 4, 5, 6, 7, 9, 9, 11, 11, 12, 13, 14, 15 }, -- r1 { 16, 17, 18, 19, 0, 21, 22, 23, 24, 25, 24, 25, 28, 29, 30, 31 }, -- r2 { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 40, 41, 44, 45, 46, 47 }, -- r3 { 48, 33, 34, 51, 52, 53, 54, 55, 56, 57, 56, 57, 62, 61, 62, 47 }, -- r4 { 64, 65, 66, 67, 68, 69, 69, 69, 69, 69, 69, 69, 69, 77, 78, 79 }, -- r5 { 20, 81, 82, 83, 85, 85, 85, 85, 85, 85, 85, 85, 85, 93, 90, 91 }, -- r6 } ``` ## Legend _Legend pending._ - `!` = tile 83, used 1x - `#` = tile 85, used 9x - `$` = tile 93, used 1x - `%` = tile 90, used 1x - `&` = tile 91, used 1x - `0` = tile 65, used 1x - `1` = tile 66, used 1x - `2` = tile 67, used 1x - `3` = tile 68, used 1x - `4` = tile 69, used 8x - `5` = tile 77, used 1x - `6` = tile 78, used 1x - `7` = tile 79, used 1x - `8` = tile 81, used 1x - `9` = tile 82, used 1x - `A` = tile 20, used 3x - `B` = tile 2, used 1x - `C` = tile 3, used 1x - `D` = tile 4, used 1x - `E` = tile 5, used 1x - `F` = tile 6, used 1x - `G` = tile 7, used 1x - `H` = tile 9, used 2x - `I` = tile 11, used 2x - `J` = tile 12, used 1x - `K` = tile 13, used 1x - `L` = tile 14, used 1x - `M` = tile 15, used 1x - `N` = tile 16, used 1x - `O` = tile 17, used 1x - `P` = tile 18, used 1x - `Q` = tile 19, used 1x - `R` = tile 0, used 1x - `S` = tile 21, used 1x - `T` = tile 22, used 1x - `U` = tile 23, used 1x - `V` = tile 24, used 2x - `W` = tile 25, used 2x - `X` = tile 28, used 1x - `Y` = tile 29, used 1x - `Z` = tile 30, used 1x - `a` = tile 31, used 1x - `b` = tile 32, used 1x - `c` = tile 33, used 2x - `d` = tile 34, used 2x - `e` = tile 35, used 1x - `f` = tile 36, used 1x - `g` = tile 37, used 1x - `h` = tile 38, used 1x - `i` = tile 39, used 1x - `j` = tile 40, used 2x - `k` = tile 41, used 2x - `l` = tile 44, used 1x - `m` = tile 45, used 1x - `n` = tile 46, used 1x - `o` = tile 47, used 2x - `p` = tile 48, used 1x - `q` = tile 51, used 1x - `r` = tile 52, used 1x - `s` = tile 53, used 1x - `t` = tile 54, used 1x - `u` = tile 55, used 1x - `v` = tile 56, used 2x - `w` = tile 57, used 2x - `x` = tile 62, used 2x - `y` = tile 61, used 1x - `z` = tile 64, used 1x  ## 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 y2 SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID y3 SOLID SOLID SOLID SOLID SOLID SOLID SOLID SOLID ``` Every cell is solid - this building has no door of its own. ## Silhouette 315 of the 6144 px inside the box are ground outside the black outline, so the 128x48 box is **not** a solid rectangle - a pixel-perfect cutout has to follow the outline. Terrain pixels by tile row: ``` r1 c1:22px, c2:20px, c3:20px, c4:19px, c5:13px, c6:3px, c8:4px, c11:9px, c12:9px, c13:11px, c14:18px, c15:18px, c16:22px r2 c1:20px, c2:8px, c16:4px r3 c1:5px r5 c1:16px, c16:2px r6 c1:25px, c2:23px, c3:6px, c4:1px, c16:17px ``` ## Where it stands | map | cell (x,y) | door | leads to | | --- | --- | --- | --- | | VERMILION_DOCK | (10,3) | - | scenery, no entrance |