• src/doors/syncdoom/sbbs_n

    From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Mon Jun 22 00:57:00 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
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Mon Jun 22 01:56:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/81ef044ec95d564a3cbc60c2
    Modified Files:
    src/doors/syncdoom/sbbs_node.c
    Log Message:
    syncdoom: define a PATH_MAX fallback in sbbs_node.c (MSVC)

    sbbs_node.c used PATH_MAX but only included dirwrap.h, which defines the xpdev-portable MAX_PATH -- not PATH_MAX, which is POSIX-only and absent
    under MSVC (error C2065). Add the same #ifndef PATH_MAX fallback syncdoom.c already uses, so the door's Windows/MSVC build compiles.

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Tue Jun 23 01:30:00 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9e2233450400dc28b4a318e9
    Modified Files:
    src/doors/syncdoom/sbbs_node.c sbbs_node.h syncdoom.c xtrn/syncdoom/syncdoom_lib.js
    Log Message:
    syncdoom: show lobby/waiting/game in the node who's-online status

    The door now sets a free-text node status (node.exb + the NODE_EXT misc
    bit) so the BBS-wide who's-online AND the door's own Ctrl-U list show the SyncDOOM sub-state instead of the generic "running external program":

    - JS lobby/menu -> the default "running SyncDOOM" (unchanged)
    - waiting room -> "in the SyncDOOM waiting room"
    - in a level -> "playing SyncDOOM: <wad> (E1M1)" / "(MAP07)"

    The WAD label is the friendly [wadset:*] name the lobby passes via a new -wadname arg, or the -iwad basename (e.g. "freedoom1") when absent. The
    map only appears while actually in a level (usergame); it's cleared on
    door exit (and the BBS rewrites it from the action anyway).

    sbbs_node.c gains sbbs_node_set_ext() (write node.exb + set/clear NODE_EXT
    via a locked read-modify-write, as in sbbs) and sbbs_node_ext() (read); sbbs_list_nodes() flags NODE_EXT nodes so Ctrl-U shows their free text.
    Also makes the terse action abbreviations more readable (main menu,
    reading msgs, downloading, ...).

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

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