|
R-Type 0.1
|
This page takes you from a fresh clone to a running game, then shows how to build this documentation locally.
| Tool | Notes |
|---|---|
| C++20 compiler | GCC, Clang or MSVC |
| CMake | 3.20 or newer |
| vcpkg | VCPKG_ROOT must point to the installation |
| Git, curl, zip, unzip, tar, pkg-config | Used by vcpkg to fetch dependencies |
| Vulkan capable GPU and driver | Needed to run the client only |
On Debian or Ubuntu, the low level system libraries are installed with:
Every other dependency (Asio, nlohmann/json, GLM, miniaudio, stb, the Vulkan loader, the rtk ECS and the rtk graphical library) is downloaded during the configure step. Nothing is installed system wide.
make configures CMake with the vcpkg toolchain and builds in Release mode. The two executables are written to bin/.
| Command | Effect |
|---|---|
make | Release build |
make debug | Debug build |
make clean | Removes the CMake build directory |
make fclean | Also removes fetched libraries and binaries |
make re | Full rebuild |
make format | Formats the sources with clang-format |
make docs | Builds this documentation website |
The same build without the Makefile:
Both programs load their assets with paths relative to the working directory, so start them from the repository root.
Start one client per player, up to four. The server waits in a lobby and starts the round as soon as two players are connected, or 30 seconds after the first player joined.
| Action | Keyboard | Gamepad |
|---|---|---|
| Move | Arrow keys | D-pad or left stick |
| Shoot | Space | Right trigger |
| Confirm in menus | Enter | Cross or A |
| Quit | Escape | |
| Show collision boxes | Hold F3 and press B |
The website is generated by Doxygen from the guides in docs/pages and from the comments of the public headers.
make docs downloads the doxygen-awesome theme into External/ on first use, then writes the website to build/docs/html. Open build/docs/html/index.html in a browser. Warnings, such as a public function without documentation, are written to build/docs/warnings.log.
The website is rebuilt and published automatically for every push on main.