Browse Source

gdextension: Sync with upstream commit f8818f85e6c43cdf1277e8ae85eba19ca0a003b0 (4.2-beta2)

Rémi Verschelde 1 year ago
parent
commit
5182624141
2 changed files with 298 additions and 56 deletions
  1. 294 55
      gdextension/extension_api.json
  2. 4 1
      gdextension/gdextension_interface.h

+ 294 - 55
gdextension/extension_api.json

@@ -3,9 +3,9 @@
 		"version_major": 4,
 		"version_minor": 2,
 		"version_patch": 0,
-		"version_status": "beta1",
+		"version_status": "beta2",
 		"version_build": "official",
-		"version_full_name": "Godot Engine v4.2.beta1.official"
+		"version_full_name": "Godot Engine v4.2.beta2.official"
 	},
 	"builtin_class_sizes": [
 		{
@@ -73568,6 +73568,23 @@
 					"return_value": {
 						"type": "bool"
 					}
+				},
+				{
+					"name": "is_case_sensitive",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 3927539163,
+					"return_value": {
+						"type": "bool"
+					},
+					"arguments": [
+						{
+							"name": "path",
+							"type": "String"
+						}
+					]
 				}
 			],
 			"properties": [
@@ -78720,7 +78737,7 @@
 		{
 			"name": "EditorCommandPalette",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ConfirmationDialog",
 			"api_type": "editor",
 			"methods": [
@@ -78773,7 +78790,7 @@
 		{
 			"name": "EditorDebuggerPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -79024,28 +79041,28 @@
 		{
 			"name": "EditorExportPlatformAndroid",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorExportPlatform",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorExportPlatformIOS",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorExportPlatform",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorExportPlatformLinuxBSD",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorExportPlatformPC",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorExportPlatformMacOS",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorExportPlatform",
 			"api_type": "editor"
 		},
@@ -79059,21 +79076,21 @@
 		{
 			"name": "EditorExportPlatformWeb",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorExportPlatform",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorExportPlatformWindows",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorExportPlatformPC",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorExportPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -79640,7 +79657,7 @@
 		{
 			"name": "EditorFeatureProfile",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"enums": [
@@ -79892,7 +79909,7 @@
 		{
 			"name": "EditorFileDialog",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ConfirmationDialog",
 			"api_type": "editor",
 			"enums": [
@@ -80506,7 +80523,7 @@
 		{
 			"name": "EditorFileSystemDirectory",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Object",
 			"api_type": "editor",
 			"methods": [
@@ -80734,7 +80751,7 @@
 		{
 			"name": "EditorFileSystemImportFormatSupportQuery",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -80773,7 +80790,7 @@
 		{
 			"name": "EditorImportPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor",
 			"methods": [
@@ -80994,7 +81011,7 @@
 		{
 			"name": "EditorInspector",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ScrollContainer",
 			"api_type": "editor",
 			"methods": [
@@ -81112,7 +81129,7 @@
 		{
 			"name": "EditorInspectorPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -82044,7 +82061,7 @@
 		{
 			"name": "EditorNode3DGizmo",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Node3DGizmo",
 			"api_type": "editor",
 			"methods": [
@@ -82510,7 +82527,7 @@
 		{
 			"name": "EditorNode3DGizmoPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Resource",
 			"api_type": "editor",
 			"methods": [
@@ -82988,7 +83005,7 @@
 		{
 			"name": "EditorPaths",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Object",
 			"api_type": "editor",
 			"methods": [
@@ -83063,7 +83080,7 @@
 		{
 			"name": "EditorPlugin",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Node",
 			"api_type": "editor",
 			"enums": [
@@ -84143,7 +84160,7 @@
 		{
 			"name": "EditorProperty",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Container",
 			"api_type": "editor",
 			"methods": [
@@ -84622,7 +84639,7 @@
 		{
 			"name": "EditorResourceConversionPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -84673,7 +84690,7 @@
 		{
 			"name": "EditorResourcePicker",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "HBoxContainer",
 			"api_type": "editor",
 			"methods": [
@@ -85001,7 +85018,7 @@
 		{
 			"name": "EditorResourcePreviewGenerator",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -85094,7 +85111,7 @@
 		{
 			"name": "EditorResourceTooltipPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -85161,7 +85178,7 @@
 		{
 			"name": "EditorSceneFormatImporter",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"constants": [
@@ -85283,28 +85300,28 @@
 		{
 			"name": "EditorSceneFormatImporterBlend",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorSceneFormatImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorSceneFormatImporterFBX",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorSceneFormatImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorSceneFormatImporterGLTF",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorSceneFormatImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "EditorScenePostImport",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -85340,7 +85357,7 @@
 		{
 			"name": "EditorScenePostImportPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"enums": [
@@ -85614,7 +85631,7 @@
 		{
 			"name": "EditorScript",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -85666,7 +85683,7 @@
 		{
 			"name": "EditorScriptPicker",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "EditorResourcePicker",
 			"api_type": "editor",
 			"methods": [
@@ -85708,7 +85725,7 @@
 		{
 			"name": "EditorSelection",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Object",
 			"api_type": "editor",
 			"methods": [
@@ -85780,7 +85797,7 @@
 		{
 			"name": "EditorSettings",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Resource",
 			"api_type": "editor",
 			"constants": [
@@ -86060,7 +86077,7 @@
 		{
 			"name": "EditorSpinSlider",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Range",
 			"api_type": "editor",
 			"methods": [
@@ -86240,7 +86257,7 @@
 		{
 			"name": "EditorSyntaxHighlighter",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "SyntaxHighlighter",
 			"api_type": "editor",
 			"methods": [
@@ -86269,7 +86286,7 @@
 		{
 			"name": "EditorTranslationParserPlugin",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "RefCounted",
 			"api_type": "editor",
 			"methods": [
@@ -86548,7 +86565,7 @@
 		{
 			"name": "EditorVCSInterface",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "Object",
 			"api_type": "editor",
 			"enums": [
@@ -95114,6 +95131,31 @@
 						"meta": "int32"
 					}
 				},
+				{
+					"name": "set_fixed_size_scale_mode",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 1660989956,
+					"arguments": [
+						{
+							"name": "fixed_size_scale_mode",
+							"type": "enum::TextServer.FixedSizeScaleMode"
+						}
+					]
+				},
+				{
+					"name": "get_fixed_size_scale_mode",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 753873478,
+					"return_value": {
+						"type": "enum::TextServer.FixedSizeScaleMode"
+					}
+				},
 				{
 					"name": "set_allow_system_fallback",
 					"is_const": false,
@@ -96764,6 +96806,12 @@
 					"setter": "set_fixed_size",
 					"getter": "get_fixed_size"
 				},
+				{
+					"type": "int",
+					"name": "fixed_size_scale_mode",
+					"setter": "set_fixed_size_scale_mode",
+					"getter": "get_fixed_size_scale_mode"
+				},
 				{
 					"type": "Dictionary",
 					"name": "opentype_feature_overrides",
@@ -124857,6 +124905,33 @@
 						"meta": "int32"
 					}
 				},
+				{
+					"name": "set_bounce_indirect_energy",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 373806689,
+					"arguments": [
+						{
+							"name": "bounce_indirect_energy",
+							"type": "float",
+							"meta": "float"
+						}
+					]
+				},
+				{
+					"name": "get_bounce_indirect_energy",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 1740695150,
+					"return_value": {
+						"type": "float",
+						"meta": "float"
+					}
+				},
 				{
 					"name": "set_generate_probes",
 					"is_const": false,
@@ -125140,6 +125215,31 @@
 						"type": "bool"
 					}
 				},
+				{
+					"name": "set_use_texture_for_bounces",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 2586408642,
+					"arguments": [
+						{
+							"name": "use_texture_for_bounces",
+							"type": "bool"
+						}
+					]
+				},
+				{
+					"name": "is_using_texture_for_bounces",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 36873697,
+					"return_value": {
+						"type": "bool"
+					}
+				},
 				{
 					"name": "set_camera_attributes",
 					"is_const": false,
@@ -125179,12 +125279,24 @@
 					"setter": "set_bounces",
 					"getter": "get_bounces"
 				},
+				{
+					"type": "float",
+					"name": "bounce_indirect_energy",
+					"setter": "set_bounce_indirect_energy",
+					"getter": "get_bounce_indirect_energy"
+				},
 				{
 					"type": "bool",
 					"name": "directional",
 					"setter": "set_directional",
 					"getter": "is_directional"
 				},
+				{
+					"type": "bool",
+					"name": "use_texture_for_bounces",
+					"setter": "set_use_texture_for_bounces",
+					"getter": "is_using_texture_for_bounces"
+				},
 				{
 					"type": "bool",
 					"name": "interior",
@@ -207363,49 +207475,49 @@
 		{
 			"name": "ResourceImporterBMFont",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterBitMap",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterCSVTranslation",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterDynamicFont",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterImage",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterImageFont",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterLayeredTexture",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
@@ -207419,7 +207531,7 @@
 		{
 			"name": "ResourceImporterOBJ",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
@@ -207469,35 +207581,35 @@
 		{
 			"name": "ResourceImporterScene",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterShaderFile",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterTexture",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterTextureAtlas",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
 		{
 			"name": "ResourceImporterWAV",
 			"is_refcounted": true,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ResourceImporter",
 			"api_type": "editor"
 		},
@@ -214804,7 +214916,7 @@
 		{
 			"name": "ScriptCreateDialog",
 			"is_refcounted": false,
-			"is_instantiable": false,
+			"is_instantiable": true,
 			"inherits": "ConfirmationDialog",
 			"api_type": "editor",
 			"methods": [
@@ -239409,6 +239521,24 @@
 							"value": 6
 						}
 					]
+				},
+				{
+					"name": "FixedSizeScaleMode",
+					"is_bitfield": false,
+					"values": [
+						{
+							"name": "FIXED_SIZE_SCALE_DISABLE",
+							"value": 0
+						},
+						{
+							"name": "FIXED_SIZE_SCALE_INTEGER_ONLY",
+							"value": 1
+						},
+						{
+							"name": "FIXED_SIZE_SCALE_ENABLED",
+							"value": 2
+						}
+					]
 				}
 			],
 			"methods": [
@@ -240105,6 +240235,41 @@
 						}
 					]
 				},
+				{
+					"name": "font_set_fixed_size_scale_mode",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 1029390307,
+					"arguments": [
+						{
+							"name": "font_rid",
+							"type": "RID"
+						},
+						{
+							"name": "fixed_size_scale_mode",
+							"type": "enum::TextServer.FixedSizeScaleMode"
+						}
+					]
+				},
+				{
+					"name": "font_get_fixed_size_scale_mode",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 4113120379,
+					"return_value": {
+						"type": "enum::TextServer.FixedSizeScaleMode"
+					},
+					"arguments": [
+						{
+							"name": "font_rid",
+							"type": "RID"
+						}
+					]
+				},
 				{
 					"name": "font_set_allow_system_fallback",
 					"is_const": false,
@@ -244404,6 +244569,39 @@
 						}
 					]
 				},
+				{
+					"name": "_font_set_fixed_size_scale_mode",
+					"is_const": false,
+					"is_static": false,
+					"is_vararg": false,
+					"is_virtual": true,
+					"arguments": [
+						{
+							"name": "font_rid",
+							"type": "RID"
+						},
+						{
+							"name": "fixed_size_scale_mode",
+							"type": "enum::TextServer.FixedSizeScaleMode"
+						}
+					]
+				},
+				{
+					"name": "_font_get_fixed_size_scale_mode",
+					"is_const": true,
+					"is_static": false,
+					"is_vararg": false,
+					"is_virtual": true,
+					"return_value": {
+						"type": "enum::TextServer.FixedSizeScaleMode"
+					},
+					"arguments": [
+						{
+							"name": "font_rid",
+							"type": "RID"
+						}
+					]
+				},
 				{
 					"name": "_font_set_allow_system_fallback",
 					"is_const": false,
@@ -252743,6 +252941,43 @@
 						}
 					]
 				},
+				{
+					"name": "set_layer_navigation_enabled",
+					"is_const": false,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 300928843,
+					"arguments": [
+						{
+							"name": "layer",
+							"type": "int",
+							"meta": "int32"
+						},
+						{
+							"name": "enabled",
+							"type": "bool"
+						}
+					]
+				},
+				{
+					"name": "is_layer_navigation_enabled",
+					"is_const": true,
+					"is_vararg": false,
+					"is_static": false,
+					"is_virtual": false,
+					"hash": 1116898809,
+					"return_value": {
+						"type": "bool"
+					},
+					"arguments": [
+						{
+							"name": "layer",
+							"type": "int",
+							"meta": "int32"
+						}
+					]
+				},
 				{
 					"name": "set_layer_navigation_map",
 					"is_const": false,
@@ -283413,6 +283648,10 @@
 			"name": "ThemeDB",
 			"type": "ThemeDB"
 		},
+		{
+			"name": "EditorInterface",
+			"type": "EditorInterface"
+		},
 		{
 			"name": "JavaClassWrapper",
 			"type": "JavaClassWrapper"

+ 4 - 1
gdextension/gdextension_interface.h

@@ -590,7 +590,10 @@ typedef GDExtensionInterfaceFunctionPtr (*GDExtensionInterfaceGetProcAddress)(co
  *
  * For example:
  *
- *   GDExtensionInterfaceGetGodotVersion *get_godot_version = (GDExtensionInterfaceGetGodotVersion)p_get_proc_address("get_godot_version");
+ *   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.)
  *
  * You can then call it like a normal function:
  *