• src/doors/syncdoom/sbbs_node.c sbbs_node.hsrc/doors/syncdoom/CMakeList

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Jun 22 00:57:11 2026
    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