WebBAR corresponding source

The WebBAR engine and AI (spring-browser.wasm and its JavaScript glue) are built from the Recoil engine, BARb/CircuitAI, streflop and DevIL, which are GPL-2.0-or-later / LGPL-2.1. Their corresponding source is the upstream commits pinned below plus the patches listed here. Attribution and license notes for game content are in NOTICE.md; the project license is in LICENSE.

Engine release on this site: eca04a5c9f2b95be1403d995277c225192c9715ee5db0c822e9e058beebbf75b, Recoil commit e9d199329538cd9078a621c5e0f9ada416e1229f, Emscripten 6.0.9.

Exported from WebBAR checkout 112abde0625aa3608674a679d2568d2472402eb7.

Pinned upstream

ComponentRepositoryCommit
recoilgithub.com/beyond-all-reason/RecoilEngine.gite9d199329538cd9078a621c5e0f9ada416e1229f
fixturesgithub.com/beyond-all-reason/demo-parser.gitcac2b22b1c7fbd9c75ed4c45450637e4b3286e0b
emsdkgithub.com/emscripten-core/emsdk.gitc59d6e841da55c2c21af32004c4c173cbd1c0f10
devilgithub.com/DentonW/DevIL.gita2d9193fed0c7f93519c0c4c28b3348e0cb5759b

streflop (rts/lib/streflop) and BARb (AI/Skirmish/BARb) are Recoil submodules at the commits recorded by that Recoil commit. The full lock file is upstream.lock.json.

Patches

Rebuilding the engine

# Download every patch above into ./patches, then:
git clone https://github.com/beyond-all-reason/RecoilEngine.git RecoilWasm
cd RecoilWasm && git checkout e9d199329538cd9078a621c5e0f9ada416e1229f
git submodule update --init --recursive
# recoil-wasm.patch first; the other recoil-*.patch files are incremental on top of it.
# Apply in name order, repeating passes until none applies (already applied ones fail --check).
for pass in 1 2 3; do for p in ../patches/recoil-wasm.patch ../patches/recoil-*.patch; do
  git apply --check "$p" 2>/dev/null && git apply "$p"; done; done
(cd rts/lib/streflop && git apply ../../../../patches/streflop-wasm.patch)
(cd AI/Skirmish/BARb && git apply ../../../../patches/barb-wasm.patch)
# DevIL https://github.com/DentonW/DevIL.git at a2d9193fed0c7f93519c0c4c28b3348e0cb5759b: git apply devil-wasm.patch
# Build with emsdk 6.0.9 (commit c59d6e841da55c2c21af32004c4c173cbd1c0f10), as scripts/engine-build.mjs
# and scripts/headless-build.mjs do in the WebBAR repository.

native-sync-trace.patch applies only to the native reference build used for sync verification. The WebBAR repository's scripts/ci/patch-provenance.mjs checks that these patches reproduce the engine tree exactly. For a copy of the full WebBAR build scripts, contact the site operator.