Awesome
Doomsday Engine
This is the source code for Doomsday Engine: a portable, enhanced source port of id Software's Doom I/II and Raven Software's Heretic and Hexen. The sources are under the GNU General Public license (see doomsday/gpl-3.0.txt), with the exception of the Doomsday 3 libraries that are under the GNU Lesser General Public License (see doomsday/lgpl-3.0.txt).
For compilation instructions and other details, see the Doomsday Manual.
Libraries
libcore is the core of Doomsday 3. It is a C++ class framework containing functionality such as the file system, plugin loading, Doomsday Script, network communications, and generic data structures. Almost everything relies or will rely on this core library.
libgui builds on the core library to add low-level GUI capabilities such as OpenGL graphics, fonts, images, and input devices. It also contains the Doomsday UI framework: widgets, generic dialogs, and abstract data models.
libgloom contains the renderer.
libdoomsday is an application-level library that contains shared functionality for the client, server, and extensions.
libdoomsdaygui extends libdoomsday with GUI-only functionality like widgets shared by the client and shell apps.
libgamekit contains the game extension libraries: Doom, Heretic, and Hexen.
Dependencies
CMake
Doomsday is compiled using CMake. Version 3.1 or later is required.
SDL 2
SDL 2 provides window system integration (windows, graphics API initialization, input events, game controllers). Additionally, SDL2_mixer can be used for audio output.
the_Foundation
the_Foundation is a C library for low-level functionality such as multithreading and Unicode text processing. Use the build_deps.py
script to download and compile this.
glbinding
glbinding is a C++ OpenGL bindings library. Use the build_deps.py
script to download and compile this.
Open Asset Import Library
libgui requires the Open Asset Import Library for reading 3D model and animation files. Use the build_deps.py
script to download and compile this.
FMOD Studio
The optional FMOD audio plugin requires the FMOD Studio Low-Level Programmer API.
FluidSynth
FluidSynth is used for rendering MIDI music using software instruments. FluidSynth can be built as part of the main Doomsday build, in which case GLib 2 is also required as a dependency.