DOOM on ansipants.com/labs: source =================================== The game on this page is doom.wasm: the DOOM engine built for the browser. 1. The engine: doomgeneric, unmodified, at this exact version: https://github.com/ozkl/doomgeneric/tree/dcb7a8dbc7a16ce3dda29382ac9aae9d77d21284 License: GNU General Public License, version 2 (see ../DOOM-LICENSE.txt). 2. Our additions, in this folder, offered under the same license (GPL v2 or later): doomgeneric_web.c the front end: the engine's five platform hooks, and the calls the page makes ansi_sound.c the engine's sound module, reduced to four calls the page answers shim/SDL_mixer.h an empty stand-in for a header the engine includes build_web.sh how doom.wasm is built (clang + wasm-ld, a WASI sysroot; no Emscripten) To rebuild: clone the engine at the version above into vendor-src/, put the two .c files and shim/ in port/, and run build_web.sh (edit the three paths at its top for your toolchain). 3. The page's side is served as it runs: ../doom.js (loads and runs the game) and ../wasi/ (browser_wasi_shim, MIT or Apache-2.0: see the license files there). 4. The game data is Freedoom Phase 1, version 0.13.0, unmodified: https://freedoom.github.io/ License: ../FREEDOOM-COPYING.txt.