• src/doors/syncduke/README.md syncduke.h syncduke_config.c syncduke_io.

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Jul 1 23:24:33 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/3a10eaab55fc0cdc3de019a3
    Modified Files:
    src/doors/syncduke/README.md syncduke.h syncduke_config.c syncduke_io.c xtrn/syncduke/syncduke.example.ini
    Log Message:
    syncduke: add UTF-8 text tiers (quadrant/sextant) + charset detection

    SyncDuke's block-character fallback tiers were hardcoded to CP437, so the Unicode quadrant/sextant tiers (already in the enum + renderer) were never offered and the block tiers never emitted native Unicode. Detect the client charset from Synchronet's <node>/terminal.ini (chars=), reachable via $SBBSNODE even under the lobby launch, and thread it into rt_config: block tiers emit native UTF-8 on a UTF-8 terminal (CP437 bytes otherwise), and the quadrant/ sextant tiers join the F4 cycle only when the client is UTF-8.

    Charset precedence, highest first: -charset utf8|cp437|auto command-line arg (for non-Synchronet DOOR32.SYS installs with no terminal.ini), syncduke.ini [video] charset, then terminal.ini auto-detect, else CP437. Mirrors SyncDOOM, which relies on the door running Translate-Character-Set-No (XTRN_BIN) so its output reaches the terminal untranslated. Documents both in the README and syncduke.example.ini.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

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