https://gitlab.synchro.net/main/sbbs/-/commit/842d355b5535e0369bcf846a
Modified Files:
src/doors/syncdoom/syncdoom.c src/doors/syncduke/syncduke.h syncduke_input.c syncduke_io.c
Log Message:
syncduke,syncdoom: reclaim the status-line row; fix DOOM keypad-plus
Adopt SyncConquer's DECSSDT status-line hide in SyncDuke and SyncDOOM.
On entry each door emits termgfx_term_status_off (DECSSDT Ps=0) before
the canvas probe, so SyncTERM frees its 25th row and the game fills the
full 80x25 / 640x400 canvas instead of the 640x384 it draws into while
the status line is visible. The prefixed DECRQSS query's reply is
captured (a rolling-window scan in the input pump) and restored on exit
via termgfx_term_status_set, mirroring SyncConquer's door_term_restore.
Also fix SyncDOOM's numeric-keypad '+': it emitted the character '+',
but DOOM binds screen-size-up and automap zoom-in to KEY_EQUALS ('='),
not '+'. keypad-'-' worked only because screen-size-down is KEY_MINUS
('-'), which the keypad character happens to match. Map keypad-'+' to
'=' in both the evdev and kitty numpad tables so it resizes and zooms
with the same parity keypad-'-' already had; the main '+'/'=' keys are untouched.
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net