_  _    __    ___  __    ___  _____  _  _
 ( \( )  /__\  / __)(  )  / __)(  _  )( \( )
  )  (  /(__)\( (__  )(__( (__  )(_)(  )  (
 (_)\_)(__)(__)\___)(____)\___)(_____)(_)\_)

The History of Hacking  ·  May 31 – June 2, 2026  ·  Carolina Beach, NC

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/doors/syncscumm/door/sst_io.c src/doors/syncscumm/test/test_sst_mo

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Jul 18 03:02:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4ede5029451a751b9ed6746d
    Modified Files:
    src/doors/syncscumm/door/sst_io.c src/doors/syncscumm/test/test_sst_mouse.c
    Log Message:
    syncscumm: make the top canvas edge reachable with a cell-granular mouse

    On a terminal that reports mouse position by text cell (not SGR-Pixels),
    the cell mapper placed the pointer at the cell's CENTER, which sits ch/2
    px below the top canvas edge, so game y=0 was unreachable. Beneath a
    Steel Sky drops its inventory bar only when the pointer reaches y=0, so
    the bar never appeared on a cell-granular sixel client. The mapper
    already snapped the LAST row/col out to the far image edge; snap the
    FIRST row/col to the near edge too, so the whole play area -- top edge
    included -- is reachable. (syncconquer deliberately leaves the top short
    for Red Alert's scroll-up zone; this door wants the opposite, so the
    divergence is intentional.) No effect under SGR-Pixels, where the report already carries exact canvas pixels.

    Also log each mouse report under SYNCSCUMM_TRACE (raw cell/pixel coords,
    the mode read, the fitted image rect, and the game coords produced) so a
    "can't reach the edge" or "stale cursor" report can be diagnosed from a
    node trace without a live capture.

    Cell-edge reachability is now asserted in test_sst_mouse (first row -> y=0, last row/col -> far edge).

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