mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 10:19:47 -04:00
c37b827e97
The episode kept one peer-baseline / ready / POST latch, so with three or four seats the first reply answered for everyone, and the one early BASELINE stash was overwritten by the next seat's. In R4's 4-peer run with the host loaded every frame, two guests replayed a light-tip episode and resumed while the host had not opened it; host and guests then waited on each other (pcap_freeze / wire_hole) until the stall timeout. - BASELINE, ready-ACK and POST go through rnet_rb_quorum: the episode moves on only when every other occupied seat has answered, and a digest from any seat that differs fails the comparison. Early BASELINEs stash per seat. Two seats behave as before. - Light tip skips the ready RTT only with one peer; with more, every seat's ready is how the others know it rolled back to the same load. - A follower that has not simulated the load tick yet defers and joins when it gets there (no NACK, no zombie-load refusal for that join). - Seal, ready and verify timeouts restart while a seat still owing a reply advances its input tip: they fire only when nothing moves. - psx_netplay_peer_seats(); pins recomp-net rb_quorum. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>