_  _    __    ___  __    ___  _____  _  _
 ( \( )  /__\  / __)(  )  / __)(  _  )( \( )
  )  (  /(__)\( (__  )(__( (__  )(_)(  )  (
 (_)\_)(__)(__)\___)(____)\___)(_____)(_)\_)

The History of Hacking  ·  May 31 – June 2, 2026  ·  Carolina Beach, NC

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/doors/syncduke/Game/src/game.c src/doors/syncduke/syncduke_config.

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Fri Jun 26 22:40:09 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/705a840fe95017643a65bdfc
    Modified Files:
    src/doors/syncduke/Game/src/game.c src/doors/syncduke/syncduke_config.c Log Message:
    syncduke: fix two Windows door startup failures (setvbuf, GRP dir)

    Both killed the Win32 door at launch -- it died straight back to the BBS
    after the "Loading..." splash; found while bringing up the MSVC build.

    1. syncduke_config.c: setvbuf(stdout, NULL, _IOLBF, 0) (used to route the
    engine's diagnostics to the BBS log) is fine on glibc, but MSVC's CRT
    rejects _IOLBF with size 0 (it requires size >= 2) -> invalid-parameter
    fast-fail (c0000409), confirmed from the WER minidump. Use _IONBF on
    Windows (unbuffered, valid with size 0, flushes immediately); *nix keeps
    _IOLBF.

    2. Game/src/game.c: the Windows findGRPToUse() never consulted
    syncduke_grpdir (only the *nix branch did), so with -home (CWD = the
    per-user dir) it scanned the wrong directory and exited with
    "Can't find 'duke3d*.grp'". Honor syncduke_grpdir first, mirroring the
    *nix branch, so the GRP opens by absolute path regardless of CWD.

    Verified on Windows via an inherited-socket harness matching the live launch (-s<socket> -home <userdir>): loads DUKE3D.GRP by absolute path and renders (sixel and JXL tiers).

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Jul 4 20:14:29 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0225557a182a64fee49da574
    Modified Files:
    src/doors/syncduke/Game/src/game.c src/doors/syncduke/syncduke_config.c xtrn/syncduke/syncduke.example.ini
    Log Message:
    syncduke: play Duke's title attract demos only when enabled

    The Atomic / full 1.3D-1.5 GRPs ship the DEMO*.DMO lumps (the shareware
    GRP does not), so an idle title screen would start streaming demo
    playback at a remote user who just picked single-player -- a demo's
    worth of frames they didn't ask for. Skip the attract loop by default; syncduke.ini [game] attract_demos = true restores the classic behavior.

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

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