Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Justify the project with Godot headers #37

Open
caryyu opened this issue May 22, 2024 · 1 comment
Open

Justify the project with Godot headers #37

caryyu opened this issue May 22, 2024 · 1 comment

Comments

@caryyu
Copy link

caryyu commented May 22, 2024

Recently, I'm thinking how to port Godot GDExtension headers into the Delphi world, so I found this project here, not sure how to start with and be afraid of the big compatible issues: https://github.com/godotengine/godot-cpp

Could the author here spend some time to make a Godot Bindings for Delphi to justify this project better? because I'm also a newbie to C++ and have a very limited knowledge about it, I think we could start from some small examples, thanks.

@neslib
Copy link
Owner

neslib commented May 22, 2024

I have actually worked on this myself a couple of years ago. You actually don't need to convert the C++ headers (and Chet only supports C anyway). Instead, you only need to convert the gdextension_interface.h file (https://github.com/godotengine/godot-cpp/blob/master/gdextension/gdextension_interface.h).

The idea is that you use the generated API JSON file (https://github.com/godotengine/godot-cpp/blob/master/gdextension/extension_api.json) to create the Delphi classes. These Delphi classes will then use the converted gdextension_interface.h file to perform the work.

When I looked into this, it was still called GDNative, and they have changed the whole model for GDExtension. I haven't look at it since, in particular since there is no iOS support and I wanted to support all platforms.

Unfortunately, I don't have time to work on it now. It would require a lot of work, even to get something simple working. But the advantage is that because of the JSON file, maintenance should be relatively easy (sometimes even just a matter of rerunning the tool that converts the JSON file to Delphi code).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants