Note: this repository is just a mirror of the official repository on Framagit, which should be considered as the most up-to-date and reliable source for Sosage.
- SDL2 (>= 2.0.14)
- SDL2_ttf
- SDL2-Mixer-X https://github.com/WohlSoft/SDL-Mixer-X
- libyaml
- liblz4 (only for packaged version)
- SDL2_image (only for unpackaged version)
This repository only contains the source code of the Sosage engine:
game data are provided separately. To compile the game, you need to
specify the folder containing game data through the cmake variable
SOSAGE_DATA_FOLDER. That folder must contain the provided
config.cmake file.
Depending on whether you are using packaged game data (with few files
like general.data) or unpackaged game data (with a full tree and
files likes images/interface/cursor.png), Sosage will either require
liblz4 or SDL2_image.
Warning: compiling the unpackaged version should only be done when in the process of creating/modifying a game: for sharing a released game, compiling the packaged version is strongly advised, as disk usage and loading times become significantly reduced, providing a much better experience of users.
After installing dependencies:
$ mkdir build && cd build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DSOSAGE_DATA_FOLDER=[where_the_data_is]$ make
For other platforms (Android, Emscripten, etc.), please refer to the
README.md files in the subfolders of platform.
The Sosage Compressed Asset Packager (SCAP) is a tool provided in
tools/SCAP. It can be used both to compress game data (in order to
share a game with the best performances in terms of disk usage and
loading times) and to decompress game data (to access, study and
modify the raw images, sounds and documents of a shared packaged
game).
SCAP depends on SDL2, SDL2_image, SDL2_ttf, liblz4 and tbb.
You can build SCAP by simply going to tools/SCAP and doing
$ mkdir build && cd build$ cmake .. -DCMAKE_BUILD_TYPE=Release$ make
To compress unpackaged game data located in [input_folder] and put
the packaged version in [output_folder], call:
$ ./SCAP [input_folder] [output_folder]
To decompress packaged game data located in [input_folder] and put
the unpackaged version if [output_folder], call:
$ ./SCAP [input_folder] [output_folder] -d