Method overriding and registration within Godot Classes #5
Labels
No labels
blocked
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#3 Implement gdxx::GodotExternClass
queertherians.org/gdxx
Reference
queertherians.org/gdxx#5
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This pertains mostly to work being done in
include/GodotClass_utilities.hpp.Mainly following the gdextension C example guide:
classdb_register_extension_class_integer_constantType safety, type to variant mapping, and translation utilities:
Confirm if void* and const void* are safely blindly convertible between Variant as an Object, assuming Variant pointers(??)Refer to
// NOT-DONEcomment sections ininclude/GodotClass_utilities.hpp↩︎Method overriding and registration within gdxx::GodotCustomClassto Method overriding and registration within Godot ClassesRegarding
"Confirm if void* and const void* are safely blindly convertible", it is not. Instead, this should be (or should be treated as)GDExtensionObjectPtr....and this actually gives me a better idea; instead of specializing the template utility generated from
include/api_symbols.hpp, we should leave that be (remove thetypename ActualNativeType = voidparameter) and create a more safe templated converter on the side that internally uses the lower-level utility. That way, it can be a method that actually returns a reference to the fetched resource, and can include things like getting the instance binding for object types we recognize. I'll add this as a to-do list item.