Skip to content

Groovy Palette & Frames 0.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 20:35

Now Groovy Palette & Frames. The mod id stays groovy_palette, so the
launcher keeps updating your existing install and no saved palette moves.

  • FRAME — eight new borders for every text box and menu, plus
    GAME BOY for the engine's own: THIN, DOUBLE, TRIPLE, THICK, WIDE, DASH,
    BEADS, TRACK.

    A border is not a texture, it is six font glyphstl h tr v bl br
    and Font.drawBox reads that table fresh every call. So this registers
    its own glyph page and repoints six entries. The choice is written to both
    Font.BORDER (what the next box reads, so it changes immediately) and
    data.font.border (what a font reload rebuilds from, so it survives one).

    Every pixel of the sheet is generated by tools/make_frames.py from rules
    written out in that file. No ROM, no cartridge dump, and not a pixel of
    the engine's own font sheets — modkit lint still reports
    no ROM-derived content.

    The constraint that shaped them. h is drawn along the top and the
    bottom, v along the left and the right — one glyph per axis, not per
    side. So a rail's position is a single number shared by two opposite
    edges, and a corner one pixel off produces a visible step. That rules out
    rounded corners outright: the arc has to bulge outward, which on the right
    edge means the vertical sits further right and on the left further left,
    and one glyph cannot do both. A rippling rail fails the same way. Both
    were drawn, both stepped, both were cut. The eight that shipped are built
    from the rule rather than drawn freehand, and the generator refuses to
    write the sheet if any rail steps.