# Third-party code

| Component | Where | Origin | License |
|---|---|---|---|
| Yamagi Quake II | `engine/` (imported as the starting point of the engine) | https://github.com/yquake2/yquake2, commit `9dbf699273e2546f3ad14cff3dee6a51a518cd2a` (2026-10-15) | GPL-2.0-or-later; bundled components listed in `engine/LICENSE` |
| Quake II 3.19 (id Software) | basis of Yamagi Quake II | https://github.com/id-Software/Quake-2 | GPL-2.0 |
| Quake II 3.19 game source (id Software) | `game/src/`: `q_shared.h/.cpp`, `g_local.h`, `g_main`, `g_spawn`, `g_utils`, `g_phys`, `g_func`, `g_trigger`, `g_target`, `g_misc`, `g_combat`, `g_cmds`, `g_chase`, `p_client`, `p_view`, `p_hud`, `p_trail` (`.c` → `.cpp`), copied as the base of the G18 game module and changed to SPEC-760/761/780 | https://github.com/id-Software/Quake-2 (commit `372afde46e7defc9dd2d719a1732b8ace1fa096e`) | GPL-2.0 |
| Quake II 3.19 client sound system (id Software) | `modules/sound/src/snd_dma.c`, `snd_mix.c`, `snd_mem.c` (from `client/snd_dma.c`, `snd_mix.c`, `snd_mem.c`), changed to the SoF default sound backend of SPEC-040 (OMsnd 0.2) | https://github.com/id-Software/Quake-2 (commit `372afde46e7defc9dd2d719a1732b8ace1fa096e`) | GPL-2.0 |
| SDL 3 | not in the tree: `SDL3.dll` (vcpkg build) is the window, input and audio-device layer of the engine; the Linux package bundles `lib/libSDL3.so.0` (unmodified SDL 3.2.10) | https://github.com/libsdl-org/SDL | zlib |
| OpenAL Soft 1.25.2 | not in the tree: linked by `modules/sound` (OMsnd.dll) as `OpenAL32.dll`; its public headers, including the EAX preset table `AL/efx-presets.h`, are used at build time; the Linux package bundles `lib/libopenal.so.1` (unmodified OpenAL Soft 1.24.2 of Debian 13, with `lib/LGPL-2.0.txt`) | https://github.com/kcat/openal-soft (vcpkg port `openal-soft`, triplet x86-windows) | LGPL-2.0-or-later |
| {fmt} | not in the tree: `fmt.dll` is a runtime dependency of the vcpkg OpenAL Soft build and is shipped next to it | https://github.com/fmtlib/fmt (vcpkg port `fmt`) | MIT |
| GameSpy "validate" algorithm (reference only, no code copied) | `tools/net/masterquery.py` (written before SPEC-204 existed, from the public description); `engine/src/common/gamespy.c` follows SPEC-204 | public description of the GameSpy master-server validation ("gsseckey"), Luigi Auriemma's gsmsalg, http://aluigi.altervista.org/papers.htm | gsmsalg is GPL-2.0-or-later; both OpenMerc implementations are independent and check against the SPEC-204 test vectors |
| GNU OpenMP runtime (libgomp, GCC) | not in the tree: the Linux package bundles `lib/libgomp.so.1` (unmodified, of the distribution it is built on) for `omlight`, the lightmap re-bake; on Windows `omlight.exe` uses the MSVC OpenMP runtime `vcomp140.dll` | https://gcc.gnu.org | GPL-3.0-or-later WITH GCC-exception-3.1 (`lib/GPL-3.0.txt`, `lib/LICENSE-libgomp.txt`) |
| stb_truetype 1.26 (Sean Barrett) | `engine/src/client/menu/header/stb_truetype.h`, TrueType rendering of the menu fonts | https://github.com/nothings/stb | MIT or public domain (dual) |
| AMD FidelityFX Super Resolution 1.0 (EASU) and CAS | `engine/src/client/refresh/gl3/gl3_post.c`: the EASU upscale (`r_om_upscale 2`) and the contrast-adaptive sharpening of the upscale passes follow the FSR 1 / CAS shader code | https://github.com/GPUOpen-Effects/FidelityFX-FSR | MIT (`licenses/FidelityFX-FSR.txt`) |
| SMAA (Jimenez et al., 2012) | `engine/src/client/refresh/gl3/gl3_post.c`: SMAA 1x (`r_om_postaa 2`), after the reference implementation (orthogonal patterns; the area table is computed at start after `AreaTex.py`) | https://github.com/iryoku/smaa | MIT (`licenses/SMAA.txt`) |
| FXAA 3.11 (Timothy Lottes, NVIDIA) | `engine/src/client/refresh/gl3/gl3_post.c`: `r_om_fxaa`, after the published FXAA 3.11 quality algorithm | https://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf | algorithm reference |
| MurmurHash3 (Austin Appleby) | `engine/src/client/refresh/gl3/gl3_material.c`: x86_128 variant as the material cache key | https://github.com/aappleby/smhasher | public domain |
| Poly Haven HDRIs "Kloppenheim 06" and "Kloppenheim 07 (Pure Sky)" | `data/base/textures/sky/om/train_*.jpg` (packed into `zz_openmerc.pak`): sky box faces made with `tools/skybuild.py` / `tools/skymatch.py` | https://polyhaven.com/hdris | CC0 1.0 |
| Play, Russo One, JetBrains Mono fonts | `data/base/fonts/om/*.ttf`, unmodified, packed into `zz_openmerc.pak` | https://github.com/google/fonts (ofl/), https://github.com/JetBrains/JetBrainsMono | SIL Open Font License 1.1 (`data/base/fonts/om/OFL-*.txt`) |

Files changed after import carry an OpenMerc notice below the original copyright header.

## Files of this binary package

| File | Component | Version | License text |
|---|---|---|---|
| `SDL3.dll` | SDL 3 (unmodified vcpkg build) | 3.4.18 | `licenses/SDL3.txt` |
| `OpenAL32.dll` | OpenAL Soft (unmodified vcpkg build, dynamically linked; source: https://github.com/kcat/openal-soft) | 1.25.2 | `licenses/OpenAL-Soft.txt` |
| `fmt.dll` | {fmt} (unmodified vcpkg build) | 12.2.0 | `licenses/fmt.txt` |
| `msvcp140.dll`, `msvcp140_atomic_wait.dll`, `vcruntime140.dll`, ``vcomp140.dll`` | Microsoft Visual C++ runtime, redistributable files of Visual Studio | 14.44.35211.0 | Microsoft Visual Studio redistributable terms (`licenses/MSVC-runtime.txt`) |
| fonts inside `openmerc/zz_openmerc.pak` | Play, Russo One, JetBrains Mono | - | `licenses/OFL-*.txt` |
| everything else | openMERC | 0.2.3 | `LICENSE.txt` (GPL v2 or later), Yamagi Quake II notices in `licenses/Yamagi-Quake-II.txt`; code after FidelityFX FSR 1 / CAS and SMAA: `licenses/FidelityFX-FSR.txt`, `licenses/SMAA.txt` |