GDExtension: Showing How to Automate Binding with Metaprogramming. Improve Compile Time Validation, Type Safety. #9617
TacticalShovel-Github
started this conversation in
Scripting
Replies: 1 comment 4 replies
-
One of the design goals of godot-cpp is to provide (as much as possible) the same API as used internally by Godot module in the engine itself. So, in order to provide an API like this:
|
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I've always been a little annoyed at the binding interface.-"Gotta add in some glue code to export this variable real quick" ...
-"And add to a param to this signal. Update the callback here... and here... and here..." ...
-"And here. Recompile" ...
-"Oof, spelled the name wrong there. Recompile" ...
-"Oof again, I used godot::Variant::INT but I should have used godot::Variant::FLOAT. Recompile again." ...
I can tell from the method and variable signatures how everything should be binded to the engine, so why do I have to write code to do it? I'm pretty good with metaprogramming in C++ so that's what I did and a few coffee filled weekends, here I am.
I only recently got this iteration compiling. It needs testing, but it is still good as a proof of concept. I think it is a pretty sleek interface so I figured I would probe for interest from the maintainers of GDExtension.
Updated:
https://github.com/TacticalShovel-Github/BiBS-Auto-Binder-for-Godot
Beta Was this translation helpful? Give feedback.
All reactions