https://gitlab.synchro.net/main/sbbs/-/commit/a11cddf07ac34e7c2a33c51a
Added Files:
src/doors/syncscumm/door/help_term.cpp help_term.h
Modified Files:
src/doors/syncscumm/door/module.mk syncscumm.cpp video_term.cpp src/doors/termgfx/termgfx_termio.c termgfx_termio.h
Log Message:
syncscumm: a key-help card, on Ctrl-K and F1
This was the only termgfx door with no help of any kind, and the games it
hosts are the ones that need it most: SCUMM v1/v2 (Maniac Mansion) has no
menu bar to stumble into, so a caller who wanted OUT had nothing to find.
The one key that mattered -- the GMM hotkey, which is where Quit lives --
was announced only to stderr, and a BBS-launched door has its stderr
discarded, so the single place it was written down was invisible in
exactly the situation it was needed.
The card names the menu key the sysop configured (not a hardcoded
Ctrl-G), the graphics tier and stats keys, and the blunt exit.
That exit is Ctrl-Q, or Ctrl-C, and it deserves its own note. On a
terminal in a native key mode -- kitty, or the evdev protocol SyncTERM negotiates, so what a caller here almost always has -- the bare letter is deliberately left alone so it can reach ScummVM's text entry, and only
the CTRL form quits; only a terminal with neither protocol falls back to
the raw byte path where the letter itself is reserved. Quitting saves
nothing on the way out, but ScummVM's autosave is on at its five-minute
default and the door does not override it, so what is lost is the last
few minutes rather than the session. Told only "no save", a caller would
assume the worse of the two, so the card says both and points at the menu
for a real save.
A dedicated key, not "any unmapped key" the way syncretro does it:
syncretro owns its entire binding table, so "unbound" is a fact it knows,
while this door is a HOST that forwards nearly every key to ScummVM and
cannot see whether the engine consumed one. Worse, ScummVM's save/load
dialogs take free text, so a catch-all would fire on every letter of a save-game name. Ctrl-K is what syncconquer chose and is free in SCUMM;
F1 matches the other doors' muscle memory. NOT Ctrl-H: that is Backspace,
which SCUMM needs for name entry, and terminals disagree about whether Backspace sends 0x08 or 0x7f.
The panel is plain positioned ANSI with no box-drawing glyphs (those
split CP437 vs UTF-8 across SyncTERM and Windows Terminal), the door
stops presenting frames while it is up so the picture cannot repaint over
it, and any key takes it down -- a help page you cannot get out of is
worse than no help page.
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)