FTE WebAssembly build ==================== Source repository: https://github.com/fte-team/fteqw Exact revision: f09ac7cccd2d713ddf881d3f1324703082c2cfe4 Compiler SDK: Emscripten 4.0.21, from the official emsdk project. Target: full web client/server, FTE_CONFIG=fteqw (includes Q2CLIENT). This build includes Q2 player-sound fallback plus the buttons-only viewer interface, rendered-frame/match-clock callback and full legacy Q2 HUD. The original source archive is unchanged; the exact changes are provided as three patches. Extract fteqw-f09ac7c-source.tar.gz into an empty directory. Place the four accompanying library source archives in its engine/ directory. Apply the patch from the extracted repository root: patch -p1 < /path/to/fte-q2-player-sound-fallback.patch patch -p1 < /path/to/fte-q2-viewer-interface.patch patch -p1 < /path/to/fte-wasm-memory-exports.patch Activate Emscripten 4.0.21 using emsdk, then run from engine/: make web-rel -j4 FTE_CONFIG=fteqw The packaged engine files are release/ftewebgl.js and release/ftewebgl.wasm. Emscripten's standard runtime/system libraries are supplied by that SDK. The client-only webcl-rel target failed to link with this revision due to undefined svprogfuncs in pr_bgcmd.o. The complete web-rel target built successfully. Native server used for integration testing: git clone https://github.com/q2pro/q2pro.git meson setup build -Dsdl2=disabled -Dx11=disabled -Dwayland=disabled \ -Dopenal=disabled -Dsystem-wide=false -Dlibcurl=disabled -Davcodec=disabled meson compile -C build Python bridge/UI/launcher are supplied as source at the top of this package.