The content of this article is out-of-date and should be updated with the latest details.
Note: You should also see the API documentation for more in-depth information.
- 1 Doomsday 2 architecture
- 2 Version numbering
- 3 Footnotes
- 4 See also
Doomsday 2 architecture
Doomsday 2 comprises a set of libraries that act as the foundation of Doomsday Client, Server, Shell, and other applications. Everything builds on libcore, the core library that contains functionality essential to all applications.
Core library (libcore)
App, Library, base for subsystems, threading.
Block, values, Variable, Record, Writer, Reader, byte ordering, reference counting, ZIP archives.
Internal file system
FS, folders, native/archive files.
Link, Protocol, packets.
Network architecture on the application level (sessions):
See also: Network protocol
Script, Parser, Process, Module, statements, expressions, functions.
Shell library (libshell)
Connecting to servers, protocol for talking with servers. Generic UI components needed by the Shell apps and the UI framework.
GUI library (libgui)
UI framework (libappfw)
The Doomsday UI framework is in its own library and contains a number of UI widgets and supporting functionality for tasks like laying out and drawing text.
Common application subsystems (libdoomsday)
Legacy / C language support (liblegacy)
liblegacy contains old supporting code (like the memory zone and dynamic strings for C) that was more relevant before C++ was taken into use. This library is intended to eventually become obsolete as more and more code is based on the newer libraries.
libcore version numbers are composed of the following parts:
- Major version number: 2.
- Minor version number: incremented once a set of long-term goals have been met.
- Patchlevel: incremented for patch releases.
- The actual file name depends on the platform:
- On Windows, it is deng_core.dll.
- On Mac OS X, it is libdeng_core.dylib.
- On Linux, it is libdeng_core.so.