mse / RSOD (public) (License: CC0 and other licenses) (since 2025-03-01) (hash sha1)
Free software FPS engine

/README.md (fc392e2bdb9b9ac4abb5fded56a32df18102c407) (2396 bytes) (mode 100644) (type blob)

# RSOD

The RSOD engine is a free software FPS engine. To run the game, you will need the `game` folder from an official release on [Steam](https://store.steampowered.com/app/1827200/RSOD/) or [Itch](https://motorstripentertainment.itch.io/rsod). (Demo releases work fine.)

## Compiling

The engine has the following build-time dependencies.

* GNU/Linux
* GCC or Clang
* Make
* CMake
* Wget
* An Internet connection to automatically download additional dependencies
* MinGW-w64 (Windows builds only)
* GTK 3 development libraries (Linux builds only)
* SDL2's low-level dependencies (Linux builds only; see below)

If you have a system with `apt`, you can satisfy most of the requirements by running this:

`sudo apt install build-essential cmake wget libgtk-3-dev libsdl2-dev`

To build for GNU/Linux with dynamic SDL, run this:

`make`

To build for Windows, first install MinGW-w64 by running this:

`sudo apt install mingw-w64-i686-dev`

Then build for Windows by running this:

`make rsod-engine.exe`

If either of the above builds fail, try running `make bullet`, then attempt the build again.

## Building SDL2 (optional)

If you build `rsod-static` (only recommended when targeting Linux systems that lack SDL) the makefile builds a subset of SDL2 automatically. SDL2's build system checks for the presence of certain development libraries to determine which components to build. To install the necessary SDL2 dependencies on Ubuntu and Debian:

```
# Graphics
sudo apt install libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libxrandr-dev libgtk-3-dev
# Sound and peripherals
sudo apt install libjack-dev libasound2-dev libpulse-dev libxi-dev libudev-dev
```

## Licensing

Except where otherwise stated, the RSOD engine is licensed under [CC0](https://creativecommons.org/publicdomain/zero/1.0/). This license does not cover game assets that are found outside of this codebase, such as 3D maps.

Some permissively-licensed code is included in the repository. The btrap* headers inherit the zlib license from Bullet. `wfcgen` includes code licensed under Apache 2.0, but it is not built into the engine distributed to end users. The OpenGL headers include code licensed under Apache 2.0, but it is well known that Khronos does not care about attribution of that code in particular. `SDL2.dll` is shipped to users, though it probably does not invoke additional licensing requirements.

Mode Type Size Ref File
100644 blob 170 42b08f467f099371d96fc6f35757c4510bfe7987 .gitignore
100644 blob 13711 25dbc408cf6dce13f6aac062d31879240d7f4f5e Makefile
100644 blob 2396 fc392e2bdb9b9ac4abb5fded56a32df18102c407 README.md
040000 tree - 103dbf12e28639d9e91377c529bd06d6ebf8acf5 base
100644 blob 487269 29cfd3578eb40b1f039e271bcaa81af49d1b7f3c gamecontrollerdb.txt
040000 tree - 32c6f53774408f3b532f4b2630330eba62c17261 include
100755 blob 257 5da83586fddf2984c55ed40e03f43c504552e8aa makeanib
100755 blob 677 e3ce6d4069311dcbb89f1d1166a00a2f9d2934b5 package-steam
100644 blob 879 1aa6cc46749b8ad10c792dd501a23d62886ae951 package-steam-build-demo.vdf
100644 blob 887 accdaa60338652380422b5c2caa0651cc8b0ea7e package-steam-build-playtest.vdf
100644 blob 879 0b12a202f0ef30f781c82678a68c9a5093365e7e package-steam-build.vdf
100644 blob 1182 81610ae8ed0d39b7b1412ef22eff86289fe2adb2 rsod.cbp
040000 tree - f105383c24b3839e216637b3106103e28c36b9ac src
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/mse/RSOD

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/mse/RSOD

Clone this repository using git:
git clone git://git.rocketgit.com/user/mse/RSOD

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main