__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/doors/syncscumm/test/test_sixel_palette_used.csrc/doors/termgfx/RE

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Jul 22 16:22:51 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/6512285c1be7fcf8528fecb2
    Added Files:
    src/doors/syncscumm/test/test_sixel_palette_used.c
    Modified Files:
    src/doors/termgfx/README.md sixel.c sixel.h
    Log Message:
    termgfx sixel: add SIXEL_PAL_USED to emit only referenced registers

    Replace sixel_encode()'s boolean emit_palette with a tri-state: SIXEL_PAL_NONE/FULL (the legacy 0/1, byte-identical output) and a new SIXEL_PAL_USED that (re)defines only the color registers an image
    actually references, at their original index. Register-resetting
    terminals (xterm/foot/Windows Terminal) must carry a palette on every
    image, and all 256 is mostly wasted bytes; USED cuts a typical dirty
    box from ~3.8KB of palette to a few hundred bytes with no wrong-color
    risk, since every referenced index is in the emitted set by
    construction. Persistent terminals keep FULL/NONE so a palette-less
    box can still rely on a prior frame's registers.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net