Skip to content

Comments

Fix: Geode v5 / GD 2.2081 compatibility migration#380

Open
Kosten47 wants to merge 9 commits intoTobyAdd:mainfrom
Kosten47:main
Open

Fix: Geode v5 / GD 2.2081 compatibility migration#380
Kosten47 wants to merge 9 commits intoTobyAdd:mainfrom
Kosten47:main

Conversation

@Kosten47
Copy link

What this PR does

Migrates GDH from Geode SDK v4 to v5.0.0-beta.4 and adds compatibility
for Geometry Dash 2.2081.

Changes

Geode v5 API breaking changes

  • Popup system rewrite: Popup<std::monostate> template removed in v5.
    All popup classes migrated to new Popup::init(width, height, bg) pattern
    (affects HacksLayer, RecorderLayer, LabelsCreateLayer, popupSystem)
  • fmt library: fmt::localtime removed in fmt v12, replaced with
    geode::localtime
  • Mod API: isOrWillBeEnabled() renamed to isLoaded()

GD 2.2081 binding changes

  • GJBaseGameLayer::processCommands: signature changed from (float dt)
    to (float dt, bool isHalfTick, bool isLastTick)
  • AudioEffectsLayer::m_notAudioScale: field removed, pulse control now
    only via FMODAudioEngine::m_pulse1
  • GJGameLevel::m_k111: field removed in 2.2081 bindings
  • CCEGLView::onGLFWKeyCallback: inlined in 2.2081, cannot be hooked.
    Replaced with CCKeyboardDispatcher::dispatchKeyboardMSG hook which
    properly converts VK codes to GLFW via KeyMappingUtils::GetGLFWFromWinAPI

Dependencies

  • gd-imgui-cocos: hooks.cpp patched via CMake for 2.2081 compatibility
    (dispatchKeyboardMSG now takes an additional double time parameter).
    Patch applied automatically at build time from patches/imgui-cocos-hooks.cpp
  • mod.json: updated GD version from 2.208 to 2.2081
  • CMakeLists.txt: C++ standard updated from C++20 to C++23 (required by Geode v5)

Known limitations

  • Right-click in ImGui menu not available (mouse callback inlined in 2.2081)
  • Mobile recorder folder picker uses default writable path instead of
    manual folder selection

@TobyAdd
Copy link
Owner

TobyAdd commented Feb 23, 2026

Hello, the "main" branch is currently obsolete. It will remain for Geometry Dash 2.2074 and will no longer be maintained.

Currently, GDH is being rewritten, and the source code is published on the "new-5.1" branch, which includes extensive refactoring and code optimizations.

Also, you are using an incorrect method to update imgui-cocos. You need to change the commit hash in the CMakeLists.txt file instead of placing .cpp files in the build folder. Therefore, the pull request cannot be accepted.

@Kosten47
Copy link
Author

Fixed, updated the commit hash in CMakeLists.txt. Sorry, first time contributing on github

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants