• src/doors/syncdoom/build.bat vcpkg.json src/doors/syncduke/build.bat v

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wed Jul 1 02:20:56 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/89052800b9848c522a608af7
    Modified Files:
    src/doors/syncdoom/build.bat vcpkg.json src/doors/syncduke/build.bat vcpkg.json src/doors/termgfx/CMakeLists.txt
    Log Message:
    syncduke/syncdoom: link libsndfile via vcpkg for MSVC OGG music

    termgfx only detected libsndfile through pkg_check_modules (pkg-config),
    which doesn't exist under MSVC -- so on Windows the OGG-encode path was silently never compiled and rendered music always fell back to raw-PCM
    WAV. The MinGW-GCC libsndfile vendored in 3rdp/ (for SyncTERM) can't fill
    the gap: its objects pull in libgcc intrinsics (__chkstk_ms, __udivdi3)
    and MinGW CRT thunks (__mingw_printf, __imp____acrt_iob_func) that MSVC's linker can't satisfy from the UCRT.

    - termgfx/CMakeLists.txt: try find_package(SndFile CONFIG) first (the
    vcpkg/MSVC path; also chains in the transitive static codec deps --
    Vorbis/Ogg/FLAC/Opus -- via libsndfile's own config), then fall back to
    the existing pkg-config path for *nix.
    - syncduke/syncdoom vcpkg.json: add the libsndfile dependency (+ note the
    vendored MinGW build can't be used by the MSVC door).
    - syncduke/syncdoom build.bat: the vcpkg-prefix messages/comments now
    cover libjxl and libsndfile.

    Verified: both doors configure with "termgfx: libsndfile 1.2.2 (CONFIG)
    found -> OGG music compression" and build clean (vcpkg libsndfile:x86-windows-static-md).

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

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