@@ -258,13 +258,15 @@ typedef const GDExtensionPropertyInfo *(*GDExtensionClassGetPropertyList)(GDExte
258258typedef  void  (* GDExtensionClassFreePropertyList )(GDExtensionClassInstancePtr  p_instance , const  GDExtensionPropertyInfo  * p_list );
259259typedef  GDExtensionBool  (* GDExtensionClassPropertyCanRevert )(GDExtensionClassInstancePtr  p_instance , GDExtensionConstStringNamePtr  p_name );
260260typedef  GDExtensionBool  (* GDExtensionClassPropertyGetRevert )(GDExtensionClassInstancePtr  p_instance , GDExtensionConstStringNamePtr  p_name , GDExtensionVariantPtr  r_ret );
261+ typedef  GDExtensionBool  (* GDExtensionClassValidateProperty )(GDExtensionClassInstancePtr  p_instance , GDExtensionPropertyInfo  * p_property );
261262typedef  void  (* GDExtensionClassNotification )(GDExtensionClassInstancePtr  p_instance , int32_t  p_what ); // Deprecated. Use GDExtensionClassNotification2 instead. 
262263typedef  void  (* GDExtensionClassNotification2 )(GDExtensionClassInstancePtr  p_instance , int32_t  p_what , GDExtensionBool  p_reversed );
263264typedef  void  (* GDExtensionClassToString )(GDExtensionClassInstancePtr  p_instance , GDExtensionBool  * r_is_valid , GDExtensionStringPtr  p_out );
264265typedef  void  (* GDExtensionClassReference )(GDExtensionClassInstancePtr  p_instance );
265266typedef  void  (* GDExtensionClassUnreference )(GDExtensionClassInstancePtr  p_instance );
266267typedef  void  (* GDExtensionClassCallVirtual )(GDExtensionClassInstancePtr  p_instance , const  GDExtensionConstTypePtr  * p_args , GDExtensionTypePtr  r_ret );
267268typedef  GDExtensionObjectPtr  (* GDExtensionClassCreateInstance )(void  * p_userdata );
269+ typedef  GDExtensionClassInstancePtr  (* GDExtensionClassRecreateInstance )(void  * p_userdata , GDExtensionObjectPtr  p_object );
268270typedef  void  (* GDExtensionClassFreeInstance )(void  * p_userdata , GDExtensionClassInstancePtr  p_instance );
269271typedef  GDExtensionClassCallVirtual  (* GDExtensionClassGetVirtual )(void  * p_userdata , GDExtensionConstStringNamePtr  p_name );
270272
@@ -298,12 +300,14 @@ typedef struct {
298300GDExtensionClassFreePropertyList  free_property_list_func ;
299301GDExtensionClassPropertyCanRevert  property_can_revert_func ;
300302GDExtensionClassPropertyGetRevert  property_get_revert_func ;
303+ GDExtensionClassValidateProperty  validate_property_func ;
301304GDExtensionClassNotification2  notification_func ;
302305GDExtensionClassToString  to_string_func ;
303306GDExtensionClassReference  reference_func ;
304307GDExtensionClassUnreference  unreference_func ;
305308GDExtensionClassCreateInstance  create_instance_func ; // (Default) constructor; mandatory. If the class is not instantiable, consider making it virtual or abstract. 
306309GDExtensionClassFreeInstance  free_instance_func ; // Destructor; mandatory. 
310+ GDExtensionClassRecreateInstance  recreate_instance_func ;
307311GDExtensionClassGetVirtual  get_virtual_func ; // Queries a virtual function by name and returns a callback to invoke the requested virtual function. 
308312GDExtensionClassGetRID  get_rid_func ;
309313void  * class_userdata ; // Per-class user data, later accessible in instance bindings. 
@@ -374,6 +378,7 @@ typedef GDExtensionBool (*GDExtensionScriptInstanceGet)(GDExtensionScriptInstanc
374378typedef  const  GDExtensionPropertyInfo  * (* GDExtensionScriptInstanceGetPropertyList )(GDExtensionScriptInstanceDataPtr  p_instance , uint32_t  * r_count );
375379typedef  void  (* GDExtensionScriptInstanceFreePropertyList )(GDExtensionScriptInstanceDataPtr  p_instance , const  GDExtensionPropertyInfo  * p_list );
376380typedef  GDExtensionVariantType  (* GDExtensionScriptInstanceGetPropertyType )(GDExtensionScriptInstanceDataPtr  p_instance , GDExtensionConstStringNamePtr  p_name , GDExtensionBool  * r_is_valid );
381+ typedef  GDExtensionBool  (* GDExtensionScriptInstanceValidateProperty )(GDExtensionScriptInstanceDataPtr  p_instance , GDExtensionPropertyInfo  * p_property );
377382
378383typedef  GDExtensionBool  (* GDExtensionScriptInstancePropertyCanRevert )(GDExtensionScriptInstanceDataPtr  p_instance , GDExtensionConstStringNamePtr  p_name );
379384typedef  GDExtensionBool  (* GDExtensionScriptInstancePropertyGetRevert )(GDExtensionScriptInstanceDataPtr  p_instance , GDExtensionConstStringNamePtr  p_name , GDExtensionVariantPtr  r_ret );
@@ -460,6 +465,7 @@ typedef struct {
460465GDExtensionScriptInstanceGetMethodList  get_method_list_func ;
461466GDExtensionScriptInstanceFreeMethodList  free_method_list_func ;
462467GDExtensionScriptInstanceGetPropertyType  get_property_type_func ;
468+ GDExtensionScriptInstanceValidateProperty  validate_property_func ;
463469
464470GDExtensionScriptInstanceHasMethod  has_method_func ;
465471
0 commit comments