• src/doors/syncduke/Game/src/player.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Jun 28 22:01:38 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/1cabc433bdaea1a1f8b67424
    Modified Files:
    src/doors/syncduke/Game/src/player.c
    Log Message:
    syncduke: fix co-op desync from non-synced terminal look (horiz)

    The terminal PgUp/PgDn "look" applied a per-node variable (syncduke_pitch_step) straight to ps[snum].horiz in processinput, which runs for every player -- so the
    looking player's node moved that player's pitch while the other node's copy of the
    variable was 0. horiz diverged between the two sims and the lockstep syncval check
    tripped "OUT OF SYNC". (Root-caused by logging the syncval components on both nodes
    and diffing: horiz was the lone diverging field.)

    Route the pitch through the synced input, like the mouse-steer turn already is: getinput folds one notch/tic into the FIFO's horz field, and processinput applies
    sync[snum].horz to the correct player on both sims (in either aim mode, after the
    auto-center so a tap holds). Verified: extended 2-player co-op play with look, no
    desync.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

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