mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
5c7a37146c
A netplay match that ends early returns both players to the lobby. The runtime knew why (netplay_soft_exit's origin) but only printed it to stdout, so players saw the lobby again with no reason. A boot-digest mismatch (peers booted different BIOS images or boot settings) first held a black window for the full 20 s admit-stall watchdog. netplay_soft_exit now records a sentence for its origin, and the soft return to the lobby puts it on the launcher's status line through last_error (the room and browser views already show it). The dig0 gate timestamps a mismatch; once the same pair of digests has held for 3 s, the watchdog ends the match with its own reason. A peer that gets the other side's BYE while it sees the same mismatch reports the mismatch, not "the other player left". A CLI match prints the sentence to stderr. The origin-to-text map and the grace decision live in netplay_exit_reason.c, covered by netplay_exit_reason_test. Builds on the previous commit's psx_lobby_set_last_error.