-
Notifications
You must be signed in to change notification settings - Fork 104
Description
What feature would you like to see?
Adding ANGLEGLKit support (https://github.com/khanhduytran0/ANGLEGLKit, or use Nathan's implementation which supposedly fixes the stutter problem when tapping), which would allow for 120hz (for newer models) support.
Currently this cannot be implemented as there are some cocos classes, mainly reimplementations of such classes (CCClippingNode for example) don't work correctly due to stencil bits being 0.
https://github.com/geode-sdk/geode/blob/c2caafcec80975b937c1ee8eec5a39e93d4ad320/loader/src/cocos2d-ext/CCClippingNode.cpp#L82-L86
Once that is fixed though, this is possible.
Other details
A toggle in advanced for "Allow 120hz support", which would first prompt the user with a warning, asking if they are sure they want to patch both Geometry Dash and Geode with ANGLEGLKit.
Perhaps also make the toggle disabled if the model doesn't support it, since patching wouldn't really do much otherwise.
Progress
- Automatically replace the load command for LC_LOAD_DYLIB of OpenGLES to ANGLEGLKit for Geode.ios.dylib
- Going off from above, have all mods link to ANGLEGLKit instead of OpenGLES
- Test enterprise mode if ANGLEGLKit works
- Test JIT-Less mode
- Test LiveContainer
- Test 120fps
- See if that stencil code does actually fix CCClippingNode (Note: It didn't but Implement fallback for rendering CCClippingNode geode#1556 fixes it somewhat)
- Have TweakLoader decide whether to inject CAHighFPS depending on env rather than deleting the symlink
- Add a "Force ANGLEGLKit" dev setting