The ultimate Geometry Dash modding framework
Find a file
qimiko 041a98ee4d
implement loader for android
compilation still won't work, pending implementations for gdstl/codegen/tuliphook. the first two should be mostly done already. may also be good to get FileWatcher, crashlog, and the file picker implemented but they aren't necessary

the libcurl.a and libssl.a files were built using
https://github.com/ibaoger/libcurl-android. they are placed in the link/android folder because putting them in the link folder confused the macOS build.

once built, the geode binary should be loaded after nativeSetApkPath is ran (otherwise the directory setup crashes). in the future it would be nice if the internal mod also did save data path redirection, as base GD is incapable of doing this

Co-authored-by: mat <26722564+matcool@users.noreply.github.com>
2023-06-05 17:42:22 -07:00
.github Update build.yml 2023-05-01 18:52:56 +03:00
bindings fix remaining symbol mismatches 2023-06-05 17:10:59 -07:00
cmake implement loader for android 2023-06-05 17:42:22 -07:00
codegen Use fs::current_path over chdir 2023-05-27 18:35:58 -07:00
loader implement loader for android 2023-06-05 17:42:22 -07:00
.clang-format some formatting 2022-12-03 15:24:31 +03:00
.gitattributes update .gitattributes 2022-12-31 16:33:53 +03:00
.gitignore handle the ui for major and minor versions 2023-05-01 18:41:18 +03:00
CHANGELOG.md update changelog and version 2023-05-16 12:42:21 -03:00
CMakeLists.txt make json library exported 2023-05-24 16:17:58 -03:00
entry.cpp fix getMod being undefined because silly me marked it inline 2023-01-21 16:42:39 +02:00
EULA whole of geode except without history 2022-07-30 19:24:03 +03:00
FilesystemImpl.cpp fix filesystem pch breaking the impl 2023-02-08 17:37:37 +03:00
flash.toml add assets to docs 2023-01-28 19:01:04 +02:00
LICENSE.txt added clang-format 2022-10-30 21:24:06 +03:00
README.md format README.md a bit 2023-04-10 16:09:03 +03:00
title.png add title.png 2023-01-24 11:32:31 +02:00
VERSION update changelog and version 2023-05-16 12:42:21 -03:00

Home page

Geode is a Geometry Dash mod loader and modding SDK with a modern approach towards mod development.

Why Geode?

Unlike previous mod loaders, which merely inject the DLLs and let devs handle the rest, Geode aims to be a more comprehensive project that provides all the tools needed for creating mods in one package.

Geode's goal is to solve mod incompatability - to ensure that mods work together without buttons getting misplaced or hooks mysteriously disappearing.

"Hello World!" Example

Here's a Hello World mod in Geode:

#include <Geode/Bindings.hpp>
#include <Geode/modify/MenuLayer.hpp>

using namespace geode::prelude;

class $modify(MenuLayer) {
	void onMoreGames(CCObject*) {
		FLAlertLayer::create(
			"Geode",
			"Hello World from my Custom Mod!",
			"OK"
		)->show();
	}
};

This code modifies what happens when the "More Games" button is clicked on the home scene in Geometry Dash, showing a custom popup.

Documentation

Detailed documentation, tutorials, and installation instructions on using Geode can be found here.

New to modding GD? Geode's documentation also comes with a handy tutorial book that explains all the basics of GD modding!

Contribution

You can contribute to Geode by opening a Pull Request! Please follow the contribution guidelines.

Questions, help, etc.

If you have any further questions, need help, or just want to share your love for catgirls, be sure to join our Discord server!