2023-01-05 13:25:55 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*  gdextension_interface.h                                               */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                         This file is part of:                          */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                             GODOT ENGINE                               */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                        https://godotengine.org                         */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Permission is hereby granted, free of charge, to any person obtaining  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* a copy of this software and associated documentation files (the        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* "Software"), to deal in the Software without restriction, including    */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* without limitation the rights to use, copy, modify, merge, publish,    */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* distribute, sublicense, and/or sell copies of the Software, and to     */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* permit persons to whom the Software is furnished to do so, subject to  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* the following conditions:                                              */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* The above copyright notice and this permission notice shall be         */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* included in all copies or substantial portions of the Software.        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-01 10:33:58 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# pragma once 
  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* This is a C class header, you can copy it and use it directly in your own binders.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Together  with  the  JSON  file ,  you  should  be  able  to  generate  any  binder . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-04-28 16:05:13 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifndef __cplusplus 
  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  <stddef.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <stdint.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint32_t  char32_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint16_t  char16_t ;  
						 
					
						
							
								
									
										
										
										
											2025-04-28 16:05:13 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <cstddef> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <cstdint> 
  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								extern  " C "  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* VARIANT TYPES */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_NIL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*  atomic types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_BOOL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_INT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_FLOAT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_STRING , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* math types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR2I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_RECT2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_RECT2I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR3I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_TRANSFORM2D , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR4I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PLANE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_QUATERNION , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_AABB , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_BASIS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_TRANSFORM3D , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PROJECTION , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* misc types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_COLOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_STRING_NAME , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_NODE_PATH , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_RID , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_OBJECT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_CALLABLE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_SIGNAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_DICTIONARY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* typed arrays */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_BYTE_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_INT32_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_INT64_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_FLOAT32_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_FLOAT64_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_STRING_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR2_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR3_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_COLOR_ARRAY , 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-08 07:51:34 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR4_ARRAY , 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VARIANT_MAX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionVariantType ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* comparison */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_NOT_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_LESS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_LESS_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_GREATER , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_GREATER_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* mathematic */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_ADD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_SUBTRACT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_MULTIPLY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_DIVIDE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_NEGATE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_POSITIVE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_MODULE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_POWER , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* bitwise */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_SHIFT_LEFT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_SHIFT_RIGHT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_AND , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_OR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_XOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_NEGATE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* logic */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_AND , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_OR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_XOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_NOT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* containment */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_IN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_MAX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionVariantOperator ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// In this API there are multiple functions which expect the caller to pass a pointer
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// on return value as parameter.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// In order to make it clear if the caller should initialize the return value or not
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// we have two flavor of types:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - `GDExtensionXXXPtr` for pointer on an initialized value
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - `GDExtensionUninitializedXXXPtr` for pointer on uninitialized value
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Notes:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Not respecting those requirements can seems harmless, but will lead to unexpected
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   segfault or memory leak (for instance with a specific compiler/OS, or when two
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   native extensions start doing ptrcall on each other).
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Initialization must be done with the function pointer returned by `variant_get_ptr_constructor`,
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   zero-initializing the variable should not be considered a valid initialization method here !
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Some types have no destructor (see `extension_api.json`'s `has_destructor` field), for
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   them it is always safe to skip the constructor for the return value if you are in a hurry ;-)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionVariantPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstVariantPtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedVariantPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionStringNamePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstStringNamePtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedStringNamePtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionStringPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstStringPtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedStringPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionObjectPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstObjectPtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedObjectPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionTypePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstTypePtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedTypePtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionMethodBindPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  GDExtensionInt ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint8_t  GDExtensionBool ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  GDObjectInstanceID ;  
						 
					
						
							
								
									
										
										
										
											2022-12-11 21:31:01 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionRefPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstRefPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* VARIANT DATA I/O */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_OK , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_INVALID_METHOD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_INVALID_ARGUMENT ,  // Expected a different variant type.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_TOO_MANY_ARGUMENTS ,  // Expected lower number of arguments.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_TOO_FEW_ARGUMENTS ,  // Expected higher number of arguments.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_INSTANCE_IS_NULL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_METHOD_NOT_CONST ,  // Used for const call.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionCallErrorType ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallErrorType  error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int32_t  argument ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int32_t  expected ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionCallError ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-18 23:14:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionVariantFromTypeConstructorFunc ) ( GDExtensionUninitializedVariantPtr ,  GDExtensionTypePtr ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionTypeFromVariantConstructorFunc ) ( GDExtensionUninitializedTypePtr ,  GDExtensionVariantPtr ) ;  
						 
					
						
							
								
									
										
										
										
											2024-11-13 22:27:34 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionVariantGetInternalPtrFunc ) ( GDExtensionVariantPtr ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrOperatorEvaluator ) ( GDExtensionConstTypePtr  p_left ,  GDExtensionConstTypePtr  p_right ,  GDExtensionTypePtr  r_result ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrBuiltInMethod ) ( GDExtensionTypePtr  p_base ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_return ,  int  p_argument_count ) ;  
						 
					
						
							
								
									
										
										
										
											2023-06-18 23:14:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrConstructor ) ( GDExtensionUninitializedTypePtr  p_base ,  const  GDExtensionConstTypePtr  * p_args ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrDestructor ) ( GDExtensionTypePtr  p_base ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrSetter ) ( GDExtensionTypePtr  p_base ,  GDExtensionConstTypePtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrGetter ) ( GDExtensionConstTypePtr  p_base ,  GDExtensionTypePtr  r_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrIndexedSetter ) ( GDExtensionTypePtr  p_base ,  GDExtensionInt  p_index ,  GDExtensionConstTypePtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrIndexedGetter ) ( GDExtensionConstTypePtr  p_base ,  GDExtensionInt  p_index ,  GDExtensionTypePtr  r_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrKeyedSetter ) ( GDExtensionTypePtr  p_base ,  GDExtensionConstTypePtr  p_key ,  GDExtensionConstTypePtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrKeyedGetter ) ( GDExtensionConstTypePtr  p_base ,  GDExtensionConstTypePtr  p_key ,  GDExtensionTypePtr  r_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint32_t  ( * GDExtensionPtrKeyedChecker ) ( GDExtensionConstVariantPtr  p_base ,  GDExtensionConstVariantPtr  p_key ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrUtilityFunction ) ( GDExtensionTypePtr  r_return ,  const  GDExtensionConstTypePtr  * p_args ,  int  p_argument_count ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionClassConstructor ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInstanceBindingCreateCallback ) ( void  * p_token ,  void  * p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInstanceBindingFreeCallback ) ( void  * p_token ,  void  * p_instance ,  void  * p_binding ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInstanceBindingReferenceCallback ) ( void  * p_token ,  void  * p_binding ,  GDExtensionBool  p_reference ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInstanceBindingCreateCallback  create_callback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInstanceBindingFreeCallback  free_callback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInstanceBindingReferenceCallback  reference_callback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionInstanceBindingCallbacks ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* EXTENSION CLASSES */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionClassInstancePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassSet ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionConstVariantPtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassGet ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  ( * GDExtensionClassGetRID ) ( GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionVariantType  type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  class_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  hint ;  // Bitfield of `PropertyHint` (defined in `extension_api.json`).
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringPtr  hint_string ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  usage ;  // Bitfield of `PropertyUsageFlags` (defined in `extension_api.json`).
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionPropertyInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  return_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  flags ;  // Bitfield of `GDExtensionClassMethodFlags`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int32_t  id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Arguments: `default_arguments` is an array of size `argument_count`. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Default arguments: `default_arguments` is an array of size `default_argument_count`. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  default_argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionVariantPtr  * default_arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionMethodInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  GDExtensionPropertyInfo  * ( * GDExtensionClassGetPropertyList ) ( GDExtensionClassInstancePtr  p_instance ,  uint32_t  * r_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassFreePropertyList ) ( GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionPropertyInfo  * p_list ) ;  
						 
					
						
							
								
									
										
										
										
											2024-04-25 22:19:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassFreePropertyList2 ) ( GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionPropertyInfo  * p_list ,  uint32_t  p_count ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassPropertyCanRevert ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassPropertyGetRevert ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
									
										
										
										
											2023-09-09 13:05:16 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassValidateProperty ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionPropertyInfo  * p_property ) ;  
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassNotification ) ( GDExtensionClassInstancePtr  p_instance ,  int32_t  p_what ) ;  // Deprecated. Use GDExtensionClassNotification2 instead.
  
						 
					
						
							
								
									
										
										
										
											2023-09-02 11:38:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassNotification2 ) ( GDExtensionClassInstancePtr  p_instance ,  int32_t  p_what ,  GDExtensionBool  p_reversed ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassToString ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionBool  * r_is_valid ,  GDExtensionStringPtr  p_out ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassReference ) ( GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassUnreference ) ( GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassCallVirtual ) ( GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
									
										
										
										
											2023-08-15 20:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionClassCreateInstance ) ( void  * p_class_userdata ) ;  
						 
					
						
							
								
									
										
										
										
											2024-08-31 21:48:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionClassCreateInstance2 ) ( void  * p_class_userdata ,  GDExtensionBool  p_notify_postinitialize ) ;  
						 
					
						
							
								
									
										
										
										
											2023-08-15 20:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassFreeInstance ) ( void  * p_class_userdata ,  GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
									
										
										
										
											2023-08-04 20:34:14 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionClassInstancePtr  ( * GDExtensionClassRecreateInstance ) ( void  * p_class_userdata ,  GDExtensionObjectPtr  p_object ) ;  
						 
					
						
							
								
									
										
										
										
											2023-08-15 20:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionClassCallVirtual  ( * GDExtensionClassGetVirtual ) ( void  * p_class_userdata ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
									
										
										
										
											2024-12-20 17:10:46 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionClassCallVirtual  ( * GDExtensionClassGetVirtual2 ) ( void  * p_class_userdata ,  GDExtensionConstStringNamePtr  p_name ,  uint32_t  p_hash ) ;  
						 
					
						
							
								
									
										
										
										
											2023-08-15 20:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionClassGetVirtualCallData ) ( void  * p_class_userdata ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
									
										
										
										
											2024-12-20 17:10:46 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionClassGetVirtualCallData2 ) ( void  * p_class_userdata ,  GDExtensionConstStringNamePtr  p_name ,  uint32_t  p_hash ) ;  
						 
					
						
							
								
									
										
										
										
											2023-08-15 20:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassCallVirtualWithData ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  void  * p_virtual_call_userdata ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_virtual ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_abstract ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreePropertyList  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassNotification  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassReference  reference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassUnreference  unreference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCreateInstance  create_instance_func ;  // (Default) constructor; mandatory. If the class is not instantiable, consider making it virtual or abstract.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreeInstance  free_instance_func ;  // Destructor; mandatory.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetVirtual  get_virtual_func ;  // Queries a virtual function by name and returns a callback to invoke the requested virtual function.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetRID  get_rid_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * class_userdata ;  // Per-class user data, later accessible in instance bindings.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  GDExtensionClassCreationInfo ;  // Deprecated. Use GDExtensionClassCreationInfo4 instead.
  
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_virtual ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_abstract ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-20 11:36:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionBool  is_exposed ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreePropertyList  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-09 13:05:16 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassValidateProperty  validate_property_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassNotification2  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassReference  reference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassUnreference  unreference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCreateInstance  create_instance_func ;  // (Default) constructor; mandatory. If the class is not instantiable, consider making it virtual or abstract.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreeInstance  free_instance_func ;  // Destructor; mandatory.
 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-04 20:34:14 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassRecreateInstance  recreate_instance_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-08-15 20:03:49 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// Queries a virtual function by name and returns a callback to invoke the requested virtual function.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetVirtual  get_virtual_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Paired with `call_virtual_with_data_func`, this is an alternative to `get_virtual_func` for extensions that
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// need or benefit from extra data when calling virtual functions.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returns user data that will be passed to `call_virtual_with_data_func`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returning `NULL` from this function signals to Godot that the virtual function is not overridden.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Data returned from this function should be managed by the extension and must be valid until the extension is deinitialized.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// You should supply either `get_virtual_func`, or `get_virtual_call_data_func` with `call_virtual_with_data_func`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetVirtualCallData  get_virtual_call_data_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used to call virtual functions when `get_virtual_call_data_func` is not null.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCallVirtualWithData  call_virtual_with_data_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassGetRID  get_rid_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * class_userdata ;  // Per-class user data, later accessible in instance bindings.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  GDExtensionClassCreationInfo2 ;  // Deprecated. Use GDExtensionClassCreationInfo4 instead.
  
						 
					
						
							
								
									
										
										
										
											2024-01-02 14:10:54 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_virtual ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_abstract ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_exposed ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_runtime ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-25 22:19:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassFreePropertyList2  free_property_list_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-02 14:10:54 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassPropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassValidateProperty  validate_property_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassNotification2  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassReference  reference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassUnreference  unreference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCreateInstance  create_instance_func ;  // (Default) constructor; mandatory. If the class is not instantiable, consider making it virtual or abstract.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreeInstance  free_instance_func ;  // Destructor; mandatory.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassRecreateInstance  recreate_instance_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Queries a virtual function by name and returns a callback to invoke the requested virtual function.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetVirtual  get_virtual_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Paired with `call_virtual_with_data_func`, this is an alternative to `get_virtual_func` for extensions that
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// need or benefit from extra data when calling virtual functions.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returns user data that will be passed to `call_virtual_with_data_func`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returning `NULL` from this function signals to Godot that the virtual function is not overridden.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Data returned from this function should be managed by the extension and must be valid until the extension is deinitialized.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// You should supply either `get_virtual_func`, or `get_virtual_call_data_func` with `call_virtual_with_data_func`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetVirtualCallData  get_virtual_call_data_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used to call virtual functions when `get_virtual_call_data_func` is not null.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCallVirtualWithData  call_virtual_with_data_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetRID  get_rid_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * class_userdata ;  // Per-class user data, later accessible in instance bindings.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  GDExtensionClassCreationInfo3 ;  // Deprecated. Use GDExtensionClassCreationInfo4 instead.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_virtual ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_abstract ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_exposed ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_runtime ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-11 20:57:13 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionConstStringPtr  icon_path ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreePropertyList2  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassValidateProperty  validate_property_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassNotification2  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassReference  reference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassUnreference  unreference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCreateInstance2  create_instance_func ;  // (Default) constructor; mandatory. If the class is not instantiable, consider making it virtual or abstract.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreeInstance  free_instance_func ;  // Destructor; mandatory.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassRecreateInstance  recreate_instance_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Queries a virtual function by name and returns a callback to invoke the requested virtual function.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-20 17:10:46 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassGetVirtual2  get_virtual_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// Paired with `call_virtual_with_data_func`, this is an alternative to `get_virtual_func` for extensions that
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// need or benefit from extra data when calling virtual functions.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returns user data that will be passed to `call_virtual_with_data_func`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Returning `NULL` from this function signals to Godot that the virtual function is not overridden.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Data returned from this function should be managed by the extension and must be valid until the extension is deinitialized.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// You should supply either `get_virtual_func`, or `get_virtual_call_data_func` with `call_virtual_with_data_func`.
 
							 
						 
					
						
							
								
									
										
										
										
											2024-12-20 17:10:46 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionClassGetVirtualCallData2  get_virtual_call_data_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// Used to call virtual functions when `get_virtual_call_data_func` is not null.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCallVirtualWithData  call_virtual_with_data_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * class_userdata ;  // Per-class user data, later accessible in instance bindings.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassCreationInfo4 ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionClassLibraryPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-03-14 11:12:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* Passed a pointer to a PackedStringArray that should be filled with the classes that may be used by the GDExtension. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionEditorGetClassesUsedCallback ) ( GDExtensionTypePtr  p_packed_string_array ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* Method */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_NORMAL  =  1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_EDITOR  =  2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_CONST  =  4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_VIRTUAL  =  8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_VARARG  =  16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_STATIC  =  32 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAGS_DEFAULT  =  GDEXTENSION_METHOD_FLAG_NORMAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassMethodFlags ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_NONE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT32 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT64 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT32 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT64 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_REAL_IS_FLOAT , 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-10 16:45:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_REAL_IS_DOUBLE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_CHAR16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_CHAR32 , 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassMethodArgumentMetadata ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassMethodCall ) ( void  * method_userdata ,  GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
									
										
										
										
											2023-04-25 00:21:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassMethodValidatedCall ) ( void  * method_userdata ,  GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionVariantPtr  r_return ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassMethodPtrCall ) ( void  * method_userdata ,  GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * method_userdata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodPtrCall  ptrcall_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  method_flags ;  // Bitfield of `GDExtensionClassMethodFlags`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-20 19:40:43 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* If `has_return_value` is false, `return_value_info` and `return_value_metadata` are ignored.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  @ todo  Consider  dropping  ` has_return_value `  and  making  the  other  two  properties  match  ` GDExtensionMethodInfo `  and  ` GDExtensionClassVirtualMethod `  for  consistency  in  future  version  of  this  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  has_return_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * return_value_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodArgumentMetadata  return_value_metadata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Arguments: `arguments_info` and `arguments_metadata` are array of size `argument_count`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  Name  and  hint  information  for  the  argument  can  be  omitted  in  release  builds .  Class  name  should  always  be  present  if  it  applies . 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-20 19:40:43 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  @ todo  Consider  renaming  ` arguments_info `  to  ` arguments `  for  consistency  in  future  version  of  this  struct . 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * arguments_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodArgumentMetadata  * arguments_metadata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Default arguments: `default_arguments` is an array of size `default_argument_count`. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  default_argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionVariantPtr  * default_arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassMethodInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-20 19:40:43 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  method_flags ;  // Bitfield of `GDExtensionClassMethodFlags`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  return_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodArgumentMetadata  return_value_metadata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodArgumentMetadata  * arguments_metadata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassVirtualMethodInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionCallableCustomCall ) ( void  * callable_userdata ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionCallableCustomIsValid ) ( void  * callable_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionCallableCustomFree ) ( void  * callable_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint32_t  ( * GDExtensionCallableCustomHash ) ( void  * callable_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionCallableCustomEqual ) ( void  * callable_userdata_a ,  void  * callable_userdata_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionCallableCustomLessThan ) ( void  * callable_userdata_a ,  void  * callable_userdata_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionCallableCustomToString ) ( void  * callable_userdata ,  GDExtensionBool  * r_is_valid ,  GDExtensionStringPtr  r_out ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-28 15:16:09 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionCallableCustomGetArgumentCount ) ( void  * callable_userdata ,  GDExtensionBool  * r_is_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
									
										
										
										
											2023-10-22 17:20:49 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									/* Only `call_func` and `token` are strictly required, however, `object_id` should be passed if its not a static method.
 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` token `  should  point  to  an  address  that  uniquely  identifies  the  GDExtension  ( for  example ,  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` GDExtensionClassLibraryPtr `  passed  to  the  entry  symbol  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` hash_func ` ,  ` equal_func ` ,  and  ` less_than_func `  are  optional .  If  not  provided  both  ` call_func `  and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` callable_userdata `  together  are  used  as  the  identity  of  the  callable  for  hashing  and  comparison  purposes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  The  hash  returned  by  ` hash_func `  is  cached ,  ` hash_func `  will  not  be  called  more  than  once  per  callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` is_valid_func `  is  necessary  if  the  validity  of  the  callable  can  change  before  destruction . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` free_func `  is  necessary  if  ` callable_userdata `  needs  to  be  cleaned  up  when  the  callable  is  freed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * callable_userdata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * token ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-22 17:20:49 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDObjectInstanceID  object_id ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomIsValid  is_valid_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomFree  free_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomHash  hash_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomEqual  equal_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomLessThan  less_than_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomToString  to_string_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-28 15:16:09 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  GDExtensionCallableCustomInfo ;  // Deprecated. Use GDExtensionCallableCustomInfo2 instead.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Only `call_func` and `token` are strictly required, however, `object_id` should be passed if its not a static method.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` token `  should  point  to  an  address  that  uniquely  identifies  the  GDExtension  ( for  example ,  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` GDExtensionClassLibraryPtr `  passed  to  the  entry  symbol  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` hash_func ` ,  ` equal_func ` ,  and  ` less_than_func `  are  optional .  If  not  provided  both  ` call_func `  and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` callable_userdata `  together  are  used  as  the  identity  of  the  callable  for  hashing  and  comparison  purposes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  The  hash  returned  by  ` hash_func `  is  cached ,  ` hash_func `  will  not  be  called  more  than  once  per  callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` is_valid_func `  is  necessary  if  the  validity  of  the  callable  can  change  before  destruction . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  ` free_func `  is  necessary  if  ` callable_userdata `  needs  to  be  cleaned  up  when  the  callable  is  freed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * callable_userdata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * token ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDObjectInstanceID  object_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomIsValid  is_valid_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomFree  free_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomHash  hash_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomEqual  equal_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomLessThan  less_than_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallableCustomGetArgumentCount  get_argument_count_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionCallableCustomInfo2 ;  
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/* SCRIPT INSTANCE EXTENSION */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionScriptInstanceDataPtr ;  // Pointer to custom ScriptInstance native implementation.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceSet ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionConstVariantPtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceGet ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  GDExtensionPropertyInfo  * ( * GDExtensionScriptInstanceGetPropertyList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  uint32_t  * r_count ) ;  
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFreePropertyList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  const  GDExtensionPropertyInfo  * p_list ) ;  // Deprecated. Use GDExtensionScriptInstanceFreePropertyList2 instead.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFreePropertyList2 ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  const  GDExtensionPropertyInfo  * p_list ,  uint32_t  p_count ) ;  
						 
					
						
							
								
									
										
										
										
											2023-07-01 15:09:21 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceGetClassCategory ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionPropertyInfo  * p_class_category ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantType  ( * GDExtensionScriptInstanceGetPropertyType ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionBool  * r_is_valid ) ;  
						 
					
						
							
								
									
										
										
										
											2023-09-02 17:26:36 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceValidateProperty ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionPropertyInfo  * p_property ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstancePropertyCanRevert ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstancePropertyGetRevert ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionScriptInstanceGetOwner ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstancePropertyStateAdd ) ( GDExtensionConstStringNamePtr  p_name ,  GDExtensionConstVariantPtr  p_value ,  void  * p_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceGetPropertyState ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionScriptInstancePropertyStateAdd  p_add_func ,  void  * p_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  GDExtensionMethodInfo  * ( * GDExtensionScriptInstanceGetMethodList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  uint32_t  * r_count ) ;  
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFreeMethodList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  const  GDExtensionMethodInfo  * p_list ) ;  // Deprecated. Use GDExtensionScriptInstanceFreeMethodList2 instead.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFreeMethodList2 ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  const  GDExtensionMethodInfo  * p_list ,  uint32_t  p_count ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceHasMethod ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 12:00:36 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionScriptInstanceGetMethodArgumentCount ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionBool  * r_is_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceCall ) ( GDExtensionScriptInstanceDataPtr  p_self ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceNotification ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  int32_t  p_what ) ;  // Deprecated. Use GDExtensionScriptInstanceNotification2 instead.
  
						 
					
						
							
								
									
										
										
										
											2023-09-02 11:38:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceNotification2 ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  int32_t  p_what ,  GDExtensionBool  p_reversed ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceToString ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionBool  * r_is_valid ,  GDExtensionStringPtr  r_out ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceRefCountIncremented ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceRefCountDecremented ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionScriptInstanceGetScript ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceIsPlaceholder ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionScriptLanguagePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptLanguagePtr  ( * GDExtensionScriptInstanceGetLanguage ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFree ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionScriptInstancePtr ;  // Pointer to ScriptInstance.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreePropertyList  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetOwner  get_owner_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyState  get_property_state_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetMethodList  get_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreeMethodList  free_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyType  get_property_type_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceHasMethod  has_method_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceNotification  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountIncremented  refcount_incremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountDecremented  refcount_decremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetScript  get_script_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceIsPlaceholder  is_placeholder_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetLanguage  get_language_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFree  free_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  GDExtensionScriptInstanceInfo ;  // Deprecated. Use GDExtensionScriptInstanceInfo3 instead.
  
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreePropertyList  free_property_list_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-02 09:14:56 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetClassCategory  get_class_category_func ;  // Optional. Set to NULL for the default behavior.
 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetOwner  get_owner_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyState  get_property_state_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetMethodList  get_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreeMethodList  free_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyType  get_property_type_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-02 17:26:36 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionScriptInstanceValidateProperty  validate_property_func ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceHasMethod  has_method_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceNotification2  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountIncremented  refcount_incremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountDecremented  refcount_decremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetScript  get_script_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceIsPlaceholder  is_placeholder_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetLanguage  get_language_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFree  free_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  GDExtensionScriptInstanceInfo2 ;  // Deprecated. Use GDExtensionScriptInstanceInfo3 instead.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreePropertyList2  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetClassCategory  get_class_category_func ;  // Optional. Set to NULL for the default behavior.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetOwner  get_owner_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyState  get_property_state_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetMethodList  get_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreeMethodList2  free_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyType  get_property_type_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceValidateProperty  validate_property_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceHasMethod  has_method_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-30 12:00:36 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetMethodArgumentCount  get_method_argument_count_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									GDExtensionScriptInstanceCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceNotification2  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountIncremented  refcount_incremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountDecremented  refcount_decremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetScript  get_script_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceIsPlaceholder  is_placeholder_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetLanguage  get_language_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFree  free_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionScriptInstanceInfo3 ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INITIALIZATION */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_CORE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_SERVERS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_SCENE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_EDITOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_MAX_INITIALIZATION_LEVEL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionInitializationLevel ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Minimum initialization level required.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  If  Core  or  Servers ,  the  extension  needs  editor  or  game  restart  to  take  effect  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInitializationLevel  minimum_initialization_level ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Up to the user to supply when initializing */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * userdata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* This function will be called multiple times for each initialization level. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  ( * initialize ) ( void  * userdata ,  GDExtensionInitializationLevel  p_level ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  ( * deinitialize ) ( void  * userdata ,  GDExtensionInitializationLevel  p_level ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionInitialization ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceFunctionPtr ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInterfaceFunctionPtr  ( * GDExtensionInterfaceGetProcAddress ) ( const  char  * p_function_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Each  GDExtension  should  define  a  C  function  that  matches  the  signature  of  GDExtensionInitializationFunction , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  and  export  it  so  that  it  can  be  loaded  via  dlopen ( )  or  equivalent  for  the  given  platform . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  For  example : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    GDExtensionBool  my_extension_init ( GDExtensionInterfaceGetProcAddress  p_get_proc_address ,  GDExtensionClassLibraryPtr  p_library ,  GDExtensionInitialization  * r_initialization ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  function ' s  name  must  be  specified  as  the  ' entry_symbol '  in  the  . gdextension  file . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  makes  it  the  entry  point  of  the  GDExtension  and  will  be  called  on  initialization . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  GDExtension  can  then  modify  the  r_initialization  structure ,  setting  the  minimum  initialization  level , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  and  providing  pointers  to  functions  that  will  be  called  at  various  stages  of  initialization / shutdown . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  rest  of  the  GDExtension ' s  interface  to  Godot  consists  of  function  pointers  that  can  be  loaded 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  by  calling  p_get_proc_address ( " ... " )  with  the  name  of  the  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  For  example : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-16 00:41:42 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *    GDExtensionInterfaceGetGodotVersion  get_godot_version  =  ( GDExtensionInterfaceGetGodotVersion ) p_get_proc_address ( " get_godot_version " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  ( Note  that  snippet  may  cause  " cast between incompatible function types "  on  some  compilers ,  you  can 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  silence  this  by  adding  an  intermediary  ` void * `  cast . ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  You  can  then  call  it  like  a  normal  function : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    GDExtensionGodotVersion  godot_version ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    get_godot_version ( & godot_version ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    printf ( " Godot v%d.%d.%d \n " ,  godot_version . major ,  godot_version . minor ,  godot_version . patch ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  All  of  these  interface  functions  are  described  below ,  together  with  the  name  that ' s  used  to  load  it , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  and  the  function  pointer  typedef  that  shows  its  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInitializationFunction ) ( GDExtensionInterfaceGetProcAddress  p_get_proc_address ,  GDExtensionClassLibraryPtr  p_library ,  GDExtensionInitialization  * r_initialization ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  major ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  minor ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  patch ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  char  * string ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionGodotVersion ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 04:16:01 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  major ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  minor ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  patch ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  hex ;  // Full version encoded as hexadecimal with one byte (2 hex digits) per number (e.g. for "3.1.12" it would be 0x03010C)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  char  * status ;  // (e.g. "stable", "beta", "rc1", "rc2")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  char  * build ;  // (e.g. "custom_build")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  char  * hash ;  // Full Git commit hash.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint64_t  timestamp ;  // Git commit date UNIX timestamp in seconds, or 0 if unavailable.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  char  * string ;  // (e.g. "Godot v3.1.4.stable.official.mono")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionGodotVersion2 ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-02 01:34:31 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* Called when starting the main loop. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionMainLoopStartupCallback ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Called when shutting down the main loop. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionMainLoopShutdownCallback ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Called for every frame iteration of the main loop. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionMainLoopFrameCallback ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionMainLoopStartupCallback  startup_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionMainLoopShutdownCallback  shutdown_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionMainLoopFrameCallback  frame_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionMainLoopCallbacks ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_godot_version 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 04:16:01 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.5 .  Use  ` get_godot_version2 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  Godot  version  that  the  GDExtension  was  loaded  into . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_godot_version  A  pointer  to  the  structure  to  write  the  version  information  into . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceGetGodotVersion ) ( GDExtensionGodotVersion  * r_godot_version ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-23 04:16:01 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_godot_version2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  Godot  version  that  the  GDExtension  was  loaded  into . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_godot_version  A  pointer  to  the  structure  to  write  the  version  information  into . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceGetGodotVersion2 ) ( GDExtensionGodotVersion2  * r_godot_version ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: Memory */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  mem_alloc 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Allocates  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_bytes  The  amount  of  memory  to  allocate  in  bytes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  allocated  memory ,  or  NULL  if  unsuccessful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceMemAlloc ) ( size_t  p_bytes ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  mem_realloc 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Reallocates  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ptr  A  pointer  to  the  previously  allocated  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_bytes  The  number  of  bytes  to  resize  the  memory  block  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  allocated  memory ,  or  NULL  if  unsuccessful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceMemRealloc ) ( void  * p_ptr ,  size_t  p_bytes ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  mem_free 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Frees  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ptr  A  pointer  to  the  previously  allocated  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceMemFree ) ( void  * p_ptr ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Godot Core */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_error 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  an  error  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-28 16:56:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  triggering  the  error . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintError ) ( const  char  * p_description ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_error_with_message 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  an  error  with  a  message  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-28 16:56:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  triggering  the  error . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_message  The  message  to  show  along  with  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintErrorWithMessage ) ( const  char  * p_description ,  const  char  * p_message ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_warning 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  warning  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-28 16:56:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  triggering  the  warning . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintWarning ) ( const  char  * p_description ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_warning_with_message 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  warning  with  a  message  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-28 16:56:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  triggering  the  warning . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_message  The  message  to  show  along  with  the  warning . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintWarningWithMessage ) ( const  char  * p_description ,  const  char  * p_message ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_script_error 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  script  error  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-28 16:56:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  triggering  the  error . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintScriptError ) ( const  char  * p_description ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_script_error_with_message 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  script  error  with  a  message  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-28 16:56:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  triggering  the  error . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_message  The  message  to  show  along  with  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintScriptErrorWithMessage ) ( const  char  * p_description ,  const  char  * p_message ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_native_struct_size 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  size  of  a  native  struct  ( ex .  ObjectID )  in  bytes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_name  A  pointer  to  a  StringName  identifying  the  struct  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  size  in  bytes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  ( * GDExtensionInterfaceGetNativeStructSize ) ( GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Variant */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_new_copy 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Copies  one  Variant  into  a  another . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  the  destination  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_src  A  pointer  to  the  source  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantNewCopy ) ( GDExtensionUninitializedVariantPtr  r_dest ,  GDExtensionConstVariantPtr  p_src ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_new_nil 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  new  Variant  containing  nil . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  the  destination  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantNewNil ) ( GDExtensionUninitializedVariantPtr  r_dest ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_destroy 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Destroys  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant  to  destroy . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantDestroy ) ( GDExtensionVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_call 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  method  on  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  identifying  the  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  hold  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : callp ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantCall ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_call_static 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  static  method  on  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  identifying  the  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  be  updated  with  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : call_static ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantCallStatic ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_evaluate 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Evaluate  an  operator  on  two  Variants . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_op  The  operator  to  evaluate . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_a  The  first  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  The  second  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : evaluate ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantEvaluate ) ( GDExtensionVariantOperator  p_op ,  GDExtensionConstVariantPtr  p_a ,  GDExtensionConstVariantPtr  p_b ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  a  key  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : set ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSet ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set_named 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  a  named  key  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  StringName  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : set_named ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSetNamed ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_key ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set_keyed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  a  keyed  property  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : set_keyed ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSetKeyed ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set_indexed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  index  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_oob  A  pointer  to  a  boolean  which  will  be  set  to  true  if  the  index  is  out  of  bounds . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSetIndexed ) ( GDExtensionVariantPtr  p_self ,  GDExtensionInt  p_index ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ,  GDExtensionBool  * r_oob ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  key  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGet ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_named 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  named  key  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  StringName  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetNamed ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_key ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_keyed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  keyed  property  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetKeyed ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_indexed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  an  index  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_oob  A  pointer  to  a  boolean  which  will  be  set  to  true  if  the  index  is  out  of  bounds . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetIndexed ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionInt  p_index ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ,  GDExtensionBool  * r_oob ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_iter_init 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Initializes  an  iterator  over  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_iter  A  pointer  to  a  Variant  which  will  be  assigned  the  iterator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  operation  is  valid ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : iter_init ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantIterInit ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionUninitializedVariantPtr  r_iter ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_iter_next 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  next  value  for  an  iterator  over  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_iter  A  pointer  to  a  Variant  which  will  be  assigned  the  iterator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  operation  is  valid ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : iter_next ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantIterNext ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionVariantPtr  r_iter ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_iter_get 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  next  value  for  an  iterator  over  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_iter  A  pointer  to  a  Variant  which  will  be  assigned  the  iterator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : iter_get ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantIterGet ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionVariantPtr  r_iter ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_hash 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  hash  of  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  hash  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : hash ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceVariantHash ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_recursive_hash 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  recursive  hash  of  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_recursion_count  The  number  of  recursive  loops  so  far . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  hash  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : recursive_hash ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceVariantRecursiveHash ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionInt  p_recursion_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_hash_compare 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Compares  two  Variants  by  their  hash . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_other  A  pointer  to  the  other  Variant  to  compare  it  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  hash  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : hash_compare ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHashCompare ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_other ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_booleanize 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  Variant  to  a  boolean . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  boolean  value  of  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantBooleanize ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_duplicate 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Duplicates  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  to  store  the  duplicated  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_deep  Whether  or  not  to  duplicate  deeply  ( when  supported  by  the  Variant  type ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantDuplicate ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionVariantPtr  r_ret ,  GDExtensionBool  p_deep ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_stringify 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  Variant  to  a  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  String  to  store  the  resulting  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantStringify ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionStringPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_type 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  type  of  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantType  ( * GDExtensionInterfaceVariantGetType ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_has_method 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  a  Variant  has  the  given  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  with  the  method  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHasMethod ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_method ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_has_member 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  a  type  of  Variant  has  the  given  member . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_member  A  pointer  to  a  StringName  with  the  member  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHasMember ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_member ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_has_key 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  a  Variant  has  a  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  key  doesn ' t  exist . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  key  exists ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHasKey ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-09-17 09:55:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_object_instance_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  object  instance  ID  from  a  variant  of  type  GDEXTENSION_VARIANT_TYPE_OBJECT . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  If  the  variant  isn ' t  of  type  GDEXTENSION_VARIANT_TYPE_OBJECT ,  then  zero  will  be  returned . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  instance  ID  will  be  returned  even  if  the  object  is  no  longer  valid  -  use  ` object_get_instance_by_id ( ) `  to  check  if  the  object  is  still  valid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  instance  ID  for  the  contained  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDObjectInstanceID  ( * GDExtensionInterfaceVariantGetObjectInstanceId ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_type_name 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  name  of  a  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_name  A  pointer  to  a  String  to  store  the  Variant  type  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetTypeName ) ( GDExtensionVariantType  p_type ,  GDExtensionUninitializedStringPtr  r_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_can_convert 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  Variants  can  be  converted  from  one  type  to  another . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_from  The  Variant  type  to  convert  from . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_to  The  Variant  type  to  convert  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  conversion  is  possible ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantCanConvert ) ( GDExtensionVariantType  p_from ,  GDExtensionVariantType  p_to ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_can_convert_strict 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  Variant  can  be  converted  from  one  type  to  another  using  stricter  rules . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_from  The  Variant  type  to  convert  from . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_to  The  Variant  type  to  convert  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  conversion  is  possible ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantCanConvertStrict ) ( GDExtensionVariantType  p_from ,  GDExtensionVariantType  p_to ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_variant_from_type_constructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  create  a  Variant  of  the  given  type  from  a  raw  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  create  a  Variant  of  the  given  type  from  a  raw  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantFromTypeConstructorFunc  ( * GDExtensionInterfaceGetVariantFromTypeConstructor ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_variant_to_type_constructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  get  the  raw  value  from  a  Variant  of  the  given  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  get  the  raw  value  from  a  Variant  of  the  given  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypeFromVariantConstructorFunc  ( * GDExtensionInterfaceGetVariantToTypeConstructor ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-11-13 22:27:34 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_internal_getter 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provides  a  function  pointer  for  retrieving  a  pointer  to  a  variant ' s  internal  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Access  to  a  variant ' s  internal  value  can  be  used  to  modify  it  in - place ,  or  to  retrieve  its  value  without  the  overhead  of  variant  conversion  functions . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  is  recommended  to  cache  the  getter  for  all  variant  types  in  a  function  table  to  avoid  retrieval  overhead  upon  use . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ note  Each  function  assumes  the  variant ' s  type  has  already  been  determined  and  matches  the  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Invoking  the  function  with  a  variant  of  a  mismatched  type  has  undefined  behavior ,  and  may  lead  to  a  segmentation  fault . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  type - specific  function  that  returns  a  pointer  to  the  internal  value  of  a  variant .  Check  the  implementation  of  this  function  ( gdextension_variant_get_ptr_internal_getter )  for  pointee  type  info  of  each  variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantGetInternalPtrFunc  ( * GDExtensionInterfaceGetVariantGetInternalPtrFunc ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_operator_evaluator 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  evaluate  the  given  Variant  operator  on  the  given  Variant  types . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_operator  The  variant  operator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type_a  The  type  of  the  first  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type_b  The  type  of  the  second  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  evaluate  the  given  Variant  operator  on  the  given  Variant  types . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrOperatorEvaluator  ( * GDExtensionInterfaceVariantGetPtrOperatorEvaluator ) ( GDExtensionVariantOperator  p_operator ,  GDExtensionVariantType  p_type_a ,  GDExtensionVariantType  p_type_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_builtin_method 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  builtin  method  on  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  with  the  method  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_hash  A  hash  representing  the  method  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  builtin  method  on  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrBuiltInMethod  ( * GDExtensionInterfaceVariantGetPtrBuiltinMethod ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_method ,  GDExtensionInt  p_hash ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_constructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  one  of  the  constructors  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constructor  The  index  of  the  constructor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  one  of  the  constructors  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrConstructor  ( * GDExtensionInterfaceVariantGetPtrConstructor ) ( GDExtensionVariantType  p_type ,  int32_t  p_constructor ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_destructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  than  can  call  the  destructor  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  than  can  call  the  destructor  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrDestructor  ( * GDExtensionInterfaceVariantGetPtrDestructor ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_construct 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Constructs  a  Variant  of  the  given  type ,  using  the  first  constructor  that  matches  the  given  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_base  A  pointer  to  a  Variant  to  store  the  constructed  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant  pointers  representing  the  arguments  for  the  constructor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments  to  pass  to  the  constructor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  be  updated  with  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantConstruct ) ( GDExtensionVariantType  p_type ,  GDExtensionUninitializedVariantPtr  r_base ,  const  GDExtensionConstVariantPtr  * p_args ,  int32_t  p_argument_count ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_setter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  member ' s  setter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_member  A  pointer  to  a  StringName  with  the  member  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  member ' s  setter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrSetter  ( * GDExtensionInterfaceVariantGetPtrSetter ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_member ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_getter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  member ' s  getter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_member  A  pointer  to  a  StringName  with  the  member  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  member ' s  getter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrGetter  ( * GDExtensionInterfaceVariantGetPtrGetter ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_member ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_indexed_setter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  set  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  set  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrIndexedSetter  ( * GDExtensionInterfaceVariantGetPtrIndexedSetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_indexed_getter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  get  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  get  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrIndexedGetter  ( * GDExtensionInterfaceVariantGetPtrIndexedGetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_keyed_setter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  set  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  set  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrKeyedSetter  ( * GDExtensionInterfaceVariantGetPtrKeyedSetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_keyed_getter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  get  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  get  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrKeyedGetter  ( * GDExtensionInterfaceVariantGetPtrKeyedGetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_keyed_checker 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  check  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  check  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrKeyedChecker  ( * GDExtensionInterfaceVariantGetPtrKeyedChecker ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_constant_value 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  constant  from  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constant  A  pointer  to  a  StringName  with  the  constant  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  to  store  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetConstantValue ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_constant ,  GDExtensionUninitializedVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_utility_function 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  Variant  utility  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  A  pointer  to  a  StringName  with  the  function  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_hash  A  hash  representing  the  function  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  Variant  utility  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrUtilityFunction  ( * GDExtensionInterfaceVariantGetPtrUtilityFunction ) ( GDExtensionConstStringNamePtr  p_function ,  GDExtensionInt  p_hash ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: String Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_latin1_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  Latin - 1  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithLatin1Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf8_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 8  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf8Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf16_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 16  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf16Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char16_t  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf32_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 32  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 32  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf32Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char32_t  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_wide_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  wide  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  wide  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithWideChars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  wchar_t  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_latin1_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  Latin - 1  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters  ( =  number  of  bytes ) . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithLatin1CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf8_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-02 21:21:18 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.3 .  Use  ` string_new_with_utf8_chars_and_len2 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 8  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  bytes  ( not  code  units ) . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf8CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-02 21:21:18 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf8_chars_and_len2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 8  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  bytes  ( not  code  units ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Error  code  signifying  if  the  operation  successful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringNewWithUtf8CharsAndLen2 ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf16_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-02 21:21:18 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.3 .  Use  ` string_new_with_utf16_chars_and_len2 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 16  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters  ( not  bytes ) . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf16CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char16_t  * p_contents ,  GDExtensionInt  p_char_count ) ;  
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-02 21:21:18 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf16_chars_and_len2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 16  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters  ( not  bytes ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_default_little_endian  If  true ,  UTF - 16  use  little  endian . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Error  code  signifying  if  the  operation  successful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringNewWithUtf16CharsAndLen2 ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char16_t  * p_contents ,  GDExtensionInt  p_char_count ,  GDExtensionBool  p_default_little_endian ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf32_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 32  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 32  encoded  C  string . 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters  ( not  bytes ) . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf32CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char32_t  * p_contents ,  GDExtensionInt  p_char_count ) ;  
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_wide_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  wide  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  wide  C  string . 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters  ( not  bytes ) . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-24 18:17:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithWideCharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  wchar_t  * p_contents ,  GDExtensionInt  p_char_count ) ;  
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_latin1_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToLatin1Chars ) ( GDExtensionConstStringPtr  p_self ,  char  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_utf8_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToUtf8Chars ) ( GDExtensionConstStringPtr  p_self ,  char  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_utf16_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToUtf16Chars ) ( GDExtensionConstStringPtr  p_self ,  char16_t  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_utf32_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  UTF - 32  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToUtf32Chars ) ( GDExtensionConstStringPtr  p_self ,  char32_t  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_wide_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  wide  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToWideChars ) ( GDExtensionConstStringPtr  p_self ,  wchar_t  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  the  character  at  the  given  index  from  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  character . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  char32_t  * ( * GDExtensionInterfaceStringOperatorIndex ) ( GDExtensionStringPtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  the  character  at  the  given  index  from  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  character . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  char32_t  * ( * GDExtensionInterfaceStringOperatorIndexConst ) ( GDExtensionConstStringPtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_string 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  another  String  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  the  other  String  to  append . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqString ) ( GDExtensionStringPtr  p_self ,  GDExtensionConstStringPtr  p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_char 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  character  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  the  character  to  append . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqChar ) ( GDExtensionStringPtr  p_self ,  char32_t  p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_cstr 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  Latin - 1  encoded  C  string  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  a  Latin - 1  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqCstr ) ( GDExtensionStringPtr  p_self ,  const  char  * p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_wcstr 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  wide  C  string  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  a  wide  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqWcstr ) ( GDExtensionStringPtr  p_self ,  const  wchar_t  * p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_c32str 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  UTF - 32  encoded  C  string  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  a  UTF - 32  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqC32str ) ( GDExtensionStringPtr  p_self ,  const  char32_t  * p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-30 11:00:05 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_resize 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Resizes  the  underlying  string  data  to  the  given  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Space  needs  to  be  allocated  for  the  null  terminating  character  ( ' \0 ' )  which 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  also  must  be  added  manually ,  in  order  for  all  string  functions  to  work  correctly . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Warning :  This  is  an  error - prone  operation  -  only  use  it  if  there ' s  no  other 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  efficient  way  to  accomplish  your  goal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_resize  The  new  length  for  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Error  code  signifying  if  the  operation  successful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringResize ) ( GDExtensionStringPtr  p_self ,  GDExtensionInt  p_resize ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-30 15:40:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: StringName Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_name_new_with_latin1_chars 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  StringName  from  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  If  ` p_is_static `  is  true ,  then : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  -  The  StringName  will  reuse  the  ` p_contents `  buffer  instead  of  copying  it . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    You  must  guarantee  that  the  buffer  remains  valid  for  the  duration  of  the  application  ( e . g .  string  literal ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  -  You  must  not  call  a  destructor  for  this  StringName .  Incrementing  the  initial  reference  once  should  achieve  this . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  ` p_is_static `  is  purely  an  optimization  and  can  easily  introduce  undefined  behavior  if  used  wrong .  In  case  of  doubt ,  set  it  to  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  uninitialized  storage ,  into  which  the  newly  created  StringName  is  constructed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  C  string  ( null  terminated  and  Latin - 1  or  ASCII  encoded ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_is_static  Whether  the  StringName  reuses  the  buffer  directly  ( see  above ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNameNewWithLatin1Chars ) ( GDExtensionUninitializedStringNamePtr  r_dest ,  const  char  * p_contents ,  GDExtensionBool  p_is_static ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_name_new_with_utf8_chars 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  StringName  from  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  uninitialized  storage ,  into  which  the  newly  created  StringName  is  constructed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  C  string  ( null  terminated  and  UTF - 8  encoded ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNameNewWithUtf8Chars ) ( GDExtensionUninitializedStringNamePtr  r_dest ,  const  char  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_name_new_with_utf8_chars_and_len 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  StringName  from  a  UTF - 8  encoded  string  with  a  given  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  uninitialized  storage ,  into  which  the  newly  created  StringName  is  constructed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  C  string  ( null  terminated  and  UTF - 8  encoded ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  bytes  ( not  UTF - 8  code  points ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNameNewWithUtf8CharsAndLen ) ( GDExtensionUninitializedStringNamePtr  r_dest ,  const  char  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: XMLParser Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  xml_parser_open_buffer 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Opens  a  raw  XML  buffer  on  an  XMLParser  instance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  an  XMLParser  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_buffer  A  pointer  to  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  size  of  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  Godot  error  code  ( ex .  OK ,  ERR_INVALID_DATA ,  etc ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  XMLParser : : open_buffer ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceXmlParserOpenBuffer ) ( GDExtensionObjectPtr  p_instance ,  const  uint8_t  * p_buffer ,  size_t  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: FileAccess Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  file_access_store_buffer 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Stores  the  given  buffer  using  an  instance  of  FileAccess . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  FileAccess  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_src  A  pointer  to  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_length  The  size  of  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  FileAccess : : store_buffer ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceFileAccessStoreBuffer ) ( GDExtensionObjectPtr  p_instance ,  const  uint8_t  * p_src ,  uint64_t  p_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  file_access_get_buffer 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Reads  the  next  p_length  bytes  into  the  given  buffer  using  an  instance  of  FileAccess . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  FileAccess  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_dst  A  pointer  to  the  buffer  to  store  the  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_length  The  requested  number  of  bytes  to  read . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  actual  number  of  bytes  read  ( may  be  less  than  requested ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  ( * GDExtensionInterfaceFileAccessGetBuffer ) ( GDExtensionConstObjectPtr  p_instance ,  uint8_t  * p_dst ,  uint64_t  p_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-06-02 21:21:18 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: Image Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  image_ptrw 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Returns  writable  pointer  to  internal  Image  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  Image  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Pointer  to  internal  Image  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Image : : ptrw ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint8_t  * ( * GDExtensionInterfaceImagePtrw ) ( GDExtensionObjectPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  image_ptr 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Returns  read  only  pointer  to  internal  Image  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  Image  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Pointer  to  internal  Image  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Image : : ptr ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  uint8_t  * ( * GDExtensionInterfaceImagePtr ) ( GDExtensionObjectPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: WorkerThreadPool Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  worker_thread_pool_add_native_group_task 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Adds  a  group  task  to  an  instance  of  WorkerThreadPool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  WorkerThreadPool  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_func  A  pointer  to  a  function  to  run  in  the  thread  pool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_userdata  A  pointer  to  arbitrary  data  which  will  be  passed  to  p_func . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_tasks  The  number  of  tasks  needed  in  the  group . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_high_priority  Whether  or  not  this  is  a  high  priority  task . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  A  pointer  to  a  String  with  the  task  description . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  task  group  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  WorkerThreadPool : : add_group_task ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  ( * GDExtensionInterfaceWorkerThreadPoolAddNativeGroupTask ) ( GDExtensionObjectPtr  p_instance ,  void  ( * p_func ) ( void  * ,  uint32_t ) ,  void  * p_userdata ,  int  p_elements ,  int  p_tasks ,  GDExtensionBool  p_high_priority ,  GDExtensionConstStringPtr  p_description ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  worker_thread_pool_add_native_task 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Adds  a  task  to  an  instance  of  WorkerThreadPool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  WorkerThreadPool  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_func  A  pointer  to  a  function  to  run  in  the  thread  pool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_userdata  A  pointer  to  arbitrary  data  which  will  be  passed  to  p_func . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_high_priority  Whether  or  not  this  is  a  high  priority  task . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  A  pointer  to  a  String  with  the  task  description . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  task  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  ( * GDExtensionInterfaceWorkerThreadPoolAddNativeTask ) ( GDExtensionObjectPtr  p_instance ,  void  ( * p_func ) ( void  * ) ,  void  * p_userdata ,  GDExtensionBool  p_high_priority ,  GDExtensionConstStringPtr  p_description ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Packed Array */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_byte_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  byte  in  a  PackedByteArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedByteArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  byte  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  byte . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint8_t  * ( * GDExtensionInterfacePackedByteArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_byte_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  byte  in  a  PackedByteArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedByteArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  byte  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  byte . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  uint8_t  * ( * GDExtensionInterfacePackedByteArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float32_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  32 - bit  float  in  a  PackedFloat32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedFloat32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  32 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  float  * ( * GDExtensionInterfacePackedFloat32ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float32_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  32 - bit  float  in  a  PackedFloat32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedFloat32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  32 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  float  * ( * GDExtensionInterfacePackedFloat32ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float64_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  64 - bit  float  in  a  PackedFloat64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedFloat64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  64 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  double  * ( * GDExtensionInterfacePackedFloat64ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float64_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  64 - bit  float  in  a  PackedFloat64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedFloat64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  64 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  double  * ( * GDExtensionInterfacePackedFloat64ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int32_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  32 - bit  integer  in  a  PackedInt32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedInt32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  32 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int32_t  * ( * GDExtensionInterfacePackedInt32ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int32_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  32 - bit  integer  in  a  PackedInt32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedInt32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  32 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  int32_t  * ( * GDExtensionInterfacePackedInt32ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int64_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  64 - bit  integer  in  a  PackedInt64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedInt64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  64 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  * ( * GDExtensionInterfacePackedInt64ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int64_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  64 - bit  integer  in  a  PackedInt64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedInt64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  64 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  int64_t  * ( * GDExtensionInterfacePackedInt64ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_string_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  string  in  a  PackedStringArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedStringArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  String  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionStringPtr  ( * GDExtensionInterfacePackedStringArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_string_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  string  in  a  PackedStringArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedStringArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  String  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionStringPtr  ( * GDExtensionInterfacePackedStringArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector2_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Vector2  in  a  PackedVector2Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedVector2Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector2  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Vector2 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector2ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector2_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Vector2  in  a  PackedVector2Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedVector2Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector2  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Vector2 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector2ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector3_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Vector3  in  a  PackedVector3Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedVector3Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector3  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Vector3 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector3ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector3_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Vector3  in  a  PackedVector3Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedVector3Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector3  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Vector3 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector3ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-04-08 07:51:34 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector4_array_operator_index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Vector4  in  a  PackedVector4Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedVector4Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector4  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Vector4 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector4ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector4_array_operator_index_const 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Vector4  in  a  PackedVector4Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedVector4Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector4  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Vector4 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector4ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_color_array_operator_index 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  color  in  a  PackedColorArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedColorArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Color  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Color . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedColorArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_color_array_operator_index_const 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  color  in  a  PackedColorArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedColorArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Color  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Color . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedColorArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Variant  in  an  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  an  Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Variant  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Variant  in  an  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  an  Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Variant  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_ref 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-28 12:47:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.5 .  use  ` Array : : operator = `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  Array  to  be  a  reference  to  another  Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Array  object  to  update . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_from  A  pointer  to  the  Array  object  to  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceArrayRef ) ( GDExtensionTypePtr  p_self ,  GDExtensionConstTypePtr  p_from ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_set_typed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Makes  an  Array  into  a  typed  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  type  of  Variant  the  Array  will  store . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  name  of  the  object  ( if  p_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_script  A  pointer  to  a  Script  object  ( if  p_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT  and  the  base  class  is  extended  by  a  script ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceArraySetTyped ) ( GDExtensionTypePtr  p_self ,  GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstVariantPtr  p_script ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Dictionary */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  dictionary_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Variant  in  a  Dictionary  with  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  Dictionary  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  Variant  representing  the  value  at  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceDictionaryOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionConstVariantPtr  p_key ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  dictionary_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Variant  in  a  Dictionary  with  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  Dictionary  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  a  Variant  representing  the  value  at  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceDictionaryOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionConstVariantPtr  p_key ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 13:03:28 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  dictionary_set_typed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Makes  a  Dictionary  into  a  typed  Dictionary . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Dictionary . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key_type  The  type  of  Variant  the  Dictionary  key  will  store . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key_class_name  A  pointer  to  a  StringName  with  the  name  of  the  object  ( if  p_key_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key_script  A  pointer  to  a  Script  object  ( if  p_key_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT  and  the  base  class  is  extended  by  a  script ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value_type  The  type  of  Variant  the  Dictionary  value  will  store . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value_class_name  A  pointer  to  a  StringName  with  the  name  of  the  object  ( if  p_value_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value_script  A  pointer  to  a  Script  object  ( if  p_value_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT  and  the  base  class  is  extended  by  a  script ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceDictionarySetTyped ) ( GDExtensionTypePtr  p_self ,  GDExtensionVariantType  p_key_type ,  GDExtensionConstStringNamePtr  p_key_class_name ,  GDExtensionConstVariantPtr  p_key_script ,  GDExtensionVariantType  p_value_type ,  GDExtensionConstStringNamePtr  p_value_class_name ,  GDExtensionConstVariantPtr  p_value_script ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: Object */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_method_bind_call 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  method  on  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_bind  A  pointer  to  the  MethodBind  representing  the  method  on  the  Object ' s  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variants  representing  the  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_arg_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  Variant  which  will  receive  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  to  a  GDExtensionCallError  struct  that  will  receive  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectMethodBindCall ) ( GDExtensionMethodBindPtr  p_method_bind ,  GDExtensionObjectPtr  p_instance ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_arg_count ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_method_bind_ptrcall 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  method  on  an  Object  ( using  a  " ptrcall " ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_bind  A  pointer  to  the  MethodBind  representing  the  method  on  the  Object ' s  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  representing  the  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  the  Object  that  will  receive  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectMethodBindPtrcall ) ( GDExtensionMethodBindPtr  p_method_bind ,  GDExtensionObjectPtr  p_instance ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_destroy 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Destroys  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectDestroy ) ( GDExtensionObjectPtr  p_o ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  global_get_singleton 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  global  singleton  by  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_name  A  pointer  to  a  StringName  with  the  singleton  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  singleton  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceGlobalGetSingleton ) ( GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_instance_binding 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  representing  an  Object ' s  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  token  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callbacks  A  pointer  to  a  GDExtensionInstanceBindingCallbacks  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceObjectGetInstanceBinding ) ( GDExtensionObjectPtr  p_o ,  void  * p_token ,  const  GDExtensionInstanceBindingCallbacks  * p_callbacks ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_set_instance_binding 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  Object ' s  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  token  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_binding  A  pointer  to  the  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callbacks  A  pointer  to  a  GDExtensionInstanceBindingCallbacks  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectSetInstanceBinding ) ( GDExtensionObjectPtr  p_o ,  void  * p_token ,  void  * p_binding ,  const  GDExtensionInstanceBindingCallbacks  * p_callbacks ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-04 19:13:07 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_free_instance_binding 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Free  an  Object ' s  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  token  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectFreeInstanceBinding ) ( GDExtensionObjectPtr  p_o ,  void  * p_token ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_set_instance 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  extension  class  instance  on  a  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  registered  extension  class ' s  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  the  extension  class  instance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectSetInstance ) ( GDExtensionObjectPtr  p_o ,  GDExtensionConstStringNamePtr  p_classname ,  GDExtensionClassInstancePtr  p_instance ) ;  /* p_classname should be a registered extension class and should extend the p_o object's class. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-02-16 09:38:57 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_class_name 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-02-16 09:38:57 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  class  name  of  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-02 14:10:54 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  If  the  GDExtension  wraps  the  Godot  object  in  an  abstraction  specific  to  its  class ,   this  is  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  function  that  should  be  used  to  determine  which  wrapper  to  use . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-02-16 09:38:57 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_class_name  A  pointer  to  a  String  to  receive  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  successful  in  getting  the  class  name ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceObjectGetClassName ) ( GDExtensionConstObjectPtr  p_object ,  GDExtensionClassLibraryPtr  p_library ,  GDExtensionUninitializedStringNamePtr  r_class_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_cast_to 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Casts  an  Object  to  a  different  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_tag  A  pointer  uniquely  identifying  a  built - in  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Returns  a  pointer  to  the  Object ,  or  NULL  if  it  can ' t  be  cast  to  the  requested  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceObjectCastTo ) ( GDExtensionConstObjectPtr  p_object ,  void  * p_class_tag ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_instance_from_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  an  Object  by  its  instance  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance_id  The  instance  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceObjectGetInstanceFromId ) ( GDObjectInstanceID  p_instance_id ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_instance_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  instance  ID  from  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  instance  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDObjectInstanceID  ( * GDExtensionInterfaceObjectGetInstanceId ) ( GDExtensionConstObjectPtr  p_object ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-20 19:40:43 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_has_script_method 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  this  object  has  a  script  with  the  given  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  identifying  the  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ returns  true  if  the  object  has  a  script  and  that  script  has  a  method  with  the  given  name .  Returns  false  if  the  object  has  no  script . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceObjectHasScriptMethod ) ( GDExtensionConstObjectPtr  p_object ,  GDExtensionConstStringNamePtr  p_method ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_call_script_method 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Call  the  given  script  method  on  this  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  identifying  the  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  hold  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectCallScriptMethod ) ( GDExtensionObjectPtr  p_object ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: Reference */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  ref_get_object 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  Object  from  a  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ref  A  pointer  to  the  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  Object  from  the  reference  or  NULL . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceRefGetObject ) ( GDExtensionConstRefPtr  p_ref ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  ref_set_object 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  the  Object  referred  to  by  a  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ref  A  pointer  to  the  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object  to  refer  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceRefSetObject ) ( GDExtensionRefPtr  p_ref ,  GDExtensionObjectPtr  p_object ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Script Instance */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  script_instance_create 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.2 .  Use  ` script_instance_create3 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  script  instance  that  contains  the  given  info  and  instance  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionScriptInstanceInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance_data  A  pointer  to  a  data  representing  the  script  instance  in  the  GDExtension .  This  will  be  passed  to  all  the  function  pointers  on  p_info . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  ScriptInstanceExtension  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptInstancePtr  ( * GDExtensionInterfaceScriptInstanceCreate ) ( const  GDExtensionScriptInstanceInfo  * p_info ,  GDExtensionScriptInstanceDataPtr  p_instance_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  script_instance_create2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.3 .  Use  ` script_instance_create3 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  script  instance  that  contains  the  given  info  and  instance  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionScriptInstanceInfo2  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance_data  A  pointer  to  a  data  representing  the  script  instance  in  the  GDExtension .  This  will  be  passed  to  all  the  function  pointers  on  p_info . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  ScriptInstanceExtension  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptInstancePtr  ( * GDExtensionInterfaceScriptInstanceCreate2 ) ( const  GDExtensionScriptInstanceInfo2  * p_info ,  GDExtensionScriptInstanceDataPtr  p_instance_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-03-01 09:56:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  script_instance_create3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  script  instance  that  contains  the  given  info  and  instance  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionScriptInstanceInfo3  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance_data  A  pointer  to  a  data  representing  the  script  instance  in  the  GDExtension .  This  will  be  passed  to  all  the  function  pointers  on  p_info . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  ScriptInstanceExtension  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptInstancePtr  ( * GDExtensionInterfaceScriptInstanceCreate3 ) ( const  GDExtensionScriptInstanceInfo3  * p_info ,  GDExtensionScriptInstanceDataPtr  p_instance_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-08-07 21:07:56 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  placeholder_script_instance_create 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  placeholder  script  instance  for  a  given  script  and  instance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  interface  is  optional  as  a  custom  placeholder  could  also  be  created  with  script_instance_create ( ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_language  A  pointer  to  a  ScriptLanguage . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_script  A  pointer  to  a  Script . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_owner  A  pointer  to  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  PlaceHolderScriptInstance  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptInstancePtr  ( * GDExtensionInterfacePlaceHolderScriptInstanceCreate ) ( GDExtensionObjectPtr  p_language ,  GDExtensionObjectPtr  p_script ,  GDExtensionObjectPtr  p_owner ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  placeholder_script_instance_update 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Updates  a  placeholder  script  instance  with  the  given  properties  and  values . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  passed  in  placeholder  must  be  an  instance  of  PlaceHolderScriptInstance 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  such  as  the  one  returned  by  placeholder_script_instance_create ( ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_placeholder  A  pointer  to  a  PlaceHolderScriptInstance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_properties  A  pointer  to  an  Array  of  Dictionary  representing  PropertyInfo . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_values  A  pointer  to  a  Dictionary  mapping  StringName  to  Variant  values . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePlaceHolderScriptInstanceUpdate ) ( GDExtensionScriptInstancePtr  p_placeholder ,  GDExtensionConstTypePtr  p_properties ,  GDExtensionConstTypePtr  p_values ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-28 22:31:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_script_instance 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Get  the  script  instance  data  attached  to  this  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_language  A  pointer  to  the  language  expected  for  this  script  instance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  GDExtensionScriptInstanceDataPtr  that  was  attached  to  this  object  as  part  of  script_instance_create . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptInstanceDataPtr  ( * GDExtensionInterfaceObjectGetScriptInstance ) ( GDExtensionConstObjectPtr  p_object ,  GDExtensionObjectPtr  p_language ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-03 11:09:24 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_set_script_instance 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Set  the  script  instance  data  attached  to  this  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_script_instance  A  pointer  to  the  script  instance  data  to  attach  to  this  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectSetScriptInstance ) ( GDExtensionObjectPtr  p_object ,  GDExtensionScriptInstanceDataPtr  p_script_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: Callable */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  callable_custom_create 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-28 15:16:09 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.3 .  Use  ` callable_custom_create2 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  custom  Callable  object  from  a  function  pointer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_callable  A  pointer  that  will  receive  the  new  Callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callable_custom_info  The  info  required  to  construct  a  Callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceCallableCustomCreate ) ( GDExtensionUninitializedTypePtr  r_callable ,  GDExtensionCallableCustomInfo  * p_callable_custom_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-28 15:16:09 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  callable_custom_create2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  custom  Callable  object  from  a  function  pointer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_callable  A  pointer  that  will  receive  the  new  Callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callable_custom_info  The  info  required  to  construct  a  Callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceCallableCustomCreate2 ) ( GDExtensionUninitializedTypePtr  r_callable ,  GDExtensionCallableCustomInfo2  * p_callable_custom_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-03 19:03:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  callable_custom_get_userdata 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Retrieves  the  userdata  pointer  from  a  custom  Callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  If  the  Callable  is  not  a  custom  Callable  or  the  token  does  not  match  the  one  provided  to  callable_custom_create ( )  via  GDExtensionCallableCustomInfo  then  NULL  will  be  returned . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callable  A  pointer  to  a  Callable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_token  A  pointer  to  an  address  that  uniquely  identifies  the  GDExtension . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceCallableCustomGetUserData ) ( GDExtensionConstTypePtr  p_callable ,  void  * p_token ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: ClassDB */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_construct_object 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.4 .  Use  ` classdb_construct_object2 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Constructs  an  Object  of  the  requested  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  passed  class  must  be  a  built - in  godot  class ,   or  an  already - registered  extension  class .   In  both  cases ,  object_set_instance ( )  should  be  called  to  fully  initialize  the  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  newly  created  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceClassdbConstructObject ) ( GDExtensionConstStringNamePtr  p_classname ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_construct_object2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Constructs  an  Object  of  the  requested  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  passed  class  must  be  a  built - in  godot  class ,   or  an  already - registered  extension  class .   In  both  cases ,  object_set_instance ( )  should  be  called  to  fully  initialize  the  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  " NOTIFICATION_POSTINITIALIZE "  must  be  sent  after  construction . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  newly  created  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceClassdbConstructObject2 ) ( GDExtensionConstStringNamePtr  p_classname ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_get_method_bind 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  the  MethodBind  in  ClassDB  for  the  given  class ,   method  and  hash . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_methodname  A  pointer  to  a  StringName  with  the  method  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_hash  A  hash  representing  the  function  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  MethodBind  from  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionMethodBindPtr  ( * GDExtensionInterfaceClassdbGetMethodBind ) ( GDExtensionConstStringNamePtr  p_classname ,  GDExtensionConstStringNamePtr  p_methodname ,  GDExtensionInt  p_hash ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_get_class_tag 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  uniquely  identifying  the  given  built - in  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  uniquely  identifying  the  built - in  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceClassdbGetClassTag ) ( GDExtensionConstStringNamePtr  p_classname ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: ClassDB Extension */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.2 .  Use  ` classdb_register_extension_class4 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_parent_class_name  A  pointer  to  a  StringName  with  the  parent  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_extension_funcs  A  pointer  to  a  GDExtensionClassCreationInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClass ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_parent_class_name ,  const  GDExtensionClassCreationInfo  * p_extension_funcs ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.3 .  Use  ` classdb_register_extension_class4 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 03:07:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_parent_class_name  A  pointer  to  a  StringName  with  the  parent  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_extension_funcs  A  pointer  to  a  GDExtensionClassCreationInfo2  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClass2 ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_parent_class_name ,  const  GDExtensionClassCreationInfo2  * p_extension_funcs ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-02 14:10:54 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ deprecated  in  Godot  4.4 .  Use  ` classdb_register_extension_class4 `  instead . 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-02 14:10:54 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_parent_class_name  A  pointer  to  a  StringName  with  the  parent  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_extension_funcs  A  pointer  to  a  GDExtensionClassCreationInfo2  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClass3 ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_parent_class_name ,  const  GDExtensionClassCreationInfo3  * p_extension_funcs ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-04-22 22:34:44 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_parent_class_name  A  pointer  to  a  StringName  with  the  parent  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_extension_funcs  A  pointer  to  a  GDExtensionClassCreationInfo2  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClass4 ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_parent_class_name ,  const  GDExtensionClassCreationInfo4  * p_extension_funcs ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_method 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  method  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_info  A  pointer  to  a  GDExtensionClassMethodInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassMethod ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionClassMethodInfo  * p_method_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-20 19:40:43 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_virtual_method 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  virtual  method  on  an  extension  class  in  ClassDB ,  that  can  be  implemented  by  scripts  or  other  extensions . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_info  A  pointer  to  a  GDExtensionClassMethodInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassVirtualMethod ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionClassVirtualMethodInfo  * p_method_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_integer_constant 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  integer  constant  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-13 13:10:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  Note  about  registering  bitfield  values  ( if  p_is_bitfield  is  true ) :  even  though  p_constant_value  is  signed ,  language  bindings  are 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  advised  to  treat  bitfields  as  uint64_t ,  since  this  is  generally  clearer  and  can  prevent  mistakes  like  using  - 1  for  setting  all  bits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Language  APIs  should  thus  provide  an  abstraction  that  registers  bitfields  ( uint64_t )  separately  from  regular  constants  ( int64_t ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_enum_name  A  pointer  to  a  StringName  with  the  enum  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constant_name  A  pointer  to  a  StringName  with  the  constant  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constant_value  The  constant  value . 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-13 13:10:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_is_bitfield  Whether  or  not  this  constant  is  part  of  a  bitfield . 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassIntegerConstant ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_enum_name ,  GDExtensionConstStringNamePtr  p_constant_name ,  GDExtensionInt  p_constant_value ,  GDExtensionBool  p_is_bitfield ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  property  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionPropertyInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_setter  A  pointer  to  a  StringName  with  the  name  of  the  setter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_getter  A  pointer  to  a  StringName  with  the  name  of  the  getter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassProperty ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionPropertyInfo  * p_info ,  GDExtensionConstStringNamePtr  p_setter ,  GDExtensionConstStringNamePtr  p_getter ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-21 22:59:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property_indexed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  indexed  property  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionPropertyInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_setter  A  pointer  to  a  StringName  with  the  name  of  the  setter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_getter  A  pointer  to  a  StringName  with  the  name  of  the  getter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  to  pass  as  the  first  argument  to  the  getter  and  setter  methods . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassPropertyIndexed ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionPropertyInfo  * p_info ,  GDExtensionConstStringNamePtr  p_setter ,  GDExtensionConstStringNamePtr  p_getter ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property_group 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  property  group  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_group_name  A  pointer  to  a  String  with  the  group  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_prefix  A  pointer  to  a  String  with  the  prefix  used  by  properties  in  this  group . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassPropertyGroup ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringPtr  p_group_name ,  GDExtensionConstStringPtr  p_prefix ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property_subgroup 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  property  subgroup  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_subgroup_name  A  pointer  to  a  String  with  the  subgroup  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_prefix  A  pointer  to  a  String  with  the  prefix  used  by  properties  in  this  subgroup . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassPropertySubgroup ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringPtr  p_subgroup_name ,  GDExtensionConstStringPtr  p_prefix ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_signal 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  signal  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  structs  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_signal_name  A  pointer  to  a  StringName  with  the  signal  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_info  A  pointer  to  a  GDExtensionPropertyInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments  the  signal  receives . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassSignal ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_signal_name ,  const  GDExtensionPropertyInfo  * p_argument_info ,  GDExtensionInt  p_argument_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_unregister_extension_class 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Unregisters  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbUnregisterExtensionClass ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ) ;  /* Unregistering a parent class before a class that inherits it will result in failure. Inheritors must be unregistered first. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_library_path 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  path  to  the  current  GDExtension  library . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_path  A  pointer  to  a  String  which  will  receive  the  path . 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceGetLibraryPath ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionUninitializedStringPtr  r_path ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-11 16:46:53 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_add_plugin 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-11 16:46:53 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Adds  an  editor  plugin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It ' s  safe  to  call  during  initialization . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  name  of  a  class  ( descending  from  EditorPlugin )  which  is  already  registered  with  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceEditorAddPlugin ) ( GDExtensionConstStringNamePtr  p_class_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_remove_plugin 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-11 16:46:53 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Removes  an  editor  plugin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  name  of  a  class  that  was  previously  added  as  an  editor  plugin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceEditorRemovePlugin ) ( GDExtensionConstStringNamePtr  p_class_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-10-19 00:50:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_help_load_xml_from_utf8_chars 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Loads  new  XML - formatted  documentation  data  in  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  provided  pointer  can  be  immediately  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 10:05:42 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_data  A  pointer  to  a  UTF - 8  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-19 00:50:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8Chars ) ( const  char  * p_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_help_load_xml_from_utf8_chars_and_len 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Loads  new  XML - formatted  documentation  data  in  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  provided  pointer  can  be  immediately  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-07 10:05:42 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_data  A  pointer  to  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-19 00:50:30 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  bytes  ( not  code  units ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8CharsAndLen ) ( const  char  * p_data ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-03-14 11:12:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_register_get_classes_used_callback 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  callback  that  Godot  can  call  to  get  the  list  of  all  classes  ( from  ClassDB )  that  may  be  used  by  the  calling  GDExtension . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  is  used  by  the  editor  to  generate  a  build  profile  ( in  " Tools "  >  " Engine Compilation Configuration Editor... "  >  " Detect from project " ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  in  order  to  recompile  Godot  with  only  the  classes  used . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  In  the  provided  callback ,  the  GDExtension  should  provide  the  list  of  classes  that  _may_  be  used  statically ,  thus  the  time  of  invocation  shouldn ' t  matter . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  If  a  GDExtension  doesn ' t  register  a  callback ,  Godot  will  assume  that  it  could  be  using  any  classes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callback  The  callback  to  retrieve  the  list  of  classes  used . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceEditorRegisterGetClassesUsedCallback ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionEditorGetClassesUsedCallback  p_callback ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-02 01:34:31 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  register_main_loop_callbacks 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  callbacks  to  be  called  at  different  phases  of  the  main  loop . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callback  A  pointer  to  the  structure  that  contains  the  callbacks . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceRegisterMainLoopCallbacks ) ( GDExtensionClassLibraryPtr  p_library ,  const  GDExtensionMainLoopCallbacks  * p_callbacks ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif