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