Cinnamon is a project that aims to implement advanced modding capabilities to Geometry Dash, while providing a stable interface for advanced usage natively in Geometry Dash. Alongside providing an interactive and innovative model for developers to work off of, it aims to create a sustainable community and environment for that of creation, and prosperity.
- Provide a comprehensive API for interfacing with Geometry Dash.
- Maintain an active hub for these interfaces to be posted to.
- Value performance and abstraction equally, for newer developers.
- Cover whatever is possible of Geometry Dash, server or not.
As of writing this (February 16th, 2021) there are no built binaries that can be added alongside Geometry Dash. We are currently in a very early stage of development, and do not expect for much to happen in a while.
When developing or debugging Cinnamon or any associated projects, a few prerequisites needed are:
- An IDE that supports working with C++ (standard revision 2017) with proper IntelliSense; primarily Visual Studio 2019, for the .sln
- CMake, to use the build configuration
- Optional: maple-cli, for ease of use
You are able to clone the repository over command line, or by downloading it. Updating this code to the latest commit would be done with git pull
, inside the tau directory.
git clone https://github.com/maple-ml/cinnamon
cd cinnamon
If using maple-cli, all you have to do is run maple build
in the directory of cinnamon. The optional flags for this command are as follows:
--quiet
: Tries to make the build quieter
--run
: Attempts to run Geometry Dash after build has finished, great for debugging (GDPATH
must be defined)
--copy
: If the build succeeds, copies the generated dll to the Geometry Dash/mods
directory (GDPATH
must be defined)
GDPATH
can be defined via environment variable (%GDPATH%
) or the command line argument --path GDPATH
If you are not using maple-cli you need to compile with cmake directly.
Here's what we recommend
cmake --build build32 --config Release
For new ideas and features, we would prefer for you to write an issue before trying to add it to show the maintainers.
Cinnamon uses the MIT license. All of the projects used here have their own licenses, and any packed dependency will have their license provided in the include folder for your convenience.