• src/doors/syncduke/syncduke_events.c

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sat Jul 4 00:42:13 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e3cfaa9eeed88c864982fa85
    Modified Files:
    src/doors/syncduke/syncduke_events.c
    Log Message:
    syncduke: log level completions reliably (detect the MODE_EOL edge)

    Clearing a level wasn't logged to events.jsonl, so it never showed in the
    lobby feed. The old detector watched for the level NUMBER changing while in_game, but finishing a level sets gm=MODE_EOL (the bonus screen), which
    makes ev_real_game() false -> in_game drops before the next level loads, and the whole clear->bonus->next transition read as a fresh "start". Detect the clear at the MODE_EOL edge instead -- the reliable "level finished" signal (same idea as SyncDOOM's GS_LEVEL->intermission edge) -- and log it with the real elapsed time (the few that used to slip through logged secs=0, timed at level entry).

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)