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