User Tools

Site Tools


devel:libcore

update

Note|You should also see the [[api_documentation]] for more in-depth information.

libcore is the name of the shared library that contains the core of the doomsday_engine version 2.1)

1) 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.)) It is based on hawthorn.
====== 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. ==== Data ==== Block, values, Variable, Record, Writer, Reader, byte ordering, reference counting, ZIP archives. ==== Internal file system ==== FS, folders, native/archive files. ==== Network ==== Link, Protocol, packets. Network architecture on the application level (sessions): See also: network_protocol ==== Scripting ==== 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) ===== libgui builds on libdeng2 and adds functionality integral to GUI applications: OpenGL drawing, input events, and audio. ===== 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) ===== libdoomsday contains all the common subsystems shared by doomsday_server and doomsday_client. ===== 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. ====== Version numbering ====== 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.
In addition to the version number there is also the independent build_number as defined by the automated_build_system. The doomsday_client and doomsday_server use the same version number as libcore. ====== Footnotes ====== <references/> ====== See also ======
devel/libcore.txt · Last modified: 2015-11-14 22:22 (external edit)