瀏覽代碼

gdextension: Sync with upstream commit 3978628c6cc1227250fc6ed45c8d854d24c30c30 (4.3-rc2)

David Snopek 1 年之前
父節點
當前提交
daf6ad3649
共有 2 個文件被更改,包括 332 次插入17 次删除
  1. 327 16
      gdextension/extension_api.json
  2. 5 1
      gdextension/gdextension_interface.h

+ 327 - 16
gdextension/extension_api.json

@@ -3,9 +3,9 @@
 		"version_major": 4,
 		"version_minor": 3,
 		"version_patch": 0,
-		"version_status": "beta2",
+		"version_status": "rc2",
 		"version_build": "official",
-		"version_full_name": "Godot Engine v4.3.beta2.official"
+		"version_full_name": "Godot Engine v4.3.rc2.official"
 	},
 	"builtin_class_sizes": [
 		{
@@ -43308,7 +43308,7 @@
 		{
 			"name": "AudioStreamPlaybackInteractive",
 			"is_refcounted": true,
-			"is_instantiable": true,
+			"is_instantiable": false,
 			"inherits": "AudioStreamPlayback",
 			"api_type": "core",
 			"methods": [
@@ -43353,7 +43353,7 @@
 		{
 			"name": "AudioStreamPlaybackPlaylist",
 			"is_refcounted": true,
-			"is_instantiable": true,
+			"is_instantiable": false,
 			"inherits": "AudioStreamPlayback",
 			"api_type": "core"
 		},
@@ -43548,7 +43548,7 @@
 		{
 			"name": "AudioStreamPlaybackSynchronized",
 			"is_refcounted": true,
-			"is_instantiable": true,
+			"is_instantiable": false,
 			"inherits": "AudioStreamPlayback",
 			"api_type": "core"
 		},
@@ -82383,6 +82383,45 @@
 					"return_value": {
 						"type": "bool"
 					}
+				},
+				{
+					"name": "register_additional_output",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3975164845,
+					"arguments": [
+						{
+							"name": "object",
+							"type": "Object"
+						}
+					]
+				},
+				{
+					"name": "unregister_additional_output",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3975164845,
+					"arguments": [
+						{
+							"name": "object",
+							"type": "Object"
+						}
+					]
+				},
+				{
+					"name": "has_additional_outputs",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 36873697,
+					"return_value": {
+						"type": "bool"
+					}
 				}
 			]
 		},
@@ -85441,6 +85480,15 @@
 						}
 					]
 				},
+				{
+					"name": "resources_reimporting",
+					"arguments": [
+						{
+							"name": "resources",
+							"type": "PackedStringArray"
+						}
+					]
+				},
 				{
 					"name": "resources_reimported",
 					"arguments": [
@@ -91510,6 +91558,14 @@
 						"type": "bool"
 					}
 				},
+				{
+					"name": "force_fixed_history",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3218959716
+				},
 				{
 					"name": "add_do_method",
 					"is_const": false,
@@ -103186,6 +103242,42 @@
 			"is_instantiable": true,
 			"inherits": "Resource",
 			"api_type": "core",
+			"enums": [
+				{
+					"name": "GLTFAccessorType",
+					"is_bitfield": false,
+					"values": [
+						{
+							"name": "TYPE_SCALAR",
+							"value": 0
+						},
+						{
+							"name": "TYPE_VEC2",
+							"value": 1
+						},
+						{
+							"name": "TYPE_VEC3",
+							"value": 2
+						},
+						{
+							"name": "TYPE_VEC4",
+							"value": 3
+						},
+						{
+							"name": "TYPE_MAT2",
+							"value": 4
+						},
+						{
+							"name": "TYPE_MAT3",
+							"value": 5
+						},
+						{
+							"name": "TYPE_MAT4",
+							"value": 6
+						}
+					]
+				}
+			],
 			"methods": [
 				{
 					"name": "get_buffer_view",
@@ -103326,10 +103418,9 @@
 					"is_vararg": false,
 					"is_static": false,
 					"is_virtual": false,
-					"hash": 2455072627,
+					"hash": 679305214,
 					"return_value": {
-						"type": "int",
-						"meta": "int32"
+						"type": "enum::GLTFAccessor.GLTFAccessorType"
 					}
 				},
 				{
@@ -103338,12 +103429,11 @@
 					"is_vararg": false,
 					"is_static": false,
 					"is_virtual": false,
-					"hash": 1286410249,
+					"hash": 2347728198,
 					"arguments": [
 						{
 							"name": "accessor_type",
-							"type": "int",
-							"meta": "int32"
+							"type": "enum::GLTFAccessor.GLTFAccessorType"
 						}
 					]
 				},
@@ -119923,7 +120013,7 @@
 					"hash": 923996154,
 					"return_value": {
 						"type": "int",
-						"meta": "int32"
+						"meta": "int64"
 					},
 					"arguments": [
 						{
@@ -132100,6 +132190,14 @@
 						{
 							"name": "BAKE_ERROR_TEXTURE_SIZE_TOO_SMALL",
 							"value": 9
+						},
+						{
+							"name": "BAKE_ERROR_LIGHTMAP_TOO_SMALL",
+							"value": 10
+						},
+						{
+							"name": "BAKE_ERROR_ATLAS_TOO_SMALL",
+							"value": 11
 						}
 					]
 				},
@@ -162951,7 +163049,7 @@
 			"name": "OccluderInstance3D",
 			"is_refcounted": false,
 			"is_instantiable": true,
-			"inherits": "Node3D",
+			"inherits": "VisualInstance3D",
 			"api_type": "core",
 			"methods": [
 				{
@@ -180345,6 +180443,24 @@
 						}
 					]
 				},
+				{
+					"name": "body_set_state_sync_callback",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3379118538,
+					"arguments": [
+						{
+							"name": "body",
+							"type": "RID"
+						},
+						{
+							"name": "callable",
+							"type": "Callable"
+						}
+					]
+				},
 				{
 					"name": "body_set_force_integration_callback",
 					"is_const": false,
@@ -185869,6 +185985,24 @@
 						}
 					]
 				},
+				{
+					"name": "body_set_state_sync_callback",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3379118538,
+					"arguments": [
+						{
+							"name": "body",
+							"type": "RID"
+						},
+						{
+							"name": "callable",
+							"type": "Callable"
+						}
+					]
+				},
 				{
 					"name": "body_set_force_integration_callback",
 					"is_const": false,
@@ -193945,6 +194079,17 @@
 						"type": "bool"
 					}
 				},
+				{
+					"name": "is_native_menu",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 36873697,
+					"return_value": {
+						"type": "bool"
+					}
+				},
 				{
 					"name": "add_item",
 					"is_const": false,
@@ -204897,6 +205042,40 @@
 						"type": "Vector2i"
 					}
 				},
+				{
+					"name": "get_target_size",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3690982128,
+					"return_value": {
+						"type": "Vector2i"
+					}
+				},
+				{
+					"name": "get_scaling_3d_mode",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 976778074,
+					"return_value": {
+						"type": "enum::RenderingServer.ViewportScaling3DMode"
+					}
+				},
+				{
+					"name": "get_fsr_sharpness",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 1740695150,
+					"return_value": {
+						"type": "float",
+						"meta": "float"
+					}
+				},
 				{
 					"name": "get_msaa_3d",
 					"is_const": true,
@@ -204908,6 +205087,28 @@
 						"type": "enum::RenderingServer.ViewportMSAA"
 					}
 				},
+				{
+					"name": "get_texture_samples",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 407791724,
+					"return_value": {
+						"type": "enum::RenderingDevice.TextureSamples"
+					}
+				},
+				{
+					"name": "get_screen_space_aa",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 641513172,
+					"return_value": {
+						"type": "enum::RenderingServer.ViewportScreenSpaceAA"
+					}
+				},
 				{
 					"name": "get_use_taa",
 					"is_const": true,
@@ -204918,6 +205119,17 @@
 					"return_value": {
 						"type": "bool"
 					}
+				},
+				{
+					"name": "get_use_debanding",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 36873697,
+					"return_value": {
+						"type": "bool"
+					}
 				}
 			]
 		},
@@ -230243,8 +230455,8 @@
 					"name": "request_save_previous_state",
 					"arguments": [
 						{
-							"name": "line",
-							"type": "int"
+							"name": "state",
+							"type": "Dictionary"
 						}
 					]
 				},
@@ -235211,6 +235423,12 @@
 					"name": "modifier_callback_mode_process",
 					"setter": "set_modifier_callback_mode_process",
 					"getter": "get_modifier_callback_mode_process"
+				},
+				{
+					"type": "bool",
+					"name": "animate_physical_bones",
+					"setter": "set_animate_physical_bones",
+					"getter": "get_animate_physical_bones"
 				}
 			]
 		},
@@ -241325,7 +241543,7 @@
 					"getter": "get_frame"
 				},
 				{
-					"type": "Vector2",
+					"type": "Vector2i",
 					"name": "frame_coords",
 					"setter": "set_frame_coords",
 					"getter": "get_frame_coords"
@@ -250812,6 +251030,81 @@
 						}
 					]
 				},
+				{
+					"name": "set_use_default_word_separators",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 2586408642,
+					"arguments": [
+						{
+							"name": "enabled",
+							"type": "bool"
+						}
+					]
+				},
+				{
+					"name": "is_default_word_separators_enabled",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 36873697,
+					"return_value": {
+						"type": "bool"
+					}
+				},
+				{
+					"name": "set_use_custom_word_separators",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 2586408642,
+					"arguments": [
+						{
+							"name": "enabled",
+							"type": "bool"
+						}
+					]
+				},
+				{
+					"name": "is_custom_word_separators_enabled",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 36873697,
+					"return_value": {
+						"type": "bool"
+					}
+				},
+				{
+					"name": "set_custom_word_separators",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 83702148,
+					"arguments": [
+						{
+							"name": "custom_word_separators",
+							"type": "String"
+						}
+					]
+				},
+				{
+					"name": "get_custom_word_separators",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 201670096,
+					"return_value": {
+						"type": "String"
+					}
+				},
 				{
 					"name": "set_selecting_enabled",
 					"is_const": false,
@@ -252977,6 +253270,24 @@
 					"setter": "set_multiple_carets_enabled",
 					"getter": "is_multiple_carets_enabled"
 				},
+				{
+					"type": "bool",
+					"name": "use_default_word_separators",
+					"setter": "set_use_default_word_separators",
+					"getter": "is_default_word_separators_enabled"
+				},
+				{
+					"type": "bool",
+					"name": "use_custom_word_separators",
+					"setter": "set_use_custom_word_separators",
+					"getter": "is_custom_word_separators_enabled"
+				},
+				{
+					"type": "String",
+					"name": "custom_word_separators",
+					"setter": "set_custom_word_separators",
+					"getter": "get_custom_word_separators"
+				},
 				{
 					"type": "SyntaxHighlighter",
 					"name": "syntax_highlighter",

+ 5 - 1
gdextension/gdextension_interface.h

@@ -2800,12 +2800,16 @@ typedef void (*GDExtensionInterfaceClassdbRegisterExtensionClassVirtualMethod)(G
  *
  * Registers an integer constant on an extension class in the ClassDB.
  *
+ * 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).
+ *
  * @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.
- * @param p_is_bitfield Whether or not this is a bit field.
+ * @param p_is_bitfield Whether or not this constant is part of a bitfield.
  */
 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);