https://gitlab.synchro.net/main/sbbs/-/commit/c46bebea7d2cf8b738363e4f
Added Files:
src/doors/termgfx/charset.c charset.h
Modified Files:
src/doors/syncretro/main.c syncretro.h syncretro_door.c syncretro_io.c src/doors/termgfx/CMakeLists.txt
Log Message:
syncretro: dress the pause/help screen, and stamp it with the door version
The screen a player actually reads -- pause, '?', or any unbound key -- was
a wall of monochrome text with no version on it. Frame it, color it, and
sign it:
* a double-ruled box, centered in the terminal's real grid (the door knows
it: sr_io_grid()), with the door name and the CONSOLE in the top rule and
the PAUSED badge riding its right end rather than costing a row;
* the cartridge under the title, because a player who paused twenty minutes
ago should not have to remember what he put in;
* key names in bright cyan against their descriptions in gray, so the list
reads as two columns instead of one paragraph;
* the version on the bottom rule: "v0.1 <hash> <date> synchro.net", the
shape the sibling doors use. SR_VERSION is bumped by hand per release;
the hash and date come from git_hash.h (the shared synchronet_gitinfo()
CMake helper), so they stamp THIS build.
Every row is cursor-addressed and none is newline-terminated: a \r\n on the last row of the page scrolls the box off the top of the screen it just drew.
THE GLYPHS FOLLOW THE CLIENT, which is the part that needed a new module. A door writes RAW BYTES -- Synchronet hands a native door its socket through a passthru thread and converts nothing on the way out -- so a hardcoded 0xC9 draws a corner on SyncTERM and mojibake on a UTF-8 ssh client, and both dial in. The BBS already knows which and writes it down in
$SBBSNODE/terminal.ini; termgfx/charset.c reads it and hands back a box-glyph set to match. Verified both ways: 199 CP437 bytes and no UTF-8, or 199 UTF-8 glyphs and no CP437, never a mix.
SyncDuke and SyncDOOM each carry their own copy of that same terminal.ini probe; they can drop theirs onto this one whenever someone is next in those files.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net