Coder Social home page Coder Social logo

skyjake / doomsday-engine Goto Github PK

View Code? Open in Web Editor NEW
260.0 27.0 30.0 298.37 MB

A portable, enhanced source port of Doom, Heretic and Hexen.

Home Page: https://dengine.net/

C++ 79.04% C 18.20% Shell 0.01% Python 0.39% Objective-C 0.01% Makefile 0.01% CSS 0.13% Objective-C++ 0.02% HTML 0.01% AppleScript 0.01% Batchfile 0.01% CMake 1.67% GLSL 0.41% QML 0.01% TeX 0.07% GSC 0.01%
doom heretic hexen opengl windows macos linux desktop-application first-person-shooter game

doomsday-engine's Introduction

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.

Linux 64-bit Linux Build Status Windows 32-bit Windows Build Status

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.