https://github.com/user95401/curly-eureka-x64
(WIP) Traditional modding SDK for Geometry Dash 2.206 on Windows
https://github.com/user95401/curly-eureka-x64
curly-eureka-sdk geometry-dash modding
Last synced: 4 months ago
JSON representation
(WIP) Traditional modding SDK for Geometry Dash 2.206 on Windows
- Host: GitHub
- URL: https://github.com/user95401/curly-eureka-x64
- Owner: user95401
- Created: 2024-07-24T06:30:14.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-07-26T22:12:39.000Z (11 months ago)
- Last Synced: 2025-01-15T19:28:20.242Z (5 months ago)
- Topics: curly-eureka-sdk, geometry-dash, modding
- Language: C++
- Homepage: https://discord.com/invite/wU5DCF9pA6
- Size: 5.68 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# curly-eureka-x64
IS A TRY TO PORT x32 SDK TO x64 FOR GEOMETRY DASH 2.206 AND UP.
#### NOW SLOWLY DEVELOPING
current features
- mod layers and stuff via node setup helper
```cpp
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call != DLL_PROCESS_ATTACH) return TRUE;
REGISTER_NODE_INIT(RewardsPage, [](RewardsPage* self)
{
self->m_mainLayer->addChild(CCLabelBMFont::create("BRUHaaahahah\nwat?", "goldFont.fnt"), 10, 724);
auto label = dynamic_cast(self->m_mainLayer->getChildByTag(724));
label ? label->setPosition(self->m_mainLayer->getContentSize() / 2) : void();
};
);
REGISTER_NODE_UPDATE(RewardsPage, [](RewardsPage* self)
{
auto label = dynamic_cast(self->m_mainLayer->getChildByTag(724));
label ? label->setRotation(label->getRotation() + 0.1f) : void();
};
);
return TRUE;
}
```
- hooking also works
```cpp
class MenuLayerExt : public MenuLayer {
public:
static inline bool init(MenuLayerExt* __this) {
auto rtn = MappedHooks::getOriginal(init)(__this);
twoTimesBoolCallEscapeByParrentNode(__this);
__this->customSetup();
return rtn;
}
void customSetup() {
addChild(CCSprite::create("dialogIcon_052.png"), 10, 567210);
getChildByTag(567210)->setPosition(getContentSize() / 2);
}
};BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call != DLL_PROCESS_ATTACH) return TRUE;
MH_Initialize();
MappedHooks::registerHook(base + 0x3130f0, MenuLayerExt::init);
return TRUE;
}
```
