godotengine / godot-cpp

C++ bindings for the Godot script API
MIT License
1.75k stars 578 forks source link

Editor macros such as `EDITOR_GET` and `EDSCALE` are not available #1619

Open aaronfranke opened 1 month ago

aaronfranke commented 1 month ago

Godot version

Godot 4.3-stable (but this problem happens just with compiling a godot-cpp project)

godot-cpp version

master 6facde3c29abe4d8b0ff365c252c9aeb16fc5f66

System information

macOS 14.6.1 arm64

Issue description

The EDITOR_GET macro defined in the engine's editor/editor_settings.h is not available in godot-cpp.

#define EDITOR_GET(m_var) _EDITOR_GET(m_var)
Variant _EDITOR_GET(const String &p_setting);

Meaning that this line of editor code will compile in an engine module, but not in godot-cpp:

const real_t zoom_inertia = EDITOR_GET("editors/3d/navigation_feel/zoom_inertia");

Other editor-specific macros are also missing, such as EDSCALE, TTR, ERR_THREAD_GUARD, and functions such as get_editor_theme_icon, and more.

Steps to reproduce

Add EDITOR_GET or EDSCALE into a godot-cpp project and notice that they are missing, no matter what you include. Another option is to just do a search in godot-cpp and you will not find these strings anywhere in it.

Minimal reproduction project

I'm not gonna bother including a minimal reproduction project since it can be reproduced by pasting one line of code into an empty GDExtension project.