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' <tchar.h> 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) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net