Skip to content

Instantly share code, notes, and snippets.

View iAndyHD3's full-sized avatar

Andy (MC) iAndyHD3

View GitHub Profile
@iAndyHD3
iAndyHD3 / geode-vscode-guide.md
Last active July 7, 2026 11:11
geode vscode intellisense guide

VSCODE INTELLISENSE GUIDE

install clang and ninja. make sure both are on path (clang --version && ninja --version should work) (or use a package manager (eg windows: scoop install llvm ninja)

install clangd extension on vscode, and disable c/c++ extension in vscode!!!

if you already have a build folder, delete it before running this command, inside your geode mod folder, run this cmake command to configure:

cmake -B build -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

Windows

Function Path
getGameDir() {GD_DIR}
getSaveDir() %LOCALAPPDATA%/GeometryDash
getGeodeDir() {GD_DIR}/geode
getGeodeSaveDir() %LOCALAPPDATA%/GeometryDash/geode
getGeodeResourcesDir() {GD_DIR}/geode/resources
getGeodeLogDir() {GD_DIR}/geode/logs

build engine with no extensions for prebuilt

cmake -B build -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DAX_ENABLE_EXT_IMGUI=ON -DAX_ENABLE_EXT_GUI=ON -DAX_ENABLE_EXT_INSPECTOR=ON -DAX_EXT_HINT=OFF -DAX_ENABLE_EXT_ASSETMANAGER=OFF -DAX_ENABLE_EXT_PARTICLE3D=OFF -DAX_ENABLE_EXT_PHYSICS_NODE=OFF -DAX_ENABLE_EXT_SPINE=OFF -DAX_ENABLE_EXT_DRAGONBONES=OFF -DAX_ENABLE_EXT_FAIRYGUI=OFF -DAX_ENABLE_EXT_COCOSTUDIO=OFF -DAX_ENABLE_EXT_LIVE2D=OFF -DAX_ENABLE_EXT_EFFEKSEER=OFF -DAX_ENABLE_EXT_LUA=OFF -DAX_ENABLE_EXT_DRAWNODEEX=OFF -DAX_ENABLE_EXT_SDFGEN=OFF -DAX_ENABLE_MSEDGE_WEBVIEW2=OFF -DAX_ENABLE_MFMEDIA=OFF -DAX_ENABLE_VLC_MEDIA=OFF -DAX_ENABLE_WEBSOCKET=OFF -DAX_ENABLE_3D=OFF -DAX_ENABLE_3D_PHYSICS=OFF -DAX_ENABLE_NAVMESH=OFF -DAX_BUILD_TESTS=OFF
Music Library Version: 116
dashie fade 10009925
Jonth Soundclash 10009926
Soundy Donna (ft. Maria Kallastu) 10009927
Palm Skies Will You Come (ft. Reuben Cameron) 10009928
Emin Nilsen BANE 10009929
MVSTAFA Want it All 10009930
HXDES Kapoeira Phonk 10009931
Psylla In Bonfires Green 10009932
Emin Nilsen VIDA NOVA 10009933
@iAndyHD3
iAndyHD3 / .cpp
Last active April 18, 2023 21:46
dirty solution for std::string in android hooks, libc++
//gnuString to std::string
//gnuString(ptr).to_string();
//std::string to gnuString
//gnuString("hello world").get();
class gnuString
{
void* actual = nullptr;
public:
static void* gd_base;
@iAndyHD3
iAndyHD3 / .cpp
Last active April 16, 2023 12:06
android gd construct gnustl string in c++_static
//usage: gnuString("text").get()
struct gnuString
{
void* actual = nullptr;
static void* gd_base;
gnuString(std::string_view str)
{
//use the iterator constructor which has a symbol
actual = reinterpret_cast<void*(*)(void*, void*)>(
dlsym(gnuString::gd_base, "_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSt6vectorIcSaIcEEEEEES2_T_S7_RKS4_St20forward_iterator_tag")
@iAndyHD3
iAndyHD3 / dump_functions.idc
Last active March 27, 2024 00:08
IDA Pro script to import func_dump.txt by mat | Instructions: 1. SHIFT + F2 or File -> Script command 2. Copy paste all the file content into the window 3. Run (ignore "can't rename byte as" messages)
auto base = get_imagebase();
set_name(base + 0x7950, "AchievementManager_AchievementManager");
set_name(base + 0x7b10, "AchievementManager_sharedState");
set_name(base + 0x80b0, "AchievementManager_percentForAchievement");
set_name(base + 0x82d0, "AchievementManager_getAchievementsWithID");
set_name(base + 0xf680, "std_string::operator");
set_name(base + 0xf6e0, "std_string::release");
set_name(base + 0xf720, "std_string::operator");
set_name(base + 0xf840, "std_string::operator");
set_name(base + 0xfc90, "AchievementNotifier_sharedState");

gd-mod-example-android

Basic Geometry Dash android mod example meant for beginners or as a template. A port of gd-mod-example for Android featuring a new modloader.

screenshot screenshot

Usage

Build