godotengine / godot-headers

Headers for the Godot API supplied by the GDNative module.
MIT License
381 stars 91 forks source link

Update files to Godot 4.x #107

Closed ParadoxV5 closed 1 year ago

ParadoxV5 commented 1 year ago

Closes #106

99 does not apply

Calinou commented 1 year ago

Sorry for the delay in reviewing this PR. Now that Godot 4.0.3 is released, could you amend this PR to target 4.0.3?

ParadoxV5 commented 1 year ago

just received the news and got here at the same time you commented, Lol

akien-mga commented 1 year ago

Actually, I wonder if we should just drop the master branch in this repository. It's useful for GDNative (3.x), but for GDExtension with only two files, having to keep a separate repo in sync seems overkill.

godot-cpp moved to including the two files directly so it doesn't have to rely on a nested submodule. godot-python and godot-rust both download the relevant Godot binary to let it generate the version they need (godot --dump-extension-api --dump-gdextension-interface).

We might need to keep the master branch in this repo for compatibility with the Git history of some of those projects which used to use this repo as a submodule, but aside from this I don't know if it's worth keeping pushing new versions to it.

ParadoxV5 commented 1 year ago

Some folks may prefer a submodule workflow, and I’m interested too. It allows upgrading to be simply a submodule update instead of browsing the repo for the header and typing commands for the JSON.

but for GDExtension with only two files, having to keep a separate repo in sync seems overkill.

(Indeed, with only two files, I even considered flattening /godot/gdextension_interface.h right to the repo root.)

If the choice is to get users to fetch from the engine repo, I’d like both the header and API in the same place (e.g., /include/), preferably in a dedicated (sub)folder. Git submodule doesn’t seem to support submodule-ing a repo directory, but at least we’ll only have to download a specific folder and know which.

godot-cpp moved to including the two files directly so it doesn't have to rely on a nested submodule. godot-python and godot-rust both download the relevant Godot binary to let it generate the version they need (godot --dump-extension-api --dump-gdextension-interface).

Their reason may very well be because this header repo went outdated for a long while and thus is no longer reliable.

We might need to keep the master branch in this repo for compatibility with the Git history of some of those projects which used to use this repo as a submodule

Yep. Godot 3.6 will be LTS; it ain’t going anywhere soon. (P.S. see #106)

ParadoxV5 commented 1 year ago

Woke up to a great surprise today: Godot 4.1 video by GDQuest in my feed.

akien-mga commented 1 year ago

Thanks!