Skip to content

Releases: MadeinTaly/gen1recomp-groovy-palette-frames

Groovy Palette & Frames 0.4.1

Choose a tag to compare

@github-actions github-actions released this 02 Aug 20:49
  • Fixed: FRAME needed a restart. Choosing a border did nothing until
    the next launch.

    Font.drawBox does read Font.BORDER fresh on every call, so the change
    is instant the moment something writes it — and nothing did. 0.4.0 applied
    the frame at load and on game.ready and nowhere else. It now also
    listens for mod.options_changed, which ManagerState:setOption emits
    right after storing a value, so the border redraws the very menu you are
    choosing it in.

    The test drives the loader's own event bus rather than calling the apply
    function directly — calling it directly would have passed in 0.4.0 too.

  • The README now says which rows take effect at once and which wait for the
    next launch, and the suite asserts it: FRAME and USE ADVANCED are
    live, PACKS and START MENU are read once at load because one builds
    the COLORS list and the other registers a screen.

  • Releases are titled with the mod's name rather than its id, so this
    one reads Groovy Palette & Frames 0.4.1. The asset stays
    groovy_palette-<version>.zip: the launcher's updater looks for that
    exact name, so it follows the id through any rebrand.

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.

Groovy Palette & Frames 0.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 17:23
  • USE ADVANCED (TINT) — the palettes now ride the engine's ADVANCED
    colorization instead of replacing it.

    ADVANCED is not a four-shade mode: it is the pokered-gbc pack, which
    resolves a real colour per tile and keeps eight background palettes
    live at once
    . Picking RAINBOW used to switch that off and hand you four
    shades — measurably a downgrade.

    A four-rung ramp can be read as a curve rather than four steps: take
    each colour's luminance, find that height on the ramp, interpolate
    between the two rungs it falls between. Counted on the real pack, on a
    house interior:

    on screen across the game
    ADVANCED 18 47
    RAINBOW, before 4 4
    RAINBOW, riding ADVANCED 18 47

    Nothing is collapsed — the counts match ADVANCED's exactly. And the
    source's own hue distinctions survive: a green tile still reads greener
    than a red one, both pulled into the palette's family.

    TINT keep ADVANCED's colour, pull it toward the palette (default)
    FULL all the way onto the ramp, but along the curve
    OFF what 0.2.0 did — four shades, ADVANCED replaced

    Installs without the pokered-gbc pack fall back to OFF on their own.

Groovy Palette & Frames 0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 10:13
  • A live palette browser on the START menu. START → PALETTE scrolls
    the whole list with the game still on screen behind it: the screen
    declares isOpaque = false, and colorisation runs at composite time on
    the finished frame, so moving the cursor recolours the actual game
    rather than a swatch. A keeps what you are looking at, B puts back
    the palette you came in with.

    Thirty extra rungs on an options row you cycle one press at a time is a
    bad way to choose a colour, and choosing it from a menu that is covering
    the game is choosing it blind. This is the answer to both.

  • START MENU (on) turns it off again: no menu row, no screen, and the
    palettes exactly as in 0.1.0. The switch is the browser, not the mod.

Groovy Palette & Frames 0.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 08:39
  • First release. Thirty palettes appended to the engine's COLORS row, with
    PACKS to narrow them to the twelve hardware ones (RETRO) or the
    eighteen invented ones (COLOUR).
  • Every palette is verified by luminance in the test suite rather than by
    eye. That check caught two on the way in: AMIGA, whose authentic
    Workbench order puts the orange above the blue and reads inside out, and
    VBOY, where a ramp of saturated reds collapses because red carries so
    little luminance.