Browse Source

Add support for `property_*_revert` methods

Yuri Sizov 2 years ago
parent
commit
fa111d7078
2 changed files with 12 additions and 0 deletions
  1. 10 0
      godot-headers/godot/gdnative_interface.h
  2. 2 0
      include/godot_cpp/core/class_db.hpp

+ 10 - 0
godot-headers/godot/gdnative_interface.h

@@ -222,6 +222,8 @@ typedef struct {
 
 typedef const GDNativePropertyInfo *(*GDNativeExtensionClassGetPropertyList)(GDExtensionClassInstancePtr p_instance, uint32_t *r_count);
 typedef void (*GDNativeExtensionClassFreePropertyList)(GDExtensionClassInstancePtr p_instance, const GDNativePropertyInfo *p_list);
+typedef GDNativeBool (*GDNativeExtensionClassPropertyCanRevert)(GDExtensionClassInstancePtr p_instance, const GDNativeStringNamePtr p_name);
+typedef GDNativeBool (*GDNativeExtensionClassPropertyGetRevert)(GDExtensionClassInstancePtr p_instance, const GDNativeStringNamePtr p_name, GDNativeVariantPtr r_ret);
 typedef void (*GDNativeExtensionClassNotification)(GDExtensionClassInstancePtr p_instance, int32_t p_what);
 typedef void (*GDNativeExtensionClassToString)(GDExtensionClassInstancePtr p_instance, GDNativeStringPtr p_out);
 typedef void (*GDNativeExtensionClassReference)(GDExtensionClassInstancePtr p_instance);
@@ -237,6 +239,8 @@ typedef struct {
 	GDNativeExtensionClassGet get_func;
 	GDNativeExtensionClassGetPropertyList get_property_list_func;
 	GDNativeExtensionClassFreePropertyList free_property_list_func;
+	GDNativeExtensionClassPropertyCanRevert property_can_revert_func;
+	GDNativeExtensionClassPropertyGetRevert property_get_revert_func;
 	GDNativeExtensionClassNotification notification_func;
 	GDNativeExtensionClassToString to_string_func;
 	GDNativeExtensionClassReference reference_func;
@@ -309,6 +313,9 @@ typedef const GDNativePropertyInfo *(*GDNativeExtensionScriptInstanceGetProperty
 typedef void (*GDNativeExtensionScriptInstanceFreePropertyList)(GDNativeExtensionScriptInstanceDataPtr p_instance, const GDNativePropertyInfo *p_list);
 typedef GDNativeVariantType (*GDNativeExtensionScriptInstanceGetPropertyType)(GDNativeExtensionScriptInstanceDataPtr p_instance, const GDNativeStringNamePtr p_name, GDNativeBool *r_is_valid);
 
+typedef GDNativeBool (*GDNativeExtensionScriptInstancePropertyCanRevert)(GDNativeExtensionScriptInstanceDataPtr p_instance, const GDNativeStringNamePtr p_name);
+typedef GDNativeBool (*GDNativeExtensionScriptInstancePropertyGetRevert)(GDNativeExtensionScriptInstanceDataPtr p_instance, const GDNativeStringNamePtr p_name, GDNativeVariantPtr r_ret);
+
 typedef GDNativeObjectPtr (*GDNativeExtensionScriptInstanceGetOwner)(GDNativeExtensionScriptInstanceDataPtr p_instance);
 typedef void (*GDNativeExtensionScriptInstancePropertyStateAdd)(const GDNativeStringNamePtr p_name, const GDNativeVariantPtr p_value, void *p_userdata);
 typedef void (*GDNativeExtensionScriptInstanceGetPropertyState)(GDNativeExtensionScriptInstanceDataPtr p_instance, GDNativeExtensionScriptInstancePropertyStateAdd p_add_func, void *p_userdata);
@@ -343,6 +350,9 @@ typedef struct {
 	GDNativeExtensionScriptInstanceFreePropertyList free_property_list_func;
 	GDNativeExtensionScriptInstanceGetPropertyType get_property_type_func;
 
+	GDNativeExtensionScriptInstancePropertyCanRevert property_can_revert_func;
+	GDNativeExtensionScriptInstancePropertyGetRevert property_get_revert_func;
+
 	GDNativeExtensionScriptInstanceGetOwner get_owner_func;
 	GDNativeExtensionScriptInstanceGetPropertyState get_property_state_func;
 

+ 2 - 0
include/godot_cpp/core/class_db.hpp

@@ -162,6 +162,8 @@ void ClassDB::register_class() {
 		nullptr, // GDNativeExtensionClassGet get_func;
 		nullptr, // GDNativeExtensionClassGetPropertyList get_property_list_func;
 		nullptr, // GDNativeExtensionClassFreePropertyList free_property_list_func;
+		nullptr, // GDNativeExtensionClassPropertyCanRevert property_can_revert_func;
+		nullptr, // GDNativeExtensionClassPropertyGetRevert property_get_revert_func;
 		nullptr, // GDNativeExtensionClassNotification notification_func;
 		nullptr, // GDNativeExtensionClassToString to_string_func;
 		nullptr, // GDNativeExtensionClassReference reference_func;