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