How einxyz/editor-downgrade works
EditorDowngrade is a Geometry Dash editor mod that adapts editing controls and object behavior to a selected target version, notably 1.9 versus 2.2. The visible workflow is editing in the editor: version-aware palettes expose legacy objects, placement is filtered and configured, and editor dialogs are adjusted for older rules. Version selection and browser integration are indicated by repository modules but their wiring is not visible in the sampled source. The README gives no product detail; relationships below are limited to sampled calls and explicit storage operations.
Main entry points: LevelEditorLayerHook.cpp Level editor · EditorUIHook.cpp Object palette · ColorSelectPopupHook.cpp Color selection · VersionPopup.cpp Version selector
Components 18
Editor compatibility
- Level editor
src/LevelEditorLayerHook.cpp - Object palette
src/EditorUIHook.cpp - Version catalog
src/data.hpp - Legacy triggers
src/LegacyTriggers.hpp - Effect objects
src/EffectGameObjectHook.cpp
Editor dialogs
- Object customization
src/CustomizeObjectLayerHook.cpp - Color selection
src/ColorSelectPopupHook.cpp - Color popup IDs
src/ColorSelectPopup.cpp - Level settings
src/LevelSettingsLayer.cpp - Editor pause
src/EditorPauseLayerHook.cpp
Version state
- Version selector
src/VersionPopup.cpp - Version selector API
src/VersionPopup.hpp - Level browser integration
src/LevelBrowserLayerHook.cpp - Level cell integration
src/LevelCellHook.cpp
External integrations
- Level storage API
- Editor ID API
Other components
- Editor user
- Geometry Dash
Connections 20
- Editor user → Object palette: selects objects
- Object palette → Version catalog: reads categories
- Object palette → Level editor: dispatches placement
- Level editor → Version catalog: checks version rules
- Level editor → Level storage API: reads/writes metadata
- Level editor → Editor ID API: gets level ID
- Level editor → Effect objects: configures legacy objects
- Level editor → Geometry Dash: creates objects
- Effect objects → Legacy triggers: uses legacy helpers
- Editor user → Object customization: edits object
- Object customization → Level storage API: reads target version
- Editor user → Color selection: edits colors
- Color selection → Level storage API: reads target version
- Color selection → Color popup IDs: registers node IDs
- Editor user → Editor pause: opens pause menu
- Editor pause → Level storage API: reads target version
- Editor user → Level settings: opens settings
- Editor user → Version selector: chooses version
- Level browser integration → Version selector: opens selector
- Level cell integration → Version selector: opens selector