this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

#1585: added system font width/height params

nesbox 07318ffc c3caf2e7

+73 -18
+1
src/core/altfont.inl
··· 1 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x07, 0x05, 0x07, 0x05, 0x00, 0x00, 0x00, 0x06, 0x03, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x02, 0x01, 0x04, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x05, 0x06, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x05, 0x05, 0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x02, 0x01, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x05, 0x05, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x07, 0x01, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x06, 0x01, 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x07, 0x05, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x05, 0x07, 0x01, 0x06, 0x00, 0x00, 0x00, 0x02, 0x05, 0x07, 0x05, 0x05, 0x00, 0x00, 0x00, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, 0x00, 0x06, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x05, 0x03, 0x00, 0x00, 0x00, 0x07, 0x01, 0x03, 0x01, 0x07, 0x00, 0x00, 0x00, 0x07, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x06, 0x01, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x05, 0x05, 0x07, 0x05, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x03, 0x05, 0x05, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x07, 0x00, 0x00, 0x00, 0x07, 0x07, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x03, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x07, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07, 0x03, 0x05, 0x00, 0x00, 0x00, 0x06, 0x01, 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x05, 0x05, 0x02, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x07, 0x04, 0x02, 0x01, 0x07, 0x00, 0x00, 0x00, 0x06, 0x02, 0x02, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x05, 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, 0x05, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x04, 0x06, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x03, 0x06, 0x00, 0x00, 0x00, 0x04, 0x02, 0x07, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x07, 0x04, 0x02, 0x00, 0x00, 0x01, 0x03, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x02, 0x00, 0x00, 0x01, 0x05, 0x03, 0x03, 0x05, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, 0x06, 0x05, 0x05, 0x06, 0x04, 0x00, 0x00, 0x00, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x02, 0x07, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x06, 0x04, 0x02, 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x07, 0x00, 0x00, 0x00, 0x06, 0x02, 0x03, 0x02, 0x06, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x03, 0x02, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+20 -4
src/core/core.c
··· 308 308 309 309 static void cart2ram(tic_mem* memory) 310 310 { 311 - static const u8 Font[] = 311 + memory->ram.font = (tic_font) 312 312 { 313 - #include "font.inl" 314 - }; 313 + .regular = 314 + { 315 + .data = 316 + { 317 + #include "font.inl" 318 + }, 319 + .width = TIC_FONT_WIDTH, 320 + .height = TIC_FONT_HEIGHT, 321 + }, 315 322 316 - memcpy(memory->ram.font.data, Font, sizeof Font); 323 + .alt = 324 + { 325 + .data = 326 + { 327 + #include "altfont.inl" 328 + }, 329 + .width = TIC_ALTFONT_WIDTH, 330 + .height = TIC_FONT_HEIGHT, 331 + }, 332 + }; 317 333 318 334 enum 319 335 {
+7 -4
src/core/draw.c
··· 37 37 switch (segment) { 38 38 case 0: 39 39 case 1: 40 - src = (u8*)&memory->ram.font.data; break; 40 + src = (u8*)&memory->ram.font; break; 41 41 default: 42 42 src = (u8*)&memory->ram.tiles.data; break; 43 43 } ··· 321 321 y += height * scale; 322 322 } 323 323 else { 324 - tic_tileptr font_char = tic_tilesheet_gettile(font_face, alt * TIC_FONT_CHARS / 2 + sym, true); 324 + tic_tileptr font_char = tic_tilesheet_gettile(font_face, alt * TIC_FONT_CHARS + sym, true); 325 325 s32 size = drawChar(core, &font_char, pos, y, scale, fixed, mapping); 326 326 pos += ((!fixed && size) ? size + 1 : width) * scale; 327 327 } ··· 382 382 { 383 383 u8 mapping[] = { 255, color }; 384 384 tic_tilesheet font_face = getTileSheetFromSegment(memory, 1); 385 + 386 + const tic_font_data* font = alt ? &memory->ram.font.alt : &memory->ram.font.regular; 387 + s32 width = font->width; 388 + 385 389 // Compatibility : print uses reduced width for non-fixed space 386 - u8 width = alt ? TIC_ALTFONT_WIDTH : TIC_FONT_WIDTH; 387 390 if (!fixed) width -= 2; 388 - return drawText((tic_core*)memory, &font_face, text, x, y, width, TIC_FONT_HEIGHT, fixed, mapping, scale, alt); 391 + return drawText((tic_core*)memory, &font_face, text, x, y, width, font->height, fixed, mapping, scale, alt); 389 392 } 390 393 391 394 void tic_api_spr(tic_mem* memory, s32 index, s32 x, s32 y, s32 w, s32 h, u8* colors, s32 count, s32 scale, tic_flip flip, tic_rotate rotate)
+1 -1
src/core/font.inl
··· 1 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x00, 0x00, 0x00, 0x1e, 0x05, 0x0e, 0x14, 0x0f, 0x00, 0x00, 0x00, 0x11, 0x08, 0x04, 0x02, 0x11, 0x00, 0x00, 0x00, 0x02, 0x05, 0x16, 0x09, 0x16, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x04, 0x08, 0x00, 0x00, 0x00, 0x02, 0x04, 0x04, 0x04, 0x02, 0x00, 0x00, 0x00, 0x04, 0x15, 0x0e, 0x15, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x17, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x0e, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x0c, 0x19, 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x0b, 0x1f, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x0f, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x0f, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x0c, 0x06, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x0e, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x1e, 0x10, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x06, 0x04, 0x02, 0x00, 0x00, 0x08, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x18, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x15, 0x1d, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x1f, 0x13, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x0f, 0x13, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x03, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x13, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x0f, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x03, 0x1b, 0x13, 0x1e, 0x00, 0x00, 0x00, 0x13, 0x13, 0x1f, 0x13, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x1b, 0x0e, 0x00, 0x00, 0x00, 0x13, 0x0b, 0x07, 0x0b, 0x13, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x1b, 0x1f, 0x1f, 0x15, 0x11, 0x00, 0x00, 0x00, 0x13, 0x17, 0x1f, 0x1b, 0x13, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x13, 0x0e, 0x10, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x0f, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x0e, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x11, 0x15, 0x1f, 0x1f, 0x1b, 0x00, 0x00, 0x00, 0x13, 0x13, 0x0e, 0x13, 0x13, 0x00, 0x00, 0x00, 0x16, 0x16, 0x1e, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x06, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00, 0x06, 0x04, 0x04, 0x04, 0x06, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x19, 0x19, 0x1e, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x13, 0x13, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x07, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x1e, 0x19, 0x19, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x07, 0x0e, 0x00, 0x00, 0x00, 0x1c, 0x06, 0x1f, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x19, 0x1f, 0x18, 0x0e, 0x00, 0x00, 0x03, 0x0f, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x18, 0x19, 0x0e, 0x00, 0x00, 0x03, 0x13, 0x0f, 0x13, 0x13, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x1f, 0x15, 0x15, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x19, 0x19, 0x1e, 0x18, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x1f, 0x06, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x11, 0x15, 0x1f, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x0e, 0x0e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x1e, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x06, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x04, 0x0c, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x07, 0x05, 0x07, 0x05, 0x00, 0x00, 0x00, 0x06, 0x03, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x02, 0x01, 0x04, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x05, 0x06, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x05, 0x05, 0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x02, 0x01, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x05, 0x05, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x07, 0x01, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x06, 0x01, 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x07, 0x05, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x05, 0x07, 0x01, 0x06, 0x00, 0x00, 0x00, 0x02, 0x05, 0x07, 0x05, 0x05, 0x00, 0x00, 0x00, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, 0x00, 0x06, 0x01, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x05, 0x03, 0x00, 0x00, 0x00, 0x07, 0x01, 0x03, 0x01, 0x07, 0x00, 0x00, 0x00, 0x07, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x06, 0x01, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x05, 0x05, 0x07, 0x05, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x05, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x03, 0x05, 0x05, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x07, 0x00, 0x00, 0x00, 0x07, 0x07, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x03, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x07, 0x06, 0x00, 0x00, 0x00, 0x03, 0x05, 0x07, 0x03, 0x05, 0x00, 0x00, 0x00, 0x06, 0x01, 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x05, 0x05, 0x02, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x07, 0x04, 0x02, 0x01, 0x07, 0x00, 0x00, 0x00, 0x06, 0x02, 0x02, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x05, 0x07, 0x00, 0x00, 0x00, 0x01, 0x03, 0x05, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x04, 0x06, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x03, 0x06, 0x00, 0x00, 0x00, 0x04, 0x02, 0x07, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x07, 0x04, 0x02, 0x00, 0x00, 0x01, 0x03, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x02, 0x00, 0x00, 0x01, 0x05, 0x03, 0x03, 0x05, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, 0x06, 0x05, 0x05, 0x06, 0x04, 0x00, 0x00, 0x00, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x02, 0x07, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x05, 0x02, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x06, 0x04, 0x02, 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x07, 0x00, 0x00, 0x00, 0x06, 0x02, 0x03, 0x02, 0x06, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x03, 0x02, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x00, 0x00, 0x00, 0x1e, 0x05, 0x0e, 0x14, 0x0f, 0x00, 0x00, 0x00, 0x11, 0x08, 0x04, 0x02, 0x11, 0x00, 0x00, 0x00, 0x02, 0x05, 0x16, 0x09, 0x16, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x04, 0x04, 0x08, 0x00, 0x00, 0x00, 0x02, 0x04, 0x04, 0x04, 0x02, 0x00, 0x00, 0x00, 0x04, 0x15, 0x0e, 0x15, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x17, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x0e, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x0c, 0x19, 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x0b, 0x1f, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x0f, 0x18, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x0f, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x0c, 0x06, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x0e, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x1e, 0x10, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x06, 0x04, 0x02, 0x00, 0x00, 0x08, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x18, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x15, 0x1d, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x1f, 0x13, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x0f, 0x13, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x03, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x13, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x0f, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x03, 0x1b, 0x13, 0x1e, 0x00, 0x00, 0x00, 0x13, 0x13, 0x1f, 0x13, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x1b, 0x0e, 0x00, 0x00, 0x00, 0x13, 0x0b, 0x07, 0x0b, 0x13, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x1b, 0x1f, 0x1f, 0x15, 0x11, 0x00, 0x00, 0x00, 0x13, 0x17, 0x1f, 0x1b, 0x13, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x13, 0x0e, 0x10, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x0f, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x0e, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x11, 0x15, 0x1f, 0x1f, 0x1b, 0x00, 0x00, 0x00, 0x13, 0x13, 0x0e, 0x13, 0x13, 0x00, 0x00, 0x00, 0x16, 0x16, 0x1e, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x06, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00, 0x06, 0x04, 0x04, 0x04, 0x06, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x19, 0x19, 0x1e, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x13, 0x13, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x07, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x1e, 0x19, 0x19, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x07, 0x0e, 0x00, 0x00, 0x00, 0x1c, 0x06, 0x1f, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x19, 0x1f, 0x18, 0x0e, 0x00, 0x00, 0x03, 0x0f, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x18, 0x19, 0x0e, 0x00, 0x00, 0x03, 0x13, 0x0f, 0x13, 0x13, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x1f, 0x15, 0x15, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x13, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x19, 0x19, 0x1e, 0x18, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x1c, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x1f, 0x06, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x13, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x11, 0x15, 0x1f, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x0e, 0x0e, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x1e, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x0c, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x06, 0x04, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x04, 0x0c, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
+5 -2
src/studio/screens/console.c
··· 2779 2779 {offsetof(tic_ram, stereo), "STEREO VOLUME"}, 2780 2780 {offsetof(tic_ram, persistent), "PERSISTENT MEMORY"}, 2781 2781 {offsetof(tic_ram, flags), "SPRITE FLAGS"}, 2782 - {offsetof(tic_ram, font), "SYSTEM FONT"}, 2782 + {offsetof(tic_ram, font.regular), "FONT"}, 2783 + {offsetof(tic_ram, font.regular.params), "FONT PARAMS"}, 2784 + {offsetof(tic_ram, font.alt), "ALT FONT"}, 2785 + {offsetof(tic_ram, font.alt.params), "ALT FONT PARAMS"}, 2783 2786 {offsetof(tic_ram, free), "... (free)"}, 2784 2787 {TIC_RAM_SIZE, ""}, 2785 2788 }; ··· 3060 3063 3061 3064 static void onHelp_ram(Console* console) 3062 3065 { 3063 - char buf[1024]; 3066 + char buf[2048]; 3064 3067 createRamTable(buf); 3065 3068 printTable(console, buf); 3066 3069 }
+20 -5
src/studio/studio.c
··· 196 196 tic_fs* fs; 197 197 198 198 s32 samplerate; 199 + 199 200 tic_font systemFont; 200 201 201 202 } impl = ··· 1864 1865 { 1865 1866 tic_mem* tic = impl.studio.tic; 1866 1867 1867 - memset(impl.systemFont.data, 0, sizeof(tic_font)); 1868 + impl.systemFont = (tic_font) 1869 + { 1870 + .regular = 1871 + { 1872 + .width = TIC_FONT_WIDTH, 1873 + .height = TIC_FONT_HEIGHT, 1874 + }, 1875 + .alt = 1876 + { 1877 + .width = TIC_ALTFONT_WIDTH, 1878 + .height = TIC_FONT_HEIGHT, 1879 + } 1880 + }; 1868 1881 1869 - for(s32 i = 0; i < TIC_FONT_CHARS; i++) 1882 + u8* dst = (u8*)&impl.systemFont; 1883 + 1884 + for(s32 i = 0; i < TIC_FONT_CHARS * 2; i++) 1870 1885 for(s32 y = 0; y < TIC_SPRITESIZE; y++) 1871 1886 for(s32 x = 0; x < TIC_SPRITESIZE; x++) 1872 1887 if(tic_tool_peek4(&impl.config->cart->bank0.sprites.data[i], TIC_SPRITESIZE*y + x)) 1873 - impl.systemFont.data[i*BITS_IN_BYTE+y] |= 1 << x; 1888 + dst[i*BITS_IN_BYTE+y] |= 1 << x; 1874 1889 1875 - memcpy(tic->ram.font.data, impl.systemFont.data, sizeof(tic_font)); 1890 + tic->ram.font = impl.systemFont; 1876 1891 } 1877 1892 1878 1893 void studioConfigChanged() ··· 2007 2022 if(impl.mode != TIC_RUN_MODE) 2008 2023 { 2009 2024 memcpy(tic->ram.vram.palette.data, getConfig()->cart->bank0.palette.scn.data, sizeof(tic_palette)); 2010 - memcpy(tic->ram.font.data, impl.systemFont.data, sizeof(tic_font)); 2025 + tic->ram.font = impl.systemFont; 2011 2026 } 2012 2027 2013 2028 callback[impl.mode].data
+19 -2
src/tic.h
··· 102 102 #define TIC_GAMEPADS (sizeof(tic80_gamepads) / sizeof(tic80_gamepad)) 103 103 104 104 #define SFX_NOTES {"C-", "C#", "D-", "D#", "E-", "F-", "F#", "G-", "G#", "A-", "A#", "B-"} 105 - #define TIC_FONT_CHARS 256 105 + #define TIC_FONT_CHARS 128 106 106 107 107 #define TIC_UNUSED(x) (void)x 108 108 ··· 434 434 435 435 typedef struct 436 436 { 437 - u8 data[TIC_FONT_CHARS * BITS_IN_BYTE]; 437 + u8 data[(TIC_FONT_CHARS - 1) * BITS_IN_BYTE]; 438 + 439 + union 440 + { 441 + struct 442 + { 443 + u8 width; 444 + u8 height; 445 + }; 446 + 447 + u8 params[BITS_IN_BYTE]; 448 + }; 449 + } tic_font_data; 450 + 451 + typedef struct 452 + { 453 + tic_font_data regular; 454 + tic_font_data alt; 438 455 } tic_font; 439 456 440 457 typedef union