Notations and some important data structures used in Habbo Hotel
Nota
Este documento é uma tradução do original. Caso observe inconsistências em relação ao conteúdo do jogo neste idioma, por favor, nos avise para que possamos corrigir a localização.
Habbo Group Badge Notation (HGBN) v1 é um padrão para notação baseada em texto projetado para representar emblemas de grupos dentro do ecossistema Habbo. O HGBN codifica dados estruturados de emblemas como uma única string composta por múltiplos segmentos de seis caracteres. Cada segmento define uma imagem base ou um símbolo sobreposto, incluindo dados sobre o ID do recurso, cor de tonalidade e sua posição em uma grade 3×3.
Embora o HGBN v1 reflita a definição atual de design de emblemas, ele não é um formato oficial mantido pela Sulake, e atualizações ou extensões futuras podem não ser adotadas pela empresa.
Esta especificação existe para formalizar e documentar como o Habbo Hotel processa componentes de emblemas de grupo. Ela é:
O HGBN não é um padrão mantido pela Sulake, e suas extensões futuras PODEM NÃO ser refletidas na implementação do jogo.
O HGBN v1 é uma representação textual de símbolos em camadas projetada para:
Este documento é destinado a desenvolvedores, pesquisadores, arquivistas e entusiastas envolvidos na comunidade do Habbo Hotel, especialmente aqueles que trabalham com ferramentas para emblemas de grupo do Habbo. Também serve como uma referência comum para compreender, implementar e manipular a notação Habbo Group Badge Notation (HGBN), podendo ser usada em tarefas como desenvolvimento de softwares interoperáveis, emuladores e documentação para projetos criados por fãs. O público-alvo também inclui cientistas de dados que possam utilizar essa notação em pesquisas ou análises relacionadas a imagens. Familiaridade com conceitos básicos de programação, manipulação de strings e manipulação de imagens é recomendada, mas não obrigatória.
O HGBN v1.1 define a estrutura atualmente conhecida de como os designs de emblemas de grupo são armazenados, com base na implementação original no Habbo Hotel.
O HGBN é mantido pela comunidade. Embora sejam feitos esforços para garantir a precisão, a Sulake pode alterar o formato a qualquer momento. Extensões futuras buscarão preservar a compatibilidade retroativa sempre que possível.
As palavras-chave “DEVE”, “NÃO DEVE”, “OBRIGATÓRIO”, “DEVERÁ”, “DEVERÁ NÃO”, “RECOMENDADO”, “PODE” e “OPCIONAL” neste documento devem ser interpretadas conforme descrito em RFC 2119.
Uma implementação é considerada compatível com o HGBN v1.1 se aderir à sintaxe, regras de processamento e restrições definidas neste documento. Uma implementação de parser em conformidade:
Uma string HGBN válida DEVE:
Uma string HGBN v1 representa um emblema completo concatenando múltiplos segmentos de seis caracteres. A string sempre começa pelo recurso base (identificado por b
), seguido pelos símbolos sobrepostos (identificados por s
ou t
).
Nota
O hash final no nome do arquivo (por exemplo, b01bfc395d8c4be707922c3da5b3f561
) provavelmente é usado para cache de imagem e segurança e é ignorado na especificação da notação. É criado usando MD5 na string da notação concatenada com a constante ef2356a4926bf225eb86c75c52309c32
.
A Forma de Backus‑Naur Estendida (EBNF) a seguir define a sintaxe do HGBN v1.1:
<hgbn> ::= <baseSegment><symbolSegment>+
<baseSegment> ::= "b"<assetId><colorId><position>
<symbolSegment> ::= <symbolType><assetId><colorId><position>
<symbolType> ::= "s" | "t"
<assetId> ::= <digit><digit>
<colorId> ::= <digit><digit>
<position> ::= <gridDigit>
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<gridDigit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8"
Campo | Tipo | Formato | Descrição |
---|---|---|---|
segmentId |
Caractere | b , s ou t |
b indica segmento base; s ou t indica segmento de símbolo. |
assetId |
Inteiro | Dois dígitos (00–99) | Identificador do recurso de imagem. |
colorId |
Inteiro | Dois dígitos (00–99) | Identificador de tonalidade de cor para o recurso. |
position |
Inteiro | Um dígito (0–8) | Posição em uma grade 3×3 onde o elemento é colocado. |
A expressão regular a seguir pode ser usada para validar a estrutura geral de uma string HGBN v1.1:
/^(b\d{2}\d{2}[0-8])((s|t)\d{2}\d{2}[0-8]){0,4}$/
Código de Erro | Descrição |
---|---|
ERR_ASSET_ID_RANGE | assetId não está entre 00 e 99 (dois dígitos). |
ERR_COLOR_ID_RANGE | colorId não está entre 00 e 99 (dois dígitos). |
ERR_INVALID_POSITION | position não é um dígito entre 0 e 8. |
ERR_SYNTAX | A string do emblema está faltando segmentos ou delimitadores. |
Um parser compatível com HGBN DEVE rejeitar strings inválidas e relatar o erro apropriado.
Considere a seguinte string HGBN v1.1 (sem o hash final):
b12134s47114s46114s48114s45114
Explicação:
b12134
→ Base com asset id 12
, color id 13
, posição na grade 4
.s47114
→ Símbolo com asset id 47
, color id 11
, posição na grade 4
.s46114
→ Símbolo com asset id 46
, color id 11
, posição na grade 4
.s48114
→ Símbolo com asset id 48
, color id 11
, posição na grade 4
.s45114
→ Símbolo com asset id 45
, color id 11
, posição na grade 4
.Um emblema com tipos de símbolo s
e t
pode ser especificado como:
b12063s78110t00118t27114
Explicação:
b12063
→ Base com asset id 12
, color id 06
, posição na grade 3
.s78110
→ Símbolo com asset id 78
, color id 11
, posição na grade 0
.t00118
→ Símbolo (tipo t
) com asset id 00
, color id 11
, posição na grade 8
.t27114
→ Símbolo (tipo t
) com asset id 27
, color id 11
, posição na grade 4
.
Possíveis extensões futuras do HGBN PODEM incluir:
b
, s
e t
para suportar novos recursos.Revisões da especificação DEVERÃO ser versionadas adequadamente, e a compatibilidade retroativa PODE ser mantida quando possível.
Embora o HGBN seja uma notação textual e não execute código, as implementações DEVEM sanitizar e validar rigorosamente as strings de entrada para evitar problemas como:
A adesão estrita à sintaxe e às diretrizes de processamento é necessária para uma implementação segura.
.gif
e pela variante badge-fill
para fundo opaco)why
). Disponível em: https://github.com/why/group-badges?tab=readme-ov-file#creating-a-hashEste documento foi desenvolvido com contribuições de:
v1.0
com base em novas informações encontradas.As tabelas a seguir listam os mapeamentos aprovados de ativos. Implementadores e desenvolvedores podem usar estas tabelas como referência para renderizar componentes de emblema. As tabelas estão ordenadas pelo nome do ativo; o “índice” indica a posição na lista do jogo, seguido de linha × coluna
para facilitar a navegação.
Prefixo de Notação | ID de Notação | ID do Recurso | Nome do Recurso ▲ | Índice do Recurso | Possui Máscara? | Imagem Colorível | Imagem de Máscara |
---|---|---|---|---|---|---|---|
b |
06 |
6 | advanced_1 | 6º (2x2) | Não | ![]() |
|
b |
07 |
7 | advanced_2 | 7º (2x3) | Não | ![]() |
|
b |
08 |
8 | advanced_3 | 8º (2x4) | Não | ![]() |
|
b |
09 |
9 | advanced_4 | 9º (2x5) | Não | ![]() |
|
b |
01 |
1 | basic_1 | 1º (1x2) | Não | ![]() |
|
b |
02 |
2 | basic_2 | 2º (1x3) | Não | ![]() |
|
b |
03 |
3 | basic_3 | 3º (1x4) | Não | ![]() |
|
b |
04 |
4 | basic_4 | 4º (1x5) | Não | ![]() |
|
b |
05 |
5 | basic_5 | 5º (2x1) | Não | ![]() |
|
b |
21 |
65 | beams | 21º (5x2) | Sim | ![]() |
![]() |
b |
25 |
118 | book | 25º (6x1) | Não | ![]() |
|
b |
15 |
15 | circles_1 | 15º (4x1) | Não | ![]() |
|
b |
16 |
16 | circles_2 | 16º (4x2) | Não | ![]() |
|
b |
26 |
119 | egg | 26º (6x2) | Não | ![]() |
|
b |
10 |
10 | gold_1 | 10º (3x1) | Sim | ![]() |
![]() |
b |
11 |
11 | gold_2 | 11º (3x2) | Sim | ![]() |
![]() |
b |
13 |
13 | gradient_1 | 13º (3x4) | Não | ![]() |
|
b |
14 |
14 | gradient_2 | 14º (3x5) | Não | ![]() |
|
b |
19 |
19 | misc_1 | 19º (4x5) | Sim | ![]() |
![]() |
b |
20 |
20 | misc_2 | 20º (5x1) | Não | ![]() |
|
b |
27 |
120 | ornament | 27º (6x3) | Não | ![]() |
|
b |
17 |
17 | ornament_1 | 17º (4x3) | Sim | ![]() |
![]() |
b |
18 |
18 | ornament_2 | 18º (4x4) | Sim | ![]() |
![]() |
b |
12 |
12 | pin | 12º (3x3) | Sim | ![]() |
![]() |
b |
22 |
66 | ring | 22º (5x3) | Não | ![]() |
|
b |
28 |
121 | shield | 28º (6x4) | Sim | ![]() |
![]() |
b |
23 |
67 | simplestar | 23º (5x4) | Sim | ![]() |
![]() |
b |
24 |
68 | spiral | 24º (5x5) | Não | ![]() |
Prefixo de Notação | ID de Notação | ID do Recurso | Nome do Recurso ▲ | Índice do Recurso | Possui Máscara? | Imagem Colorível | Imagem de Máscara |
---|---|---|---|---|---|---|---|
s |
68 |
173 | 0 | 119º (24x5) | Não | ![]() |
|
s |
69 |
174 | 1 | 120º (25x1) | Não | ![]() |
|
s |
70 |
175 | 2 | 121º (25x2) | Não | ![]() |
|
s |
71 |
176 | 3 | 122º (25x3) | Não | ![]() |
|
s |
72 |
177 | 4 | 123º (25x4) | Não | ![]() |
|
s |
73 |
178 | 5 | 124º (25x5) | Não | ![]() |
|
s |
74 |
179 | 6 | 125º (26x1) | Não | ![]() |
|
s |
75 |
180 | 7 | 126º (26x2) | Não | ![]() |
|
s |
76 |
181 | 8 | 127º (26x3) | Não | ![]() |
|
s |
77 |
182 | 9 | 128º (26x4) | Não | ![]() |
|
s |
78 |
183 | a | 129º (26x5) | Não | ![]() |
|
t |
04 |
122 | alligator | 68º (14x4) | Não | ![]() |
|
t |
05 |
123 | americanfootball | 69º (14x5) | Sim | ![]() |
![]() |
s |
45 |
69 | arrow_down | 45º (10x1) | Não | ![]() |
|
s |
46 |
70 | arrow_left | 46º (10x2) | Não | ![]() |
|
s |
47 |
71 | arrow_right | 47º (10x3) | Não | ![]() |
|
s |
48 |
72 | arrow_up | 48º (10x4) | Não | ![]() |
|
s |
49 |
73 | arrowbig_up | 49º (10x5) | Não | ![]() |
|
t |
06 |
124 | award | 70º (15x1) | Sim | ![]() |
![]() |
s |
50 |
74 | axe | 50º (11x1) | Sim | ![]() |
![]() |
s |
79 |
184 | b | 130º (27x1) | Não | ![]() |
|
s |
01 |
21 | background_1 | 1º (1x2) | Não | ![]() |
|
s |
02 |
22 | background_2 | 2º (1x3) | Não | ![]() |
|
s |
03 |
23 | background_3 | 3º (1x4) | Sim | ![]() |
![]() |
s |
04 |
24 | ball_1 | 4º (1x5) | Sim | ![]() |
![]() |
s |
05 |
25 | ball_2 | 5º (2x1) | Sim | ![]() |
![]() |
t |
07 |
125 | bananapeel | 71º (15x2) | Não | ![]() |
|
t |
08 |
126 | battleball | 72º (15x3) | Não | ![]() |
|
t |
09 |
127 | biohazard | 73º (15x4) | Não | ![]() |
|
t |
10 |
128 | bird | 74º (15x5) | Não | ![]() |
|
t |
11 |
129 | bishop | 75º (16x1) | Não | ![]() |
|
s |
06 |
26 | bobba | 6º (2x2) | Não | ![]() |
|
s |
07 |
27 | bomb | 7º (2x3) | Sim | ![]() |
![]() |
s |
08 |
28 | bow | 8º (2x4) | Não | ![]() |
|
s |
09 |
29 | box_1 | 9º (2x5) | Não | ![]() |
|
s |
10 |
30 | box_2 | 10º (3x1) | Não | ![]() |
|
s |
51 |
75 | bug | 51º (11x2) | Sim | ![]() |
![]() |
s |
11 |
31 | bunting_1 | 11º (3x2) | Não | ![]() |
|
s |
12 |
32 | bunting_2 | 12º (3x3) | Não | ![]() |
|
s |
13 |
33 | butterfly | 13º (3x4) | Sim | ![]() |
![]() |
s |
80 |
185 | c | 131º (27x2) | Não | ![]() |
|
s |
52 |
76 | capsbig | 52º (11x3) | Sim | ![]() |
![]() |
s |
53 |
77 | capssmall | 53º (11x4) | Sim | ![]() |
![]() |
s |
54 |
78 | cloud | 54º (11x5) | Não | ![]() |
|
t |
12 |
130 | coalion | 76º (16x2) | Não | ![]() |
|
t |
13 |
131 | cocoamug | 77º (16x3) | Não | ![]() |
|
s |
14 |
34 | cowskull | 14º (3x5) | Sim | ![]() |
![]() |
t |
14 |
210 | credit | 156º (32x2) | Sim | ![]() |
![]() |
s |
15 |
35 | cross | 15º (4x1) | Não | ![]() |
|
s |
55 |
79 | crown | 55º (12x1) | Sim | ![]() |
![]() |
s |
81 |
186 | d | 132º (27x3) | Não | ![]() |
|
t |
15 |
132 | dashflag | 78º (16x4) | Não | ![]() |
|
s |
16 |
36 | diamond | 16º (4x2) | Não | ![]() |
|
t |
16 |
133 | diamondring | 79º (16x5) | Sim | ![]() |
![]() |
s |
57 |
81 | diamsmall | 57º (12x3) | Não | ![]() |
|
s |
56 |
80 | diamsmall2 | 56º (12x2) | Não | ![]() |
|
s |
17 |
37 | diploma | 17º (4x3) | Sim | ![]() |
![]() |
t |
17 |
134 | discoball | 80º (17x1) | Sim | ![]() |
![]() |
t |
18 |
135 | dog | 81º (17x2) | Não | ![]() |
|
s |
58 |
82 | drop | 58º (12x4) | Não | ![]() |
|
s |
82 |
187 | e | 133º (27x4) | Não | ![]() |
|
t |
19 |
136 | electricguitarh | 82º (17x3) | Sim | ![]() |
![]() |
t |
20 |
137 | electricguitarv | 83º (17x4) | Sim | ![]() |
![]() |
s |
18 |
38 | eyeball | 18º (4x4) | Sim | ![]() |
![]() |
s |
83 |
188 | f | 134º (27x5) | Não | ![]() |
|
t |
21 |
138 | film | 84º (17x5) | Não | ![]() |
|
s |
59 |
83 | fingersheavy | 59º (12x5) | Não | ![]() |
|
s |
60 |
84 | fingersv | 60º (13x1) | Não | ![]() |
|
s |
19 |
39 | fist | 19º (4x5) | Não | ![]() |
|
s |
20 |
40 | flame_1 | 20º (5x1) | Não | ![]() |
|
s |
21 |
41 | flame_2 | 21º (5x2) | Não | ![]() |
|
t |
22 |
139 | flame | 85º (18x1) | Sim | ![]() |
![]() |
s |
22 |
42 | flash | 22º (5x3) | Não | ![]() |
|
s |
23 |
43 | flower_1 | 23º (5x4) | Sim | ![]() |
![]() |
s |
24 |
44 | flower_2 | 24º (5x5) | Não | ![]() |
|
s |
25 |
45 | flower_3 | 25º (6x1) | Não | ![]() |
|
s |
26 |
46 | flower_4 | 26º (6x2) | Não | ![]() |
|
s |
27 |
47 | football | 27º (6x3) | Não | ![]() |
|
s |
84 |
189 | g | 135º (28x1) | Não | ![]() |
|
t |
23 |
140 | gamepad | 86º (18x2) | Não | ![]() |
|
t |
24 |
141 | gem1 | 87º (18x3) | Sim | ![]() |
![]() |
t |
25 |
142 | gem2 | 88º (18x4) | Sim | ![]() |
![]() |
t |
26 |
143 | gem3 | 89º (18x5) | Sim | ![]() |
![]() |
s |
61 |
85 | gtr | 61º (13x2) | Sim | ![]() |
![]() |
s |
85 |
190 | h | 136º (28x2) | Não | ![]() |
|
s |
62 |
86 | hat | 62º (13x3) | Não | ![]() |
|
t |
27 |
144 | hawk | 90º (19x1) | Não | ![]() |
|
t |
58 |
211 | hc | 157º (32x3) | Sim | ![]() |
![]() |
s |
28 |
48 | heart_1 | 28º (6x4) | Sim | ![]() |
![]() |
s |
29 |
49 | heart_2 | 29º (6x5) | Sim | ![]() |
![]() |
t |
28 |
145 | hearts_down | 91º (19x2) | Não | ![]() |
|
t |
29 |
146 | hearts_up | 92º (19x3) | Não | ![]() |
|
t |
30 |
147 | horseshoe | 93º (19x4) | Não | ![]() |
|
s |
86 |
191 | i | 137º (28x3) | Não | ![]() |
|
t |
31 |
148 | inksplatter | 94º (19x5) | Não | ![]() |
|
s |
87 |
192 | j | 138º (28x4) | Não | ![]() |
|
s |
30 |
50 | jingjang | 30º (7x1) | Sim | ![]() |
![]() |
s |
88 |
193 | k | 139º (28x5) | Não | ![]() |
|
s |
89 |
194 | l | 140º (29x1) | Não | ![]() |
|
t |
32 |
149 | leaf | 95º (20x1) | Não | ![]() |
|
s |
31 |
51 | lips | 31º (7x2) | Sim | ![]() |
![]() |
s |
90 |
195 | m | 141º (29x2) | Não | ![]() |
|
t |
33 |
150 | micstand | 96º (20x2) | Não | ![]() |
|
t |
34 |
151 | mirror | 97º (20x3) | Sim | ![]() |
![]() |
t |
35 |
152 | monkeywrench | 98º (20x4) | Não | ![]() |
|
s |
91 |
196 | n | 142º (29x3) | Não | ![]() |
|
s |
32 |
52 | note | 32º (7x3) | Não | ![]() |
|
t |
36 |
153 | note1 | 99º (20x5) | Não | ![]() |
|
t |
37 |
154 | note2 | 100º (21x1) | Não | ![]() |
|
t |
38 |
155 | note3 | 101º (21x2) | Não | ![]() |
|
t |
39 |
156 | nursecross | 102º (21x3) | Não | ![]() |
|
s |
92 |
197 | o | 143º (29x4) | Não | ![]() |
|
s |
63 |
87 | oval | 63º (13x4) | Sim | ![]() |
![]() |
s |
93 |
198 | p | 144º (29x5) | Não | ![]() |
|
s |
64 |
88 | pawprint | 64º (13x5) | Não | ![]() |
|
s |
33 |
53 | peace | 33º (7x4) | Não | ![]() |
|
t |
40 |
157 | pencil | 103º (21x4) | Sim | ![]() |
![]() |
t |
41 |
209 | pixel | 155º (32x1) | Sim | ![]() |
![]() |
s |
34 |
54 | planet | 34º (7x5) | Sim | ![]() |
![]() |
s |
94 |
199 | q | 145º (30x1) | Não | ![]() |
|
t |
42 |
158 | queen | 104º (21x5) | Não | ![]() |
|
s |
95 |
200 | r | 146º (30x2) | Não | ![]() |
|
s |
35 |
55 | rainbow | 35º (8x1) | Sim | ![]() |
![]() |
t |
43 |
159 | rock | 105º (22x1) | Não | ![]() |
|
t |
44 |
160 | rook | 106º (22x2) | Não | ![]() |
|
s |
36 |
56 | rosete | 36º (8x2) | Não | ![]() |
|
s |
96 |
201 | s | 147º (30x3) | Não | ![]() |
|
s |
65 |
89 | screw | 65º (14x1) | Não | ![]() |
|
s |
37 |
57 | shape | 37º (8x3) | Não | ![]() |
|
t |
45 |
161 | skate | 107º (22x3) | Não | ![]() |
|
t |
46 |
162 | smallring | 108º (22x4) | Sim | ![]() |
![]() |
t |
47 |
163 | snowstorm | 109º (22x5) | Sim | ![]() |
![]() |
t |
48 |
164 | sphere | 110º (23x1) | Não | ![]() |
|
t |
49 |
165 | spraycan | 111º (23x2) | Sim | ![]() |
![]() |
s |
38 |
58 | star_1 | 38º (8x4) | Não | ![]() |
|
s |
39 |
59 | star_2 | 39º (8x5) | Não | ![]() |
|
t |
50 |
166 | stars1 | 112º (23x3) | Não | ![]() |
|
t |
51 |
167 | stars2 | 113º (23x4) | Não | ![]() |
|
t |
52 |
168 | stars3 | 114º (23x5) | Não | ![]() |
|
t |
53 |
169 | stars4 | 115º (24x1) | Não | ![]() |
|
t |
54 |
170 | stars5 | 116º (24x2) | Não | ![]() |
|
s |
66 |
90 | stickL | 66º (14x2) | Sim | ![]() |
![]() |
s |
67 |
91 | stickR | 67º (14x3) | Sim | ![]() |
![]() |
s |
40 |
60 | sword_1 | 40º (9x1) | Sim | ![]() |
![]() |
s |
41 |
61 | sword_2 | 41º (9x2) | Sim | ![]() |
![]() |
s |
42 |
62 | sword_3 | 42º (9x3) | Sim | ![]() |
![]() |
s |
97 |
202 | t | 148º (30x4) | Não | ![]() |
|
s |
98 |
203 | u | 149º (30x5) | Não | ![]() |
|
s |
99 |
204 | v | 150º (31x1) | Não | ![]() |
|
t |
55 |
212 | vip | 158º (32x4) | Sim | ![]() |
![]() |
t |
00 |
205 | w | 151º (31x2) | Não | ![]() |
|
t |
56 |
171 | waterdrop | 117º (24x3) | Sim | ![]() |
![]() |
s |
43 |
63 | wings_1 | 43º (9x4) | Não | ![]() |
|
s |
44 |
64 | wings_2 | 44º (9x5) | Não | ![]() |
|
t |
57 |
172 | wolverine | 118º (24x4) | Não | ![]() |
|
t |
01 |
206 | x | 152º (31x3) | Não | ![]() |
|
t |
02 |
207 | y | 153º (31x4) | Não | ![]() |
|
t |
03 |
208 | z | 154º (31x5) | Não | ![]() |
ID | Índice de Cor | Cor Hex | Visualização |
---|---|---|---|
01 |
1º (1x1) | #ffd601 |
|
11 |
2º (1x2) | #ffffff |
|
02 |
3º (1x3) | #ec7600 |
|
03 |
4º (1x4) | #84de00 |
|
04 |
5º (1x5) | #589a00 |
|
18 |
6º (1x6) | #aaff7d |
|
05 |
7º (1x7) | #50c1fb |
|
19 |
8º (1x8) | #87e6c8 |
|
06 |
9º (2x1) | #006fcf |
|
16 |
10º (2x2) | #c2eaff |
|
07 |
11º (2x3) | #ff98e3 |
|
08 |
12º (2x4) | #f334bf |
|
09 |
13º (2x5) | #ff2d2d |
|
20 |
14º (2x6) | #9844e7 |
|
21 |
15º (2x7) | #dea9ff |
|
10 |
16º (2x8) | #af0a0a |
|
22 |
17º (3x1) | #ffb579 |
|
17 |
18º (3x2) | #fff165 |
|
14 |
19º (3x3) | #fbe7ac |
|
23 |
20º (3x4) | #c3aa6e |
|
15 |
21º (3x5) | #977641 |
|
12 |
22º (3x6) | #c0c0c0 |
|
24 |
23º (3x7) | #7a7a7a |
|
13 |
24º (3x8) | #373737 |
ID de Posição | Célula da Grade |
---|---|
0 | Superior-esquerda |
1 | Superior-centro |
2 | Superior-direita |
3 | Meio-esquerda |
4 | Centro |
5 | Meio-direita |
6 | Inferior-esquerda |
7 | Inferior-centro |
8 | Inferior-direita |