https://gitlab.synchro.net/main/sbbs/-/commit/f2728d346398b1926cb51bb2
Added Files:
src/doors/syncdoom/sbbs_node.c sbbs_node.h
Modified Files:
src/doors/syncdoom/CMakeLists.txt hu_stuff.c syncdoom.c
Log Message:
syncdoom: in-game who's-online (Ctrl-U) and node paging (Ctrl-P)
Let a player see who else is on the BBS and page a node from the door. Door- native: no SCFG/scfg_t load -- new sbbs_node.{c,h} reads node.dab from $SBBSCTRL
and user/name.dat from $SBBSDATA, and pages a node the way putnmsg does (append to msgs/n###.msg + set the target's NODE_NMSG flag), all with plain file I/O and
the current Synchronet headers (nodedefs.h). Self node from $SBBSNNUM. The public interface uses a projected sbbs_node_info_t so the BBS node_t never collides with Doom's own node_t (BSP nodes).
UI:
- Waiting room: Ctrl-U lists the online nodes (node, alias, activity), Ctrl-P
pages one (list -> pick node -> type message); incoming pages are shown there
too. Blocking screens are fine here -- no game is running. A hint row advertises
the keys.
- In-game: non-blocking, so the lockstep netgame and the frame pacing aren't
disturbed. Ctrl-U posts a compact one-line HUD message ("Online: <alias>
<activity>, ..."); an incoming page is word-wrapped into a transient top-of-
screen banner (Doom's HU line caps at 80 chars and would truncate it); Ctrl-P
in-game just points to the waiting room. Polled between ticks.
Activity wording matches Synchronet's nodestr() defaults; a terse set of abbreviations is used for the compact in-game line.
Co-Authored-By: Claude Opus 4.8 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net