https://gitlab.synchro.net/main/sbbs/-/commit/464e781cad8a71b774bc9c2c
Modified Files:
src/doors/syncdoom/MULTIPLAYER.md README.md dstrings.c i_system.c m_config.c m_menu.c net_udp.c syncdoom.c xtrn/syncdoom/README.md lobby.js syncdoom.example.ini syncdoom_lib.js
Log Message:
syncdoom: persist options, in-game input-feel sliders, skill select, loopback bind, key/quit fixes
Door (src/doors/syncdoom):
- Config persistence: doomgeneric had Save/LoadDefaultCollection #if-ORIGCODE'd
out, so screen size / messages / detail never saved or loaded. Re-enabled both
(deps were all live). Skip DEFAULT_KEY entries -- the door's fixed terminal->
Doom keycodes (>=128) don't survive the config scancode round-trip and were
corrupting strafe/fire/use to 0. Also call M_SaveDefaults on hangup/time-limit
exits, not just menu quit.
- I_Quit now actually exits (its exit() was #if-ORIGCODE'd, so menu quit, hangup,
and the waiting-room cancel fell through into the game).
- Waiting-room Q cancel: drain stale lobby type-ahead + scan the whole read so a
buffered Enter can't auto-launch before Q is seen.
- In-game Options > Input "feel" sliders (KEY TAP/HOLD/TURN) for the key-up-
synthesis graces, inline on the Options menu, snap-to-grid stepping, bars
aligned with SCREEN SIZE. Saved per-user (input.ini in -home, root section);
[input] ini is the house default; -kp* CLI still wins.
- -skill plumbed through to doomgeneric (was being eaten by the -s prefix
matcher, which clobbered the client socket and bounced the player to the lobby).
- net_udp.c: server binds 127.0.0.1 by default (-bindaddr); off-box play is opt-
in. Client keeps INADDR_ANY. (File reformatted to house style.)
- Help screen: git hash lower-left, build date lower-right.
- Quit prompts: "dos" -> "the BBS".
Lobby (xtrn/syncdoom):
- [net] bind (defaults to advertise); skill picker with [net]/[wadset] skill
default; WAD-set picker fits the real terminal width (name-only fallback);
dropped em-dash "--" separators from user-facing strings.
Docs: MULTIPLAYER.md, READMEs, and syncdoom.example.ini updated for the bind default, skill, input-feel, and persistence behavior.
Co-Authored-By: Claude Opus 4.8 <
[email protected]>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net