Setups are the most abstract chunks of functionality,
e.g. a server, a client, an editor or a local test scene.
Usually, each setup has a single dedicated button in the game’s main menu.
Users may choose which setup to launch on startup via a relevant config.json
setting.
They are allocated and used directly by main.cpp
.
Interface
Each setup is required to expose several public
member functions that the main.cpp
uses to run a viable program session.
Examples:
const cosmos& get_viewed_cosmos() const
- return a reference to the cosmos to be viewed in this frame.entity_id get_viewed_character_id() const
- return an id of the entity that is used as the viewer in this frame.auto get_audiovisual_speed()
const - get a floating-point scalar that determines the speed with which to advance all audiovisual systems.