Make FH logo stroke thickness uniform
Give every stroke a 6px thickness (stem and right leg width 6, both crossbars height 6) instead of the previous mix (stem 10, leg 4, bars 4-5), and recenter the logo. The F+H now reads evenly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
@@ -747,8 +747,11 @@ static void LogoFadeSet(const u8* idx, u8 n, u8 delay_halts)
|
|||||||
// pal2 = top crossbar arms pal3 = stem (excl. crossings) pal6 = top crossing
|
// pal2 = top crossbar arms pal3 = stem (excl. crossings) pal6 = top crossing
|
||||||
// pal4 = middle crossbar arms pal5 = right leg pal7 = middle crossing
|
// pal4 = middle crossbar arms pal5 = right leg pal7 = middle crossing
|
||||||
// Origin X is even so the byte-aligned HMMV fills land on pixel boundaries.
|
// Origin X is even so the byte-aligned HMMV fills land on pixel boundaries.
|
||||||
#define LOGO_OX 110 // logo origin X (even: keeps HMMV fills pixel-aligned)
|
// All strokes share a uniform 6-pixel thickness (vertical width == horizontal
|
||||||
|
// height) so the F+H reads evenly.
|
||||||
|
#define LOGO_OX 106 // logo origin X (even: keeps HMMV fills pixel-aligned)
|
||||||
#define LOGO_OY 73 // logo origin Y
|
#define LOGO_OY 73 // logo origin Y
|
||||||
|
#define LOGO_T 6 // stroke thickness (px)
|
||||||
|
|
||||||
static void ShowLogoAnimation(void)
|
static void ShowLogoAnimation(void)
|
||||||
{
|
{
|
||||||
@@ -767,16 +770,19 @@ static void ShowLogoAnimation(void)
|
|||||||
// Draw the strokes. They are partitioned so no two share a pixel; the two
|
// Draw the strokes. They are partitioned so no two share a pixel; the two
|
||||||
// stem/crossbar crossings are separate fills (pal6, pal7). Local x12..21 is
|
// stem/crossbar crossings are separate fills (pal6, pal7). Local x12..21 is
|
||||||
// the stem column; crossbars are split into left/right arms around it.
|
// the stem column; crossbars are split into left/right arms around it.
|
||||||
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 0, 10, 2, 0x33); VDP_CommandWait(); // stem: above top bar
|
// Stem (vertical, width LOGO_T) at local x12, full height. Drawn as the three
|
||||||
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 7, 10, 10, 0x33); VDP_CommandWait(); // stem: between bars
|
// segments not covered by a crossbar, so the crossings (pal6/7) light separately.
|
||||||
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 21, 10, 13, 0x33); VDP_CommandWait(); // stem: below mid bar
|
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 0, LOGO_T, 2, 0x33); VDP_CommandWait(); // stem: above top bar
|
||||||
VDP_CommandHMMV(LOGO_OX + 8, LOGO_OY + 2, 4, 5, 0x22); VDP_CommandWait(); // top bar: left arm
|
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 8, LOGO_T, 7, 0x33); VDP_CommandWait(); // stem: between bars
|
||||||
VDP_CommandHMMV(LOGO_OX + 22, LOGO_OY + 2, 12, 5, 0x22); VDP_CommandWait(); // top bar: right arm
|
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 21, LOGO_T, 13, 0x33); VDP_CommandWait(); // stem: below mid bar
|
||||||
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 2, 10, 5, 0x66); VDP_CommandWait(); // top crossing
|
// Top crossbar (horizontal, height LOGO_T): right arm + stem crossing.
|
||||||
VDP_CommandHMMV(LOGO_OX + 8, LOGO_OY + 17, 4, 4, 0x44); VDP_CommandWait(); // mid bar: left arm
|
VDP_CommandHMMV(LOGO_OX + 18, LOGO_OY + 2, 16, LOGO_T, 0x22); VDP_CommandWait(); // top bar: arm
|
||||||
VDP_CommandHMMV(LOGO_OX + 22, LOGO_OY + 17, 8, 4, 0x44); VDP_CommandWait(); // mid bar: right arm
|
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 2, LOGO_T, LOGO_T, 0x66); VDP_CommandWait(); // top crossing
|
||||||
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 17, 10, 4, 0x77); VDP_CommandWait(); // middle crossing
|
// Middle crossbar (horizontal, height LOGO_T): arm to the leg + stem crossing.
|
||||||
VDP_CommandHMMV(LOGO_OX + 30, LOGO_OY + 15, 4, 19, 0x55); VDP_CommandWait(); // right leg
|
VDP_CommandHMMV(LOGO_OX + 18, LOGO_OY + 15, 10, LOGO_T, 0x44); VDP_CommandWait(); // mid bar: arm
|
||||||
|
VDP_CommandHMMV(LOGO_OX + 12, LOGO_OY + 15, LOGO_T, LOGO_T, 0x77); VDP_CommandWait(); // middle crossing
|
||||||
|
// Right leg (vertical, width LOGO_T), butts against the middle crossbar.
|
||||||
|
VDP_CommandHMMV(LOGO_OX + 28, LOGO_OY + 15, LOGO_T, 19, 0x55); VDP_CommandWait(); // right leg
|
||||||
|
|
||||||
VDP_EnableDisplay(TRUE);
|
VDP_EnableDisplay(TRUE);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user