Subj : src/doors/syncscumm/COMPILING.md README.md build.bat src/doors/syncscu To : Git commit to main/sbbs/master From : Rob Swindell (on Windows 11) Date : Sun Jul 19 2026 01:09:30 https://gitlab.synchro.net/main/sbbs/-/commit/745c1c542b233f4652e136d0 Added Files: src/doors/syncscumm/COMPILING.md README.md build.bat src/doors/syncscumm/door/sst_plat.c sst_plat.h src/doors/syncscumm/msvc/Directory.Build.props Directory.Build.targets vcpkg.json src/doors/syncscumm/scummvm/backends/platform/sdl/win32/win32_wrapper.cpp win32_wrapper.h src/doors/syncscumm/scummvm/devtools/create_project/cmake.cpp cmake.h src/doors/syncscumm/scummvm/devtools/create_project/cmake/.gitignore CMakeLists.txt src/doors/syncscumm/scummvm/devtools/create_project/codeblocks.cpp codeblocks.h src/doors/syncscumm/scummvm/devtools/create_project/codeblocks/create_project.cbp src/doors/syncscumm/scummvm/devtools/create_project/config.h create_project.cpp create_project.h module.mk msbuild.cpp msbuild.h msvc.cpp msvc.h src/doors/syncscumm/scummvm/devtools/create_project/scripts/installer.vbs postbuild.cmd prebuild.cmd revision.vbs scummvm.natvis src/doors/syncscumm/scummvm/devtools/create_project/xcode.cpp xcode.h src/doors/syncscumm/scummvm/devtools/create_project/xcode/create_project.xcodeproj/project.pbxproj src/doors/syncscumm/scummvm/dists/engine-data/engine_data.mk engine_data_big.mk engine_data_core.mk Modified Files: src/doors/syncscumm/.gitignore PROVENANCE.md src/doors/syncscumm/door/CMakeLists.txt module.mk sst_io.c syncscumm.cpp src/doors/syncscumm/scummvm/backends/module.mk Log Message: syncscumm: add the Win32/MSVC build (create_project + vcpkg) Windows has no gcc/configure, so the door builds through ScummVM's own MSVC project generator rather than build.sh's configure+make. build.bat restores and drives devtools/create_project -- patched with a --synchronet option that emits our backends/platform/synchronet module in place of the SDL platform backend -- then MSBuilds the generated solution against vcpkg, producing syncscumm.exe with the same curated engines and the JPEG-XL and Opus/Ogg audio tiers as the *nix build. The door glue is ported to Windows behind door/sst_plat.{c,h} (winsock send/recv, the monotonic clock, sleep, over xpdev's sockwrap/genwrap/ dirwrap), mirroring the sibling termgfx doors; syncscumm.cpp selects the WindowsFilesystemFactory and blanket-allows forbidden symbols so the Windows fs headers' compiles. Restored from the pinned tarball for this build (see PROVENANCE.md): devtools/create_project, dists/engine-data/engine_data*.mk, and backends/platform/sdl/win32/win32_wrapper.{h,cpp} (a Win32 Unicode helper that core backend files pull in). backends/module.mk gates the SDL-dependent win32 backend files on SDL_BACKEND, since the door defines WIN32 without SDL. Adds build.bat, msvc/Directory.Build.{props,targets} + vcpkg.json (local vcpkg integration, x64-hosted compiler, LTCG/-Za disabled to dodge toolset ICEs, Console subsystem, syncscumm.exe output), COMPILING.md and README.md. Co-Authored-By: Claude Opus 4.8 (1M context) --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .