This is the documentation of the C++ code of Solarus. Solarus is a free, open-source engine for Zelda-like 2D games.
The engine is an executable binary that can run a quest. A quest is a data package containing the graphics, the sounds, the maps and the dialogs.
The engine classes are organized in several directories:
- (root directory): the main classes of the engine;
- lowlevel: encapsulates all libraries and provides low-level access to resources (the rest of the code is independent from libraries like SDL, OpenAL, etc.);
- menus: the menus displayed before or during the game;
- hud: the head-up display that appears during the game;
- movements: many types of movements that can be applied to objects;
- entities: all objects that are present on a map: the tiles, the hero, the enemies, the chests, etc;
- enemies: all types of enemies with their specific behavior;
- hero: all possible states of the hero;
- lua: handles calling C++ from Lua scripts and calling Lua from C++.