-
-
Notifications
You must be signed in to change notification settings - Fork 703
Add back support for Godot 4.3 #1899
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
Conversation
854a778 to
a6103ac
Compare
92b8f48 to
107bbac
Compare
107bbac to
7074059
Compare
7074059 to
ce18d99
Compare
|
Taking out of DRAFT now that #1898 is merged! |
Ivorforce
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as last version, LGTM!
I've got a GDExtension that I'm planning to keep at 4.3 for the time being, so I'm hoping to test this soon. But no need to wait for that, if I run into issues I can open follow-up PRs with fixes.
| #else | ||
| // Note: This isn't safe, because the object may have already been freed, but it's the best we | ||
| // can do in Godot 4.3 and earlier. | ||
| Object *obj = operator Object *(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't get_validated_object available in 4.3? Edit: Ah, it depends on operator ObjectID()...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, we didn't have a way to get the ObjectID from the Variant back in 4.3 and earlier, which is why variant_get_object_instance_id was added to the GDExtension interface in 4.4
This is the next "godot-cpp v10" PR - it builds on top of:
api_versionbuild option to select the API JSON file #1897This one adds back support for Godot 4.3, and includes the
extension_api.jsonfor 4.3, such that you can build viascons api_version=4.3out-of-the-boxThis one was the trickiest so far, and will definitely need more testing before we can merge it. It's also made me think that perhaps supporting back to Godot 4.3 is far enough?
The changes we'd need to make for Godot 4.2 and 4.1 would be pretty extensive (given how much stuff we changed back then) and probably not all that worth it, given how old those versions are.
Also, Godot 4.3 is the earliest version that supports loading documentation from a GDExtension, which seems like a good reason for targeting that as a minimum.
Marked as DRAFT because it depends on the other "godot-cpp v10" PRs