This shows you the differences between two versions of the page.
— | devel:libcore [2015-11-14 20:22] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | {{update}} | ||
+ | |||
+ | {{notice|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.((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]], | ||
+ | |||
+ | {{ file: | ||
+ | |||
+ | |||
+ | ===== 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 ==== | ||
+ | |||
+ | [[file_system|FS]], | ||
+ | |||
+ | |||
+ | ==== Network ==== | ||
+ | |||
+ | Link, Protocol, packets. | ||
+ | |||
+ | Network architecture on the application level (sessions): | ||
+ | |||
+ | {{ file: | ||
+ | |||
+ | //See also:// [[network_protocol]] | ||
+ | |||
+ | |||
+ | ==== Scripting ==== | ||
+ | |||
+ | Script, Parser, Process, Module, statements, expressions, | ||
+ | |||
+ | {{ file: | ||
+ | |||
+ | |||
+ | ===== 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: | ||
+ | |||
+ | |||
+ | ===== 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. | ||
+ | * // | ||
+ | |||
+ | 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 ====== | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ====== See also ====== | ||
+ | |||
+ | * [[refactor_engine_into_a_shared_library]] | ||
+ | * [[internal_file_system]] | ||
+ | * [[doomsday_script]] | ||
+ | * [[plugin_factory]] | ||
+ | * [[packaging_resources]] | ||
+ | * [[roadmap]] | ||
+ | |||
+ | |||
+ | |||