Dæmon engine code

From Unvanquished
Jump to: navigation, search

Sources

The Dæmon engine code features C++ and C code.

See the Getting the source page for details on how to get the sources.

The engine sources are stored in a Git repository: github.com/DaemonEngine/Daemon

Libraries

We maintain various libraries and tools that contribute to the Dæmon engine:

We also vendor as submodules some third-party libraries, they are usually kept unmodified but we keep the opportunity to patch them when needed so we host them in our forge:

We also vendor as subdirectories some small third-party libraries, they may be modified when needed:

Platforms

The Dæmon engine is distributed as native executables, compiled for each supported architectures and systems. The engine is written to be buildable for various supported and not-supported platforms. We provide prebuilt binaries of the engine for the supported platforms with the Unvanquished game, the engine for a not-supported platforms should be built by the user:

Dæmon engine Platform Compatibility
↓ System \ Architecture → amd64 i686 arm64 armhf ppc64el riscv64 loong64
Linux ✅️ ✅️ ✅️ ✅️ ☑️ 🚧️ 🚧️
Windows ✅️ ✅️
macOS ✅️ ✅️
FreeBSD ☑️ ☑️
Legend: ✅️ officially supported, ☑️ not officially supported, 🚧️ work in progress.

The compiled game code to run with the Dæmon engine is meant to be distributed as Native Client executables, compiled for various architectures but system-agnostic:

Native Client Platform Compatibility
System Architecture Dæmon NaCl Runtime Google PNaCL SDK Dæmon Saigo SDK
Windows amd64 ✅️ native ✅️ native ✅️ native
i686 ✅️ native ✅️ native ✅️ native
Linux amd64 ✅️ native ✅️ native ✅️ native
i686 ✅️ native ❌️ ✅️ native
arm64 ☑️ armhf Multiarch
☑️ Box64 (WIP)
❌️ ✅️ native
armhf ✅️ native ❌️ ✅️ native
ppc64el ☑️ Box64 (WIP) ❌️ ✅️ native
riscv64 ☑️ Box64 (WIP) ❌️ ✅️ native
loong64 ☑️ Box64 (WIP, untested) ❌️ ✅️ native
macOS amd64 ✅️ native ✅️ native ✅️ native
arm64 ☑️ amd64 Rosetta2 ☑️ amd64 Rosetta2 ✅️ native
FreeBSD amd64 ☑️ Linuxulator ❌️ ✅️ native
i686 ☑️ Linuxulator (untested) ❌️ ✅️ native
Legend: ✅️ native support, ☑️ support through a compatibility layer, ❌️ no support.

Compilation

See the Compiling the source page for details on how to compile the sources.