summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/@GlobalScope.xml20
-rw-r--r--doc/classes/AABB.xml10
-rw-r--r--doc/classes/Area2D.xml16
-rw-r--r--doc/classes/Area3D.xml16
-rw-r--r--doc/classes/Array.xml10
-rw-r--r--doc/classes/AspectRatioContainer.xml2
-rw-r--r--doc/classes/AudioEffect.xml7
-rw-r--r--doc/classes/AudioEffectInstance.xml15
-rw-r--r--doc/classes/AudioStream.xml6
-rw-r--r--doc/classes/AudioStreamGenerator.xml2
-rw-r--r--doc/classes/AudioStreamGeneratorPlayback.xml4
-rw-r--r--doc/classes/AudioStreamPlaybackResampled.xml19
-rw-r--r--doc/classes/BaseButton.xml15
-rw-r--r--doc/classes/BaseMaterial3D.xml15
-rw-r--r--doc/classes/Basis.xml10
-rw-r--r--doc/classes/BoxShape3D.xml5
-rw-r--r--doc/classes/CPUParticles2D.xml11
-rw-r--r--doc/classes/CPUParticles3D.xml13
-rw-r--r--doc/classes/Callable.xml10
-rw-r--r--doc/classes/Camera2D.xml2
-rw-r--r--doc/classes/CanvasItem.xml7
-rw-r--r--doc/classes/CapsuleShape2D.xml5
-rw-r--r--doc/classes/CapsuleShape3D.xml5
-rw-r--r--doc/classes/CharacterBody2D.xml18
-rw-r--r--doc/classes/CharacterBody3D.xml18
-rw-r--r--doc/classes/CircleShape2D.xml5
-rw-r--r--doc/classes/CollisionPolygon2D.xml3
-rw-r--r--doc/classes/CollisionPolygon3D.xml5
-rw-r--r--doc/classes/Color.xml276
-rw-r--r--doc/classes/ColorPickerButton.xml2
-rw-r--r--doc/classes/CompressedCubemap.xml9
-rw-r--r--doc/classes/CompressedCubemapArray.xml9
-rw-r--r--doc/classes/CompressedTexture2D.xml (renamed from doc/classes/StreamTexture2D.xml)8
-rw-r--r--doc/classes/CompressedTexture2DArray.xml9
-rw-r--r--doc/classes/CompressedTexture3D.xml (renamed from doc/classes/StreamTexture3D.xml)2
-rw-r--r--doc/classes/CompressedTextureLayered.xml (renamed from doc/classes/StreamTextureLayered.xml)2
-rw-r--r--doc/classes/ConcavePolygonShape2D.xml7
-rw-r--r--doc/classes/ConcavePolygonShape3D.xml5
-rw-r--r--doc/classes/Control.xml85
-rw-r--r--doc/classes/ConvexPolygonShape2D.xml7
-rw-r--r--doc/classes/ConvexPolygonShape3D.xml6
-rw-r--r--doc/classes/Curve2D.xml2
-rw-r--r--doc/classes/Curve3D.xml2
-rw-r--r--doc/classes/CylinderShape3D.xml5
-rw-r--r--doc/classes/Dictionary.xml10
-rw-r--r--doc/classes/DirectionalLight3D.xml13
-rw-r--r--doc/classes/DisplayServer.xml31
-rw-r--r--doc/classes/EditorExportPlugin.xml1
-rw-r--r--doc/classes/EditorFileDialog.xml6
-rw-r--r--doc/classes/EditorSettings.xml20
-rw-r--r--doc/classes/EditorSpinSlider.xml1
-rw-r--r--doc/classes/EditorVCSInterface.xml2
-rw-r--r--doc/classes/FileDialog.xml6
-rw-r--r--doc/classes/FogVolume.xml1
-rw-r--r--doc/classes/Font.xml6
-rw-r--r--doc/classes/FontData.xml7
-rw-r--r--doc/classes/Geometry2D.xml2
-rw-r--r--doc/classes/GeometryInstance3D.xml24
-rw-r--r--doc/classes/GraphEdit.xml2
-rw-r--r--doc/classes/HeightMapShape3D.xml5
-rw-r--r--doc/classes/ImageTexture.xml2
-rw-r--r--doc/classes/ItemList.xml5
-rw-r--r--doc/classes/Light3D.xml22
-rw-r--r--doc/classes/Line2D.xml4
-rw-r--r--doc/classes/LinkButton.xml2
-rw-r--r--doc/classes/Material.xml22
-rw-r--r--doc/classes/Mesh.xml85
-rw-r--r--doc/classes/NativeExtension.xml4
-rw-r--r--doc/classes/NodePath.xml31
-rw-r--r--doc/classes/OptionButton.xml15
-rw-r--r--doc/classes/PackedByteArray.xml10
-rw-r--r--doc/classes/PackedColorArray.xml10
-rw-r--r--doc/classes/PackedFloat32Array.xml10
-rw-r--r--doc/classes/PackedFloat64Array.xml10
-rw-r--r--doc/classes/PackedInt32Array.xml10
-rw-r--r--doc/classes/PackedInt64Array.xml10
-rw-r--r--doc/classes/PackedScene.xml2
-rw-r--r--doc/classes/PackedStringArray.xml10
-rw-r--r--doc/classes/PackedVector2Array.xml10
-rw-r--r--doc/classes/PackedVector3Array.xml10
-rw-r--r--doc/classes/ParticlesMaterial.xml15
-rw-r--r--doc/classes/PhysicalBone3D.xml16
-rw-r--r--doc/classes/PhysicsDirectBodyState3DExtension.xml260
-rw-r--r--doc/classes/PhysicsDirectSpaceState3DExtension.xml99
-rw-r--r--doc/classes/PhysicsServer3DExtension.xml897
-rw-r--r--doc/classes/PhysicsServer3DRenderingServerHandler.xml31
-rw-r--r--doc/classes/Plane.xml10
-rw-r--r--doc/classes/Popup.xml6
-rw-r--r--doc/classes/PopupMenu.xml1
-rw-r--r--doc/classes/PrimitiveMesh.xml9
-rw-r--r--doc/classes/ProceduralSkyMaterial.xml6
-rw-r--r--doc/classes/ProgressBar.xml2
-rw-r--r--doc/classes/ProjectSettings.xml37
-rw-r--r--doc/classes/Quaternion.xml20
-rw-r--r--doc/classes/RID.xml10
-rw-r--r--doc/classes/Range.xml32
-rw-r--r--doc/classes/Rect2.xml10
-rw-r--r--doc/classes/Rect2i.xml11
-rw-r--r--doc/classes/RectangleShape2D.xml5
-rw-r--r--doc/classes/RenderingServer.xml55
-rw-r--r--doc/classes/Resource.xml5
-rw-r--r--doc/classes/ResourceFormatLoader.xml2
-rw-r--r--doc/classes/ResourceSaver.xml7
-rw-r--r--doc/classes/RichTextLabel.xml2
-rw-r--r--doc/classes/RigidDynamicBody2D.xml8
-rw-r--r--doc/classes/RigidDynamicBody3D.xml10
-rw-r--r--doc/classes/SceneTree.xml7
-rw-r--r--doc/classes/ScrollBar.xml2
-rw-r--r--doc/classes/ScrollContainer.xml4
-rw-r--r--doc/classes/SegmentShape2D.xml5
-rw-r--r--doc/classes/SeparationRayShape2D.xml5
-rw-r--r--doc/classes/SeparationRayShape3D.xml5
-rw-r--r--doc/classes/Signal.xml10
-rw-r--r--doc/classes/Slider.xml2
-rw-r--r--doc/classes/SphereShape3D.xml5
-rw-r--r--doc/classes/StreamCubemap.xml9
-rw-r--r--doc/classes/StreamCubemapArray.xml9
-rw-r--r--doc/classes/StreamTexture2DArray.xml9
-rw-r--r--doc/classes/String.xml75
-rw-r--r--doc/classes/StringName.xml16
-rw-r--r--doc/classes/StyleBox.xml39
-rw-r--r--doc/classes/SubViewport.xml1
-rw-r--r--doc/classes/SubViewportContainer.xml6
-rw-r--r--doc/classes/SurfaceTool.xml4
-rw-r--r--doc/classes/TabBar.xml29
-rw-r--r--doc/classes/TabContainer.xml67
-rw-r--r--doc/classes/TextServer.xml84
-rw-r--r--doc/classes/TextServerDummy.xml9
-rw-r--r--doc/classes/TextServerExtension.xml473
-rw-r--r--doc/classes/Texture2D.xml52
-rw-r--r--doc/classes/Texture3D.xml30
-rw-r--r--doc/classes/TextureLayered.xml36
-rw-r--r--doc/classes/TextureProgressBar.xml1
-rw-r--r--doc/classes/TileMap.xml10
-rw-r--r--doc/classes/Time.xml7
-rw-r--r--doc/classes/Timer.xml2
-rw-r--r--doc/classes/Transform2D.xml10
-rw-r--r--doc/classes/Transform3D.xml10
-rw-r--r--doc/classes/Tree.xml2
-rw-r--r--doc/classes/Variant.xml1
-rw-r--r--doc/classes/Vector2.xml10
-rw-r--r--doc/classes/Vector2i.xml10
-rw-r--r--doc/classes/Vector3.xml10
-rw-r--r--doc/classes/Vector3i.xml10
-rw-r--r--doc/classes/VideoStreamPlayer.xml4
-rw-r--r--doc/classes/Viewport.xml11
-rw-r--r--doc/classes/ViewportTexture.xml1
-rw-r--r--doc/classes/VisualInstance3D.xml7
-rw-r--r--doc/classes/VisualShader.xml38
-rw-r--r--doc/classes/VisualShaderNodeCustom.xml22
-rw-r--r--doc/classes/VisualShaderNodeVarying.xml15
-rw-r--r--doc/classes/VisualShaderNodeVaryingGetter.xml9
-rw-r--r--doc/classes/VisualShaderNodeVaryingSetter.xml9
-rw-r--r--doc/classes/Window.xml7
-rw-r--r--doc/classes/WorldBoundaryShape2D.xml5
-rw-r--r--doc/classes/WorldBoundaryShape3D.xml5
-rw-r--r--doc/classes/XRController3D.xml6
-rw-r--r--doc/classes/XRInterface.xml2
-rw-r--r--doc/classes/XRPositionalTracker.xml10
-rw-r--r--doc/classes/bool.xml11
-rw-r--r--doc/classes/float.xml10
-rw-r--r--doc/classes/int.xml10
162 files changed, 2850 insertions, 1105 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 17cb50d1a4..f692a49ba1 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -791,12 +791,6 @@
[/codeblock]
</description>
</method>
- <method name="range_step_decimals">
- <return type="int" />
- <argument index="0" name="x" type="float" />
- <description>
- </description>
- </method>
<method name="rid_allocate_id">
<return type="int" />
<description>
@@ -1284,6 +1278,9 @@
<constant name="INLINE_ALIGNMENT_TEXT_MASK" value="12" enum="InlineAlignment">
A bit mask for [code]INLINE_ALIGNMENT_TO_*[/code] alignment constants.
</constant>
+ <constant name="KEY_NONE" value="0" enum="Key">
+ Enum value which doesn't correspond to any key. This is used to initialize [enum Key] properties with a generic state.
+ </constant>
<constant name="KEY_SPECIAL" value="16777216" enum="Key">
Keycodes with this bit applied are non-printable.
</constant>
@@ -2040,6 +2037,9 @@
<constant name="KEY_MASK_GROUP_SWITCH" value="1073741824" enum="KeyModifierMask">
Group Switch key mask.
</constant>
+ <constant name="MOUSE_BUTTON_NONE" value="0" enum="MouseButton">
+ Enum value which doesn't correspond to any mouse button. This is used to initialize [enum MouseButton] properties with a generic state.
+ </constant>
<constant name="MOUSE_BUTTON_LEFT" value="1" enum="MouseButton">
Left mouse button.
</constant>
@@ -2184,6 +2184,9 @@
<constant name="JOY_AXIS_MAX" value="10" enum="JoyAxis">
The maximum number of game controller axes: OpenVR supports up to 5 Joysticks making a total of 10 axes.
</constant>
+ <constant name="MIDI_MESSAGE_NONE" value="0" enum="MIDIMessage">
+ Enum value which doesn't correspond to any MIDI message. This is used to initialize [enum MIDIMessage] properties with a generic state.
+ </constant>
<constant name="MIDI_MESSAGE_NOTE_OFF" value="8" enum="MIDIMessage">
MIDI note OFF message. See the documentation of [InputEventMIDI] for information of how to use MIDI inputs.
</constant>
@@ -2513,7 +2516,10 @@
<constant name="PROPERTY_HINT_LOCALE_ID" value="41" enum="PropertyHint">
Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.
</constant>
- <constant name="PROPERTY_HINT_MAX" value="42" enum="PropertyHint">
+ <constant name="PROPERTY_HINT_LOCALIZABLE_STRING" value="42" enum="PropertyHint">
+ Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings.
+ </constant>
+ <constant name="PROPERTY_HINT_MAX" value="43" enum="PropertyHint">
</constant>
<constant name="PROPERTY_USAGE_NONE" value="0" enum="PropertyUsageFlags">
</constant>
diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index 6e4a4a2145..db880efaf2 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -228,11 +228,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="AABB" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -248,11 +243,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="AABB" />
<description>
Returns [code]true[/code] if the AABBs are exactly equal.
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index ed3f873251..1eb74768f5 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -118,8 +118,8 @@
Emitted when one of another Area2D's [Shape2D]s enters one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code].
[code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D].
[code]area[/code] the other Area2D.
- [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area.shape_find_owner(area_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="area_shape_exited">
@@ -131,8 +131,8 @@
Emitted when one of another Area2D's [Shape2D]s exits one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code].
[code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D].
[code]area[/code] the other Area2D.
- [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area.shape_find_owner(area_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="body_entered">
@@ -158,8 +158,8 @@
Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s enters one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
[code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody2D] or [TileMap].
- [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="body_shape_exited">
@@ -171,8 +171,8 @@
Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s exits one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
[code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody2D] or [TileMap].
- [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
</signals>
diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml
index 3d893c1ae4..7d14fd825b 100644
--- a/doc/classes/Area3D.xml
+++ b/doc/classes/Area3D.xml
@@ -137,8 +137,8 @@
Emitted when one of another Area3D's [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code].
[code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
[code]area[/code] the other Area3D.
- [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area.shape_find_owner(area_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="area_shape_exited">
@@ -150,8 +150,8 @@
Emitted when one of another Area3D's [Shape3D]s exits one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code].
[code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
[code]area[/code] the other Area3D.
- [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area.shape_find_owner(area_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="body_entered">
@@ -177,8 +177,8 @@
Emitted when one of a [PhysicsBody3D] or [GridMap]'s [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
[code]body_rid[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody3D] or [GridMap].
- [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="body_shape_exited">
@@ -190,8 +190,8 @@
Emitted when one of a [PhysicsBody3D] or [GridMap]'s [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
[code]body_rid[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody3D] or [GridMap].
- [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
</signals>
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 6852fb5228..68cb615209 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -511,11 +511,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
</description>
@@ -540,11 +535,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
</description>
diff --git a/doc/classes/AspectRatioContainer.xml b/doc/classes/AspectRatioContainer.xml
index 41e06e6e98..742a7276d4 100644
--- a/doc/classes/AspectRatioContainer.xml
+++ b/doc/classes/AspectRatioContainer.xml
@@ -34,7 +34,7 @@
</constant>
<constant name="STRETCH_COVER" value="3" enum="StretchMode">
The width and height of child controls is automatically adjusted to make their bounding rectangle cover the entire area of the container while keeping the aspect ratio.
- When the bounding rectangle of child controls exceed the container's size and [member Control.rect_clip_content] is enabled, this allows to show only the container's area restricted by its own bounding rectangle.
+ When the bounding rectangle of child controls exceed the container's size and [member Control.clip_contents] is enabled, this allows to show only the container's area restricted by its own bounding rectangle.
</constant>
<constant name="ALIGNMENT_BEGIN" value="0" enum="AlignmentMode">
Aligns child controls with the beginning (left or top) of the container.
diff --git a/doc/classes/AudioEffect.xml b/doc/classes/AudioEffect.xml
index 424669eab9..5bfa5be0ca 100644
--- a/doc/classes/AudioEffect.xml
+++ b/doc/classes/AudioEffect.xml
@@ -9,4 +9,11 @@
<tutorials>
<link title="Audio Mic Record Demo">https://godotengine.org/asset-library/asset/527</link>
</tutorials>
+ <methods>
+ <method name="_instantiate" qualifiers="virtual">
+ <return type="AudioEffectInstance" />
+ <description>
+ </description>
+ </method>
+ </methods>
</class>
diff --git a/doc/classes/AudioEffectInstance.xml b/doc/classes/AudioEffectInstance.xml
index 369b4130d4..f50246d6ca 100644
--- a/doc/classes/AudioEffectInstance.xml
+++ b/doc/classes/AudioEffectInstance.xml
@@ -6,4 +6,19 @@
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="_process" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="src_buffer" type="const void*" />
+ <argument index="1" name="dst_buffer" type="AudioFrame*" />
+ <argument index="2" name="frame_count" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_process_silence" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ </methods>
</class>
diff --git a/doc/classes/AudioStream.xml b/doc/classes/AudioStream.xml
index 1e6f700c7c..6343da6eed 100644
--- a/doc/classes/AudioStream.xml
+++ b/doc/classes/AudioStream.xml
@@ -39,6 +39,12 @@
Returns the length of the audio stream in seconds.
</description>
</method>
+ <method name="instance_playback">
+ <return type="AudioStreamPlayback" />
+ <description>
+ Returns an AudioStreamPlayback. Useful for when you want to extend `_instance_playback` but call `instance_playback` from an internally held AudioStream subresource. An example of this can be found in the source files for `AudioStreamRandomPitch::instance_playback`.
+ </description>
+ </method>
<method name="is_monophonic" qualifiers="const">
<return type="bool" />
<description>
diff --git a/doc/classes/AudioStreamGenerator.xml b/doc/classes/AudioStreamGenerator.xml
index 78a1ed7c51..c8f081215d 100644
--- a/doc/classes/AudioStreamGenerator.xml
+++ b/doc/classes/AudioStreamGenerator.xml
@@ -6,7 +6,7 @@
<description>
This audio stream does not play back sounds, but expects a script to generate audio data for it instead. See also [AudioStreamGeneratorPlayback].
See also [AudioEffectSpectrumAnalyzer] for performing real-time audio spectrum analysis.
- [b]Note:[/b] Due to performance constraints, this class is best used from C# or from a compiled language via GDNative. If you still want to use this class from GDScript, consider using a lower [member mix_rate] such as 11,025 Hz or 22,050 Hz.
+ [b]Note:[/b] Due to performance constraints, this class is best used from C# or from a compiled language via GDExtension. If you still want to use this class from GDScript, consider using a lower [member mix_rate] such as 11,025 Hz or 22,050 Hz.
</description>
<tutorials>
<link title="Audio Generator Demo">https://godotengine.org/asset-library/asset/526</link>
diff --git a/doc/classes/AudioStreamGeneratorPlayback.xml b/doc/classes/AudioStreamGeneratorPlayback.xml
index 1cd82026a0..06c285bff7 100644
--- a/doc/classes/AudioStreamGeneratorPlayback.xml
+++ b/doc/classes/AudioStreamGeneratorPlayback.xml
@@ -39,14 +39,14 @@
<return type="bool" />
<argument index="0" name="frames" type="PackedVector2Array" />
<description>
- Pushes several audio data frames to the buffer. This is usually more efficient than [method push_frame] in C# and compiled languages via GDNative, but [method push_buffer] may be [i]less[/i] efficient in GDScript.
+ Pushes several audio data frames to the buffer. This is usually more efficient than [method push_frame] in C# and compiled languages via GDExtension, but [method push_buffer] may be [i]less[/i] efficient in GDScript.
</description>
</method>
<method name="push_frame">
<return type="bool" />
<argument index="0" name="frame" type="Vector2" />
<description>
- Pushes a single audio data frame to the buffer. This is usually less efficient than [method push_buffer] in C# and compiled languages via GDNative, but [method push_frame] may be [i]more[/i] efficient in GDScript.
+ Pushes a single audio data frame to the buffer. This is usually less efficient than [method push_buffer] in C# and compiled languages via GDExtension, but [method push_frame] may be [i]more[/i] efficient in GDScript.
</description>
</method>
</methods>
diff --git a/doc/classes/AudioStreamPlaybackResampled.xml b/doc/classes/AudioStreamPlaybackResampled.xml
index 228b8c19c0..eb41e4256e 100644
--- a/doc/classes/AudioStreamPlaybackResampled.xml
+++ b/doc/classes/AudioStreamPlaybackResampled.xml
@@ -6,4 +6,23 @@
</description>
<tutorials>
</tutorials>
+ <methods>
+ <method name="_get_stream_sampling_rate" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_mix_resampled" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="dst_buffer" type="AudioFrame*" />
+ <argument index="1" name="frame_count" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="begin_resample">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ </methods>
</class>
diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml
index 8e73a0dd91..13fe75a3e3 100644
--- a/doc/classes/BaseButton.xml
+++ b/doc/classes/BaseButton.xml
@@ -44,25 +44,24 @@
</method>
</methods>
<members>
- <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode" default="1">
+ <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode">
Determines when the button is considered clicked, one of the [enum ActionMode] constants.
</member>
<member name="button_group" type="ButtonGroup" setter="set_button_group" getter="get_button_group">
The [ButtonGroup] associated with the button. Not to be confused with node groups.
</member>
- <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" enum="MouseButton" default="1">
+ <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" enum="MouseButton">
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, use [code]MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT[/code].
</member>
- <member name="button_pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
+ <member name="button_pressed" type="bool" setter="set_pressed" getter="is_pressed">
If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active). Only works if [member toggle_mode] is [code]true[/code].
[b]Note:[/b] Setting [member button_pressed] will result in [signal toggled] to be emitted. If you want to change the pressed state without emitting that signal, use [method set_pressed_no_signal].
</member>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
If [code]true[/code], the button is in disabled state and can't be clicked or toggled.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
- <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside" default="false">
+ <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside">
If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
</member>
@@ -72,10 +71,10 @@
<member name="shortcut_context" type="Node" setter="set_shortcut_context" getter="get_shortcut_context">
The [Node] which must be a parent of the focused GUI [Control] for the shortcut to be activated. If [code]null[/code], the shortcut can be activated when any control is focused (a global shortcut). This allows shortcuts to be accepted only when the user has a certain area of the GUI focused.
</member>
- <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled" default="true">
+ <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled">
If [code]true[/code], the button will add information about its shortcut in the tooltip.
</member>
- <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" default="false">
+ <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode">
If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
</member>
</members>
diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml
index 9abdddfa5e..ae7b0afaa7 100644
--- a/doc/classes/BaseMaterial3D.xml
+++ b/doc/classes/BaseMaterial3D.xml
@@ -132,8 +132,8 @@
If [code]true[/code], clearcoat rendering is enabled. Adds a secondary transparent pass to the lighting calculation resulting in an added specular blob. This makes materials appear as if they have a clear layer on them that can be either glossy or rough.
[b]Note:[/b] Clearcoat rendering is not visible if the material's [member shading_mode] is [constant SHADING_MODE_UNSHADED].
</member>
- <member name="clearcoat_gloss" type="float" setter="set_clearcoat_gloss" getter="get_clearcoat_gloss" default="0.5">
- Sets the roughness of the clearcoat pass. A higher value results in a smoother clearcoat while a lower value results in a rougher clearcoat.
+ <member name="clearcoat_roughness" type="float" setter="set_clearcoat_roughness" getter="get_clearcoat_roughness" default="0.5">
+ Sets the roughness of the clearcoat pass. A higher value results in a rougher clearcoat while a lower value results in a smoother clearcoat.
</member>
<member name="clearcoat_texture" type="Texture2D" setter="set_texture" getter="get_texture">
Texture that defines the strength of the clearcoat effect and the glossiness of the clearcoat. Strength is specified in the red channel while glossiness is specified in the green channel.
@@ -319,6 +319,7 @@
</member>
<member name="specular_mode" type="int" setter="set_specular_mode" getter="get_specular_mode" enum="BaseMaterial3D.SpecularMode" default="0">
The method for rendering the specular blob. See [enum SpecularMode].
+ [b]Note:[/b] Only applies to the specular blob. Does not affect specular reflections from the Sky, SSR, or ReflectionProbes.
</member>
<member name="subsurf_scatter_enabled" type="bool" setter="set_feature" getter="get_feature" default="false">
If [code]true[/code], subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges.
@@ -664,16 +665,10 @@
<constant name="SPECULAR_SCHLICK_GGX" value="0" enum="SpecularMode">
Default specular blob.
</constant>
- <constant name="SPECULAR_BLINN" value="1" enum="SpecularMode">
- Older specular algorithm, included for compatibility.
- </constant>
- <constant name="SPECULAR_PHONG" value="2" enum="SpecularMode">
- Older specular algorithm, included for compatibility.
- </constant>
- <constant name="SPECULAR_TOON" value="3" enum="SpecularMode">
+ <constant name="SPECULAR_TOON" value="1" enum="SpecularMode">
Toon blob which changes size based on roughness.
</constant>
- <constant name="SPECULAR_DISABLED" value="4" enum="SpecularMode">
+ <constant name="SPECULAR_DISABLED" value="2" enum="SpecularMode">
No specular blob.
</constant>
<constant name="BILLBOARD_DISABLED" value="0" enum="BillboardMode">
diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml
index f31e962632..3b703884a5 100644
--- a/doc/classes/Basis.xml
+++ b/doc/classes/Basis.xml
@@ -225,11 +225,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Basis" />
<description>
Returns [code]true[/code] if the [Basis] matrices are not equal.
@@ -266,11 +261,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Basis" />
<description>
Returns [code]true[/code] if the [Basis] matrices are exactly equal.
diff --git a/doc/classes/BoxShape3D.xml b/doc/classes/BoxShape3D.xml
index 154af1221f..c198dd3405 100644
--- a/doc/classes/BoxShape3D.xml
+++ b/doc/classes/BoxShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BoxShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Box shape resource.
+ Box shape resource for 3D collisions.
</brief_description>
<description>
- 3D box shape that can be a child of a [PhysicsBody3D] or [Area3D].
+ 3D box shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node.
+ [b]Performance:[/b] Being a primitive collision shape, [BoxShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]).
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml
index 4a7ffe1536..dacdca1cee 100644
--- a/doc/classes/CPUParticles2D.xml
+++ b/doc/classes/CPUParticles2D.xml
@@ -313,18 +313,21 @@
All particles will be emitted from a single point.
</constant>
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
+ Particles will be emitted in the volume of a sphere flattened to two dimensions.
+ </constant>
+ <constant name="EMISSION_SHAPE_SPHERE_SURFACE" value="2" enum="EmissionShape">
Particles will be emitted on the surface of a sphere flattened to two dimensions.
</constant>
- <constant name="EMISSION_SHAPE_RECTANGLE" value="2" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_RECTANGLE" value="3" enum="EmissionShape">
Particles will be emitted in the area of a rectangle.
</constant>
- <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_POINTS" value="4" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="5" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_MAX" value="5" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_MAX" value="6" enum="EmissionShape">
Represents the size of the [enum EmissionShape] enum.
</constant>
</constants>
diff --git a/doc/classes/CPUParticles3D.xml b/doc/classes/CPUParticles3D.xml
index 7152f67f48..f2a0040ed4 100644
--- a/doc/classes/CPUParticles3D.xml
+++ b/doc/classes/CPUParticles3D.xml
@@ -370,19 +370,22 @@
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
Particles will be emitted in the volume of a sphere.
</constant>
- <constant name="EMISSION_SHAPE_BOX" value="2" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_SPHERE_SURFACE" value="2" enum="EmissionShape">
+ Particles will be emitted on the surface of a sphere.
+ </constant>
+ <constant name="EMISSION_SHAPE_BOX" value="3" enum="EmissionShape">
Particles will be emitted in the volume of a box.
</constant>
- <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_POINTS" value="4" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="5" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_RING" value="5" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_RING" value="6" enum="EmissionShape">
Particles will be emitted in a ring or cylinder.
</constant>
- <constant name="EMISSION_SHAPE_MAX" value="6" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_MAX" value="7" enum="EmissionShape">
Represents the size of the [enum EmissionShape] enum.
</constant>
</constants>
diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml
index 7c7e37d0a5..efe3e3d091 100644
--- a/doc/classes/Callable.xml
+++ b/doc/classes/Callable.xml
@@ -150,11 +150,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Callable" />
<description>
Returns [code]true[/code] if both [Callable]s invoke different targets.
@@ -162,11 +157,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Callable" />
<description>
Returns [code]true[/code] if both [Callable]s invoke the same custom target.
diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml
index 3350735ca2..b9373676e2 100644
--- a/doc/classes/Camera2D.xml
+++ b/doc/classes/Camera2D.xml
@@ -157,7 +157,7 @@
Speed in pixels per second of the camera's smoothing effect when [member smoothing_enabled] is [code]true[/code].
</member>
<member name="zoom" type="Vector2" setter="set_zoom" getter="get_zoom" default="Vector2(1, 1)">
- The camera's zoom relative to the viewport. Values larger than [code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an example, use [code]Vector2(0.5, 0.5)[/code] for a 2× zoom-in, and [code]Vector2(4, 4)[/code] for a 4× zoom-out.
+ The camera's zoom. A zoom of [code]Vector(2, 2)[/code] doubles the size seen in the viewport. A zoom of [code]Vector(0.5, 0.5)[/code] halves the size seen in the viewport.
</member>
</members>
<constants>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index 367eff938c..060d685ece 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -366,6 +366,13 @@
Returns the mouse's position in this [CanvasItem] using the local coordinate system of this [CanvasItem].
</description>
</method>
+ <method name="get_screen_transform" qualifiers="const">
+ <return type="Transform2D" />
+ <description>
+ Returns the transform of this [CanvasItem] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins.
+ Equals to [method get_global_transform] if the window is embedded (see [member Viewport.gui_embed_subwindows]).
+ </description>
+ </method>
<method name="get_transform" qualifiers="const">
<return type="Transform2D" />
<description>
diff --git a/doc/classes/CapsuleShape2D.xml b/doc/classes/CapsuleShape2D.xml
index ae8e1ca001..2236d8035f 100644
--- a/doc/classes/CapsuleShape2D.xml
+++ b/doc/classes/CapsuleShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Capsule shape for 2D collisions.
+ Capsule shape resource for 2D physics.
</brief_description>
<description>
- Capsule shape for 2D collisions.
+ 2D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. In 2D, a capsule is a rectangle shape with half-circles at both ends.
+ [b]Performance:[/b] Being a primitive collision shape, [CapsuleShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CapsuleShape3D.xml b/doc/classes/CapsuleShape3D.xml
index 5f15aaafad..cdcfab76ce 100644
--- a/doc/classes/CapsuleShape3D.xml
+++ b/doc/classes/CapsuleShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Capsule shape for collisions.
+ Capsule shape resource for 3D collisions.
</brief_description>
<description>
- Capsule shape for collisions.
+ 3D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. In 3D, a capsule is a cylinder shape with hemispheres at both ends.
+ [b]Performance:[/b] Being a primitive collision shape, [CapsuleShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). [CapsuleShape3D] is cheaper to check collisions against compared to [CylinderShape3D].
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/CharacterBody2D.xml b/doc/classes/CharacterBody2D.xml
index f90c477f6d..28060f6579 100644
--- a/doc/classes/CharacterBody2D.xml
+++ b/doc/classes/CharacterBody2D.xml
@@ -55,7 +55,7 @@
<method name="get_real_velocity" qualifiers="const">
<return type="Vector2" />
<description>
- Returns the current real velocity since the last call to [method move_and_slide]. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to [member motion_velocity] which returns the requested velocity.
+ Returns the current real velocity since the last call to [method move_and_slide]. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to [member velocity] which returns the requested velocity.
</description>
</method>
<method name="get_slide_collision">
@@ -131,8 +131,8 @@
<method name="move_and_slide">
<return type="bool" />
<description>
- Moves the body based on [member motion_velocity]. If the body collides with another, it will slide along the other body (by default only on floor) rather than stop immediately. If the other body is a [CharacterBody2D] or [RigidDynamicBody2D], it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
- Modifies [member motion_velocity] if a slide collision occurred. To get the latest collision call [method get_last_slide_collision], for detailed information about collisions that occurred, use [method get_slide_collision].
+ Moves the body based on [member velocity]. If the body collides with another, it will slide along the other body (by default only on floor) rather than stop immediately. If the other body is a [CharacterBody2D] or [RigidDynamicBody2D], it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
+ Modifies [member velocity] if a slide collision occurred. To get the latest collision call [method get_last_slide_collision], for detailed information about collisions that occurred, use [method get_slide_collision].
When the body touches a moving platform, the platform's velocity is automatically added to the body motion. If a collision occurs due to the platform's motion, it will always be first in the slide collisions.
The general behavior and available properties change according to the [member motion_mode].
Returns [code]true[/code] if the body collided, otherwise, returns [code]false[/code].
@@ -162,7 +162,7 @@
</member>
<member name="floor_stop_on_slope" type="bool" setter="set_floor_stop_on_slope_enabled" getter="is_floor_stop_on_slope_enabled" default="true">
If [code]true[/code], the body will not slide on slopes when calling [method move_and_slide] when the body is standing still.
- If [code]false[/code], the body will slide on floor's slopes when [member motion_velocity] applies a downward force.
+ If [code]false[/code], the body will slide on floor's slopes when [member velocity] applies a downward force.
</member>
<member name="max_slides" type="int" setter="set_max_slides" getter="get_max_slides" default="4">
Maximum number of times the body can change direction before it stops when calling [method move_and_slide].
@@ -170,9 +170,6 @@
<member name="motion_mode" type="int" setter="set_motion_mode" getter="get_motion_mode" enum="CharacterBody2D.MotionMode" default="0">
Sets the motion mode which defines the behavior of [method move_and_slide]. See [enum MotionMode] constants for available modes.
</member>
- <member name="motion_velocity" type="Vector2" setter="set_motion_velocity" getter="get_motion_velocity" default="Vector2(0, 0)">
- Current velocity vector in pixels per second, used and modified during calls to [method move_and_slide].
- </member>
<member name="moving_platform_apply_velocity_on_leave" type="int" setter="set_moving_platform_apply_velocity_on_leave" getter="get_moving_platform_apply_velocity_on_leave" enum="CharacterBody2D.MovingPlatformApplyVelocityOnLeave" default="0">
Sets the behavior to apply when you leave a moving platform. By default, to be physically accurate, when you leave the last platform velocity is applied. See [enum MovingPlatformApplyVelocityOnLeave] constants for available behavior.
</member>
@@ -188,6 +185,9 @@
<member name="up_direction" type="Vector2" setter="set_up_direction" getter="get_up_direction" default="Vector2(0, -1)">
Direction vector used to determine what is a wall and what is a floor (or a ceiling), rather than a wall, when calling [method move_and_slide]. Defaults to [code]Vector2.UP[/code]. If set to [code]Vector2(0, 0)[/code], everything is considered a wall. This is useful for topdown games.
</member>
+ <member name="velocity" type="Vector2" setter="set_velocity" getter="get_velocity" default="Vector2(0, 0)">
+ Current velocity vector in pixels per second, used and modified during calls to [method move_and_slide].
+ </member>
<member name="wall_min_slide_angle" type="float" setter="set_wall_min_slide_angle" getter="get_wall_min_slide_angle" default="0.261799">
Minimum angle (in radians) where the body is allowed to slide when it encounters a slope. The default value equals 15 degrees. This property only affects movement when [member motion_mode] is [constant MOTION_MODE_FLOATING].
</member>
@@ -200,10 +200,10 @@
Apply when there is no notion of floor or ceiling. All collisions will be reported as [code]on_wall[/code]. In this mode, when you slide, the speed will always be constant. This mode is suitable for top-down games.
</constant>
<constant name="PLATFORM_VEL_ON_LEAVE_ALWAYS" value="0" enum="MovingPlatformApplyVelocityOnLeave">
- Add the last platform velocity to the [member motion_velocity] when you leave a moving platform.
+ Add the last platform velocity to the [member velocity] when you leave a moving platform.
</constant>
<constant name="PLATFORM_VEL_ON_LEAVE_UPWARD_ONLY" value="1" enum="MovingPlatformApplyVelocityOnLeave">
- Add the last platform velocity to the [member motion_velocity] when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
+ Add the last platform velocity to the [member velocity] when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
</constant>
<constant name="PLATFORM_VEL_ON_LEAVE_NEVER" value="2" enum="MovingPlatformApplyVelocityOnLeave">
Do nothing when leaving a platform.
diff --git a/doc/classes/CharacterBody3D.xml b/doc/classes/CharacterBody3D.xml
index f1c717b74a..4895e2cff7 100644
--- a/doc/classes/CharacterBody3D.xml
+++ b/doc/classes/CharacterBody3D.xml
@@ -56,7 +56,7 @@
<method name="get_real_velocity" qualifiers="const">
<return type="Vector3" />
<description>
- Returns the current real velocity since the last call to [method move_and_slide]. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to [member motion_velocity] which returns the requested velocity.
+ Returns the current real velocity since the last call to [method move_and_slide]. For example, when you climb a slope, you will move diagonally even though the velocity is horizontal. This method returns the diagonal movement, as opposed to [member velocity] which returns the requested velocity.
</description>
</method>
<method name="get_slide_collision">
@@ -117,8 +117,8 @@
<method name="move_and_slide">
<return type="bool" />
<description>
- Moves the body based on [member motion_velocity]. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [CharacterBody3D] or [RigidDynamicBody3D], it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
- Modifies [member motion_velocity] if a slide collision occurred. To get the latest collision call [method get_last_slide_collision], for more detailed information about collisions that occurred, use [method get_slide_collision].
+ Moves the body based on [member velocity]. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [CharacterBody3D] or [RigidDynamicBody3D], it will also be affected by the motion of the other body. You can use this to make moving and rotating platforms, or to make nodes push other nodes.
+ Modifies [member velocity] if a slide collision occurred. To get the latest collision call [method get_last_slide_collision], for more detailed information about collisions that occurred, use [method get_slide_collision].
When the body touches a moving platform, the platform's velocity is automatically added to the body motion. If a collision occurs due to the platform's motion, it will always be first in the slide collisions.
Returns [code]true[/code] if the body collided, otherwise, returns [code]false[/code].
</description>
@@ -147,7 +147,7 @@
</member>
<member name="floor_stop_on_slope" type="bool" setter="set_floor_stop_on_slope_enabled" getter="is_floor_stop_on_slope_enabled" default="true">
If [code]true[/code], the body will not slide on slopes when calling [method move_and_slide] when the body is standing still.
- If [code]false[/code], the body will slide on floor's slopes when [member motion_velocity] applies a downward force.
+ If [code]false[/code], the body will slide on floor's slopes when [member velocity] applies a downward force.
</member>
<member name="max_slides" type="int" setter="set_max_slides" getter="get_max_slides" default="6">
Maximum number of times the body can change direction before it stops when calling [method move_and_slide].
@@ -155,9 +155,6 @@
<member name="motion_mode" type="int" setter="set_motion_mode" getter="get_motion_mode" enum="CharacterBody3D.MotionMode" default="0">
Sets the motion mode which defines the behavior of [method move_and_slide]. See [enum MotionMode] constants for available modes.
</member>
- <member name="motion_velocity" type="Vector3" setter="set_motion_velocity" getter="get_motion_velocity" default="Vector3(0, 0, 0)">
- Current velocity vector (typically meters per second), used and modified during calls to [method move_and_slide].
- </member>
<member name="moving_platform_apply_velocity_on_leave" type="int" setter="set_moving_platform_apply_velocity_on_leave" getter="get_moving_platform_apply_velocity_on_leave" enum="CharacterBody3D.MovingPlatformApplyVelocityOnLeave" default="0">
Sets the behavior to apply when you leave a moving platform. By default, to be physically accurate, when you leave the last platform velocity is applied. See [enum MovingPlatformApplyVelocityOnLeave] constants for available behavior.
</member>
@@ -173,6 +170,9 @@
<member name="up_direction" type="Vector3" setter="set_up_direction" getter="get_up_direction" default="Vector3(0, 1, 0)">
Direction vector used to determine what is a wall and what is a floor (or a ceiling), rather than a wall, when calling [method move_and_slide]. Defaults to [code]Vector3.UP[/code]. If set to [code]Vector3(0, 0, 0)[/code], everything is considered a wall. This is useful for topdown games.
</member>
+ <member name="velocity" type="Vector3" setter="set_velocity" getter="get_velocity" default="Vector3(0, 0, 0)">
+ Current velocity vector (typically meters per second), used and modified during calls to [method move_and_slide].
+ </member>
<member name="wall_min_slide_angle" type="float" setter="set_wall_min_slide_angle" getter="get_wall_min_slide_angle" default="0.261799">
Minimum angle (in radians) where the body is allowed to slide when it encounters a slope. The default value equals 15 degrees. When [member motion_mode] is [constant MOTION_MODE_GROUNDED], it only affects movement if [member floor_block_on_wall] is [code]true[/code].
</member>
@@ -185,10 +185,10 @@
Apply when there is no notion of floor or ceiling. All collisions will be reported as [code]on_wall[/code]. In this mode, when you slide, the speed will always be constant. This mode is suitable for games without ground like space games.
</constant>
<constant name="PLATFORM_VEL_ON_LEAVE_ALWAYS" value="0" enum="MovingPlatformApplyVelocityOnLeave">
- Add the last platform velocity to the [member motion_velocity] when you leave a moving platform.
+ Add the last platform velocity to the [member velocity] when you leave a moving platform.
</constant>
<constant name="PLATFORM_VEL_ON_LEAVE_UPWARD_ONLY" value="1" enum="MovingPlatformApplyVelocityOnLeave">
- Add the last platform velocity to the [member motion_velocity] when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
+ Add the last platform velocity to the [member velocity] when you leave a moving platform, but any downward motion is ignored. It's useful to keep full jump height even when the platform is moving down.
</constant>
<constant name="PLATFORM_VEL_ON_LEAVE_NEVER" value="2" enum="MovingPlatformApplyVelocityOnLeave">
Do nothing when leaving a platform.
diff --git a/doc/classes/CircleShape2D.xml b/doc/classes/CircleShape2D.xml
index b0336086dc..6f4989daa3 100644
--- a/doc/classes/CircleShape2D.xml
+++ b/doc/classes/CircleShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CircleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Circular shape for 2D collisions.
+ Circular shape resource for 2D physics.
</brief_description>
<description>
- Circular shape for 2D collisions. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast.
+ 2D circular shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast.
+ [b]Performance:[/b] Being a primitive collision shape, [CircleShape2D] is the fastest collision shape to check collisions against, as it only requires a distance check with the shape's origin.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml
index 48fd7c19dc..a9d8a85226 100644
--- a/doc/classes/CollisionPolygon2D.xml
+++ b/doc/classes/CollisionPolygon2D.xml
@@ -4,7 +4,8 @@
Defines a 2D collision polygon.
</brief_description>
<description>
- Provides a 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specified by a list of vertices.
+ Provides a concave or convex 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specified by a list of vertices. See also [ConvexPolygonShape2D].
+ In the editor, a [CollisionPolygon2D] can be generated from a [Sprite2D]'s outline by selecting a [Sprite2D] node, going to the [b]Sprite2D[/b] menu at the top of the 2D editor viewport then choosing [b]Create CollisionPolygon2D Sibling[/b].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CollisionPolygon3D.xml b/doc/classes/CollisionPolygon3D.xml
index c8c3752254..7d718cff27 100644
--- a/doc/classes/CollisionPolygon3D.xml
+++ b/doc/classes/CollisionPolygon3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CollisionPolygon3D" inherits="Node3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Editor-only class for defining a collision polygon in 3D space.
+ Editor-only node for defining a collision polygon in 3D space.
</brief_description>
<description>
- Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates a [Shape3D] for gameplay. Properties modified during gameplay will have no effect.
+ Allows editing a concave or convex collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates several [ConvexPolygonShape3D]s at run-time to represent the original polygon using convex decomposition.
+ [b]Note:[/b] Since this is an editor-only helper, properties modified during gameplay will have no effect.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index bc0baf42c9..e30d448a27 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -473,343 +473,343 @@
</member>
</members>
<constants>
- <constant name="ALICE_BLUE" value="Color(0.94, 0.97, 1, 1)">
+ <constant name="ALICE_BLUE" value="Color(0.941176, 0.972549, 1, 1)">
Alice blue color.
</constant>
- <constant name="ANTIQUE_WHITE" value="Color(0.98, 0.92, 0.84, 1)">
+ <constant name="ANTIQUE_WHITE" value="Color(0.980392, 0.921569, 0.843137, 1)">
Antique white color.
</constant>
<constant name="AQUA" value="Color(0, 1, 1, 1)">
Aqua color.
</constant>
- <constant name="AQUAMARINE" value="Color(0.5, 1, 0.83, 1)">
+ <constant name="AQUAMARINE" value="Color(0.498039, 1, 0.831373, 1)">
Aquamarine color.
</constant>
- <constant name="AZURE" value="Color(0.94, 1, 1, 1)">
+ <constant name="AZURE" value="Color(0.941176, 1, 1, 1)">
Azure color.
</constant>
- <constant name="BEIGE" value="Color(0.96, 0.96, 0.86, 1)">
+ <constant name="BEIGE" value="Color(0.960784, 0.960784, 0.862745, 1)">
Beige color.
</constant>
- <constant name="BISQUE" value="Color(1, 0.89, 0.77, 1)">
+ <constant name="BISQUE" value="Color(1, 0.894118, 0.768627, 1)">
Bisque color.
</constant>
<constant name="BLACK" value="Color(0, 0, 0, 1)">
Black color.
</constant>
- <constant name="BLANCHED_ALMOND" value="Color(1, 0.92, 0.8, 1)">
+ <constant name="BLANCHED_ALMOND" value="Color(1, 0.921569, 0.803922, 1)">
Blanched almond color.
</constant>
<constant name="BLUE" value="Color(0, 0, 1, 1)">
Blue color.
</constant>
- <constant name="BLUE_VIOLET" value="Color(0.54, 0.17, 0.89, 1)">
+ <constant name="BLUE_VIOLET" value="Color(0.541176, 0.168627, 0.886275, 1)">
Blue violet color.
</constant>
- <constant name="BROWN" value="Color(0.65, 0.16, 0.16, 1)">
+ <constant name="BROWN" value="Color(0.647059, 0.164706, 0.164706, 1)">
Brown color.
</constant>
- <constant name="BURLYWOOD" value="Color(0.87, 0.72, 0.53, 1)">
+ <constant name="BURLYWOOD" value="Color(0.870588, 0.721569, 0.529412, 1)">
Burlywood color.
</constant>
- <constant name="CADET_BLUE" value="Color(0.37, 0.62, 0.63, 1)">
+ <constant name="CADET_BLUE" value="Color(0.372549, 0.619608, 0.627451, 1)">
Cadet blue color.
</constant>
- <constant name="CHARTREUSE" value="Color(0.5, 1, 0, 1)">
+ <constant name="CHARTREUSE" value="Color(0.498039, 1, 0, 1)">
Chartreuse color.
</constant>
- <constant name="CHOCOLATE" value="Color(0.82, 0.41, 0.12, 1)">
+ <constant name="CHOCOLATE" value="Color(0.823529, 0.411765, 0.117647, 1)">
Chocolate color.
</constant>
- <constant name="CORAL" value="Color(1, 0.5, 0.31, 1)">
+ <constant name="CORAL" value="Color(1, 0.498039, 0.313726, 1)">
Coral color.
</constant>
- <constant name="CORNFLOWER_BLUE" value="Color(0.39, 0.58, 0.93, 1)">
+ <constant name="CORNFLOWER_BLUE" value="Color(0.392157, 0.584314, 0.929412, 1)">
Cornflower blue color.
</constant>
- <constant name="CORNSILK" value="Color(1, 0.97, 0.86, 1)">
+ <constant name="CORNSILK" value="Color(1, 0.972549, 0.862745, 1)">
Cornsilk color.
</constant>
- <constant name="CRIMSON" value="Color(0.86, 0.08, 0.24, 1)">
+ <constant name="CRIMSON" value="Color(0.862745, 0.0784314, 0.235294, 1)">
Crimson color.
</constant>
<constant name="CYAN" value="Color(0, 1, 1, 1)">
Cyan color.
</constant>
- <constant name="DARK_BLUE" value="Color(0, 0, 0.55, 1)">
+ <constant name="DARK_BLUE" value="Color(0, 0, 0.545098, 1)">
Dark blue color.
</constant>
- <constant name="DARK_CYAN" value="Color(0, 0.55, 0.55, 1)">
+ <constant name="DARK_CYAN" value="Color(0, 0.545098, 0.545098, 1)">
Dark cyan color.
</constant>
- <constant name="DARK_GOLDENROD" value="Color(0.72, 0.53, 0.04, 1)">
+ <constant name="DARK_GOLDENROD" value="Color(0.721569, 0.52549, 0.0431373, 1)">
Dark goldenrod color.
</constant>
- <constant name="DARK_GRAY" value="Color(0.66, 0.66, 0.66, 1)">
+ <constant name="DARK_GRAY" value="Color(0.662745, 0.662745, 0.662745, 1)">
Dark gray color.
</constant>
- <constant name="DARK_GREEN" value="Color(0, 0.39, 0, 1)">
+ <constant name="DARK_GREEN" value="Color(0, 0.392157, 0, 1)">
Dark green color.
</constant>
- <constant name="DARK_KHAKI" value="Color(0.74, 0.72, 0.42, 1)">
+ <constant name="DARK_KHAKI" value="Color(0.741176, 0.717647, 0.419608, 1)">
Dark khaki color.
</constant>
- <constant name="DARK_MAGENTA" value="Color(0.55, 0, 0.55, 1)">
+ <constant name="DARK_MAGENTA" value="Color(0.545098, 0, 0.545098, 1)">
Dark magenta color.
</constant>
- <constant name="DARK_OLIVE_GREEN" value="Color(0.33, 0.42, 0.18, 1)">
+ <constant name="DARK_OLIVE_GREEN" value="Color(0.333333, 0.419608, 0.184314, 1)">
Dark olive green color.
</constant>
- <constant name="DARK_ORANGE" value="Color(1, 0.55, 0, 1)">
+ <constant name="DARK_ORANGE" value="Color(1, 0.54902, 0, 1)">
Dark orange color.
</constant>
- <constant name="DARK_ORCHID" value="Color(0.6, 0.2, 0.8, 1)">
+ <constant name="DARK_ORCHID" value="Color(0.6, 0.196078, 0.8, 1)">
Dark orchid color.
</constant>
- <constant name="DARK_RED" value="Color(0.55, 0, 0, 1)">
+ <constant name="DARK_RED" value="Color(0.545098, 0, 0, 1)">
Dark red color.
</constant>
- <constant name="DARK_SALMON" value="Color(0.91, 0.59, 0.48, 1)">
+ <constant name="DARK_SALMON" value="Color(0.913725, 0.588235, 0.478431, 1)">
Dark salmon color.
</constant>
- <constant name="DARK_SEA_GREEN" value="Color(0.56, 0.74, 0.56, 1)">
+ <constant name="DARK_SEA_GREEN" value="Color(0.560784, 0.737255, 0.560784, 1)">
Dark sea green color.
</constant>
- <constant name="DARK_SLATE_BLUE" value="Color(0.28, 0.24, 0.55, 1)">
+ <constant name="DARK_SLATE_BLUE" value="Color(0.282353, 0.239216, 0.545098, 1)">
Dark slate blue color.
</constant>
- <constant name="DARK_SLATE_GRAY" value="Color(0.18, 0.31, 0.31, 1)">
+ <constant name="DARK_SLATE_GRAY" value="Color(0.184314, 0.309804, 0.309804, 1)">
Dark slate gray color.
</constant>
- <constant name="DARK_TURQUOISE" value="Color(0, 0.81, 0.82, 1)">
+ <constant name="DARK_TURQUOISE" value="Color(0, 0.807843, 0.819608, 1)">
Dark turquoise color.
</constant>
- <constant name="DARK_VIOLET" value="Color(0.58, 0, 0.83, 1)">
+ <constant name="DARK_VIOLET" value="Color(0.580392, 0, 0.827451, 1)">
Dark violet color.
</constant>
- <constant name="DEEP_PINK" value="Color(1, 0.08, 0.58, 1)">
+ <constant name="DEEP_PINK" value="Color(1, 0.0784314, 0.576471, 1)">
Deep pink color.
</constant>
- <constant name="DEEP_SKY_BLUE" value="Color(0, 0.75, 1, 1)">
+ <constant name="DEEP_SKY_BLUE" value="Color(0, 0.74902, 1, 1)">
Deep sky blue color.
</constant>
- <constant name="DIM_GRAY" value="Color(0.41, 0.41, 0.41, 1)">
+ <constant name="DIM_GRAY" value="Color(0.411765, 0.411765, 0.411765, 1)">
Dim gray color.
</constant>
- <constant name="DODGER_BLUE" value="Color(0.12, 0.56, 1, 1)">
+ <constant name="DODGER_BLUE" value="Color(0.117647, 0.564706, 1, 1)">
Dodger blue color.
</constant>
- <constant name="FIREBRICK" value="Color(0.7, 0.13, 0.13, 1)">
+ <constant name="FIREBRICK" value="Color(0.698039, 0.133333, 0.133333, 1)">
Firebrick color.
</constant>
- <constant name="FLORAL_WHITE" value="Color(1, 0.98, 0.94, 1)">
+ <constant name="FLORAL_WHITE" value="Color(1, 0.980392, 0.941176, 1)">
Floral white color.
</constant>
- <constant name="FOREST_GREEN" value="Color(0.13, 0.55, 0.13, 1)">
+ <constant name="FOREST_GREEN" value="Color(0.133333, 0.545098, 0.133333, 1)">
Forest green color.
</constant>
<constant name="FUCHSIA" value="Color(1, 0, 1, 1)">
Fuchsia color.
</constant>
- <constant name="GAINSBORO" value="Color(0.86, 0.86, 0.86, 1)">
+ <constant name="GAINSBORO" value="Color(0.862745, 0.862745, 0.862745, 1)">
Gainsboro color.
</constant>
- <constant name="GHOST_WHITE" value="Color(0.97, 0.97, 1, 1)">
+ <constant name="GHOST_WHITE" value="Color(0.972549, 0.972549, 1, 1)">
Ghost white color.
</constant>
- <constant name="GOLD" value="Color(1, 0.84, 0, 1)">
+ <constant name="GOLD" value="Color(1, 0.843137, 0, 1)">
Gold color.
</constant>
- <constant name="GOLDENROD" value="Color(0.85, 0.65, 0.13, 1)">
+ <constant name="GOLDENROD" value="Color(0.854902, 0.647059, 0.12549, 1)">
Goldenrod color.
</constant>
- <constant name="GRAY" value="Color(0.75, 0.75, 0.75, 1)">
+ <constant name="GRAY" value="Color(0.745098, 0.745098, 0.745098, 1)">
Gray color.
</constant>
<constant name="GREEN" value="Color(0, 1, 0, 1)">
Green color.
</constant>
- <constant name="GREEN_YELLOW" value="Color(0.68, 1, 0.18, 1)">
+ <constant name="GREEN_YELLOW" value="Color(0.678431, 1, 0.184314, 1)">
Green yellow color.
</constant>
- <constant name="HONEYDEW" value="Color(0.94, 1, 0.94, 1)">
+ <constant name="HONEYDEW" value="Color(0.941176, 1, 0.941176, 1)">
Honeydew color.
</constant>
- <constant name="HOT_PINK" value="Color(1, 0.41, 0.71, 1)">
+ <constant name="HOT_PINK" value="Color(1, 0.411765, 0.705882, 1)">
Hot pink color.
</constant>
- <constant name="INDIAN_RED" value="Color(0.8, 0.36, 0.36, 1)">
+ <constant name="INDIAN_RED" value="Color(0.803922, 0.360784, 0.360784, 1)">
Indian red color.
</constant>
- <constant name="INDIGO" value="Color(0.29, 0, 0.51, 1)">
+ <constant name="INDIGO" value="Color(0.294118, 0, 0.509804, 1)">
Indigo color.
</constant>
- <constant name="IVORY" value="Color(1, 1, 0.94, 1)">
+ <constant name="IVORY" value="Color(1, 1, 0.941176, 1)">
Ivory color.
</constant>
- <constant name="KHAKI" value="Color(0.94, 0.9, 0.55, 1)">
+ <constant name="KHAKI" value="Color(0.941176, 0.901961, 0.54902, 1)">
Khaki color.
</constant>
- <constant name="LAVENDER" value="Color(0.9, 0.9, 0.98, 1)">
+ <constant name="LAVENDER" value="Color(0.901961, 0.901961, 0.980392, 1)">
Lavender color.
</constant>
- <constant name="LAVENDER_BLUSH" value="Color(1, 0.94, 0.96, 1)">
+ <constant name="LAVENDER_BLUSH" value="Color(1, 0.941176, 0.960784, 1)">
Lavender blush color.
</constant>
- <constant name="LAWN_GREEN" value="Color(0.49, 0.99, 0, 1)">
+ <constant name="LAWN_GREEN" value="Color(0.486275, 0.988235, 0, 1)">
Lawn green color.
</constant>
- <constant name="LEMON_CHIFFON" value="Color(1, 0.98, 0.8, 1)">
+ <constant name="LEMON_CHIFFON" value="Color(1, 0.980392, 0.803922, 1)">
Lemon chiffon color.
</constant>
- <constant name="LIGHT_BLUE" value="Color(0.68, 0.85, 0.9, 1)">
+ <constant name="LIGHT_BLUE" value="Color(0.678431, 0.847059, 0.901961, 1)">
Light blue color.
</constant>
- <constant name="LIGHT_CORAL" value="Color(0.94, 0.5, 0.5, 1)">
+ <constant name="LIGHT_CORAL" value="Color(0.941176, 0.501961, 0.501961, 1)">
Light coral color.
</constant>
- <constant name="LIGHT_CYAN" value="Color(0.88, 1, 1, 1)">
+ <constant name="LIGHT_CYAN" value="Color(0.878431, 1, 1, 1)">
Light cyan color.
</constant>
- <constant name="LIGHT_GOLDENROD" value="Color(0.98, 0.98, 0.82, 1)">
+ <constant name="LIGHT_GOLDENROD" value="Color(0.980392, 0.980392, 0.823529, 1)">
Light goldenrod color.
</constant>
- <constant name="LIGHT_GRAY" value="Color(0.83, 0.83, 0.83, 1)">
+ <constant name="LIGHT_GRAY" value="Color(0.827451, 0.827451, 0.827451, 1)">
Light gray color.
</constant>
- <constant name="LIGHT_GREEN" value="Color(0.56, 0.93, 0.56, 1)">
+ <constant name="LIGHT_GREEN" value="Color(0.564706, 0.933333, 0.564706, 1)">
Light green color.
</constant>
- <constant name="LIGHT_PINK" value="Color(1, 0.71, 0.76, 1)">
+ <constant name="LIGHT_PINK" value="Color(1, 0.713726, 0.756863, 1)">
Light pink color.
</constant>
- <constant name="LIGHT_SALMON" value="Color(1, 0.63, 0.48, 1)">
+ <constant name="LIGHT_SALMON" value="Color(1, 0.627451, 0.478431, 1)">
Light salmon color.
</constant>
- <constant name="LIGHT_SEA_GREEN" value="Color(0.13, 0.7, 0.67, 1)">
+ <constant name="LIGHT_SEA_GREEN" value="Color(0.12549, 0.698039, 0.666667, 1)">
Light sea green color.
</constant>
- <constant name="LIGHT_SKY_BLUE" value="Color(0.53, 0.81, 0.98, 1)">
+ <constant name="LIGHT_SKY_BLUE" value="Color(0.529412, 0.807843, 0.980392, 1)">
Light sky blue color.
</constant>
- <constant name="LIGHT_SLATE_GRAY" value="Color(0.47, 0.53, 0.6, 1)">
+ <constant name="LIGHT_SLATE_GRAY" value="Color(0.466667, 0.533333, 0.6, 1)">
Light slate gray color.
</constant>
- <constant name="LIGHT_STEEL_BLUE" value="Color(0.69, 0.77, 0.87, 1)">
+ <constant name="LIGHT_STEEL_BLUE" value="Color(0.690196, 0.768627, 0.870588, 1)">
Light steel blue color.
</constant>
- <constant name="LIGHT_YELLOW" value="Color(1, 1, 0.88, 1)">
+ <constant name="LIGHT_YELLOW" value="Color(1, 1, 0.878431, 1)">
Light yellow color.
</constant>
<constant name="LIME" value="Color(0, 1, 0, 1)">
Lime color.
</constant>
- <constant name="LIME_GREEN" value="Color(0.2, 0.8, 0.2, 1)">
+ <constant name="LIME_GREEN" value="Color(0.196078, 0.803922, 0.196078, 1)">
Lime green color.
</constant>
- <constant name="LINEN" value="Color(0.98, 0.94, 0.9, 1)">
+ <constant name="LINEN" value="Color(0.980392, 0.941176, 0.901961, 1)">
Linen color.
</constant>
<constant name="MAGENTA" value="Color(1, 0, 1, 1)">
Magenta color.
</constant>
- <constant name="MAROON" value="Color(0.69, 0.19, 0.38, 1)">
+ <constant name="MAROON" value="Color(0.690196, 0.188235, 0.376471, 1)">
Maroon color.
</constant>
- <constant name="MEDIUM_AQUAMARINE" value="Color(0.4, 0.8, 0.67, 1)">
+ <constant name="MEDIUM_AQUAMARINE" value="Color(0.4, 0.803922, 0.666667, 1)">
Medium aquamarine color.
</constant>
- <constant name="MEDIUM_BLUE" value="Color(0, 0, 0.8, 1)">
+ <constant name="MEDIUM_BLUE" value="Color(0, 0, 0.803922, 1)">
Medium blue color.
</constant>
- <constant name="MEDIUM_ORCHID" value="Color(0.73, 0.33, 0.83, 1)">
+ <constant name="MEDIUM_ORCHID" value="Color(0.729412, 0.333333, 0.827451, 1)">
Medium orchid color.
</constant>
- <constant name="MEDIUM_PURPLE" value="Color(0.58, 0.44, 0.86, 1)">
+ <constant name="MEDIUM_PURPLE" value="Color(0.576471, 0.439216, 0.858824, 1)">
Medium purple color.
</constant>
- <constant name="MEDIUM_SEA_GREEN" value="Color(0.24, 0.7, 0.44, 1)">
+ <constant name="MEDIUM_SEA_GREEN" value="Color(0.235294, 0.701961, 0.443137, 1)">
Medium sea green color.
</constant>
- <constant name="MEDIUM_SLATE_BLUE" value="Color(0.48, 0.41, 0.93, 1)">
+ <constant name="MEDIUM_SLATE_BLUE" value="Color(0.482353, 0.407843, 0.933333, 1)">
Medium slate blue color.
</constant>
- <constant name="MEDIUM_SPRING_GREEN" value="Color(0, 0.98, 0.6, 1)">
+ <constant name="MEDIUM_SPRING_GREEN" value="Color(0, 0.980392, 0.603922, 1)">
Medium spring green color.
</constant>
- <constant name="MEDIUM_TURQUOISE" value="Color(0.28, 0.82, 0.8, 1)">
+ <constant name="MEDIUM_TURQUOISE" value="Color(0.282353, 0.819608, 0.8, 1)">
Medium turquoise color.
</constant>
- <constant name="MEDIUM_VIOLET_RED" value="Color(0.78, 0.08, 0.52, 1)">
+ <constant name="MEDIUM_VIOLET_RED" value="Color(0.780392, 0.0823529, 0.521569, 1)">
Medium violet red color.
</constant>
- <constant name="MIDNIGHT_BLUE" value="Color(0.1, 0.1, 0.44, 1)">
+ <constant name="MIDNIGHT_BLUE" value="Color(0.0980392, 0.0980392, 0.439216, 1)">
Midnight blue color.
</constant>
- <constant name="MINT_CREAM" value="Color(0.96, 1, 0.98, 1)">
+ <constant name="MINT_CREAM" value="Color(0.960784, 1, 0.980392, 1)">
Mint cream color.
</constant>
- <constant name="MISTY_ROSE" value="Color(1, 0.89, 0.88, 1)">
+ <constant name="MISTY_ROSE" value="Color(1, 0.894118, 0.882353, 1)">
Misty rose color.
</constant>
- <constant name="MOCCASIN" value="Color(1, 0.89, 0.71, 1)">
+ <constant name="MOCCASIN" value="Color(1, 0.894118, 0.709804, 1)">
Moccasin color.
</constant>
- <constant name="NAVAJO_WHITE" value="Color(1, 0.87, 0.68, 1)">
+ <constant name="NAVAJO_WHITE" value="Color(1, 0.870588, 0.678431, 1)">
Navajo white color.
</constant>
- <constant name="NAVY_BLUE" value="Color(0, 0, 0.5, 1)">
+ <constant name="NAVY_BLUE" value="Color(0, 0, 0.501961, 1)">
Navy blue color.
</constant>
- <constant name="OLD_LACE" value="Color(0.99, 0.96, 0.9, 1)">
+ <constant name="OLD_LACE" value="Color(0.992157, 0.960784, 0.901961, 1)">
Old lace color.
</constant>
- <constant name="OLIVE" value="Color(0.5, 0.5, 0, 1)">
+ <constant name="OLIVE" value="Color(0.501961, 0.501961, 0, 1)">
Olive color.
</constant>
- <constant name="OLIVE_DRAB" value="Color(0.42, 0.56, 0.14, 1)">
+ <constant name="OLIVE_DRAB" value="Color(0.419608, 0.556863, 0.137255, 1)">
Olive drab color.
</constant>
- <constant name="ORANGE" value="Color(1, 0.65, 0, 1)">
+ <constant name="ORANGE" value="Color(1, 0.647059, 0, 1)">
Orange color.
</constant>
- <constant name="ORANGE_RED" value="Color(1, 0.27, 0, 1)">
+ <constant name="ORANGE_RED" value="Color(1, 0.270588, 0, 1)">
Orange red color.
</constant>
- <constant name="ORCHID" value="Color(0.85, 0.44, 0.84, 1)">
+ <constant name="ORCHID" value="Color(0.854902, 0.439216, 0.839216, 1)">
Orchid color.
</constant>
- <constant name="PALE_GOLDENROD" value="Color(0.93, 0.91, 0.67, 1)">
+ <constant name="PALE_GOLDENROD" value="Color(0.933333, 0.909804, 0.666667, 1)">
Pale goldenrod color.
</constant>
- <constant name="PALE_GREEN" value="Color(0.6, 0.98, 0.6, 1)">
+ <constant name="PALE_GREEN" value="Color(0.596078, 0.984314, 0.596078, 1)">
Pale green color.
</constant>
- <constant name="PALE_TURQUOISE" value="Color(0.69, 0.93, 0.93, 1)">
+ <constant name="PALE_TURQUOISE" value="Color(0.686275, 0.933333, 0.933333, 1)">
Pale turquoise color.
</constant>
- <constant name="PALE_VIOLET_RED" value="Color(0.86, 0.44, 0.58, 1)">
+ <constant name="PALE_VIOLET_RED" value="Color(0.858824, 0.439216, 0.576471, 1)">
Pale violet red color.
</constant>
- <constant name="PAPAYA_WHIP" value="Color(1, 0.94, 0.84, 1)">
+ <constant name="PAPAYA_WHIP" value="Color(1, 0.937255, 0.835294, 1)">
Papaya whip color.
</constant>
- <constant name="PEACH_PUFF" value="Color(1, 0.85, 0.73, 1)">
+ <constant name="PEACH_PUFF" value="Color(1, 0.854902, 0.72549, 1)">
Peach puff color.
</constant>
- <constant name="PERU" value="Color(0.8, 0.52, 0.25, 1)">
+ <constant name="PERU" value="Color(0.803922, 0.521569, 0.247059, 1)">
Peru color.
</constant>
- <constant name="PINK" value="Color(1, 0.75, 0.8, 1)">
+ <constant name="PINK" value="Color(1, 0.752941, 0.796078, 1)">
Pink color.
</constant>
- <constant name="PLUM" value="Color(0.87, 0.63, 0.87, 1)">
+ <constant name="PLUM" value="Color(0.866667, 0.627451, 0.866667, 1)">
Plum color.
</constant>
- <constant name="POWDER_BLUE" value="Color(0.69, 0.88, 0.9, 1)">
+ <constant name="POWDER_BLUE" value="Color(0.690196, 0.878431, 0.901961, 1)">
Powder blue color.
</constant>
- <constant name="PURPLE" value="Color(0.63, 0.13, 0.94, 1)">
+ <constant name="PURPLE" value="Color(0.627451, 0.12549, 0.941176, 1)">
Purple color.
</constant>
<constant name="REBECCA_PURPLE" value="Color(0.4, 0.2, 0.6, 1)">
@@ -818,108 +818,103 @@
<constant name="RED" value="Color(1, 0, 0, 1)">
Red color.
</constant>
- <constant name="ROSY_BROWN" value="Color(0.74, 0.56, 0.56, 1)">
+ <constant name="ROSY_BROWN" value="Color(0.737255, 0.560784, 0.560784, 1)">
Rosy brown color.
</constant>
- <constant name="ROYAL_BLUE" value="Color(0.25, 0.41, 0.88, 1)">
+ <constant name="ROYAL_BLUE" value="Color(0.254902, 0.411765, 0.882353, 1)">
Royal blue color.
</constant>
- <constant name="SADDLE_BROWN" value="Color(0.55, 0.27, 0.07, 1)">
+ <constant name="SADDLE_BROWN" value="Color(0.545098, 0.270588, 0.0745098, 1)">
Saddle brown color.
</constant>
- <constant name="SALMON" value="Color(0.98, 0.5, 0.45, 1)">
+ <constant name="SALMON" value="Color(0.980392, 0.501961, 0.447059, 1)">
Salmon color.
</constant>
- <constant name="SANDY_BROWN" value="Color(0.96, 0.64, 0.38, 1)">
+ <constant name="SANDY_BROWN" value="Color(0.956863, 0.643137, 0.376471, 1)">
Sandy brown color.
</constant>
- <constant name="SEA_GREEN" value="Color(0.18, 0.55, 0.34, 1)">
+ <constant name="SEA_GREEN" value="Color(0.180392, 0.545098, 0.341176, 1)">
Sea green color.
</constant>
- <constant name="SEASHELL" value="Color(1, 0.96, 0.93, 1)">
+ <constant name="SEASHELL" value="Color(1, 0.960784, 0.933333, 1)">
Seashell color.
</constant>
- <constant name="SIENNA" value="Color(0.63, 0.32, 0.18, 1)">
+ <constant name="SIENNA" value="Color(0.627451, 0.321569, 0.176471, 1)">
Sienna color.
</constant>
- <constant name="SILVER" value="Color(0.75, 0.75, 0.75, 1)">
+ <constant name="SILVER" value="Color(0.752941, 0.752941, 0.752941, 1)">
Silver color.
</constant>
- <constant name="SKY_BLUE" value="Color(0.53, 0.81, 0.92, 1)">
+ <constant name="SKY_BLUE" value="Color(0.529412, 0.807843, 0.921569, 1)">
Sky blue color.
</constant>
- <constant name="SLATE_BLUE" value="Color(0.42, 0.35, 0.8, 1)">
+ <constant name="SLATE_BLUE" value="Color(0.415686, 0.352941, 0.803922, 1)">
Slate blue color.
</constant>
- <constant name="SLATE_GRAY" value="Color(0.44, 0.5, 0.56, 1)">
+ <constant name="SLATE_GRAY" value="Color(0.439216, 0.501961, 0.564706, 1)">
Slate gray color.
</constant>
- <constant name="SNOW" value="Color(1, 0.98, 0.98, 1)">
+ <constant name="SNOW" value="Color(1, 0.980392, 0.980392, 1)">
Snow color.
</constant>
- <constant name="SPRING_GREEN" value="Color(0, 1, 0.5, 1)">
+ <constant name="SPRING_GREEN" value="Color(0, 1, 0.498039, 1)">
Spring green color.
</constant>
- <constant name="STEEL_BLUE" value="Color(0.27, 0.51, 0.71, 1)">
+ <constant name="STEEL_BLUE" value="Color(0.27451, 0.509804, 0.705882, 1)">
Steel blue color.
</constant>
- <constant name="TAN" value="Color(0.82, 0.71, 0.55, 1)">
+ <constant name="TAN" value="Color(0.823529, 0.705882, 0.54902, 1)">
Tan color.
</constant>
- <constant name="TEAL" value="Color(0, 0.5, 0.5, 1)">
+ <constant name="TEAL" value="Color(0, 0.501961, 0.501961, 1)">
Teal color.
</constant>
- <constant name="THISTLE" value="Color(0.85, 0.75, 0.85, 1)">
+ <constant name="THISTLE" value="Color(0.847059, 0.74902, 0.847059, 1)">
Thistle color.
</constant>
- <constant name="TOMATO" value="Color(1, 0.39, 0.28, 1)">
+ <constant name="TOMATO" value="Color(1, 0.388235, 0.278431, 1)">
Tomato color.
</constant>
<constant name="TRANSPARENT" value="Color(1, 1, 1, 0)">
Transparent color (white with zero alpha).
</constant>
- <constant name="TURQUOISE" value="Color(0.25, 0.88, 0.82, 1)">
+ <constant name="TURQUOISE" value="Color(0.25098, 0.878431, 0.815686, 1)">
Turquoise color.
</constant>
- <constant name="VIOLET" value="Color(0.93, 0.51, 0.93, 1)">
+ <constant name="VIOLET" value="Color(0.933333, 0.509804, 0.933333, 1)">
Violet color.
</constant>
- <constant name="WEB_GRAY" value="Color(0.5, 0.5, 0.5, 1)">
+ <constant name="WEB_GRAY" value="Color(0.501961, 0.501961, 0.501961, 1)">
Web gray color.
</constant>
- <constant name="WEB_GREEN" value="Color(0, 0.5, 0, 1)">
+ <constant name="WEB_GREEN" value="Color(0, 0.501961, 0, 1)">
Web green color.
</constant>
- <constant name="WEB_MAROON" value="Color(0.5, 0, 0, 1)">
+ <constant name="WEB_MAROON" value="Color(0.501961, 0, 0, 1)">
Web maroon color.
</constant>
- <constant name="WEB_PURPLE" value="Color(0.5, 0, 0.5, 1)">
+ <constant name="WEB_PURPLE" value="Color(0.501961, 0, 0.501961, 1)">
Web purple color.
</constant>
- <constant name="WHEAT" value="Color(0.96, 0.87, 0.7, 1)">
+ <constant name="WHEAT" value="Color(0.960784, 0.870588, 0.701961, 1)">
Wheat color.
</constant>
<constant name="WHITE" value="Color(1, 1, 1, 1)">
White color.
</constant>
- <constant name="WHITE_SMOKE" value="Color(0.96, 0.96, 0.96, 1)">
+ <constant name="WHITE_SMOKE" value="Color(0.960784, 0.960784, 0.960784, 1)">
White smoke color.
</constant>
<constant name="YELLOW" value="Color(1, 1, 0, 1)">
Yellow color.
</constant>
- <constant name="YELLOW_GREEN" value="Color(0.6, 0.8, 0.2, 1)">
+ <constant name="YELLOW_GREEN" value="Color(0.603922, 0.803922, 0.196078, 1)">
Yellow green color.
</constant>
</constants>
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Color" />
<description>
Returns [code]true[/code] if the colors are not equal.
@@ -984,11 +979,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Color" />
<description>
Returns [code]true[/code] if the colors are exactly equal.
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index e2f1fdfae1..f5e752578e 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -6,7 +6,7 @@
<description>
Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility.
See also [BaseButton] which contains common properties and methods associated with this node.
- [b]Note:[/b] By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set [member Control.rect_min_size] to a big enough value to give the button enough space.
+ [b]Note:[/b] By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set [member Control.minimum_size] to a big enough value to give the button enough space.
</description>
<tutorials>
<link title="GUI Drag And Drop Demo">https://godotengine.org/asset-library/asset/133</link>
diff --git a/doc/classes/CompressedCubemap.xml b/doc/classes/CompressedCubemap.xml
new file mode 100644
index 0000000000..fbb0879fdc
--- /dev/null
+++ b/doc/classes/CompressedCubemap.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="CompressedCubemap" inherits="CompressedTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/CompressedCubemapArray.xml b/doc/classes/CompressedCubemapArray.xml
new file mode 100644
index 0000000000..ff096cea47
--- /dev/null
+++ b/doc/classes/CompressedCubemapArray.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="CompressedCubemapArray" inherits="CompressedTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/StreamTexture2D.xml b/doc/classes/CompressedTexture2D.xml
index b18105cc29..5f73b55f69 100644
--- a/doc/classes/StreamTexture2D.xml
+++ b/doc/classes/CompressedTexture2D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamTexture2D" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="CompressedTexture2D" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A [code].stex[/code] texture.
+ A [code].ctex[/code] texture.
</brief_description>
<description>
- A texture that is loaded from a [code].stex[/code] file.
+ A texture that is loaded from a [code].ctex[/code] file.
</description>
<tutorials>
</tutorials>
@@ -19,7 +19,7 @@
</methods>
<members>
<member name="load_path" type="String" setter="load" getter="get_load_path" default="&quot;&quot;">
- The StreamTexture's file path to a [code].stex[/code] file.
+ The CompressedTexture's file path to a [code].ctex[/code] file.
</member>
</members>
</class>
diff --git a/doc/classes/CompressedTexture2DArray.xml b/doc/classes/CompressedTexture2DArray.xml
new file mode 100644
index 0000000000..0c751759af
--- /dev/null
+++ b/doc/classes/CompressedTexture2DArray.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="CompressedTexture2DArray" inherits="CompressedTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/StreamTexture3D.xml b/doc/classes/CompressedTexture3D.xml
index c0b783369f..de7a93d788 100644
--- a/doc/classes/StreamTexture3D.xml
+++ b/doc/classes/CompressedTexture3D.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamTexture3D" inherits="Texture3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="CompressedTexture3D" inherits="Texture3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
</brief_description>
<description>
diff --git a/doc/classes/StreamTextureLayered.xml b/doc/classes/CompressedTextureLayered.xml
index 8ed36ff54c..03bea84ba4 100644
--- a/doc/classes/StreamTextureLayered.xml
+++ b/doc/classes/CompressedTextureLayered.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamTextureLayered" inherits="TextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="CompressedTextureLayered" inherits="TextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
</brief_description>
<description>
diff --git a/doc/classes/ConcavePolygonShape2D.xml b/doc/classes/ConcavePolygonShape2D.xml
index 924178f9bf..f3c245c229 100644
--- a/doc/classes/ConcavePolygonShape2D.xml
+++ b/doc/classes/ConcavePolygonShape2D.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConcavePolygonShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Concave polygon 2D shape resource for physics.
+ Concave polygon shape resource for 2D physics.
</brief_description>
<description>
- Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidDynamicBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
- The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
+ 2D concave polygon shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidDynamicBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
+ The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex to speed up collision detection.
+ [b]Performance:[/b] Due to its complexity, [ConcavePolygonShape2D] is the slowest collision shape to check collisions against. Its use should generally be limited to level geometry. For convex geometry, using [ConvexPolygonShape2D] will perform better. For dynamic physics bodies that need concave collision, several [ConvexPolygonShape2D]s can be used to represent its collision by using convex decomposition; see [ConvexPolygonShape2D]'s documentation for instructions. However, consider using primitive collision shapes such as [CircleShape2D] or [RectangleShape2D] first.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ConcavePolygonShape3D.xml b/doc/classes/ConcavePolygonShape3D.xml
index 4e67f91db8..60d7e32492 100644
--- a/doc/classes/ConcavePolygonShape3D.xml
+++ b/doc/classes/ConcavePolygonShape3D.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConcavePolygonShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Concave polygon shape.
+ Concave polygon shape resource (also called "trimesh") for 3D physics.
</brief_description>
<description>
- Concave polygon shape resource, which can be set into a [PhysicsBody3D] or area. This shape is created by feeding a list of triangles.
+ 3D concave polygon shape resource (also called "trimesh") to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. This shape is created by feeding a list of triangles. Despite its name, [ConcavePolygonShape3D] can also store convex polygon shapes. However, unlike [ConvexPolygonShape3D], [ConcavePolygonShape3D] is [i]not[/i] limited to storing convex shapes exclusively.
[b]Note:[/b] When used for collision, [ConcavePolygonShape3D] is intended to work with static [PhysicsBody3D] nodes like [StaticBody3D] and will not work with [CharacterBody3D] or [RigidDynamicBody3D] with a mode other than Static.
+ [b]Performance:[/b] Due to its complexity, [ConcavePolygonShape3D] is the slowest collision shape to check collisions against. Its use should generally be limited to level geometry. For convex geometry, using [ConvexPolygonShape3D] will perform better. For dynamic physics bodies that need concave collision, several [ConvexPolygonShape3D]s can be used to represent its collision by using convex decomposition; see [ConvexPolygonShape3D]'s documentation for instructions. However, consider using primitive collision shapes such as [SphereShape3D] or [BoxShape3D] first.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index cecc8f658d..3163ac5610 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -100,7 +100,7 @@
<method name="_get_minimum_size" qualifiers="virtual const">
<return type="Vector2" />
<description>
- Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to [member rect_min_size] for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
+ Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to [member minimum_size] for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
If not overridden, defaults to [constant Vector2.ZERO].
[b]Note:[/b] This method will not be called when the script is attached to a [Control] node that already overrides its minimum size (e.g. [Label], [Button], [PanelContainer] etc.). It can only be used with most basic GUI nodes, like [Control], [Container], [Panel] etc.
</description>
@@ -137,7 +137,7 @@
* control has [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
* control is obstructed by another [Control] on top of it, which doesn't have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
* control's parent has [member mouse_filter] set to [constant MOUSE_FILTER_STOP] or has accepted the event;
- * it happens outside the parent's rectangle and the parent has either [member rect_clip_content] enabled.
+ * it happens outside the parent's rectangle and the parent has either [member clip_contents] enabled.
[b]Note:[/b] Event position is relative to the control origin.
</description>
</method>
@@ -157,7 +157,7 @@
Virtual method to be implemented by the user. Returns a [Control] node that should be used as a tooltip instead of the default one. The [code]for_text[/code] includes the contents of the [member hint_tooltip] property.
The returned node must be of type [Control] or Control-derived. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance (if you want to use a pre-existing node from your scene tree, you can duplicate it and pass the duplicated instance). When [code]null[/code] or a non-Control node is returned, the default tooltip will be used instead.
The returned node will be added as child to a [PopupPanel], so you should only provide the contents of that panel. That [PopupPanel] can be themed using [method Theme.set_stylebox] for the type [code]"TooltipPanel"[/code] (see [member hint_tooltip] for an example).
- [b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its [member rect_min_size] to some non-zero value.
+ [b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its [member minimum_size] to some non-zero value.
[b]Note:[/b] The node (and any relevant children) should be [member CanvasItem.visible] when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably.
Example of usage with a custom-constructed node:
[codeblocks]
@@ -351,13 +351,13 @@
<method name="get_begin" qualifiers="const">
<return type="Vector2" />
<description>
- Returns [member offset_left] and [member offset_top]. See also [member rect_position].
+ Returns [member offset_left] and [member offset_top]. See also [member position].
</description>
</method>
<method name="get_combined_minimum_size" qualifiers="const">
<return type="Vector2" />
<description>
- Returns combined minimum size from [member rect_min_size] and [method get_minimum_size].
+ Returns combined minimum size from [member minimum_size] and [method get_minimum_size].
</description>
</method>
<method name="get_cursor_shape" qualifiers="const">
@@ -383,13 +383,13 @@
<method name="get_global_rect" qualifiers="const">
<return type="Rect2" />
<description>
- Returns the position and size of the control relative to the top-left corner of the screen. See [member rect_position] and [member rect_size].
+ Returns the position and size of the control relative to the top-left corner of the screen. See [member position] and [member size].
</description>
</method>
<method name="get_minimum_size" qualifiers="const">
<return type="Vector2" />
<description>
- Returns the minimum size for this control. See [member rect_min_size].
+ Returns the minimum size for this control. See [member minimum_size].
</description>
</method>
<method name="get_offset" qualifiers="const">
@@ -414,7 +414,20 @@
<method name="get_rect" qualifiers="const">
<return type="Rect2" />
<description>
- Returns the position and size of the control relative to the top-left corner of the parent Control. See [member rect_position] and [member rect_size].
+ Returns the position and size of the control relative to the top-left corner of the parent Control. See [member position] and [member size].
+ </description>
+ </method>
+ <method name="get_screen_position" qualifiers="const">
+ <return type="Vector2" />
+ <description>
+ Returns the position of this [Control] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins.
+ Equals to [member global_position] if the window is embedded (see [member Viewport.gui_embed_subwindows]).
+ Example usage for showing a popup:
+ [codeblock]
+ popup_menu.position = get_screen_position() + get_local_mouse_position()
+ popup_menu.reset_size()
+ popup_menu.popup()
+ [/codeblock]
</description>
</method>
<method name="get_theme_color" qualifiers="const">
@@ -759,7 +772,7 @@
<return type="void" />
<argument index="0" name="position" type="Vector2" />
<description>
- Sets [member offset_left] and [member offset_top] at the same time. Equivalent of changing [member rect_position].
+ Sets [member offset_left] and [member offset_top] at the same time. Equivalent of changing [member position].
</description>
</method>
<method name="set_drag_forwarding">
@@ -840,7 +853,7 @@
# Use a control that is not in the tree
var cpb = ColorPickerButton.new()
cpb.color = color
- cpb.rect_size = Vector2(50, 50)
+ cpb.size = Vector2(50, 50)
set_drag_preview(cpb)
return color
[/gdscript]
@@ -881,7 +894,7 @@
<argument index="0" name="position" type="Vector2" />
<argument index="1" name="keep_offsets" type="bool" default="false" />
<description>
- Sets the [member rect_global_position] to given [code]position[/code].
+ Sets the [member global_position] to given [code]position[/code].
If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
@@ -909,7 +922,7 @@
<argument index="0" name="position" type="Vector2" />
<argument index="1" name="keep_offsets" type="bool" default="false" />
<description>
- Sets the [member rect_position] to given [code]position[/code].
+ Sets the [member position] to given [code]position[/code].
If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
@@ -918,21 +931,21 @@
<argument index="0" name="size" type="Vector2" />
<argument index="1" name="keep_offsets" type="bool" default="false" />
<description>
- Sets the size (see [member rect_size]).
+ Sets the size (see [member size]).
If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
<method name="update_minimum_size">
<return type="void" />
<description>
- Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with [method get_minimum_size] when the return value is changed. Setting [member rect_min_size] directly calls this method automatically.
+ Invalidates the size cache in this node and in parent nodes up to top level. Intended to be used with [method get_minimum_size] when the return value is changed. Setting [member minimum_size] directly calls this method automatically.
</description>
</method>
<method name="warp_mouse">
<return type="void" />
<argument index="0" name="to_position" type="Vector2" />
<description>
- Moves the mouse cursor to [code]to_position[/code], relative to [member rect_position] of this [Control].
+ Moves the mouse cursor to [code]to_position[/code], relative to [member position] of this [Control].
</description>
</method>
</methods>
@@ -953,6 +966,9 @@
Toggles if any text should automatically change to its translated version depending on the current locale. Note that this will not affect any internal nodes (e.g. the popup of a [MenuButton]).
Also decides if the node's strings should be parsed for POT generation.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false">
+ Enables whether rendering of [CanvasItem] based children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
+ </member>
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="0">
The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals.
</member>
@@ -976,6 +992,9 @@
Tells Godot which node it should give keyboard focus to if the user presses [kbd]Shift + Tab[/kbd] on a keyboard by default. You can change the key by editing the [code]ui_focus_prev[/code] input action.
If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree.
</member>
+ <member name="global_position" type="Vector2" setter="_set_global_position" getter="get_global_position">
+ The node's global position, relative to the world (usually to the top-left corner of the window).
+ </member>
<member name="grow_horizontal" type="int" setter="set_h_grow_direction" getter="get_h_grow_direction" enum="Control.GrowDirection" default="1">
Controls the direction on the horizontal axis in which the control should grow if its horizontal minimum size is changed to be greater than its current size, as the control always has to be at least the minimum size.
</member>
@@ -1007,6 +1026,9 @@
<member name="layout_direction" type="int" setter="set_layout_direction" getter="get_layout_direction" enum="Control.LayoutDirection" default="0">
Controls layout direction and text writing direction. Right-to-left layouts are necessary for certain languages (e.g. Arabic and Hebrew).
</member>
+ <member name="minimum_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2(0, 0)">
+ The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
+ </member>
<member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" enum="Control.CursorShape" default="0">
The default cursor shape for this control. Useful for Godot plugins and applications or games that use the system's mouse cursors.
[b]Note:[/b] On Linux, shapes may vary depending on the cursor theme of the system.
@@ -1030,30 +1052,21 @@
Distance between the node's top edge and its parent control, based on [member anchor_top].
Offsets are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Offsets update automatically when you move or resize the node.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false">
- Enables whether rendering of [CanvasItem] based children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered and won't receive input.
- </member>
- <member name="rect_global_position" type="Vector2" setter="_set_global_position" getter="get_global_position">
- The node's global position, relative to the world (usually to the top-left corner of the window).
- </member>
- <member name="rect_min_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2(0, 0)">
- The minimum size of the node's bounding rectangle. If you set it to a value greater than (0, 0), the node's bounding rectangle will always have at least this size, even if its content is smaller. If it's set to (0, 0), the node sizes automatically to fit its content, be it a texture or child nodes.
- </member>
- <member name="rect_pivot_offset" type="Vector2" setter="set_pivot_offset" getter="get_pivot_offset" default="Vector2(0, 0)">
- By default, the node's pivot is its top-left corner. When you change its [member rect_scale], it will scale around this pivot. Set this property to [member rect_size] / 2 to center the pivot in the node's rectangle.
+ <member name="pivot_offset" type="Vector2" setter="set_pivot_offset" getter="get_pivot_offset" default="Vector2(0, 0)">
+ By default, the node's pivot is its top-left corner. When you change its [member rotation] or [member scale], it will rotate or scale around this pivot. Set this property to [member size] / 2 to pivot around the Control's center.
</member>
- <member name="rect_position" type="Vector2" setter="_set_position" getter="get_position" default="Vector2(0, 0)">
- The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by [member rect_pivot_offset].
+ <member name="position" type="Vector2" setter="_set_position" getter="get_position" default="Vector2(0, 0)">
+ The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by [member pivot_offset].
</member>
- <member name="rect_rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
- The node's rotation around its pivot, in radians. See [member rect_pivot_offset] to change the pivot's position.
+ <member name="rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
+ The node's rotation around its pivot, in radians. See [member pivot_offset] to change the pivot's position.
</member>
- <member name="rect_scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2(1, 1)">
- The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
+ <member name="scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2(1, 1)">
+ The node's scale, relative to its [member size]. Change this property to scale the node around its [member pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
[b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=$DOCS_URL/tutorials/viewports/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
- [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using [code]await get_tree().process_frame[/code] then set its [member rect_scale] property.
+ [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using [code]await get_tree().process_frame[/code] then set its [member scale] property.
</member>
- <member name="rect_size" type="Vector2" setter="_set_size" getter="get_size" default="Vector2(0, 0)">
+ <member name="size" type="Vector2" setter="_set_size" getter="get_size" default="Vector2(0, 0)">
The size of the node's bounding rectangle, in pixels. [Container] nodes update this property automatically.
</member>
<member name="size_flags_horizontal" type="int" setter="set_h_size_flags" getter="get_h_size_flags" default="1">
@@ -1110,7 +1123,7 @@
If you want to check whether the mouse truly left the area, ignoring any top nodes, you can use code like this:
[codeblock]
func _on_mouse_exited():
- if not Rect2(Vector2(), rect_size).has_point(get_local_mouse_position()):
+ if not Rect2(Vector2(), size).has_point(get_local_mouse_position()):
# Not hovering over area.
[/codeblock]
</description>
@@ -1141,7 +1154,7 @@
The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with [member focus_mode].
</constant>
<constant name="NOTIFICATION_RESIZED" value="40">
- Sent when the node changes size. Use [member rect_size] to get the new size.
+ Sent when the node changes size. Use [member size] to get the new size.
</constant>
<constant name="NOTIFICATION_MOUSE_ENTER" value="41">
Sent when the mouse pointer enters the node.
diff --git a/doc/classes/ConvexPolygonShape2D.xml b/doc/classes/ConvexPolygonShape2D.xml
index 449c3132c7..df96b50fc1 100644
--- a/doc/classes/ConvexPolygonShape2D.xml
+++ b/doc/classes/ConvexPolygonShape2D.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConvexPolygonShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Convex polygon shape for 2D physics.
+ Convex polygon shape resource for 2D physics.
</brief_description>
<description>
- Convex polygon shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
- The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
+ 2D convex polygon shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check). See also [CollisionPolygon2D].
+ The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex to speed up collision detection.
+ [b]Performance:[/b] [ConvexPolygonShape2D] is faster to check collisions against compared to [ConcavePolygonShape2D], but it is slower than primitive collision shapes such as [CircleShape2D] or [RectangleShape2D]. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by a primitive shape.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ConvexPolygonShape3D.xml b/doc/classes/ConvexPolygonShape3D.xml
index d2f110d187..32dc8f673b 100644
--- a/doc/classes/ConvexPolygonShape3D.xml
+++ b/doc/classes/ConvexPolygonShape3D.xml
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConvexPolygonShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Convex polygon shape for 3D physics.
+ Convex polygon shape resource for 3D physics.
</brief_description>
<description>
- Convex polygon shape resource, which can be added to a [PhysicsBody3D] or area.
+ 3D convex polygon shape resource to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. Unlike [ConcavePolygonShape3D], [ConvexPolygonShape3D] cannot store concave polygon shapes. [ConvexPolygonShape2D]s can be manually drawn in the editor using the [CollisionPolygon3D] node.
+ [b]Convex decomposition:[/b] Concave objects' collisions can be represented accurately using [i]several[/i] [ConvexPolygonShape3D]s. This allows dynamic physics bodies to have complex concave collisions (at a performance cost). This is available in the editor by selecting the [MeshInstance3D], going to the [b]Mesh[/b] menu and choosing [b]Create Multiple Convex Collision Siblings[/b]. Alternatively, [method MeshInstance3D.create_multiple_convex_collisions] can be called in a script to perform this decomposition at run-time.
+ [b]Performance:[/b] [ConvexPolygonShape3D] is faster to check collisions against compared to [ConcavePolygonShape3D], but it is slower than primitive collision shapes such as [SphereShape3D] or [BoxShape3D]. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by a primitive shape.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/Curve2D.xml b/doc/classes/Curve2D.xml
index f040d292e9..94e52912a1 100644
--- a/doc/classes/Curve2D.xml
+++ b/doc/classes/Curve2D.xml
@@ -17,7 +17,7 @@
<argument index="2" name="out" type="Vector2" default="Vector2(0, 0)" />
<argument index="3" name="at_position" type="int" default="-1" />
<description>
- Adds a point to a curve at [code]position[/code], with control points [code]in[/code] and [code]out[/code].
+ Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s position, with control points [code]in[/code] and [code]out[/code].
If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position &lt;0[/code] or [code]at_position &gt;= [method get_point_count][/code]), the point will be appended at the end of the point list.
</description>
</method>
diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml
index 27856f2564..ed642e0ddc 100644
--- a/doc/classes/Curve3D.xml
+++ b/doc/classes/Curve3D.xml
@@ -17,7 +17,7 @@
<argument index="2" name="out" type="Vector3" default="Vector3(0, 0, 0)" />
<argument index="3" name="at_position" type="int" default="-1" />
<description>
- Adds a point to a curve at [code]position[/code], with control points [code]in[/code] and [code]out[/code].
+ Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s position, with control points [code]in[/code] and [code]out[/code].
If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position &lt;0[/code] or [code]at_position &gt;= [method get_point_count][/code]), the point will be appended at the end of the point list.
</description>
</method>
diff --git a/doc/classes/CylinderShape3D.xml b/doc/classes/CylinderShape3D.xml
index 06ad590bb3..6ff142da59 100644
--- a/doc/classes/CylinderShape3D.xml
+++ b/doc/classes/CylinderShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CylinderShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Cylinder shape for collisions.
+ Cylinder shape for 3D collisions.
</brief_description>
<description>
- Cylinder shape for collisions.
+ Cylinder shape for collisions. Like [CapsuleShape3D], but without hemispheres at the cylinder's ends.
+ [b]Performance:[/b] Being a primitive collision shape, [CylinderShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). [CylinderShape3D] is also more demanding compared to [CapsuleShape3D].
</description>
<tutorials>
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index ab04366eb7..8ee09ba8f8 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -307,22 +307,12 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Dictionary" />
<description>
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Dictionary" />
<description>
</description>
diff --git a/doc/classes/DirectionalLight3D.xml b/doc/classes/DirectionalLight3D.xml
index ad2663a61b..754518239c 100644
--- a/doc/classes/DirectionalLight3D.xml
+++ b/doc/classes/DirectionalLight3D.xml
@@ -35,8 +35,8 @@
The distance from shadow split 2 to split 3. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [constant SHADOW_PARALLEL_4_SPLITS].
</member>
<member name="shadow_bias" type="float" setter="set_param" getter="get_param" overrides="Light3D" default="0.1" />
- <member name="use_in_sky_only" type="bool" setter="set_sky_only" getter="is_sky_only" default="false">
- If [code]true[/code], this [DirectionalLight3D] will not be used for anything except sky shaders. Use this for lights that impact your sky shader that you may want to hide from affecting the rest of the scene. For example, you may want to enable this when the sun in your sky shader falls below the horizon.
+ <member name="sky_mode" type="int" setter="set_sky_mode" getter="get_sky_mode" enum="DirectionalLight3D.SkyMode" default="0">
+ Set whether this [DirectionalLight3D] is visible in the sky, in the scene, or both in the sky and in the scene. See [enum SkyMode] for options.
</member>
</members>
<constants>
@@ -49,5 +49,14 @@
<constant name="SHADOW_PARALLEL_4_SPLITS" value="2" enum="ShadowMode">
Splits the view frustum in 4 areas, each with its own shadow map. This is the slowest directional shadow mode.
</constant>
+ <constant name="SKY_MODE_LIGHT_AND_SKY" value="0" enum="SkyMode">
+ Makes the light visible in both scene lighting and sky rendering.
+ </constant>
+ <constant name="SKY_MODE_LIGHT_ONLY" value="1" enum="SkyMode">
+ Makes the light visible in scene lighting only (including direct lighting and global illumination). When using this mode, the light will not be visible from sky shaders.
+ </constant>
+ <constant name="SKY_MODE_SKY_ONLY" value="2" enum="SkyMode">
+ Makes the light visible to sky shaders only. When using this mode the light will not cast light into the scene (either through direct lighting or through global illumination), but can be accessed through sky shaders. This can be useful, for example, when you want to control sky effects without illuminating the scene (during a night cycle, for example).
+ </constant>
</constants>
</class>
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index be8811d629..5a67170086 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -544,6 +544,12 @@
<description>
</description>
</method>
+ <method name="window_get_active_popup" qualifiers="const">
+ <return type="int" />
+ <description>
+ Returns ID of the active popup window, or [constant INVALID_WINDOW_ID] if there is none.
+ </description>
+ </method>
<method name="window_get_attached_instance_id" qualifiers="const">
<return type="int" />
<argument index="0" name="window_id" type="int" default="0" />
@@ -592,6 +598,13 @@
[b]Note:[/b] This method is implemented on Android, Linux, macOS and Windows.
</description>
</method>
+ <method name="window_get_popup_safe_rect" qualifiers="const">
+ <return type="Rect2i" />
+ <argument index="0" name="window" type="int" />
+ <description>
+ Returns the bounding box of control, or menu item that was used to open the popup window, in the screen coordinate system.
+ </description>
+ </method>
<method name="window_get_position" qualifiers="const">
<return type="Vector2i" />
<argument index="0" name="window_id" type="int" default="0" />
@@ -749,6 +762,14 @@
[b]Note:[/b] This method is implemented on Linux, macOS and Windows.
</description>
</method>
+ <method name="window_set_popup_safe_rect">
+ <return type="void" />
+ <argument index="0" name="window" type="int" />
+ <argument index="1" name="rect" type="Rect2i" />
+ <description>
+ Sets the bounding box of control, or menu item that was used to open the popup window, in the screen coordinate system. Clicking this area will not auto-close this popup.
+ </description>
+ </method>
<method name="window_set_position">
<return type="void" />
<argument index="0" name="position" type="Vector2i" />
@@ -930,16 +951,24 @@
Regardless of the platform, enabling fullscreen will change the window size to match the monitor's size. Therefore, make sure your project supports [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple resolutions[/url] when enabling fullscreen mode.
</constant>
<constant name="WINDOW_FLAG_RESIZE_DISABLED" value="0" enum="WindowFlags">
+ Window can't be resizing by dragging its resize grip. It's still possible to resize the window using [method window_set_size]. This flag is ignored for full screen windows.
</constant>
<constant name="WINDOW_FLAG_BORDERLESS" value="1" enum="WindowFlags">
+ Window do not have native title bar and other decorations. This flag is ignored for full-screen windows.
</constant>
<constant name="WINDOW_FLAG_ALWAYS_ON_TOP" value="2" enum="WindowFlags">
+ Window is floating above other regular windows. This flag is ignored for full-screen windows.
</constant>
<constant name="WINDOW_FLAG_TRANSPARENT" value="3" enum="WindowFlags">
+ Window is will be destroyed with its transient parent and displayed on top of non-exclusive full-screen parent window. Transient windows can't enter full-screen mode.
</constant>
<constant name="WINDOW_FLAG_NO_FOCUS" value="4" enum="WindowFlags">
+ Window can't be focused. No-focus window will ignore all input, except mouse clicks.
+ </constant>
+ <constant name="WINDOW_FLAG_POPUP" value="5" enum="WindowFlags">
+ Window is part of menu or [OptionButton] dropdown. This flag can't be changed when window is visible. An active popup window will exclusivly receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have [constant WINDOW_FLAG_TRANSPARENT] set.
</constant>
- <constant name="WINDOW_FLAG_MAX" value="5" enum="WindowFlags">
+ <constant name="WINDOW_FLAG_MAX" value="6" enum="WindowFlags">
</constant>
<constant name="WINDOW_EVENT_MOUSE_ENTER" value="0" enum="WindowEvent">
</constant>
diff --git a/doc/classes/EditorExportPlugin.xml b/doc/classes/EditorExportPlugin.xml
index 698d3bfcce..8aa2db2cf8 100644
--- a/doc/classes/EditorExportPlugin.xml
+++ b/doc/classes/EditorExportPlugin.xml
@@ -108,6 +108,7 @@
<return type="void" />
<argument index="0" name="path" type="String" />
<argument index="1" name="tags" type="PackedStringArray" />
+ <argument index="2" name="target" type="String" />
<description>
Adds a shared object or a directory containing only shared objects with the given [code]tags[/code] and destination [code]path[/code].
[b]Note:[/b] In case of macOS exports, those shared objects will be added to [code]Frameworks[/code] directory of app bundle.
diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml
index 0474cbd387..b1fd7b4e76 100644
--- a/doc/classes/EditorFileDialog.xml
+++ b/doc/classes/EditorFileDialog.xml
@@ -40,13 +40,13 @@
<member name="access" type="int" setter="set_access" getter="get_access" enum="EditorFileDialog.Access" default="0">
The location from which the user may select a file, including [code]res://[/code], [code]user://[/code], and the local file system.
</member>
- <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default="&quot;res://&quot;">
+ <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir">
The currently occupied directory.
</member>
- <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default="&quot;&quot;">
+ <member name="current_file" type="String" setter="set_current_file" getter="get_current_file">
The currently selected file.
</member>
- <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default="&quot;res://&quot;">
+ <member name="current_path" type="String" setter="set_current_path" getter="get_current_path">
The file system path in the address bar.
</member>
<member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" overrides="AcceptDialog" default="false" />
diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index 81472c09ee..ac2250ab6d 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -70,6 +70,13 @@
[/codeblocks]
</description>
</method>
+ <method name="check_changed_settings_in_group" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="setting_prefix" type="String" />
+ <description>
+ Checks if any settings with the prefix [code]setting_prefix[/code] exist in the set of changed settings. See also [method get_changed_settings].
+ </description>
+ </method>
<method name="erase">
<return type="void" />
<argument index="0" name="property" type="String" />
@@ -77,6 +84,12 @@
Erases the setting whose name is specified by [code]property[/code].
</description>
</method>
+ <method name="get_changed_settings" qualifiers="const">
+ <return type="Array" />
+ <description>
+ Gets an array of the settings which have been changed since the last save. Note that internally [code]changed_settings[/code] is cleared after a successful save, so generally the most appropriate place to use this method is when processing [constant NOTIFICATION_EDITOR_SETTINGS_CHANGED]
+ </description>
+ </method>
<method name="get_favorites" qualifiers="const">
<return type="PackedStringArray" />
<description>
@@ -118,6 +131,13 @@
Returns [code]true[/code] if the setting specified by [code]name[/code] exists, [code]false[/code] otherwise.
</description>
</method>
+ <method name="mark_setting_changed">
+ <return type="void" />
+ <argument index="0" name="setting" type="String" />
+ <description>
+ Marks the passed editor setting as being changed, see [method get_changed_settings]. Only settings which exist (see [method has_setting]) will be accepted.
+ </description>
+ </method>
<method name="property_can_revert">
<return type="bool" />
<argument index="0" name="name" type="String" />
diff --git a/doc/classes/EditorSpinSlider.xml b/doc/classes/EditorSpinSlider.xml
index a45882b063..96dea1edce 100644
--- a/doc/classes/EditorSpinSlider.xml
+++ b/doc/classes/EditorSpinSlider.xml
@@ -11,7 +11,6 @@
<members>
<member name="flat" type="bool" setter="set_flat" getter="is_flat" default="false">
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
<member name="label" type="String" setter="set_label" getter="get_label" default="&quot;&quot;">
</member>
<member name="read_only" type="bool" setter="set_read_only" getter="is_read_only" default="false">
diff --git a/doc/classes/EditorVCSInterface.xml b/doc/classes/EditorVCSInterface.xml
index b78b027fa8..0215d81a4e 100644
--- a/doc/classes/EditorVCSInterface.xml
+++ b/doc/classes/EditorVCSInterface.xml
@@ -4,7 +4,7 @@
Version Control System (VCS) interface which reads and writes to the local VCS in use.
</brief_description>
<description>
- Used by the editor to display VCS extracted information in the editor. The implementation of this API is included in VCS addons, which are essentially GDNative plugins that need to be put into the project folder. These VCS addons are scripts which are attached (on demand) to the object instance of [code]EditorVCSInterface[/code]. All the functions listed below, instead of performing the task themselves, they call the internally defined functions in the VCS addons to provide a plug-n-play experience.
+ Used by the editor to display VCS extracted information in the editor. The implementation of this API is included in VCS addons, which are essentially GDExtension plugins that need to be put into the project folder. These VCS addons are scripts which are attached (on demand) to the object instance of [code]EditorVCSInterface[/code]. All the functions listed below, instead of performing the task themselves, they call the internally defined functions in the VCS addons to provide a plug-n-play experience.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml
index 05d90390f8..db536a738a 100644
--- a/doc/classes/FileDialog.xml
+++ b/doc/classes/FileDialog.xml
@@ -56,13 +56,13 @@
The file system access scope. See enum [code]Access[/code] constants.
[b]Warning:[/b] Currently, in sandboxed environments such as HTML5 builds or sandboxed macOS apps, FileDialog cannot access the host file system. See [url=https://github.com/godotengine/godot-proposals/issues/1123]godot-proposals#1123[/url].
</member>
- <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default="&quot;res://&quot;">
+ <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir">
The current working directory of the file dialog.
</member>
- <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default="&quot;&quot;">
+ <member name="current_file" type="String" setter="set_current_file" getter="get_current_file">
The currently selected file of the file dialog.
</member>
- <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default="&quot;res://&quot;">
+ <member name="current_path" type="String" setter="set_current_path" getter="get_current_path">
The currently selected file path of the file dialog.
</member>
<member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" overrides="AcceptDialog" default="false" />
diff --git a/doc/classes/FogVolume.xml b/doc/classes/FogVolume.xml
index c869141ef6..d28a6a8783 100644
--- a/doc/classes/FogVolume.xml
+++ b/doc/classes/FogVolume.xml
@@ -12,6 +12,7 @@
<members>
<member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3(1, 1, 1)">
Sets the size of the [FogVolume] when [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX].
+ [b]Note:[/b] Thin fog volumes may appear to flicker when the camera moves or rotates. This can be alleviated by increasing [member ProjectSettings.rendering/environment/volumetric_fog/volume_depth] (at a performance cost) or by decreasing [member Environment.volumetric_fog_length] (at no performance cost, but at the cost of lower fog range). Alternatively, the [FogVolume] can be made thicker and use a lower density in the [member material].
</member>
<member name="material" type="Material" setter="set_material" getter="get_material">
Sets the [Material] to be used by the [FogVolume]. Can be either a [FogMaterial] or a custom [ShaderMaterial].
diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml
index 4ba15d7afc..f357cb05b5 100644
--- a/doc/classes/Font.xml
+++ b/doc/classes/Font.xml
@@ -191,6 +191,12 @@
See also [method draw_multiline_string].
</description>
</method>
+ <method name="get_rids" qualifiers="const">
+ <return type="Array" />
+ <description>
+ Returns [Array] of valid [FontData] [RID]s, which can be passsed to the [TextServer] methods.
+ </description>
+ </method>
<method name="get_spacing" qualifiers="const">
<return type="int" />
<argument index="0" name="spacing" type="int" enum="TextServer.SpacingType" />
diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml
index ccaefc60ee..9344a1fe80 100644
--- a/doc/classes/FontData.xml
+++ b/doc/classes/FontData.xml
@@ -567,6 +567,9 @@
<member name="data" type="PackedByteArray" setter="set_data" getter="get_data" default="PackedByteArray()">
Contents of the dynamic font source file.
</member>
+ <member name="embolden" type="float" setter="set_embolden" getter="get_embolden" default="0.0">
+ If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
+ </member>
<member name="fixed_size" type="int" setter="set_fixed_size" getter="get_fixed_size" default="0">
Font size, used only for the bitmap fonts.
</member>
@@ -603,5 +606,9 @@
<member name="subpixel_positioning" type="int" setter="set_subpixel_positioning" getter="get_subpixel_positioning" enum="TextServer.SubpixelPositioning" default="1">
Font glyph sub-pixel positioning mode. Subpixel positioning provides shaper text and better kerning for smaller font sizes, at the cost of memory usage and font rasterization speed. Use [constant TextServer.SUBPIXEL_POSITIONING_AUTO] to automatically enable it based on the font size.
</member>
+ <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D(1, 0, 0, 1, 0, 0)">
+ 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
+ For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code].
+ </member>
</members>
</class>
diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml
index 446a90463d..cbd83e8d7d 100644
--- a/doc/classes/Geometry2D.xml
+++ b/doc/classes/Geometry2D.xml
@@ -209,7 +209,7 @@
<return type="PackedInt32Array" />
<argument index="0" name="polygon" type="PackedVector2Array" />
<description>
- Triangulates the polygon specified by the points in [code]polygon[/code]. Returns a [PackedInt32Array] where each triangle consists of three consecutive point indices into [code]polygon[/code] (i.e. the returned array will have [code]n * 3[/code] elements, with [code]n[/code] being the number of found triangles). If the triangulation did not succeed, an empty [PackedInt32Array] is returned.
+ Triangulates the polygon specified by the points in [code]polygon[/code]. Returns a [PackedInt32Array] where each triangle consists of three consecutive point indices into [code]polygon[/code] (i.e. the returned array will have [code]n * 3[/code] elements, with [code]n[/code] being the number of found triangles). Output triangles will always be counter clockwise, and the contour will be flipped if it's clockwise. If the triangulation did not succeed, an empty [PackedInt32Array] is returned.
</description>
</method>
</methods>
diff --git a/doc/classes/GeometryInstance3D.xml b/doc/classes/GeometryInstance3D.xml
index 77afb98225..c803f43fb0 100644
--- a/doc/classes/GeometryInstance3D.xml
+++ b/doc/classes/GeometryInstance3D.xml
@@ -31,22 +31,22 @@
</method>
</methods>
<members>
- <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting" default="1">
+ <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting">
The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
</member>
- <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin" default="0.0">
+ <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin">
The extra distance added to the GeometryInstance3D's bounding box ([AABB]) to increase its cull box.
</member>
- <member name="gi_lightmap_scale" type="int" setter="set_lightmap_scale" getter="get_lightmap_scale" enum="GeometryInstance3D.LightmapScale" default="0">
+ <member name="gi_lightmap_scale" type="int" setter="set_lightmap_scale" getter="get_lightmap_scale" enum="GeometryInstance3D.LightmapScale">
The texel density to use for lightmapping in [LightmapGI]. Greater scale values provide higher resolution in the lightmap, which can result in sharper shadows for lights that have both direct and indirect light baked. However, greater scale values will also increase the space taken by the mesh in the lightmap texture, which increases the memory, storage, and bake time requirements. When using a single mesh at different scales, consider adjusting this value to keep the lightmap texel density consistent across meshes.
</member>
- <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode" default="0">
+ <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode">
The global illumination mode to use for the whole geometry. To avoid inconsistent results, use a mode that matches the purpose of the mesh during gameplay (static/dynamic).
[b]Note:[/b] Lights' bake mode will also affect the global illumination rendering. See [member Light3D.light_bake_mode].
</member>
- <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling" default="false">
+ <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling">
</member>
- <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias" default="1.0">
+ <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias">
</member>
<member name="material_overlay" type="Material" setter="set_material_overlay" getter="get_material_overlay">
The material overlay for the whole geometry.
@@ -56,26 +56,26 @@
The material override for the whole geometry.
If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
</member>
- <member name="transparency" type="float" setter="set_transparency" getter="get_transparency" default="0.0">
+ <member name="transparency" type="float" setter="set_transparency" getter="get_transparency">
The transparency applied to the whole geometry (as a multiplier of the materials' existing transparency). [code]0.0[/code] is fully opaque, while [code]1.0[/code] is fully transparent. Values greater than [code]0.0[/code] (exclusive) will force the geometry's materials to go through the transparent pipeline, which is slower to render and can exhibit rendering issues due to incorrect transparency sorting. However, unlike using a transparent material, setting [member transparency] to a value greater than [code]0.0[/code] (exclusive) will [i]not[/i] disable shadow rendering.
In spatial shaders, [code]1.0 - transparency[/code] is set as the default value of the [code]ALPHA[/code] built-in.
[b]Note:[/b] [member transparency] is clamped between [code]0.0[/code] and [code]1.0[/code], so this property cannot be used to make transparent materials more opaque than they originally are.
</member>
- <member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin" default="0.0">
+ <member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin">
Starting distance from which the GeometryInstance3D will be visible, taking [member visibility_range_begin_margin] into account as well. The default value of 0 is used to disable the range check.
</member>
- <member name="visibility_range_begin_margin" type="float" setter="set_visibility_range_begin_margin" getter="get_visibility_range_begin_margin" default="0.0">
+ <member name="visibility_range_begin_margin" type="float" setter="set_visibility_range_begin_margin" getter="get_visibility_range_begin_margin">
Margin for the [member visibility_range_begin] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_begin] threshold by this amount.
If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable.
</member>
- <member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end" default="0.0">
+ <member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end">
Distance from which the GeometryInstance3D will be hidden, taking [member visibility_range_end_margin] into account as well. The default value of 0 is used to disable the range check.
</member>
- <member name="visibility_range_end_margin" type="float" setter="set_visibility_range_end_margin" getter="get_visibility_range_end_margin" default="0.0">
+ <member name="visibility_range_end_margin" type="float" setter="set_visibility_range_end_margin" getter="get_visibility_range_end_margin">
Margin for the [member visibility_range_end] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_end] threshold by this amount.
If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable.
</member>
- <member name="visibility_range_fade_mode" type="int" setter="set_visibility_range_fade_mode" getter="get_visibility_range_fade_mode" enum="GeometryInstance3D.VisibilityRangeFadeMode" default="0">
+ <member name="visibility_range_fade_mode" type="int" setter="set_visibility_range_fade_mode" getter="get_visibility_range_fade_mode" enum="GeometryInstance3D.VisibilityRangeFadeMode">
Controls which instances will be faded when approaching the limits of the visibility range. See [enum VisibilityRangeFadeMode] for possible values.
</member>
</members>
diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index 5525e7f1f3..19f2915087 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -198,6 +198,7 @@
</method>
</methods>
<members>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="connection_lines_antialiased" type="bool" setter="set_connection_lines_antialiased" getter="is_connection_lines_antialiased" default="true">
If [code]true[/code], the lines between nodes will use antialiasing.
</member>
@@ -217,7 +218,6 @@
<member name="panning_scheme" type="int" setter="set_panning_scheme" getter="get_panning_scheme" enum="GraphEdit.PanningScheme" default="0">
Defines the control scheme for panning with mouse wheel.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="right_disconnects" type="bool" setter="set_right_disconnects" getter="is_right_disconnects_enabled" default="false">
If [code]true[/code], enables disconnection of existing connections in the GraphEdit by dragging the right end.
</member>
diff --git a/doc/classes/HeightMapShape3D.xml b/doc/classes/HeightMapShape3D.xml
index b8fe094490..206981e547 100644
--- a/doc/classes/HeightMapShape3D.xml
+++ b/doc/classes/HeightMapShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="HeightMapShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Height map shape for 3D physics.
+ Height map shape resource for 3D physics.
</brief_description>
<description>
- Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D].
+ Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D]. Heightmap collision is typically used for colliding with terrains. However, since heightmaps cannot store overhangs, collisions with other structures (such as buildings) must be done with other collision shapes such as [ConcavePolygonShape3D]. If needed, "holes" can be created in an [HeightMapShape3D] by assigning very low points (like [code]-100000[/code]) in the desired area.
+ [b]Performance:[/b] [HeightMapShape3D] is faster to check collisions against compared to [ConcavePolygonShape3D], but it is slower than primitive collision shapes such as [SphereShape3D] or [BoxShape3D].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml
index d35dacfcde..aecb4fc4b6 100644
--- a/doc/classes/ImageTexture.xml
+++ b/doc/classes/ImageTexture.xml
@@ -18,7 +18,7 @@
var texture = load("res://icon.png")
$Sprite2D.texture = texture
[/codeblock]
- This is because images have to be imported as a [StreamTexture2D] first to be loaded with [method @GDScript.load]. If you'd still like to load an image file just like any other [Resource], import it as an [Image] resource instead, and then load it normally using the [method @GDScript.load] method.
+ This is because images have to be imported as a [CompressedTexture2D] first to be loaded with [method @GDScript.load]. If you'd still like to load an image file just like any other [Resource], import it as an [Image] resource instead, and then load it normally using the [method @GDScript.load] method.
[b]Note:[/b] The image can be retrieved from an imported texture using the [method Texture2D.get_image] method, which returns a copy of the image:
[codeblock]
var texture = load("res://icon.png")
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 875d8d27b2..06bd64577b 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -7,6 +7,7 @@
This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list.
Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing [kbd]Enter[/kbd].
Item text only supports single-line strings, newline characters (e.g. [code]\n[/code]) in the string won't produce a newline. Text wrapping is enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to fully fit its content by default. You need to set [member fixed_column_width] greater than zero to wrap the text.
+ All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one.
</description>
<tutorials>
</tutorials>
@@ -366,6 +367,7 @@
<member name="auto_height" type="bool" setter="set_auto_height" getter="has_auto_height" default="false">
If [code]true[/code], the control will automatically resize the height to fit its content.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="fixed_column_width" type="int" setter="set_fixed_column_width" getter="get_fixed_column_width" default="0">
The width all columns will be adjusted to.
A value of zero disables the adjustment, each item will have a width equal to the width of its content and the columns will have an uneven width.
@@ -393,7 +395,6 @@
Maximum lines of text allowed in each item. Space will be reserved even when there is not enough lines of text to display.
[b]Note:[/b] This property takes effect only when [member icon_mode] is [constant ICON_MODE_TOP]. To make the text wrap, [member fixed_column_width] should be greater than zero.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="same_column_width" type="bool" setter="set_same_column_width" getter="is_same_column_width" default="false">
Whether all columns will have the same width.
If [code]true[/code], the width is equal to the largest column width of all columns.
@@ -401,7 +402,7 @@
<member name="select_mode" type="int" setter="set_select_mode" getter="get_select_mode" enum="ItemList.SelectMode" default="0">
Allows single or multiple item selection. See the [enum SelectMode] constants.
</member>
- <member name="text_overrun_behavior" type="int" setter="set_text_overrun_behavior" getter="get_text_overrun_behavior" enum="TextParagraph.OverrunBehavior" default="0">
+ <member name="text_overrun_behavior" type="int" setter="set_text_overrun_behavior" getter="get_text_overrun_behavior" enum="TextParagraph.OverrunBehavior" default="3">
Sets the clipping behavior when the text exceeds an item's bounding rectangle. See [enum TextParagraph.OverrunBehavior] for a description of all modes.
</member>
</members>
diff --git a/doc/classes/Light3D.xml b/doc/classes/Light3D.xml
index a058611915..b7822f1bb0 100644
--- a/doc/classes/Light3D.xml
+++ b/doc/classes/Light3D.xml
@@ -28,6 +28,23 @@
</method>
</methods>
<members>
+ <member name="distance_fade_begin" type="float" setter="set_distance_fade_begin" getter="get_distance_fade_begin" default="40.0">
+ The distance from the camera at which the light begins to fade away (in 3D units).
+ [b]Note:[/b] Only effective for [OmniLight3D] and [SpotLight3D].
+ </member>
+ <member name="distance_fade_enabled" type="bool" setter="set_enable_distance_fade" getter="is_distance_fade_enabled" default="false">
+ If [code]true[/code], the light will smoothly fade away when far from the active [Camera3D] starting at [member distance_fade_begin]. This acts as a form of level of detail (LOD). The light will fade out over [member distance_fade_begin] + [member distance_fade_length], after which it will be culled and not sent to the shader at all. Use this to reduce the number of active lights in a scene and thus improve performance.
+ [b]Note:[/b] Only effective for [OmniLight3D] and [SpotLight3D].
+ </member>
+ <member name="distance_fade_length" type="float" setter="set_distance_fade_length" getter="get_distance_fade_length" default="10.0">
+ Distance over which the light fades. The light's energy is progressively reduced over this distance and is completely invisible at the end.
+ [b]Note:[/b] Only effective for [OmniLight3D] and [SpotLight3D].
+ </member>
+ <member name="distance_fade_shadow" type="float" setter="set_distance_fade_shadow" getter="get_distance_fade_shadow" default="50.0">
+ The distance from the camera at which the light's shadow cuts off (in 3D units). Set this to a value lower than [member distance_fade_begin] + [member distance_fade_length] to further improve performance, as shadow rendering is often more expensive than light rendering itself.
+ [b]Note:[/b] Only effective for [OmniLight3D] and [SpotLight3D], and only when [member shadow_enabled] is [code]true[/code].
+ [b]Note:[/b] Due to a rendering engine limitation, shadows will be disabled instantly instead of fading smoothly according to [member distance_fade_length]. This may result in visible pop-in depending on the scene topography.
+ </member>
<member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only" default="false">
If [code]true[/code], the light only appears in the editor and will not be visible at runtime.
</member>
@@ -69,11 +86,8 @@
<member name="shadow_blur" type="float" setter="set_param" getter="get_param" default="1.0">
Blurs the edges of the shadow. Can be used to hide pixel artifacts in low-resolution shadow maps. A high value can impact performance, make shadows appear grainy and can cause other unwanted artifacts. Try to keep as near default as possible.
</member>
- <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color(0, 0, 0, 1)">
- The color of shadows cast by this light.
- </member>
<member name="shadow_enabled" type="bool" setter="set_shadow" getter="has_shadow" default="false">
- If [code]true[/code], the light will cast shadows.
+ If [code]true[/code], the light will cast real-time shadows. This has a significant performance cost. Only enable shadow rendering when it makes a noticeable difference in the scene's appearance, and consider using [member distance_fade_enabled] to hide the light when far away from the [Camera3D].
</member>
<member name="shadow_fog_fade" type="float" setter="set_param" getter="get_param" default="0.1">
</member>
diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml
index 88574c0028..e2cc43bb75 100644
--- a/doc/classes/Line2D.xml
+++ b/doc/classes/Line2D.xml
@@ -121,10 +121,10 @@
Takes the left pixels of the texture and renders it over the whole line.
</constant>
<constant name="LINE_TEXTURE_TILE" value="1" enum="LineTextureMode">
- Tiles the texture over the line. The texture must be imported with [b]Repeat[/b] enabled for it to work properly.
+ Tiles the texture over the line. [member CanvasItem.texture_repeat] of the [Line2D] node must be [constant CanvasItem.TEXTURE_REPEAT_ENABLED] or [constant CanvasItem.TEXTURE_REPEAT_MIRROR] for it to work properly.
</constant>
<constant name="LINE_TEXTURE_STRETCH" value="2" enum="LineTextureMode">
- Stretches the texture across the line. Import the texture with [b]Repeat[/b] disabled for best results.
+ Stretches the texture across the line. [member CanvasItem.texture_repeat] of the [Line2D] node must be [constant CanvasItem.TEXTURE_REPEAT_DISABLED] for best results.
</constant>
</constants>
</class>
diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml
index ad5a5a5518..3b03d86644 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -33,11 +33,9 @@
</method>
</methods>
<members>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="0" />
<member name="language" type="String" setter="set_language" getter="get_language" default="&quot;&quot;">
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</member>
- <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" overrides="Control" enum="Control.CursorShape" default="2" />
<member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0">
Set BiDi algorithm override for the structured text.
</member>
diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml
index 78dbf8729b..c5d567c1fe 100644
--- a/doc/classes/Material.xml
+++ b/doc/classes/Material.xml
@@ -11,6 +11,26 @@
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
</tutorials>
<methods>
+ <method name="_can_do_next_pass" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_can_use_render_priority" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_shader_mode" qualifiers="virtual const">
+ <return type="int" enum="Shader.Mode" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_shader_rid" qualifiers="virtual const">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
<method name="inspect_native_shader_code">
<return type="void" />
<description>
@@ -22,7 +42,7 @@
Sets the [Material] to be used for the next pass. This renders the object again using a different material.
[b]Note:[/b] This only applies to [StandardMaterial3D]s and [ShaderMaterial]s with type "Spatial".
</member>
- <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority" default="0">
+ <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority">
Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.
[b]Note:[/b] This only applies to [StandardMaterial3D]s and [ShaderMaterial]s with type "Spatial".
[b]Note:[/b] This only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).
diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml
index c5bfdcecd2..2b24901fe2 100644
--- a/doc/classes/Mesh.xml
+++ b/doc/classes/Mesh.xml
@@ -13,6 +13,89 @@
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
</tutorials>
<methods>
+ <method name="_get_aabb" qualifiers="virtual const">
+ <return type="AABB" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_blend_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_blend_shape_name" qualifiers="virtual const">
+ <return type="StringName" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_surface_count" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_blend_shape_name" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="index" type="int" />
+ <argument index="1" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_array_index_len" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_array_len" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_arrays" qualifiers="virtual const">
+ <return type="Array" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_blend_shape_arrays" qualifiers="virtual const">
+ <return type="Array" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_format" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_lods" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_material" qualifiers="virtual const">
+ <return type="Material" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_get_primitive_type" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_surface_set_material" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="index" type="int" />
+ <argument index="1" name="material" type="Material" />
+ <description>
+ </description>
+ </method>
<method name="create_convex_shape" qualifiers="const">
<return type="Shape3D" />
<argument index="0" name="clean" type="bool" default="true" />
@@ -93,7 +176,7 @@
</method>
</methods>
<members>
- <member name="lightmap_size_hint" type="Vector2i" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint" default="Vector2i(0, 0)">
+ <member name="lightmap_size_hint" type="Vector2i" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint">
Sets a hint to be used for lightmap resolution.
</member>
</members>
diff --git a/doc/classes/NativeExtension.xml b/doc/classes/NativeExtension.xml
index e5e11c1c95..ccdbb617ab 100644
--- a/doc/classes/NativeExtension.xml
+++ b/doc/classes/NativeExtension.xml
@@ -43,7 +43,9 @@
</constant>
<constant name="INITIALIZATION_LEVEL_SCENE" value="2" enum="InitializationLevel">
</constant>
- <constant name="INITIALIZATION_LEVEL_EDITOR" value="3" enum="InitializationLevel">
+ <constant name="INITIALIZATION_LEVEL_DRIVER" value="3" enum="InitializationLevel">
+ </constant>
+ <constant name="INITIALIZATION_LEVEL_EDITOR" value="4" enum="InitializationLevel">
</constant>
</constants>
</class>
diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml
index 3d3e139781..3319e5d822 100644
--- a/doc/classes/NodePath.xml
+++ b/doc/classes/NodePath.xml
@@ -5,21 +5,22 @@
</brief_description>
<description>
A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite2D:texture:size"[/code] would refer to the [code]size[/code] property of the [code]texture[/code] resource on the node named [code]"Sprite2D"[/code] which is a child of the other named nodes in the path.
- You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]@"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
+ You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]^"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
A [NodePath] is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties.
Some examples of NodePaths include the following:
[codeblock]
# No leading slash means it is relative to the current node.
- @"A" # Immediate child A
- @"A/B" # A's child B
- @"." # The current node.
- @".." # The parent node.
- @"../C" # A sibling node C.
+ ^"A" # Immediate child A
+ ^"A/B" # A's child B
+ ^"." # The current node.
+ ^".." # The parent node.
+ ^"../C" # A sibling node C.
# A leading slash means it is absolute from the SceneTree.
- @"/root" # Equivalent to get_tree().get_root().
- @"/root/Main" # If your main scene's root node were named "Main".
- @"/root/MyAutoload" # If you have an autoloaded node or scene.
+ ^"/root" # Equivalent to get_tree().get_root().
+ ^"/root/Main" # If your main scene's root node were named "Main".
+ ^"/root/MyAutoload" # If you have an autoloaded node or scene.
[/codeblock]
+ See also [StringName], which is a similar concept for general-purpose string interning.
[b]Note:[/b] In the editor, [NodePath] properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime.
</description>
<tutorials>
@@ -36,7 +37,7 @@
<return type="NodePath" />
<argument index="0" name="from" type="NodePath" />
<description>
- Constructs a [NodePath] as a copy of the given [NodePath].
+ Constructs a [NodePath] as a copy of the given [NodePath]. [code]NodePath("example")[/code] is equivalent to [code]^"example"[/code].
</description>
</constructor>
<constructor name="NodePath">
@@ -172,22 +173,12 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="NodePath" />
<description>
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="NodePath" />
<description>
</description>
diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml
index f65925f0f6..69e6d4b74c 100644
--- a/doc/classes/OptionButton.xml
+++ b/doc/classes/OptionButton.xml
@@ -74,6 +74,13 @@
Returns the text of the item at index [code]idx[/code].
</description>
</method>
+ <method name="get_item_tooltip" qualifiers="const">
+ <return type="String" />
+ <argument index="0" name="idx" type="int" />
+ <description>
+ Returns the tooltip of the item at index [code]idx[/code].
+ </description>
+ </method>
<method name="get_popup" qualifiers="const">
<return type="PopupMenu" />
<description>
@@ -156,6 +163,14 @@
Sets the text of the item at index [code]idx[/code].
</description>
</method>
+ <method name="set_item_tooltip">
+ <return type="void" />
+ <argument index="0" name="idx" type="int" />
+ <argument index="1" name="tooltip" type="String" />
+ <description>
+ Sets the tooltip of the item at index [code]idx[/code].
+ </description>
+ </method>
</methods>
<members>
<member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" overrides="BaseButton" enum="BaseButton.ActionMode" default="0" />
diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml
index be51b1dcf8..a0e67bfa63 100644
--- a/doc/classes/PackedByteArray.xml
+++ b/doc/classes/PackedByteArray.xml
@@ -418,11 +418,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedByteArray" />
<description>
</description>
@@ -435,11 +430,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedByteArray" />
<description>
</description>
diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml
index f98c5c37e4..d1a00b32b1 100644
--- a/doc/classes/PackedColorArray.xml
+++ b/doc/classes/PackedColorArray.xml
@@ -154,11 +154,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedColorArray" />
<description>
</description>
@@ -171,11 +166,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedColorArray" />
<description>
</description>
diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml
index 393af5f6c4..b351058346 100644
--- a/doc/classes/PackedFloat32Array.xml
+++ b/doc/classes/PackedFloat32Array.xml
@@ -157,11 +157,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedFloat32Array" />
<description>
</description>
@@ -174,11 +169,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedFloat32Array" />
<description>
</description>
diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml
index 5a80d7b2e9..b4ffa295bd 100644
--- a/doc/classes/PackedFloat64Array.xml
+++ b/doc/classes/PackedFloat64Array.xml
@@ -157,11 +157,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedFloat64Array" />
<description>
</description>
@@ -174,11 +169,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedFloat64Array" />
<description>
</description>
diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml
index 17085a9626..b34deb518a 100644
--- a/doc/classes/PackedInt32Array.xml
+++ b/doc/classes/PackedInt32Array.xml
@@ -157,11 +157,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedInt32Array" />
<description>
</description>
@@ -174,11 +169,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedInt32Array" />
<description>
</description>
diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml
index 066bc05f54..6a99db778c 100644
--- a/doc/classes/PackedInt64Array.xml
+++ b/doc/classes/PackedInt64Array.xml
@@ -157,11 +157,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedInt64Array" />
<description>
</description>
@@ -174,11 +169,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedInt64Array" />
<description>
</description>
diff --git a/doc/classes/PackedScene.xml b/doc/classes/PackedScene.xml
index 1a1a7f8333..821fc1ae95 100644
--- a/doc/classes/PackedScene.xml
+++ b/doc/classes/PackedScene.xml
@@ -82,7 +82,7 @@
Returns [code]true[/code] if the scene file has nodes.
</description>
</method>
- <method name="get_state">
+ <method name="get_state" qualifiers="const">
<return type="SceneState" />
<description>
Returns the [code]SceneState[/code] representing the scene file contents.
diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml
index 3cf43ecb28..29c72f62de 100644
--- a/doc/classes/PackedStringArray.xml
+++ b/doc/classes/PackedStringArray.xml
@@ -155,11 +155,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedStringArray" />
<description>
</description>
@@ -172,11 +167,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedStringArray" />
<description>
</description>
diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml
index 9abc366702..cd78f29595 100644
--- a/doc/classes/PackedVector2Array.xml
+++ b/doc/classes/PackedVector2Array.xml
@@ -155,11 +155,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedVector2Array" />
<description>
</description>
@@ -178,11 +173,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedVector2Array" />
<description>
</description>
diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml
index ff9fc6a757..9ae4073fdf 100644
--- a/doc/classes/PackedVector3Array.xml
+++ b/doc/classes/PackedVector3Array.xml
@@ -154,11 +154,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="PackedVector3Array" />
<description>
</description>
@@ -177,11 +172,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="PackedVector3Array" />
<description>
</description>
diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml
index 1ce21d96e1..885bedbc04 100644
--- a/doc/classes/ParticlesMaterial.xml
+++ b/doc/classes/ParticlesMaterial.xml
@@ -114,7 +114,7 @@
True if the interaction with particle attractors is enabled.
</member>
<member name="collision_bounce" type="float" setter="set_collision_bounce" getter="get_collision_bounce" default="0.0">
- Collision bouncyness.
+ Collision bounciness.
</member>
<member name="collision_enabled" type="bool" setter="set_collision_enabled" getter="is_collision_enabled" default="false">
True if collisions are enabled for this particle system.
@@ -325,19 +325,22 @@
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
Particles will be emitted in the volume of a sphere.
</constant>
- <constant name="EMISSION_SHAPE_BOX" value="2" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_SPHERE_SURFACE" value="2" enum="EmissionShape">
+ Particles will be emitted on the surface of a sphere.
+ </constant>
+ <constant name="EMISSION_SHAPE_BOX" value="3" enum="EmissionShape">
Particles will be emitted in the volume of a box.
</constant>
- <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_POINTS" value="4" enum="EmissionShape">
Particles will be emitted at a position determined by sampling a random point on the [member emission_point_texture]. Particle color will be modulated by [member emission_color_texture].
</constant>
- <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="5" enum="EmissionShape">
Particles will be emitted at a position determined by sampling a random point on the [member emission_point_texture]. Particle velocity and rotation will be set based on [member emission_normal_texture]. Particle color will be modulated by [member emission_color_texture].
</constant>
- <constant name="EMISSION_SHAPE_RING" value="5" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_RING" value="6" enum="EmissionShape">
Particles will be emitted in a ring or cylinder.
</constant>
- <constant name="EMISSION_SHAPE_MAX" value="6" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_MAX" value="7" enum="EmissionShape">
Represents the size of the [enum EmissionShape] enum.
</constant>
<constant name="SUB_EMITTER_DISABLED" value="0" enum="SubEmitterMode">
diff --git a/doc/classes/PhysicalBone3D.xml b/doc/classes/PhysicalBone3D.xml
index e7c702aefb..7e8cc91766 100644
--- a/doc/classes/PhysicalBone3D.xml
+++ b/doc/classes/PhysicalBone3D.xml
@@ -7,6 +7,13 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_integrate_forces" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="state" type="PhysicsDirectBodyState3D" />
+ <description>
+ Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default, it works in addition to the usual physics behavior, but the [member custom_integrator] property allows you to disable the default behavior and do fully custom force integration for a body.
+ </description>
+ </method>
<method name="apply_central_impulse">
<return type="void" />
<argument index="0" name="impulse" type="Vector3" />
@@ -44,6 +51,9 @@
<member name="angular_damp_mode" type="int" setter="set_angular_damp_mode" getter="get_angular_damp_mode" enum="PhysicalBone3D.DampMode" default="0">
Defines how [member angular_damp] is applied. See [enum DampMode] for possible values.
</member>
+ <member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity" default="Vector3(0, 0, 0)">
+ The PhysicalBone3D's rotational velocity in [i]radians[/i] per second.
+ </member>
<member name="body_offset" type="Transform3D" setter="set_body_offset" getter="get_body_offset" default="Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)">
Sets the body's transform.
</member>
@@ -53,6 +63,9 @@
<member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true">
If [code]true[/code], the body is deactivated when there is no movement, so it will not take part in the simulation until it is awakened by an external force.
</member>
+ <member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator" default="false">
+ If [code]true[/code], internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined.
+ </member>
<member name="friction" type="float" setter="set_friction" getter="get_friction" default="1.0">
The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] (max friction).
</member>
@@ -75,6 +88,9 @@
<member name="linear_damp_mode" type="int" setter="set_linear_damp_mode" getter="get_linear_damp_mode" enum="PhysicalBone3D.DampMode" default="0">
Defines how [member linear_damp] is applied. See [enum DampMode] for possible values.
</member>
+ <member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity" default="Vector3(0, 0, 0)">
+ The body's linear velocity in units per second. Can be used sporadically, but [b]don't set this every frame[/b], because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state.
+ </member>
<member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0">
The body's mass.
</member>
diff --git a/doc/classes/PhysicsDirectBodyState3DExtension.xml b/doc/classes/PhysicsDirectBodyState3DExtension.xml
new file mode 100644
index 0000000000..f0659f8f1b
--- /dev/null
+++ b/doc/classes/PhysicsDirectBodyState3DExtension.xml
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsDirectBodyState3DExtension" inherits="PhysicsDirectBodyState3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_add_constant_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_central_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="impulse" type="Vector3" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_torque_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_angular_velocity" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_of_mass" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_of_mass_local" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constant_force" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constant_torque" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_id" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_object" qualifiers="virtual const">
+ <return type="Object" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_shape" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_velocity_at_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_count" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_impulse" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_normal" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_shape" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_inverse_inertia" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_inverse_mass" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_linear_velocity" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_principal_inertia_axes" qualifiers="virtual const">
+ <return type="Basis" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_space_state" qualifiers="virtual">
+ <return type="PhysicsDirectSpaceState3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_step" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_angular_damp" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_gravity" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_linear_damp" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_velocity_at_local_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="local_position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_integrate_forces" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_sleeping" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_angular_velocity" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="velocity" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_linear_velocity" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="velocity" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_sleep_state" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="enabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsDirectSpaceState3DExtension.xml b/doc/classes/PhysicsDirectSpaceState3DExtension.xml
new file mode 100644
index 0000000000..f150907963
--- /dev/null
+++ b/doc/classes/PhysicsDirectSpaceState3DExtension.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsDirectSpaceState3DExtension" inherits="PhysicsDirectSpaceState3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_cast_motion" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="closest_safe" type="float*" />
+ <argument index="8" name="closest_unsafe" type="float*" />
+ <argument index="9" name="info" type="PhysicsServer3DExtensionShapeRestInfo*" />
+ <description>
+ </description>
+ </method>
+ <method name="_collide_shape" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="results" type="void*" />
+ <argument index="8" name="max_results" type="int" />
+ <argument index="9" name="result_count" type="int32_t*" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_closest_point_to_object_volume" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="object" type="RID" />
+ <argument index="1" name="point" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_point" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="position" type="Vector3" />
+ <argument index="1" name="collision_mask" type="int" />
+ <argument index="2" name="collide_with_bodies" type="bool" />
+ <argument index="3" name="collide_with_areas" type="bool" />
+ <argument index="4" name="results" type="PhysicsServer3DExtensionShapeResult*" />
+ <argument index="5" name="max_results" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_ray" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="from" type="Vector3" />
+ <argument index="1" name="to" type="Vector3" />
+ <argument index="2" name="collision_mask" type="int" />
+ <argument index="3" name="collide_with_bodies" type="bool" />
+ <argument index="4" name="collide_with_areas" type="bool" />
+ <argument index="5" name="hit_from_inside" type="bool" />
+ <argument index="6" name="hit_back_faces" type="bool" />
+ <argument index="7" name="result" type="PhysicsServer3DExtensionRayResult*" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_shape" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="result_count" type="PhysicsServer3DExtensionShapeResult*" />
+ <argument index="8" name="max_results" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_rest_info" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="rest_info" type="PhysicsServer3DExtensionShapeRestInfo*" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer3DExtension.xml b/doc/classes/PhysicsServer3DExtension.xml
new file mode 100644
index 0000000000..795f5b86dd
--- /dev/null
+++ b/doc/classes/PhysicsServer3DExtension.xml
@@ -0,0 +1,897 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer3DExtension" inherits="PhysicsServer3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_area_add_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape" type="RID" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <argument index="3" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_attach_object_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_clear_shapes" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_object_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_param" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_remove_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_area_monitor_callback" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="callback" type="Callable" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_monitor_callback" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="callback" type="Callable" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_monitorable" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="monitorable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter" />
+ <argument index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_ray_pickable" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape_disabled" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_space" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="excepted_body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape" type="RID" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <argument index="3" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_central_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="impulse" type="Vector3" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_torque_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_attach_object_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_clear_shapes" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_layer" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_mask" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_constant_force" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_constant_torque" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_direct_state" qualifiers="virtual">
+ <return type="PhysicsDirectBodyState3D" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_max_contacts_reported" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_mode" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer3D.BodyMode" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_object_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_param" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_state" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_axis_locked" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_continuous_collision_detection_enabled" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_omitting_force_integration" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_remove_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="excepted_body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_remove_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_reset_mass_properties" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_axis_lock" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis" />
+ <argument index="2" name="lock" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_axis_velocity" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="axis_velocity" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_enable_continuous_collision_detection" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_force_integration_callback" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="callable" type="Callable" />
+ <argument index="2" name="userdata" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_max_contacts_reported" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="amount" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_mode" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="mode" type="int" enum="PhysicsServer3D.BodyMode" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_omit_force_integration" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter" />
+ <argument index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_ray_pickable" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_disabled" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_space" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_state" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" />
+ <argument index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_test_motion" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="from" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="max_collisions" type="int" />
+ <argument index="5" name="collide_separation_ray" type="bool" />
+ <argument index="6" name="result" type="PhysicsServer3DExtensionMotionResult*" />
+ <description>
+ </description>
+ </method>
+ <method name="_box_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_capsule_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_concave_polygon_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_cone_twist_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_cone_twist_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_convex_polygon_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_custom_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_cylinder_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_free_rid" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="rid" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_get_flag" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_set_flag" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag" />
+ <argument index="3" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam" />
+ <argument index="3" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_process_info" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="process_info" type="int" enum="PhysicsServer3D.ProcessInfo" />
+ <description>
+ </description>
+ </method>
+ <method name="_heightmap_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_get_flag" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_set_flag" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag" />
+ <argument index="2" name="enabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_clear" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_get_solver_priority" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_get_type" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer3D.JointType" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_cone_twist" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_ref_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_ref_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_generic_6dof" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_ref_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_ref_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_hinge" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="hinge_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="hinge_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_pin" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_A" type="Vector3" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_B" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_slider" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_ref_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_ref_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_set_solver_priority" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="priority" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_local_a" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_local_b" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_local_a" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="local_A" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_local_b" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="local_B" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_separation_ray_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_active" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="active" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_data" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_type" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer3D.ShapeType" />
+ <argument index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_set_data" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="shape" type="RID" />
+ <argument index="1" name="data" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_slider_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_slider_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_bounds" qualifiers="virtual const">
+ <return type="AABB" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_direct_state" qualifiers="virtual">
+ <return type="PhysicsDirectSpaceState3D" />
+ <argument index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="space" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_is_active" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_active" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="space" type="RID" />
+ <argument index="1" name="active" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="space" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_sphere_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_world_boundary_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer3DRenderingServerHandler.xml b/doc/classes/PhysicsServer3DRenderingServerHandler.xml
new file mode 100644
index 0000000000..a40a2dd1c6
--- /dev/null
+++ b/doc/classes/PhysicsServer3DRenderingServerHandler.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer3DRenderingServerHandler" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_set_aabb" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="aabb" type="AABB" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_normal" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="vertex_id" type="int" />
+ <argument index="1" name="normals" type="const void*" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_vertex" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="vertex_id" type="int" />
+ <argument index="1" name="vertices" type="const void*" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index f037b0bf1e..a42ceba777 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -173,11 +173,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Plane" />
<description>
Returns [code]true[/code] if the planes are not equal.
@@ -186,11 +181,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Plane" />
<description>
Returns [code]true[/code] if the planes are exactly equal.
diff --git a/doc/classes/Popup.xml b/doc/classes/Popup.xml
index 06efadb071..3fcf0a9b8f 100644
--- a/doc/classes/Popup.xml
+++ b/doc/classes/Popup.xml
@@ -4,15 +4,13 @@
Popup is a base window container for popup-like subwindows.
</brief_description>
<description>
- Popup is a base window container for popup-like subwindows. It's a modal by default (see [member close_on_parent_focus]) and has helpers for custom popup behavior.
+ Popup is a base window container for popup-like subwindows. It's a modal by default (see [member popup_window]) and has helpers for custom popup behavior.
</description>
<tutorials>
</tutorials>
<members>
<member name="borderless" type="bool" setter="set_flag" getter="get_flag" overrides="Window" default="true" />
- <member name="close_on_parent_focus" type="bool" setter="set_close_on_parent_focus" getter="get_close_on_parent_focus" default="true">
- If true, the [Popup] will close when its parent [Window] is focused.
- </member>
+ <member name="popup_window" type="bool" setter="set_flag" getter="get_flag" overrides="Window" default="true" />
<member name="transient" type="bool" setter="set_transient" getter="is_transient" overrides="Window" default="true" />
<member name="unresizable" type="bool" setter="set_flag" getter="get_flag" overrides="Window" default="true" />
<member name="visible" type="bool" setter="set_visible" getter="is_visible" overrides="Window" default="false" />
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index b64c392357..4bcfc3c726 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -7,6 +7,7 @@
[PopupMenu] is a modal window used to display a list of options. They are popular in toolbars or context menus.
The size of a [PopupMenu] can be limited by using [member Window.max_size]. If the height of the list of items is larger than the maximum height of the [PopupMenu], a [ScrollContainer] within the popup will allow the user to scroll the contents.
If no maximum size is set, or if it is set to 0, the [PopupMenu] height will be limited by its parent rect.
+ All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml
index d0136e389a..7046a21f68 100644
--- a/doc/classes/PrimitiveMesh.xml
+++ b/doc/classes/PrimitiveMesh.xml
@@ -9,6 +9,11 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_create_mesh_array" qualifiers="virtual const">
+ <return type="Array" />
+ <description>
+ </description>
+ </method>
<method name="get_mesh_arrays" qualifiers="const">
<return type="Array" />
<description>
@@ -29,10 +34,10 @@
</method>
</methods>
<members>
- <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb" default="AABB(0, 0, 0, 0, 0, 0)">
+ <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb">
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
</member>
- <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces" default="false">
+ <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces">
If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.
This gives the same result as using [constant BaseMaterial3D.CULL_FRONT] in [member BaseMaterial3D.cull_mode].
</member>
diff --git a/doc/classes/ProceduralSkyMaterial.xml b/doc/classes/ProceduralSkyMaterial.xml
index 2b15508119..bf33232406 100644
--- a/doc/classes/ProceduralSkyMaterial.xml
+++ b/doc/classes/ProceduralSkyMaterial.xml
@@ -23,6 +23,12 @@
<member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color(0.6463, 0.6558, 0.6708, 1)">
Color of the ground at the horizon. Blends with [member ground_bottom_color].
</member>
+ <member name="sky_cover" type="Texture2D" setter="set_sky_cover" getter="get_sky_cover">
+ The sky cover texture to use. This texture must use an equirectangular projection (similar to [PanoramaSkyMaterial]). The texture's colors will be [i]added[/i] to the existing sky color, and will be multiplied by [member sky_energy] and [member sky_cover_modulate]. This is mainly suited to displaying stars at night, but it can also be used to display clouds at day or night (with a non-physically-accurate look).
+ </member>
+ <member name="sky_cover_modulate" type="Color" setter="set_sky_cover_modulate" getter="get_sky_cover_modulate" default="Color(1, 1, 1, 1)">
+ The tint to apply to the [member sky_cover] texture. This can be used to change the sky cover's colors or opacity independently of the sky energy, which is useful for day/night or weather transitions. Only effective if a texture is defined in [member sky_cover].
+ </member>
<member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.15">
How quickly the [member sky_horizon_color] fades into the [member sky_top_color].
</member>
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index 60b66a2493..1e9ab7c375 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -12,8 +12,6 @@
<member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible" default="true">
If [code]true[/code], the fill percentage is displayed on the bar.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" />
- <member name="step" type="float" setter="set_step" getter="get_step" overrides="Range" default="0.01" />
</members>
<theme_items>
<theme_item name="font_color" data_type="color" type="Color" default="Color(0.95, 0.95, 0.95, 1)">
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 0a695414ee..a8b4129061 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -226,6 +226,9 @@
The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. The window title will be set to match the project name automatically on startup.
[b]Note:[/b] Changing this value will also change the user data folder's path if [member application/config/use_custom_user_dir] is [code]false[/code]. After renaming the project, you will no longer be able to access existing data in [code]user://[/code] unless you rename the old folder to match the new project name. See [url=$DOCS_URL/tutorials/io/data_paths.html]Data paths[/url] in the documentation for more information.
</member>
+ <member name="application/config/name_localized" type="Dictionary" setter="" getter="" default="{}">
+ Translations of the project's name. This setting is used by OS tools to translate application name on Android, iOS and macOS.
+ </member>
<member name="application/config/project_settings_override" type="String" setter="" getter="" default="&quot;&quot;">
Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. See "Overriding" in the [ProjectSettings] class description at the top for more information.
[b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings.
@@ -1493,7 +1496,7 @@
</member>
<member name="physics/3d/physics_engine" type="String" setter="" getter="" default="&quot;DEFAULT&quot;">
Sets which physics engine to use for 3D physics.
- "DEFAULT" is currently the [url=https://bulletphysics.org]Bullet[/url] physics engine. The "GodotPhysics3D" engine is still supported as an alternative.
+ "DEFAULT" and "GodotPhysics3D" are the same, as there is currently no alternative 3D physics server implemented.
</member>
<member name="physics/3d/run_on_separate_thread" type="bool" setter="" getter="" default="false">
If [code]true[/code], the 3D physics server runs on a separate thread, making better use of multi-core CPUs. If [code]false[/code], the 3D physics server runs on the main thread. Running the physics server on a separate thread can increase performance, but restricts API access to only physics process.
@@ -1652,11 +1655,8 @@
<member name="rendering/environment/ssao/fadeout_to" type="float" setter="" getter="" default="300.0">
Distance at which the screen-space ambient occlusion is fully faded out. Use this hide ambient occlusion at great distances.
</member>
- <member name="rendering/environment/ssao/half_size" type="bool" setter="" getter="" default="false">
- If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details.
- </member>
- <member name="rendering/environment/ssao/half_size.mobile" type="bool" setter="" getter="" default="true">
- Lower-end override for [member rendering/environment/ssao/half_size] on mobile devices, due to performance concerns.
+ <member name="rendering/environment/ssao/half_size" type="bool" setter="" getter="" default="true">
+ If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details. If [code]false[/code], screen-space ambient occlusion will be rendered at full size.
</member>
<member name="rendering/environment/ssao/quality" type="int" setter="" getter="" default="2">
Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance. Setting to [code]ULTRA[/code] will use the [member rendering/environment/ssao/adaptive_target] setting.
@@ -1813,12 +1813,6 @@
</member>
<member name="rendering/shader_compiler/shader_cache/use_zstd_compression" type="bool" setter="" getter="" default="true">
</member>
- <member name="rendering/shading/overrides/force_blinn_over_ggx" type="bool" setter="" getter="" default="false">
- If [code]true[/code], uses faster but lower-quality Blinn model to generate blurred reflections instead of the GGX model.
- </member>
- <member name="rendering/shading/overrides/force_blinn_over_ggx.mobile" type="bool" setter="" getter="" default="true">
- Lower-end override for [member rendering/shading/overrides/force_blinn_over_ggx] on mobile devices, due to performance concerns or driver support.
- </member>
<member name="rendering/shading/overrides/force_lambert_over_burley" type="bool" setter="" getter="" default="false">
If [code]true[/code], uses faster but lower-quality Lambert material lighting model instead of Burley.
</member>
@@ -1921,8 +1915,23 @@
</member>
<member name="rendering/vulkan/staging_buffer/texture_upload_region_size_px" type="int" setter="" getter="" default="64">
</member>
- <member name="rendering/xr/enabled" type="bool" setter="" getter="" default="false">
- If [code]true[/code], XR support is enabled in Godot, this ensures required shaders are compiled.
+ <member name="xr/openxr/default_action_map" type="String" setter="" getter="" default="&quot;res://default_action_map.tres&quot;">
+ Action map configuration to load by default.
+ </member>
+ <member name="xr/openxr/enabled" type="bool" setter="" getter="" default="false">
+ If [code]true[/code] Godot will setup and initialise OpenXR on startup.
+ </member>
+ <member name="xr/openxr/form_factor" type="int" setter="" getter="" default="&quot;0&quot;">
+ Specify whether OpenXR should be configured for an HMD or a hand held device.
+ </member>
+ <member name="xr/openxr/reference_space" type="int" setter="" getter="" default="&quot;1&quot;">
+ Specify the default reference space.
+ </member>
+ <member name="xr/openxr/view_configuration" type="int" setter="" getter="" default="&quot;1&quot;">
+ Specify the view configuration with which to configure OpenXR settting up either Mono or Stereo rendering.
+ </member>
+ <member name="xr/shaders/enabled" type="bool" setter="" getter="" default="false">
+ If [code]true[/code], Godot will compile shaders required for XR.
</member>
</members>
</class>
diff --git a/doc/classes/Quaternion.xml b/doc/classes/Quaternion.xml
index c94b649b58..48e6317b11 100644
--- a/doc/classes/Quaternion.xml
+++ b/doc/classes/Quaternion.xml
@@ -91,6 +91,11 @@
Returns the dot product of two quaternions.
</description>
</method>
+ <method name="exp" qualifiers="const">
+ <return type="Quaternion" />
+ <description>
+ </description>
+ </method>
<method name="get_angle" qualifiers="const">
<return type="float" />
<description>
@@ -138,6 +143,11 @@
Returns the length of the quaternion, squared.
</description>
</method>
+ <method name="log" qualifiers="const">
+ <return type="Quaternion" />
+ <description>
+ </description>
+ </method>
<method name="normalized" qualifiers="const">
<return type="Quaternion" />
<description>
@@ -188,11 +198,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Quaternion" />
<description>
Returns [code]true[/code] if the quaternions are not equal.
@@ -257,11 +262,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Quaternion" />
<description>
Returns [code]true[/code] if the quaternions are exactly equal.
diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml
index 6888c1f56c..39be605e1b 100644
--- a/doc/classes/RID.xml
+++ b/doc/classes/RID.xml
@@ -40,11 +40,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
@@ -63,11 +58,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml
index 70a9912b76..9743d969ca 100644
--- a/doc/classes/Range.xml
+++ b/doc/classes/Range.xml
@@ -9,49 +9,56 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_value_changed" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="" type="float" />
+ <description>
+ Called when the [Range]'s value is changed (following the same conditions as [signal value_changed]).
+ </description>
+ </method>
<method name="share">
<return type="void" />
<argument index="0" name="with" type="Node" />
<description>
- Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
+ Binds two [Range]s together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
</description>
</method>
<method name="unshare">
<return type="void" />
<description>
- Stops range from sharing its member variables with any other.
+ Stops the [Range] from sharing its member variables with any other.
</description>
</method>
</methods>
<members>
- <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed" default="false">
+ <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed">
If [code]true[/code], [member value] may be greater than [member max_value].
</member>
- <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed" default="false">
+ <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed">
If [code]true[/code], [member value] may be less than [member min_value].
</member>
- <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp" default="false">
+ <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp">
If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly.
</member>
- <member name="max_value" type="float" setter="set_max" getter="get_max" default="100.0">
+ <member name="max_value" type="float" setter="set_max" getter="get_max">
Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code].
</member>
- <member name="min_value" type="float" setter="set_min" getter="get_min" default="0.0">
+ <member name="min_value" type="float" setter="set_min" getter="get_min">
Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code].
</member>
- <member name="page" type="float" setter="set_page" getter="get_page" default="0.0">
+ <member name="page" type="float" setter="set_page" getter="get_page">
Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code].
</member>
<member name="ratio" type="float" setter="set_as_ratio" getter="get_as_ratio">
The value mapped between 0 and 1.
</member>
- <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values" default="false">
+ <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values">
If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer.
</member>
- <member name="step" type="float" setter="set_step" getter="get_step" default="1.0">
+ <member name="step" type="float" setter="set_step" getter="get_step">
If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer.
</member>
- <member name="value" type="float" setter="set_value" getter="get_value" default="0.0">
+ <member name="value" type="float" setter="set_value" getter="get_value">
Range's current value.
</member>
</members>
@@ -64,7 +71,8 @@
<signal name="value_changed">
<argument index="0" name="value" type="float" />
<description>
- Emitted when [member value] changes.
+ Emitted when [member value] changes. When used on a [Slider], this is called continuously while dragging (potentially every frame). If you are performing an expensive operation in a function connected to [signal value_changed], consider using a [i]debouncing[/i] [Timer] to call the function less often.
+ [b]Note:[/b] Unlike signals such as [signal LineEdit.text_changed], [signal value_changed] is also emitted when [code]value[/code] is set directly via code.
</description>
</signal>
</signals>
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index a975382bfa..e4b66a9d53 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -189,11 +189,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Rect2" />
<description>
Returns [code]true[/code] if the rectangles are not equal.
@@ -209,11 +204,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Rect2" />
<description>
Returns [code]true[/code] if the rectangles are exactly equal.
diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml
index 78ab4b9103..c9ae685a15 100644
--- a/doc/classes/Rect2i.xml
+++ b/doc/classes/Rect2i.xml
@@ -153,7 +153,6 @@
<argument index="0" name="b" type="Rect2i" />
<description>
Returns [code]true[/code] if the [Rect2i] overlaps with [code]b[/code] (i.e. they have at least one point in common).
- If [code]include_borders[/code] is [code]true[/code], they will also be considered overlapping if their borders touch, even without intersection.
</description>
</method>
<method name="merge" qualifiers="const">
@@ -179,11 +178,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Rect2i" />
<description>
Returns [code]true[/code] if the rectangles are not equal.
@@ -191,11 +185,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Rect2i" />
<description>
Returns [code]true[/code] if the rectangles are equal.
diff --git a/doc/classes/RectangleShape2D.xml b/doc/classes/RectangleShape2D.xml
index cc3da8a789..124d752ae0 100644
--- a/doc/classes/RectangleShape2D.xml
+++ b/doc/classes/RectangleShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="RectangleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Rectangle shape for 2D collisions.
+ Rectangle shape resource for 2D physics.
</brief_description>
<description>
- Rectangle shape for 2D collisions. This shape is useful for modeling box-like 2D objects.
+ 2D rectangle shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. This shape is useful for modeling box-like 2D objects.
+ [b]Performance:[/b] Being a primitive collision shape, [RectangleShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]).
</description>
<tutorials>
<link title="2D Pong Demo">https://godotengine.org/asset-library/asset/121</link>
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index bb8aa8c9db..f1a15a08dd 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -149,6 +149,17 @@
Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method.
</description>
</method>
+ <method name="canvas_item_add_animation_slice">
+ <return type="void" />
+ <argument index="0" name="item" type="RID" />
+ <argument index="1" name="animation_length" type="float" />
+ <argument index="2" name="slice_begin" type="float" />
+ <argument index="3" name="slice_end" type="float" />
+ <argument index="4" name="offset" type="float" default="0.0" />
+ <description>
+ Subsequent drawing commands will be ignored unless they fall within the specified animation slice. This is a faster way to implement animations that loop on background rather than redrawing constantly.
+ </description>
+ </method>
<method name="canvas_item_add_circle">
<return type="void" />
<argument index="0" name="item" type="RID" />
@@ -1605,10 +1616,10 @@
Sets the shadow mode for this directional light. Equivalent to [member DirectionalLight3D.directional_shadow_mode]. See [enum LightDirectionalShadowMode] for options.
</description>
</method>
- <method name="light_directional_set_sky_only">
+ <method name="light_directional_set_sky_mode">
<return type="void" />
<argument index="0" name="light" type="RID" />
- <argument index="1" name="enable" type="bool" />
+ <argument index="1" name="mode" type="int" enum="RenderingServer.LightDirectionalSkyMode" />
<description>
If [code]true[/code], this light will not be used for anything except sky shaders. Use this for lights that impact your sky shader that you may want to hide from affecting the rest of the scene. For example, you may want to enable this when the sun in your sky shader falls below the horizon.
</description>
@@ -1650,6 +1661,17 @@
Sets the cull mask for this Light3D. Lights only affect objects in the selected layers. Equivalent to [member Light3D.light_cull_mask].
</description>
</method>
+ <method name="light_set_distance_fade">
+ <return type="void" />
+ <argument index="0" name="decal" type="RID" />
+ <argument index="1" name="enabled" type="bool" />
+ <argument index="2" name="begin" type="float" />
+ <argument index="3" name="shadow" type="float" />
+ <argument index="4" name="length" type="float" />
+ <description>
+ Sets the distance fade for this Light3D. This acts as a form of level of detail (LOD) and can be used to improve performance. Equivalent to [member Light3D.distance_fade_enabled], [member Light3D.distance_fade_begin], [member Light3D.distance_fade_shadow], and [member Light3D.distance_fade_length].
+ </description>
+ </method>
<method name="light_set_max_sdfgi_cascade">
<return type="void" />
<argument index="0" name="light" type="RID" />
@@ -1698,14 +1720,6 @@
If [code]true[/code], light will cast shadows. Equivalent to [member Light3D.shadow_enabled].
</description>
</method>
- <method name="light_set_shadow_color">
- <return type="void" />
- <argument index="0" name="light" type="RID" />
- <argument index="1" name="color" type="Color" />
- <description>
- Sets the color of the shadow cast by the light. Equivalent to [member Light3D.shadow_color].
- </description>
- </method>
<method name="lightmap_create">
<return type="RID" />
<description>
@@ -3781,6 +3795,15 @@
<constant name="LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS" value="2" enum="LightDirectionalShadowMode">
Use 4 splits for shadow projection when using directional light.
</constant>
+ <constant name="LIGHT_DIRECTIONAL_SKY_MODE_LIGHT_AND_SKY" value="0" enum="LightDirectionalSkyMode">
+ Use DirectionalLight3D in both sky rendering and scene lighting.
+ </constant>
+ <constant name="LIGHT_DIRECTIONAL_SKY_MODE_LIGHT_ONLY" value="1" enum="LightDirectionalSkyMode">
+ Only use DirectionalLight3D in scene lighting.
+ </constant>
+ <constant name="LIGHT_DIRECTIONAL_SKY_MODE_SKY_ONLY" value="2" enum="LightDirectionalSkyMode">
+ Only use DirectionalLight3D in sky rendering.
+ </constant>
<constant name="SHADOW_QUALITY_HARD" value="0" enum="ShadowQuality">
Lowest shadow filtering quality (fastest). Soft shadows are not available with this quality setting, which means the [member Light3D.shadow_blur] property is ignored if [member Light3D.light_size] and [member Light3D.light_angular_distance] is [code]0.0[/code].
[b]Note:[/b] The variable shadow blur performed by [member Light3D.light_size] and [member Light3D.light_angular_distance] is still effective when using hard shadow filtering. In this case, [member Light3D.shadow_blur] [i]is[/i] taken into account. However, the results will not be blurred, instead the blur amount is treated as a maximum radius for the penumbra.
@@ -4146,13 +4169,17 @@
<constant name="ENV_TONE_MAPPER_ACES" value="3" enum="EnvironmentToneMapper">
Use the ACES tonemapper.
</constant>
- <constant name="ENV_SSR_ROUGNESS_QUALITY_DISABLED" value="0" enum="EnvironmentSSRRoughnessQuality">
+ <constant name="ENV_SSR_ROUGHNESS_QUALITY_DISABLED" value="0" enum="EnvironmentSSRRoughnessQuality">
+ Lowest quality of roughness filter for screen-space reflections. Rough materials will not have blurrier screen-space reflections compared to smooth (non-rough) materials. This is the fastest option.
</constant>
- <constant name="ENV_SSR_ROUGNESS_QUALITY_LOW" value="1" enum="EnvironmentSSRRoughnessQuality">
+ <constant name="ENV_SSR_ROUGHNESS_QUALITY_LOW" value="1" enum="EnvironmentSSRRoughnessQuality">
+ Low quality of roughness filter for screen-space reflections.
</constant>
- <constant name="ENV_SSR_ROUGNESS_QUALITY_MEDIUM" value="2" enum="EnvironmentSSRRoughnessQuality">
+ <constant name="ENV_SSR_ROUGHNESS_QUALITY_MEDIUM" value="2" enum="EnvironmentSSRRoughnessQuality">
+ Medium quality of roughness filter for screen-space reflections.
</constant>
- <constant name="ENV_SSR_ROUGNESS_QUALITY_HIGH" value="3" enum="EnvironmentSSRRoughnessQuality">
+ <constant name="ENV_SSR_ROUGHNESS_QUALITY_HIGH" value="3" enum="EnvironmentSSRRoughnessQuality">
+ High quality of roughness filter for screen-space reflections. This is the slowest option.
</constant>
<constant name="ENV_SSAO_QUALITY_VERY_LOW" value="0" enum="EnvironmentSSAOQuality">
Lowest quality of screen-space ambient occlusion.
diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml
index 0850d39015..b08b1540ab 100644
--- a/doc/classes/Resource.xml
+++ b/doc/classes/Resource.xml
@@ -12,6 +12,11 @@
<link title="When and how to avoid using nodes for everything">$DOCS_URL/tutorials/best_practices/node_alternatives.html</link>
</tutorials>
<methods>
+ <method name="_get_rid" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
<method name="duplicate" qualifiers="const">
<return type="Resource" />
<argument index="0" name="subresources" type="bool" default="false" />
diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml
index c516aec809..36b64f5a86 100644
--- a/doc/classes/ResourceFormatLoader.xml
+++ b/doc/classes/ResourceFormatLoader.xml
@@ -6,7 +6,7 @@
<description>
Godot loads resources in the editor or in exported games using ResourceFormatLoaders. They are queried automatically via the [ResourceLoader] singleton, or when a resource with internal dependencies is loaded. Each file type may load as a different resource type, so multiple ResourceFormatLoaders are registered in the engine.
Extending this class allows you to define your own loader. Be sure to respect the documented return types and values. You should give it a global class name with [code]class_name[/code] for it to be registered. Like built-in ResourceFormatLoaders, it will be called automatically when loading resources of its handled type(s). You may also implement a [ResourceFormatSaver].
- [b]Note:[/b] You can also extend [EditorImportPlugin] if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it's better to import [code].png[/code] textures as [code].stex[/code] ([StreamTexture2D]) first, so they can be loaded with better efficiency on the graphics card.
+ [b]Note:[/b] You can also extend [EditorImportPlugin] if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it's better to import [code].png[/code] textures as [code].ctex[/code] ([CompressedTexture2D]) first, so they can be loaded with better efficiency on the graphics card.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ResourceSaver.xml b/doc/classes/ResourceSaver.xml
index 3872db5ea9..a029fb9acf 100644
--- a/doc/classes/ResourceSaver.xml
+++ b/doc/classes/ResourceSaver.xml
@@ -21,15 +21,18 @@
<return type="int" enum="Error" />
<argument index="0" name="path" type="String" />
<argument index="1" name="resource" type="Resource" />
- <argument index="2" name="flags" type="int" enum="ResourceSaver.SaverFlags" default="0" />
+ <argument index="2" name="flags" type="int" default="0" />
<description>
Saves a resource to disk to the given path, using a [ResourceFormatSaver] that recognizes the resource object.
- The [code]flags[/code] bitmask can be specified to customize the save behavior.
+ The [code]flags[/code] bitmask can be specified to customize the save behavior using [enum SaverFlags] flags.
Returns [constant OK] on success.
</description>
</method>
</methods>
<constants>
+ <constant name="FLAG_NONE" value="0" enum="SaverFlags">
+ No resource saving option.
+ </constant>
<constant name="FLAG_RELATIVE_PATHS" value="1" enum="SaverFlags">
Save the resource with a path relative to the scene which uses it.
</constant>
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index 87bfb97fd3..e805d3469c 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -419,6 +419,7 @@
<member name="bbcode_enabled" type="bool" setter="set_use_bbcode" getter="is_using_bbcode" default="false">
If [code]true[/code], the label uses BBCode formatting.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="custom_effects" type="Array" setter="set_effects" getter="get_effects" default="[]">
The currently installed custom effects. This is an array of [RichTextEffect]s.
To add a custom effect, it's more convenient to use [method install_effect].
@@ -446,7 +447,6 @@
The range of characters to display, as a [float] between 0.0 and 1.0. When assigned an out of range value, it's the same as assigning 1.0.
[b]Note:[/b] Setting this property updates [member visible_characters] based on current [method get_total_character_count].
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="scroll_active" type="bool" setter="set_scroll_active" getter="is_scroll_active" default="true">
If [code]true[/code], the scrollbar is visible. Setting this to [code]false[/code] does not block scrolling completely. See [method scroll_to_line].
</member>
diff --git a/doc/classes/RigidDynamicBody2D.xml b/doc/classes/RigidDynamicBody2D.xml
index 696ad7a98e..087156989e 100644
--- a/doc/classes/RigidDynamicBody2D.xml
+++ b/doc/classes/RigidDynamicBody2D.xml
@@ -219,8 +219,8 @@
Emitted when one of this RigidDynamicBody2D's [Shape2D]s collides with another [PhysicsBody2D] or [TileMap]'s [Shape2D]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
[code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody2D] or [TileMap].
- [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="body_shape_exited">
@@ -232,8 +232,8 @@
Emitted when the collision between one of this RigidDynamicBody2D's [Shape2D]s and another [PhysicsBody2D] or [TileMap]'s [Shape2D]s ends. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
[code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody2D] or [TileMap].
- [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="sleeping_state_changed">
diff --git a/doc/classes/RigidDynamicBody3D.xml b/doc/classes/RigidDynamicBody3D.xml
index 5fd53a7638..285176b8b0 100644
--- a/doc/classes/RigidDynamicBody3D.xml
+++ b/doc/classes/RigidDynamicBody3D.xml
@@ -225,9 +225,8 @@
Emitted when one of this RigidDynamicBody3D's [Shape3D]s collides with another [PhysicsBody3D] or [GridMap]'s [Shape3D]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
[code]body_rid[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap].
- [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
- [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices.
+ [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="body_shape_exited">
@@ -239,9 +238,8 @@
Emitted when the collision between one of this RigidDynamicBody3D's [Shape3D]s and another [PhysicsBody3D] or [GridMap]'s [Shape3D]s ends. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
[code]body_rid[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [GridMap]s are detected if the Meshes have [Shape3D]s.
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap].
- [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
- [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
- [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices.
+ [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code].
</description>
</signal>
<signal name="sleeping_state_changed">
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index 288c35f159..f3dfc727b0 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -232,13 +232,6 @@
</member>
</members>
<signals>
- <signal name="files_dropped">
- <argument index="0" name="files" type="PackedStringArray" />
- <argument index="1" name="screen" type="int" />
- <description>
- Emitted when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated.
- </description>
- </signal>
<signal name="node_added">
<argument index="0" name="node" type="Node" />
<description>
diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml
index 266787c9c8..d0dd69408e 100644
--- a/doc/classes/ScrollBar.xml
+++ b/doc/classes/ScrollBar.xml
@@ -12,8 +12,6 @@
<member name="custom_step" type="float" setter="set_custom_step" getter="get_custom_step" default="-1.0">
Overrides the step used when clicking increment and decrement buttons or when using arrow keys when the [ScrollBar] is focused.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" />
- <member name="step" type="float" setter="set_step" getter="get_step" overrides="Range" default="0.0" />
</members>
<signals>
<signal name="scrolling">
diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml
index ea1d972d14..95255ed79f 100644
--- a/doc/classes/ScrollContainer.xml
+++ b/doc/classes/ScrollContainer.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
A ScrollContainer node meant to contain a [Control] child.
- ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.rect_min_size] of the Control relative to the ScrollContainer.
+ ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.minimum_size] of the Control relative to the ScrollContainer.
Works great with a [Panel] control. You can set [code]EXPAND[/code] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension).
</description>
<tutorials>
@@ -40,13 +40,13 @@
</method>
</methods>
<members>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="follow_focus" type="bool" setter="set_follow_focus" getter="is_following_focus" default="false">
If [code]true[/code], the ScrollContainer will automatically scroll to focused children (including indirect children) to make sure they are fully visible.
</member>
<member name="horizontal_scroll_mode" type="int" setter="set_horizontal_scroll_mode" getter="get_horizontal_scroll_mode" enum="ScrollContainer.ScrollMode" default="1">
Controls whether horizontal scrollbar can be used and when it should be visible. See [enum ScrollMode] for options.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="scroll_deadzone" type="int" setter="set_deadzone" getter="get_deadzone" default="0">
</member>
<member name="scroll_horizontal" type="int" setter="set_h_scroll" getter="get_h_scroll" default="0">
diff --git a/doc/classes/SegmentShape2D.xml b/doc/classes/SegmentShape2D.xml
index 8109886262..a1809301e5 100644
--- a/doc/classes/SegmentShape2D.xml
+++ b/doc/classes/SegmentShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SegmentShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Segment shape for 2D collisions.
+ Segment shape resource for 2D physics.
</brief_description>
<description>
- Segment shape for 2D collisions. Consists of two points, [code]a[/code] and [code]b[/code].
+ 2D segment shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. Consists of two points, [code]a[/code] and [code]b[/code].
+ [b]Performance:[/b] Being a primitive collision shape, [SegmentShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/SeparationRayShape2D.xml b/doc/classes/SeparationRayShape2D.xml
index 3e7a2857bf..d67c7b4cd9 100644
--- a/doc/classes/SeparationRayShape2D.xml
+++ b/doc/classes/SeparationRayShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SeparationRayShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Separation ray shape for 2D collisions.
+ Separation ray shape resource for 2D physics.
</brief_description>
<description>
- Separation ray shape for 2D collisions. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ 2D separation ray shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ [b]Performance:[/b] Being a primitive collision shape, [SeparationRayShape2D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/SeparationRayShape3D.xml b/doc/classes/SeparationRayShape3D.xml
index 028c3ba511..0fb4a07457 100644
--- a/doc/classes/SeparationRayShape3D.xml
+++ b/doc/classes/SeparationRayShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SeparationRayShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Separation ray shape for 3D collisions.
+ Separation ray shape resource for 3D physics.
</brief_description>
<description>
- Separation ray shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ 3D separation ray shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ [b]Performance:[/b] Being a primitive collision shape, [SeparationRayShape3D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml
index 1b67900607..c5855e30a4 100644
--- a/doc/classes/Signal.xml
+++ b/doc/classes/Signal.xml
@@ -99,22 +99,12 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Signal" />
<description>
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Signal" />
<description>
</description>
diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml
index 03f20b0aab..4139530db1 100644
--- a/doc/classes/Slider.xml
+++ b/doc/classes/Slider.xml
@@ -13,11 +13,9 @@
<member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true">
If [code]true[/code], the slider can be interacted with. If [code]false[/code], the value can be changed only by code.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
<member name="scrollable" type="bool" setter="set_scrollable" getter="is_scrollable" default="true">
If [code]true[/code], the value can be changed using the mouse wheel.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" />
<member name="tick_count" type="int" setter="set_ticks" getter="get_ticks" default="0">
Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers.
</member>
diff --git a/doc/classes/SphereShape3D.xml b/doc/classes/SphereShape3D.xml
index b5e9c9069b..63084f024e 100644
--- a/doc/classes/SphereShape3D.xml
+++ b/doc/classes/SphereShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SphereShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Sphere shape for 3D collisions.
+ Sphere shape resource for 3D collisions.
</brief_description>
<description>
- Sphere shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. This shape is useful for modeling sphere-like 3D objects.
+ 3D sphere shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. This shape is useful for modeling sphere-like 3D objects.
+ [b]Performance:[/b] Being a primitive collision shape, [SphereShape3D] is the fastest collision shape to check collisions against, as it only requires a distance check with the shape's origin.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/StreamCubemap.xml b/doc/classes/StreamCubemap.xml
deleted file mode 100644
index 61ab28ad41..0000000000
--- a/doc/classes/StreamCubemap.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamCubemap" inherits="StreamTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
- <brief_description>
- </brief_description>
- <description>
- </description>
- <tutorials>
- </tutorials>
-</class>
diff --git a/doc/classes/StreamCubemapArray.xml b/doc/classes/StreamCubemapArray.xml
deleted file mode 100644
index 98e10d9a47..0000000000
--- a/doc/classes/StreamCubemapArray.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamCubemapArray" inherits="StreamTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
- <brief_description>
- </brief_description>
- <description>
- </description>
- <tutorials>
- </tutorials>
-</class>
diff --git a/doc/classes/StreamTexture2DArray.xml b/doc/classes/StreamTexture2DArray.xml
deleted file mode 100644
index e78a23416c..0000000000
--- a/doc/classes/StreamTexture2DArray.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<class name="StreamTexture2DArray" inherits="StreamTextureLayered" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
- <brief_description>
- </brief_description>
- <description>
- </description>
- <tutorials>
- </tutorials>
-</class>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 4ff2d287a1..9a6155c8a8 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -49,7 +49,10 @@
<method name="bigrams" qualifiers="const">
<return type="PackedStringArray" />
<description>
- Returns the bigrams (pairs of consecutive letters) of this string.
+ Returns an array containing the bigrams (pairs of consecutive letters) of this string.
+ [codeblock]
+ print("Bigrams".bigrams()) # Prints "[Bi, ig, gr, ra, am, ms]"
+ [/codeblock]
</description>
</method>
<method name="bin_to_int" qualifiers="const">
@@ -101,6 +104,11 @@
<return type="String" />
<argument index="0" name="char" type="int" />
<description>
+ Directly converts an decimal integer to a unicode character. Tables of these characters can be found in various locations, for example [url=https://unicodelookup.com/]here.[/url]
+ [codeblock]
+ print(String.chr(65)) # Prints "A"
+ print(String.chr(129302)) # Prints "🤖" (robot face emoji)
+ [/codeblock]
</description>
</method>
<method name="contains" qualifiers="const">
@@ -265,6 +273,8 @@
<return type="String" />
<argument index="0" name="size" type="int" />
<description>
+ Converts an integer representing a number of bytes into a human-readable form.
+ Note that this output is in [url=https://en.wikipedia.org/wiki/Binary_prefix#IEC_prefixes]IEC prefix format[/url], and includes [code]B[/code], [code]KiB[/code], [code]MiB[/code], [code]GiB[/code], [code]TiB[/code], [code]PiB[/code], and [code]EiB[/code].
</description>
</method>
<method name="indent" qualifiers="const">
@@ -326,7 +336,14 @@
<method name="is_valid_float" qualifiers="const">
<return type="bool" />
<description>
- Returns [code]true[/code] if this string contains a valid float.
+ Returns [code]true[/code] if this string contains a valid float. This is inclusive of integers, and also supports exponents:
+ [codeblock]
+ print("1.7".is_valid_float()) # Prints "true"
+ print("24".is_valid_float()) # Prints "true"
+ print("7e3".is_valid_float()) # Prints "true"
+ print("24".is_valid_float()) # Prints "true"
+ print("Hello".is_valid_float()) # Prints "false"
+ [/codeblock]
</description>
</method>
<method name="is_valid_hex_number" qualifiers="const">
@@ -346,12 +363,24 @@
<return type="bool" />
<description>
Returns [code]true[/code] if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores ([code]_[/code]) and the first character may not be a digit.
+ [codeblock]
+ print("good_ident_1".is_valid_identifier()) # Prints "true"
+ print("1st_bad_ident".is_valid_identifier()) # Prints "false"
+ print("bad_ident_#2".is_valid_identifier()) # Prints "false"
+ [/codeblock]
</description>
</method>
<method name="is_valid_int" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if this string contains a valid integer.
+ [codeblock]
+ print("7".is_valid_int()) # Prints "true"
+ print("14.6".is_valid_int()) # Prints "false"
+ print("L".is_valid_int()) # Prints "false"
+ print("+3".is_valid_int()) # Prints "true"
+ print("-12".is_valid_int()) # Prints "true"
+ [/codeblock]
</description>
</method>
<method name="is_valid_ip_address" qualifiers="const">
@@ -485,12 +514,30 @@
[/codeblock]
</description>
</method>
+ <method name="num_int64" qualifiers="static">
+ <return type="String" />
+ <argument index="0" name="number" type="int" />
+ <argument index="1" name="base" type="int" default="10" />
+ <argument index="2" name="capitalize_hex" type="bool" default="false" />
+ <description>
+ Converts a signed [int] to a string representation of a number.
+ </description>
+ </method>
<method name="num_scientific" qualifiers="static">
<return type="String" />
<argument index="0" name="number" type="float" />
<description>
</description>
</method>
+ <method name="num_uint64" qualifiers="static">
+ <return type="String" />
+ <argument index="0" name="number" type="int" />
+ <argument index="1" name="base" type="int" default="10" />
+ <argument index="2" name="capitalize_hex" type="bool" default="false" />
+ <description>
+ Converts a unsigned [int] to a string representation of a number.
+ </description>
+ </method>
<method name="pad_decimals" qualifiers="const">
<return type="String" />
<argument index="0" name="digits" type="int" />
@@ -631,7 +678,13 @@
<return type="float" />
<argument index="0" name="text" type="String" />
<description>
- Returns the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
+ Returns the similarity index ([url=https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this string compared to another. 1.0 means totally similar and 0.0 means totally dissimilar.
+ [codeblock]
+ print("ABC123".similarity("ABC123")) # Prints "1"
+ print("ABC123".similarity("XYZ456")) # Prints "0"
+ print("ABC123".similarity("123ABC")) # Prints "0.8"
+ print("ABC123".similarity("abc123")) # Prints "0.4"
+ [/codeblock]
</description>
</method>
<method name="simplify_path" qualifiers="const">
@@ -830,11 +883,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
@@ -857,20 +905,21 @@
<description>
</description>
</operator>
- <operator name="operator &lt;">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
+ <operator name="operator +">
+ <return type="String" />
+ <argument index="0" name="right" type="int" />
<description>
</description>
</operator>
- <operator name="operator &lt;=">
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
</operator>
- <operator name="operator ==">
+ <operator name="operator &lt;=">
<return type="bool" />
+ <argument index="0" name="right" type="String" />
<description>
</description>
</operator>
diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml
index c19fce9944..ffa1227500 100644
--- a/doc/classes/StringName.xml
+++ b/doc/classes/StringName.xml
@@ -4,7 +4,9 @@
An optimized string type for unique names.
</brief_description>
<description>
- [StringName]s are immutable strings designed for general-purpose representation of unique names. [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings.
+ [StringName]s are immutable strings designed for general-purpose representation of unique names (also called "string interning"). [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings.
+ You will usually just pass a [String] to methods expecting a [StringName] and it will be automatically converted, but you may occasionally want to construct a [StringName] ahead of time with [StringName] or the literal syntax [code]&amp;"example"[/code].
+ See also [NodePath], which is a similar concept specifically designed to store pre-parsed node paths.
</description>
<tutorials>
</tutorials>
@@ -26,18 +28,13 @@
<return type="StringName" />
<argument index="0" name="from" type="String" />
<description>
- Creates a new [StringName] from the given [String].
+ Creates a new [StringName] from the given [String]. [code]StringName("example")[/code] is equivalent to [code]&amp;"example"[/code].
</description>
</constructor>
</constructors>
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
@@ -62,11 +59,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index f805692f4d..74d02a84fd 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -10,6 +10,37 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_draw" qualifiers="virtual const">
+ <return type="void" />
+ <argument index="0" name="to_canvas_item" type="RID" />
+ <argument index="1" name="rect" type="Rect2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_size" qualifiers="virtual const">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_draw_rect" qualifiers="virtual const">
+ <return type="Rect2" />
+ <argument index="0" name="rect" type="Rect2" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_style_margin" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="side" type="int" enum="Side" />
+ <description>
+ </description>
+ </method>
+ <method name="_test_mask" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="point" type="Vector2" />
+ <argument index="1" name="rect" type="Rect2" />
+ <description>
+ </description>
+ </method>
<method name="draw" qualifiers="const">
<return type="void" />
<argument index="0" name="canvas_item" type="RID" />
@@ -76,21 +107,21 @@
</method>
</methods>
<members>
- <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin">
The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.
If this value is negative, it is ignored and a child-specific margin is used instead. For example for [StyleBoxFlat] the border thickness (if any) is used instead.
It is up to the code using this style box to decide what these contents are: for example, a [Button] respects this content margin for the textual contents of the button.
[method get_margin] should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.
</member>
- <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin">
The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin">
The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin">
The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.
Refer to [member content_margin_bottom] for extra considerations.
</member>
diff --git a/doc/classes/SubViewport.xml b/doc/classes/SubViewport.xml
index c439c1d016..b62c294f2c 100644
--- a/doc/classes/SubViewport.xml
+++ b/doc/classes/SubViewport.xml
@@ -4,6 +4,7 @@
Creates a sub-view into the screen.
</brief_description>
<description>
+ [SubViewport] is a [Viewport] that isn't a [Window], i.e. it doesn't draw anything by itself. To display something, [SubViewport]'s [member size] must be non-zero and it should be either put inside a [SubViewportContainer] or assigned to a [ViewportTexture].
</description>
<tutorials>
<link title="Using Viewports">$DOCS_URL/tutorials/rendering/viewports.html</link>
diff --git a/doc/classes/SubViewportContainer.xml b/doc/classes/SubViewportContainer.xml
index 050186a883..77aa7e3ff4 100644
--- a/doc/classes/SubViewportContainer.xml
+++ b/doc/classes/SubViewportContainer.xml
@@ -4,15 +4,15 @@
Control for holding [SubViewport]s.
</brief_description>
<description>
- A [Container] node that holds a [SubViewport], automatically setting its size.
- [b]Note:[/b] Changing a SubViewportContainer's [member Control.rect_scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
+ A [Container] node that holds a [SubViewport]. It uses the [SubViewport]'s size as minimum size, unless [member stretch] is enabled.
+ [b]Note:[/b] Changing a SubViewportContainer's [member Control.scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container).
[b]Note:[/b] The SubViewportContainer forwards mouse-enter and mouse-exit notifications to its sub-viewports.
</description>
<tutorials>
</tutorials>
<members>
<member name="stretch" type="bool" setter="set_stretch" getter="is_stretch_enabled" default="false">
- If [code]true[/code], the sub-viewport will be scaled to the control's size.
+ If [code]true[/code], the sub-viewport will be automatically resized to the control's size.
</member>
<member name="stretch_shrink" type="int" setter="set_stretch_shrink" getter="get_stretch_shrink" default="1">
Divides the sub-viewport's effective resolution by this value while preserving its scale. This can be used to speed up rendering.
diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml
index 9d0962f337..43d34d3890 100644
--- a/doc/classes/SurfaceTool.xml
+++ b/doc/classes/SurfaceTool.xml
@@ -11,14 +11,14 @@
st.begin(Mesh.PRIMITIVE_TRIANGLES)
st.set_color(Color(1, 0, 0))
st.set_uv(Vector2(0, 0))
- st.set_vertex(Vector3(0, 0, 0))
+ st.add_vertex(Vector3(0, 0, 0))
[/gdscript]
[csharp]
var st = new SurfaceTool();
st.Begin(Mesh.PrimitiveType.Triangles);
st.SetColor(new Color(1, 0, 0));
st.SetUv(new Vector2(0, 0));
- st.SetVertex(new Vector3(0, 0, 0));
+ st.AddVertex(new Vector3(0, 0, 0));
[/csharp]
[/codeblocks]
The above [SurfaceTool] now contains one vertex of a triangle which has a UV coordinate and a specified [Color]. If another vertex were added without calling [method set_uv] or [method set_color], then the last values would be used.
diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml
index 40d6e9f26c..420ab2adeb 100644
--- a/doc/classes/TabBar.xml
+++ b/doc/classes/TabBar.xml
@@ -57,6 +57,13 @@
Returns the [Texture2D] for the tab at index [code]tab_idx[/code] or [code]null[/code] if the tab has no [Texture2D].
</description>
</method>
+ <method name="get_tab_idx_at_point" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="point" type="Vector2" />
+ <description>
+ Returns the index of the tab at local coordinates [code]point[/code]. Returns [code]-1[/code] if the point is outside the control boundaries or if there's no tab at the queried position.
+ </description>
+ </method>
<method name="get_tab_language" qualifiers="const">
<return type="String" />
<argument index="0" name="tab_idx" type="int" />
@@ -99,12 +106,6 @@
Returns the title of the tab at index [code]tab_idx[/code].
</description>
</method>
- <method name="get_tabs_rearrange_group" qualifiers="const">
- <return type="int" />
- <description>
- Returns the [TabBar]'s rearrange group ID.
- </description>
- </method>
<method name="is_tab_disabled" qualifiers="const">
<return type="bool" />
<argument index="0" name="tab_idx" type="int" />
@@ -199,13 +200,6 @@
Sets a [code]title[/code] for the tab at index [code]tab_idx[/code].
</description>
</method>
- <method name="set_tabs_rearrange_group">
- <return type="void" />
- <argument index="0" name="group_id" type="int" />
- <description>
- Defines the rearrange group ID. Choose for each [TabBar] the same value to dragging tabs between [TabBar]. Enable drag with [member drag_to_rearrange_enabled].
- </description>
- </method>
</methods>
<members>
<member name="clip_tabs" type="bool" setter="set_clip_tabs" getter="get_clip_tabs" default="true">
@@ -217,6 +211,9 @@
<member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
+ <member name="max_tab_width" type="int" setter="set_max_tab_width" getter="get_max_tab_width" default="0">
+ Sets the maximum width which all tabs should be limited to. Unlimited if set to [code]0[/code].
+ </member>
<member name="scroll_to_selected" type="bool" setter="set_scroll_to_selected" getter="get_scroll_to_selected" default="true">
If [code]true[/code], the tab offset will be changed to keep the the currently selected tab visible.
</member>
@@ -226,7 +223,7 @@
<member name="select_with_rmb" type="bool" setter="set_select_with_rmb" getter="get_select_with_rmb" default="false">
If [code]true[/code], enables selecting a tab with the right mouse button.
</member>
- <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="1">
+ <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="0">
Sets the position at which tabs will be placed. See [enum AlignmentMode] for details.
</member>
<member name="tab_close_display_policy" type="int" setter="set_tab_close_display_policy" getter="get_tab_close_display_policy" enum="TabBar.CloseButtonDisplayPolicy" default="0">
@@ -235,6 +232,10 @@
<member name="tab_count" type="int" setter="set_tab_count" getter="get_tab_count" default="0">
The number of tabs currently in the bar.
</member>
+ <member name="tabs_rearrange_group" type="int" setter="set_tabs_rearrange_group" getter="get_tabs_rearrange_group" default="-1">
+ [TabBar]s with the same rearrange group ID will allow dragging the tabs between them. Enable drag with [member drag_to_rearrange_enabled].
+ Setting this to [code]-1[/code] will disable rearranging between [TabBar]s.
+ </member>
</members>
<signals>
<signal name="active_tab_rearranged">
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index 3986983155..ec2be012e9 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -43,20 +43,6 @@
Returns the number of tabs.
</description>
</method>
- <method name="get_tab_disabled" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="tab_idx" type="int" />
- <description>
- Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled.
- </description>
- </method>
- <method name="get_tab_hidden" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="tab_idx" type="int" />
- <description>
- Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is hidden.
- </description>
- </method>
<method name="get_tab_icon" qualifiers="const">
<return type="Texture2D" />
<argument index="0" name="tab_idx" type="int" />
@@ -71,6 +57,13 @@
Returns the index of the tab at local coordinates [code]point[/code]. Returns [code]-1[/code] if the point is outside the control boundaries or if there's no tab at the queried position.
</description>
</method>
+ <method name="get_tab_idx_from_control" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="control" type="Control" />
+ <description>
+ Returns the index of the tab tied to the given [code]control[/code]. The control must be a child of the [TabContainer].
+ </description>
+ </method>
<method name="get_tab_title" qualifiers="const">
<return type="String" />
<argument index="0" name="tab_idx" type="int" />
@@ -78,17 +71,25 @@
Returns the title of the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node, but this can be overridden with [method set_tab_title].
</description>
</method>
- <method name="get_tabs_rearrange_group" qualifiers="const">
- <return type="int" />
+ <method name="is_tab_disabled" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="tab_idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled.
+ </description>
+ </method>
+ <method name="is_tab_hidden" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="tab_idx" type="int" />
<description>
- Returns the [TabContainer] rearrange group id.
+ Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is hidden.
</description>
</method>
<method name="set_popup">
<return type="void" />
<argument index="0" name="popup" type="Node" />
<description>
- If set on a [Popup] node instance, a popup menu icon appears in the top-right corner of the [TabContainer]. Clicking it will expand the [Popup] node.
+ If set on a [Popup] node instance, a popup menu icon appears in the top-right corner of the [TabContainer] (setting it to [code]null[/code] will make it go away). Clicking it will expand the [Popup] node.
</description>
</method>
<method name="set_tab_disabled">
@@ -120,14 +121,7 @@
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="title" type="String" />
<description>
- Sets a title for the tab at index [code]tab_idx[/code]. Tab titles default to the name of the indexed child node.
- </description>
- </method>
- <method name="set_tabs_rearrange_group">
- <return type="void" />
- <argument index="0" name="group_id" type="int" />
- <description>
- Defines rearrange group id, choose for each [TabContainer] the same value to enable tab drag between [TabContainer]. Enable drag with [member drag_to_rearrange_enabled].
+ Sets a custom title for the tab at index [code]tab_idx[/code] (tab titles default to the name of the indexed child node). Set it back to the child's name to make the tab default to it again.
</description>
</method>
</methods>
@@ -135,13 +129,21 @@
<member name="all_tabs_in_front" type="bool" setter="set_all_tabs_in_front" getter="is_all_tabs_in_front" default="false">
If [code]true[/code], all tabs are drawn in front of the panel. If [code]false[/code], inactive tabs are drawn behind the panel.
</member>
+ <member name="clip_tabs" type="bool" setter="set_clip_tabs" getter="get_clip_tabs" default="true">
+ If [code]true[/code], tabs overflowing this node's width will be hidden, displaying two navigation buttons instead. Otherwise, this node's minimum size is updated so that all tabs are visible.
+ </member>
<member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab" default="0">
The current tab index. When set, this index's [Control] node's [code]visible[/code] property is set to [code]true[/code] and all others are set to [code]false[/code].
</member>
<member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
- <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabContainer.AlignmentMode" default="1">
+ <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="0">
+ Sets the position at which tabs will be placed. See [enum TabBar.AlignmentMode] for details.
+ </member>
+ <member name="tabs_rearrange_group" type="int" setter="set_tabs_rearrange_group" getter="get_tabs_rearrange_group" default="-1">
+ [TabContainer]s with the same rearrange group ID will allow dragging the tabs between them. Enable drag with [member drag_to_rearrange_enabled].
+ Setting this to [code]-1[/code] will disable rearranging between [TabContainer]s.
</member>
<member name="tabs_visible" type="bool" setter="set_tabs_visible" getter="are_tabs_visible" default="true">
If [code]true[/code], tabs are visible. If [code]false[/code], tabs' content and titles are hidden.
@@ -169,14 +171,6 @@
</description>
</signal>
</signals>
- <constants>
- <constant name="ALIGNMENT_LEFT" value="0" enum="AlignmentMode">
- </constant>
- <constant name="ALIGNMENT_CENTER" value="1" enum="AlignmentMode">
- </constant>
- <constant name="ALIGNMENT_RIGHT" value="2" enum="AlignmentMode">
- </constant>
- </constants>
<theme_items>
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 0.5)">
Font color of disabled tabs.
@@ -197,7 +191,8 @@
The size of the tab text outline.
</theme_item>
<theme_item name="side_margin" data_type="constant" type="int" default="8">
- The space at the left and right edges of the tab bar.
+ The space at the left or right edges of the tab bar, accordingly with the current [member tab_alignment].
+ The margin is ignored with [code]ALIGNMENT_RIGHT[/code] if the tabs are clipped (see [member clip_tabs]) or a popup has been set (see [method set_popup]). The margin is always ignored with [code]ALIGNMENT_CENTER[/code].
</theme_item>
<theme_item name="font" data_type="font" type="Font">
The font used to draw tab names.
diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml
index 3157eea436..b4339bef11 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -57,7 +57,7 @@
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Removes all font sizes from the cache entry
+ Removes all font sizes from the cache entry.
</description>
</method>
<method name="font_clear_textures">
@@ -112,6 +112,13 @@
Returns the font descent (number of pixels below the baseline).
</description>
</method>
+ <method name="font_get_embolden" qualifiers="const">
+ <return type="float" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns font embolden strength.
+ </description>
+ </method>
<method name="font_get_fixed_size" qualifiers="const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
@@ -368,6 +375,13 @@
Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
</description>
</method>
+ <method name="font_get_transform" qualifiers="const">
+ <return type="Transform2D" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns 2D transform applied to the font outlines.
+ </description>
+ </method>
<method name="font_get_underline_position" qualifiers="const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
@@ -495,7 +509,7 @@
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="index" type="int" />
<description>
- Renders specified glyph the the font cache texture.
+ Renders specified glyph to the font cache texture.
</description>
</method>
<method name="font_render_range">
@@ -542,6 +556,14 @@
Sets the font descent (number of pixels below the baseline).
</description>
</method>
+ <method name="font_set_embolden">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="strength" type="float" />
+ <description>
+ Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
+ </description>
+ </method>
<method name="font_set_fixed_size">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
@@ -765,6 +787,15 @@
Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
</description>
</method>
+ <method name="font_set_transform">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform2D" />
+ <description>
+ Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
+ For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code].
+ </description>
+ </method>
<method name="font_set_underline_position">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
@@ -1081,7 +1112,7 @@
<return type="Array" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns text glyphs in the visual order.
+ Returns an array of glyphs in the visual order.
</description>
</method>
<method name="shaped_text_get_grapheme_bounds" qualifiers="const">
@@ -1146,7 +1177,7 @@
<return type="RID" />
<argument index="0" name="shaped" type="RID" />
<description>
- Sets text orientation.
+ Returns the parent buffer from which the substring originates.
</description>
</method>
<method name="shaped_text_get_preserve_control" qualifiers="const">
@@ -1191,7 +1222,7 @@
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns position of the trim.
+ Returns the position of the overrun trim.
</description>
</method>
<method name="shaped_text_get_underline_position" qualifiers="const">
@@ -1389,6 +1420,7 @@
<argument index="0" name="string" type="String" />
<description>
Strips diacritics from the string.
+ [b]Note:[/b] The result may be longer or shorter than the original.
</description>
</method>
<method name="tag_to_name" qualifiers="const">
@@ -1513,8 +1545,8 @@
</constant>
<constant name="SUBPIXEL_POSITIONING_AUTO" value="1" enum="SubpixelPositioning">
Glyph horizontal position is rounded based on font size.
- - To one quarter of the pixel size if font size is smaller or equal to [code]16[/code].
- - To one half of the pixel size if font size is smaller or equal to [code]20[/code].
+ - To one quarter of the pixel size if font size is smaller or equal to [constant SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE].
+ - To one half of the pixel size if font size is smaller or equal to [constant SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE].
- To the whole pixel size for larger fonts.
</constant>
<constant name="SUBPIXEL_POSITIONING_ONE_HALF" value="2" enum="SubpixelPositioning">
@@ -1523,31 +1555,49 @@
<constant name="SUBPIXEL_POSITIONING_ONE_QUARTER" value="3" enum="SubpixelPositioning">
Glyph horizontal position is rounded to one quarter of the pixel size, each glyph is rasterized up to four times.
</constant>
- <constant name="FEATURE_BIDI_LAYOUT" value="1" enum="Feature">
- TextServer supports bidirectional layouts.
+ <constant name="SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE" value="20" enum="SubpixelPositioning">
+ Maximum font size which will use one half of the pixel subpixel positioning in [constants SUBPIXEL_POSITIONING_AUTO] mode.
</constant>
- <constant name="FEATURE_VERTICAL_LAYOUT" value="2" enum="Feature">
+ <constant name="SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE" value="16" enum="SubpixelPositioning">
+ Maximum font size which will use one quarter of the pixel subpixel positioning in [constants SUBPIXEL_POSITIONING_AUTO] mode.
+ </constant>
+ <constant name="FEATURE_SIMPLE_LAYOUT" value="1" enum="Feature">
+ TextServer supports simple text layouts.
+ </constant>
+ <constant name="FEATURE_BIDI_LAYOUT" value="2" enum="Feature">
+ TextServer supports bidirectional text layouts.
+ </constant>
+ <constant name="FEATURE_VERTICAL_LAYOUT" value="4" enum="Feature">
TextServer supports vertical layouts.
</constant>
- <constant name="FEATURE_SHAPING" value="4" enum="Feature">
+ <constant name="FEATURE_SHAPING" value="8" enum="Feature">
TextServer supports complex text shaping.
</constant>
- <constant name="FEATURE_KASHIDA_JUSTIFICATION" value="8" enum="Feature">
+ <constant name="FEATURE_KASHIDA_JUSTIFICATION" value="16" enum="Feature">
TextServer supports justification using kashidas.
</constant>
- <constant name="FEATURE_BREAK_ITERATORS" value="16" enum="Feature">
+ <constant name="FEATURE_BREAK_ITERATORS" value="32" enum="Feature">
TextServer supports complex line/word breaking rules (e.g. dictionary based).
</constant>
- <constant name="FEATURE_FONT_SYSTEM" value="32" enum="Feature">
+ <constant name="FEATURE_FONT_BITMAP" value="64" enum="Feature">
+ TextServer supports loading bitmap fonts.
+ </constant>
+ <constant name="FEATURE_FONT_DYNAMIC" value="128" enum="Feature">
+ TextServer supports loading dynamic (TrueType, OpeType, etc.) fonts.
+ </constant>
+ <constant name="FEATURE_FONT_MSDF" value="256" enum="Feature">
+ TextServer supports multichannel signed distance field dynamic font rendering.
+ </constant>
+ <constant name="FEATURE_FONT_SYSTEM" value="512" enum="Feature">
TextServer supports loading system fonts.
</constant>
- <constant name="FEATURE_FONT_VARIABLE" value="64" enum="Feature">
+ <constant name="FEATURE_FONT_VARIABLE" value="1024" enum="Feature">
TextServer supports variable fonts.
</constant>
- <constant name="FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION" value="128" enum="Feature">
+ <constant name="FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION" value="2048" enum="Feature">
TextServer supports locale dependent and context sensitive case conversion.
</constant>
- <constant name="FEATURE_USE_SUPPORT_DATA" value="256" enum="Feature">
+ <constant name="FEATURE_USE_SUPPORT_DATA" value="4096" enum="Feature">
TextServer require external data file for some features.
</constant>
<constant name="CONTOUR_CURVE_TAG_ON" value="1" enum="ContourPointTag">
diff --git a/doc/classes/TextServerDummy.xml b/doc/classes/TextServerDummy.xml
new file mode 100644
index 0000000000..b872e93fd6
--- /dev/null
+++ b/doc/classes/TextServerDummy.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="TextServerDummy" inherits="TextServerExtension" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml
index f730f28e79..25647e2668 100644
--- a/doc/classes/TextServerExtension.xml
+++ b/doc/classes/TextServerExtension.xml
@@ -9,23 +9,21 @@
<tutorials>
</tutorials>
<methods>
- <method name="_create_font" qualifiers="virtual">
+ <method name="create_font" qualifiers="virtual">
<return type="RID" />
<description>
- Creates new, empty font cache entry resource. To free the resulting resourec, use [method _free] method.
+ Creates new, empty font cache entry resource. To free the resulting resourec, use [method free_rid] method.
</description>
</method>
- <method name="_create_shaped_text" qualifiers="virtual">
+ <method name="create_shaped_text" qualifiers="virtual">
<return type="RID" />
<argument index="0" name="direction" type="int" enum="TextServer.Direction" />
<argument index="1" name="orientation" type="int" enum="TextServer.Orientation" />
<description>
- Creates new buffer for complex text layout, with the given [code]direction[/code] and [code]orientation[/code]. To free the resulting buffer, use [method _free] method.
- [b]Note:[/b] Direction is ignored if server does not support [code]FEATURE_BIDI_LAYOUT[/code] feature.
- [b]Note:[/b] Orientation is ignored if server does not support [code]FEATURE_VERTICAL_LAYOUT[/code] feature.
+ Creates new buffer for complex text layout, with the given [code]direction[/code] and [code]orientation[/code]. To free the resulting buffer, use [method free_rid] method.
</description>
</method>
- <method name="_draw_hex_code_box" qualifiers="virtual const">
+ <method name="draw_hex_code_box" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="canvas" type="RID" />
<argument index="1" name="size" type="int" />
@@ -34,18 +32,18 @@
<argument index="4" name="color" type="Color" />
<description>
Draws box displaying character hexadecimal code. Used for replacing missing characters.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_font_clear_glyphs" qualifiers="virtual">
+ <method name="font_clear_glyphs" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<description>
Removes all rendered glyphs information from the cache entry.
- [b]Note:[/b] This function will not remove textures associated with the glyphs, use [method _font_remove_texture] to remove them manually.
</description>
</method>
- <method name="_font_clear_kerning_map" qualifiers="virtual">
+ <method name="font_clear_kerning_map" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -53,23 +51,22 @@
Removes all kerning overrides.
</description>
</method>
- <method name="_font_clear_size_cache" qualifiers="virtual">
+ <method name="font_clear_size_cache" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Removes all font sizes from the cache entry
+ Removes all font sizes from the cache entry.
</description>
</method>
- <method name="_font_clear_textures" qualifiers="virtual">
+ <method name="font_clear_textures" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<description>
Removes all textures from font cache entry.
- [b]Note:[/b] This function will not remove glyphs associated with the texture, use [method _font_remove_glyph] to remove them manually.
</description>
</method>
- <method name="_font_draw_glyph" qualifiers="virtual const">
+ <method name="font_draw_glyph" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -79,10 +76,9 @@
<argument index="5" name="color" type="Color" />
<description>
Draws single glyph into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code].
- [b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method _shaped_text_get_glyphs] or [method _font_get_glyph_index].
</description>
</method>
- <method name="_font_draw_glyph_outline" qualifiers="virtual const">
+ <method name="font_draw_glyph_outline" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -93,10 +89,9 @@
<argument index="6" name="color" type="Color" />
<description>
Draws single glyph outline of size [code]outline_size[/code] into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code].
- [b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method _shaped_text_get_glyphs] or [method _font_get_glyph_index].
</description>
</method>
- <method name="_font_get_ascent" qualifiers="virtual const">
+ <method name="font_get_ascent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -104,7 +99,7 @@
Returns the font ascent (number of pixels above the baseline).
</description>
</method>
- <method name="_font_get_descent" qualifiers="virtual const">
+ <method name="font_get_descent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -112,30 +107,36 @@
Returns the font descent (number of pixels below the baseline).
</description>
</method>
- <method name="_font_get_fixed_size" qualifiers="virtual const">
+ <method name="font_get_embolden" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns font embolden strength.
+ </description>
+ </method>
+ <method name="font_get_fixed_size" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns bitmap font fixed size.
</description>
</method>
- <method name="_font_get_global_oversampling" qualifiers="virtual const">
+ <method name="font_get_global_oversampling" qualifiers="virtual const">
<return type="float" />
<description>
Returns the font oversampling factor, shared by all fonts in the TextServer.
</description>
</method>
- <method name="_font_get_glyph_advance" qualifiers="virtual const">
+ <method name="font_get_glyph_advance" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
<argument index="2" name="glyph" type="int" />
<description>
Returns glyph advance (offset of the next glyph).
- [b]Note:[/b] Advance for glyphs outlines is the same as the base glyph advance and is not saved.
</description>
</method>
- <method name="_font_get_glyph_contours" qualifiers="virtual const">
+ <method name="font_get_glyph_contours" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -147,7 +148,7 @@
[code]orientation[/code] - [bool], contour orientation. If [code]true[/code], clockwise contours must be filled.
</description>
</method>
- <method name="_font_get_glyph_index" qualifiers="virtual const">
+ <method name="font_get_glyph_index" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -157,7 +158,7 @@
Returns the glyph index of a [code]char[/code], optionally modified by the [code]variation_selector[/code].
</description>
</method>
- <method name="_font_get_glyph_list" qualifiers="virtual const">
+ <method name="font_get_glyph_list" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -165,7 +166,7 @@
Returns list of rendered glyphs in the cache entry.
</description>
</method>
- <method name="_font_get_glyph_offset" qualifiers="virtual const">
+ <method name="font_get_glyph_offset" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -174,7 +175,7 @@
Returns glyph offset from the baseline.
</description>
</method>
- <method name="_font_get_glyph_size" qualifiers="virtual const">
+ <method name="font_get_glyph_size" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -183,7 +184,7 @@
Returns size of the glyph.
</description>
</method>
- <method name="_font_get_glyph_texture_idx" qualifiers="virtual const">
+ <method name="font_get_glyph_texture_idx" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -192,7 +193,7 @@
Returns index of the cache texture containing the glyph.
</description>
</method>
- <method name="_font_get_glyph_uv_rect" qualifiers="virtual const">
+ <method name="font_get_glyph_uv_rect" qualifiers="virtual const">
<return type="Rect2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -201,14 +202,14 @@
Returns rectangle in the cache texture containing the glyph.
</description>
</method>
- <method name="_font_get_hinting" qualifiers="virtual const">
+ <method name="font_get_hinting" qualifiers="virtual const">
<return type="int" enum="TextServer.Hinting" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns the font hinting mode. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_get_kerning" qualifiers="virtual const">
+ <method name="font_get_kerning" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -217,7 +218,7 @@
Returns kerning for the pair of glyphs.
</description>
</method>
- <method name="_font_get_kerning_list" qualifiers="virtual const">
+ <method name="font_get_kerning_list" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -225,7 +226,7 @@
Returns list of the kerning overrides.
</description>
</method>
- <method name="_font_get_language_support_override" qualifiers="virtual">
+ <method name="font_get_language_support_override" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
@@ -233,49 +234,49 @@
Returns [code]true[/code] if support override is enabled for the [code]language[/code].
</description>
</method>
- <method name="_font_get_language_support_overrides" qualifiers="virtual">
+ <method name="font_get_language_support_overrides" qualifiers="virtual">
<return type="PackedStringArray" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns list of language support overrides.
</description>
</method>
- <method name="_font_get_msdf_pixel_range" qualifiers="virtual const">
+ <method name="font_get_msdf_pixel_range" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Return the width of the range around the shape between the minimum and maximum representable signed distance.
+ Returns the width of the range around the shape between the minimum and maximum representable signed distance.
</description>
</method>
- <method name="_font_get_msdf_size" qualifiers="virtual const">
+ <method name="font_get_msdf_size" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns source font size used to generate MSDF textures.
</description>
</method>
- <method name="_font_get_name" qualifiers="virtual const">
+ <method name="font_get_name" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font family name.
</description>
</method>
- <method name="_font_get_opentype_feature_overrides" qualifiers="virtual const">
+ <method name="font_get_opentype_feature_overrides" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font OpenType feature set override.
</description>
</method>
- <method name="_font_get_oversampling" qualifiers="virtual const">
+ <method name="font_get_oversampling" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font oversampling factor, if set to [code]0.0[/code] global oversampling factor is used instead. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_get_scale" qualifiers="virtual const">
+ <method name="font_get_scale" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -283,7 +284,7 @@
Returns scaling factor of the color bitmap font.
</description>
</method>
- <method name="_font_get_script_support_override" qualifiers="virtual">
+ <method name="font_get_script_support_override" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
@@ -291,21 +292,21 @@
Returns [code]true[/code] if support override is enabled for the [code]script[/code].
</description>
</method>
- <method name="_font_get_script_support_overrides" qualifiers="virtual">
+ <method name="font_get_script_support_overrides" qualifiers="virtual">
<return type="PackedStringArray" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns list of script support overrides.
</description>
</method>
- <method name="_font_get_size_cache_list" qualifiers="virtual const">
+ <method name="font_get_size_cache_list" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Return list of the font sizes in the cache. Each size is [code]Vector2i[/code] with font size and outline size.
+ Returns list of the font sizes in the cache. Each size is [code]Vector2i[/code] with font size and outline size.
</description>
</method>
- <method name="_font_get_spacing" qualifiers="virtual const">
+ <method name="font_get_spacing" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -314,35 +315,35 @@
Returns extra spacing added between glyphs in pixels.
</description>
</method>
- <method name="_font_get_style" qualifiers="virtual const">
+ <method name="font_get_style" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font style flags, see [enum TextServer.FontStyle].
</description>
</method>
- <method name="_font_get_style_name" qualifiers="virtual const">
+ <method name="font_get_style_name" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font style name.
</description>
</method>
- <method name="_font_get_subpixel_positioning" qualifiers="virtual const">
+ <method name="font_get_subpixel_positioning" qualifiers="virtual const">
<return type="int" enum="TextServer.SubpixelPositioning" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font sub-pixel glyph positioning mode.
</description>
</method>
- <method name="_font_get_supported_chars" qualifiers="virtual const">
+ <method name="font_get_supported_chars" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns a string containing all the characters available in the font.
</description>
</method>
- <method name="_font_get_texture_count" qualifiers="virtual const">
+ <method name="font_get_texture_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -350,7 +351,7 @@
Returns number of textures used by font cache entry.
</description>
</method>
- <method name="_font_get_texture_image" qualifiers="virtual const">
+ <method name="font_get_texture_image" qualifiers="virtual const">
<return type="Image" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -359,7 +360,7 @@
Returns font cache texture image data.
</description>
</method>
- <method name="_font_get_texture_offsets" qualifiers="virtual const">
+ <method name="font_get_texture_offsets" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -368,7 +369,14 @@
Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
</description>
</method>
- <method name="_font_get_underline_position" qualifiers="virtual const">
+ <method name="font_get_transform" qualifiers="virtual const">
+ <return type="Transform2D" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Retruns 2D transform applied to the font outlines.
+ </description>
+ </method>
+ <method name="font_get_underline_position" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -376,7 +384,7 @@
Returns pixel offset of the underline below the baseline.
</description>
</method>
- <method name="_font_get_underline_thickness" qualifiers="virtual const">
+ <method name="font_get_underline_thickness" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -384,36 +392,36 @@
Returns thickness of the underline in pixels.
</description>
</method>
- <method name="_font_get_variation_coordinates" qualifiers="virtual const">
+ <method name="font_get_variation_coordinates" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Returns variation coordinates for the specified font cache entry. See [method _font_supported_variation_list] for more info.
+ Returns variation coordinates for the specified font cache entry. See [method font_supported_variation_list] for more info.
</description>
</method>
- <method name="_font_has_char" qualifiers="virtual const">
+ <method name="font_has_char" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="char" type="int" />
<description>
- Return [code]true[/code] if a Unicode [code]char[/code] is available in the font.
+ Returns [code]true[/code] if a Unicode [code]char[/code] is available in the font.
</description>
</method>
- <method name="_font_is_antialiased" qualifiers="virtual const">
+ <method name="font_is_antialiased" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns [code]true[/code] if font 8-bit anitialiased glyph rendering is supported and enabled.
</description>
</method>
- <method name="_font_is_force_autohinter" qualifiers="virtual const">
+ <method name="font_is_force_autohinter" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns [code]true[/code] if auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_is_language_supported" qualifiers="virtual const">
+ <method name="font_is_language_supported" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
@@ -421,14 +429,14 @@
Returns [code]true[/code], if font supports given language ([url=https://en.wikipedia.org/wiki/ISO_639-1]ISO 639[/url] code).
</description>
</method>
- <method name="_font_is_multichannel_signed_distance_field" qualifiers="virtual const">
+ <method name="font_is_multichannel_signed_distance_field" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns [code]true[/code] if glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
</description>
</method>
- <method name="_font_is_script_supported" qualifiers="virtual const">
+ <method name="font_is_script_supported" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
@@ -436,17 +444,16 @@
Returns [code]true[/code], if font supports given script (ISO 15924 code).
</description>
</method>
- <method name="_font_remove_glyph" qualifiers="virtual">
+ <method name="font_remove_glyph" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="glyph" type="int" />
<description>
Removes specified rendered glyph information from the cache entry.
- [b]Note:[/b] This function will not remove textures associated with the glyphs, use [method _font_remove_texture] to remove them manually.
</description>
</method>
- <method name="_font_remove_kerning" qualifiers="virtual">
+ <method name="font_remove_kerning" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -455,7 +462,7 @@
Removes kerning override for the pair of glyphs.
</description>
</method>
- <method name="_font_remove_language_support_override" qualifiers="virtual">
+ <method name="font_remove_language_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
@@ -463,7 +470,7 @@
Remove language support override.
</description>
</method>
- <method name="_font_remove_script_support_override" qualifiers="virtual">
+ <method name="font_remove_script_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
@@ -471,7 +478,7 @@
Removes script support override.
</description>
</method>
- <method name="_font_remove_size_cache" qualifiers="virtual">
+ <method name="font_remove_size_cache" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -479,26 +486,25 @@
Removes specified font size from the cache entry.
</description>
</method>
- <method name="_font_remove_texture" qualifiers="virtual">
+ <method name="font_remove_texture" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="texture_index" type="int" />
<description>
Removes specified texture from font cache entry.
- [b]Note:[/b] This function will not remove glyphs associated with the texture, remove them manually, using [method _font_remove_glyph].
</description>
</method>
- <method name="_font_render_glyph" qualifiers="virtual">
+ <method name="font_render_glyph" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="index" type="int" />
<description>
- Renders specified glyph the the font cache texture.
+ Renders specified glyph to the font cache texture.
</description>
</method>
- <method name="_font_render_range" qualifiers="virtual">
+ <method name="font_render_range" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -508,7 +514,7 @@
Renders the range of characters to the font cache texture.
</description>
</method>
- <method name="_font_set_antialiased" qualifiers="virtual">
+ <method name="font_set_antialiased" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="antialiased" type="bool" />
@@ -516,7 +522,7 @@
If set to [code]true[/code], 8-bit antialiased glyph rendering is used, otherwise 1-bit rendering is used. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_set_ascent" qualifiers="virtual">
+ <method name="font_set_ascent" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -525,7 +531,7 @@
Sets the font ascent (number of pixels above the baseline).
</description>
</method>
- <method name="_font_set_data" qualifiers="virtual">
+ <method name="font_set_data" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="data" type="PackedByteArray" />
@@ -533,33 +539,41 @@
Sets font source data, e.g contents of the dynamic font source file.
</description>
</method>
- <method name="_font_set_data_ptr" qualifiers="virtual">
+ <method name="font_set_data_ptr" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="data_ptr" type="const uint8_t*" />
<argument index="2" name="data_size" type="int" />
<description>
- Sets the font descent (number of pixels below the baseline).
+ Sets font source data, e.g contents of the dynamic font source file. [code]data_ptr[/code] memory buffer must remain accessible during font lifetime.
</description>
</method>
- <method name="_font_set_descent" qualifiers="virtual">
+ <method name="font_set_descent" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
<argument index="2" name="descent" type="float" />
<description>
- Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes.
+ Sets the font descent (number of pixels below the baseline).
</description>
</method>
- <method name="_font_set_fixed_size" qualifiers="virtual">
+ <method name="font_set_embolden" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="strength" type="float" />
+ <description>
+ Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
+ </description>
+ </method>
+ <method name="font_set_fixed_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="fixed_size" type="int" />
<description>
- If set to [code]true[/code] auto-hinting is preferred over font built-in hinting.
+ Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes.
</description>
</method>
- <method name="_font_set_force_autohinter" qualifiers="virtual">
+ <method name="font_set_force_autohinter" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="force_autohinter" type="bool" />
@@ -567,7 +581,7 @@
If set to [code]true[/code] auto-hinting is preferred over font built-in hinting.
</description>
</method>
- <method name="_font_set_global_oversampling" qualifiers="virtual">
+ <method name="font_set_global_oversampling" qualifiers="virtual">
<return type="void" />
<argument index="0" name="oversampling" type="float" />
<description>
@@ -575,7 +589,7 @@
[b]Note:[/b] This value can be automatically changed by display server.
</description>
</method>
- <method name="_font_set_glyph_advance" qualifiers="virtual">
+ <method name="font_set_glyph_advance" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -583,10 +597,9 @@
<argument index="3" name="advance" type="Vector2" />
<description>
Sets glyph advance (offset of the next glyph).
- [b]Note:[/b] Advance for glyphs outlines is the same as the base glyph advance and is not saved.
</description>
</method>
- <method name="_font_set_glyph_offset" qualifiers="virtual">
+ <method name="font_set_glyph_offset" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -596,7 +609,7 @@
Sets glyph offset from the baseline.
</description>
</method>
- <method name="_font_set_glyph_size" qualifiers="virtual">
+ <method name="font_set_glyph_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -606,7 +619,7 @@
Sets size of the glyph.
</description>
</method>
- <method name="_font_set_glyph_texture_idx" qualifiers="virtual">
+ <method name="font_set_glyph_texture_idx" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -616,7 +629,7 @@
Sets index of the cache texture containing the glyph.
</description>
</method>
- <method name="_font_set_glyph_uv_rect" qualifiers="virtual">
+ <method name="font_set_glyph_uv_rect" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -626,7 +639,7 @@
Sets rectangle in the cache texture containing the glyph.
</description>
</method>
- <method name="_font_set_hinting" qualifiers="virtual">
+ <method name="font_set_hinting" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="hinting" type="int" enum="TextServer.Hinting" />
@@ -634,7 +647,7 @@
Sets font hinting mode. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_set_kerning" qualifiers="virtual">
+ <method name="font_set_kerning" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -644,16 +657,16 @@
Sets kerning for the pair of glyphs.
</description>
</method>
- <method name="_font_set_language_support_override" qualifiers="virtual">
+ <method name="font_set_language_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
<argument index="2" name="supported" type="bool" />
<description>
- Adds override for [method _font_is_language_supported].
+ Adds override for [method font_is_language_supported].
</description>
</method>
- <method name="_font_set_msdf_pixel_range" qualifiers="virtual">
+ <method name="font_set_msdf_pixel_range" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="msdf_pixel_range" type="int" />
@@ -661,7 +674,7 @@
Sets the width of the range around the shape between the minimum and maximum representable signed distance.
</description>
</method>
- <method name="_font_set_msdf_size" qualifiers="virtual">
+ <method name="font_set_msdf_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="msdf_size" type="int" />
@@ -669,15 +682,16 @@
Sets source font size used to generate MSDF textures.
</description>
</method>
- <method name="_font_set_multichannel_signed_distance_field" qualifiers="virtual">
+ <method name="font_set_multichannel_signed_distance_field" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="msdf" type="bool" />
<description>
- If set to [code]true[/code], glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
+ If set to [code]true[/code], glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data. MSDF rendering allows displaying the font at any scaling factor without blurriness, and without incurring a CPU cost when the font size changes (since the font no longer needs to be rasterized on the CPU). As a downside, font hinting is not available with MSDF. The lack of font hinting may result in less crisp and less readable fonts at small sizes.
+ [b]Note:[/b] MSDF font rendering does not render glyphs with overlapping shapes correctly. Overlapping shapes are not valid per the OpenType standard, but are still commonly found in many font files, especially those converted by Google Fonts. To avoid issues with overlapping glyphs, consider downloading the font file directly from the type foundry instead of relying on Google Fonts.
</description>
</method>
- <method name="_font_set_name" qualifiers="virtual">
+ <method name="font_set_name" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="name" type="String" />
@@ -685,7 +699,7 @@
Sets the font family name.
</description>
</method>
- <method name="_font_set_opentype_feature_overrides" qualifiers="virtual">
+ <method name="font_set_opentype_feature_overrides" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="overrides" type="Dictionary" />
@@ -693,7 +707,7 @@
Sets font OpenType feature set override.
</description>
</method>
- <method name="_font_set_oversampling" qualifiers="virtual">
+ <method name="font_set_oversampling" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="oversampling" type="float" />
@@ -701,7 +715,7 @@
Sets font oversampling factor, if set to [code]0.0[/code] global oversampling factor is used instead. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_set_scale" qualifiers="virtual">
+ <method name="font_set_scale" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -710,16 +724,16 @@
Sets scaling factor of the color bitmap font.
</description>
</method>
- <method name="_font_set_script_support_override" qualifiers="virtual">
+ <method name="font_set_script_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
<argument index="2" name="supported" type="bool" />
<description>
- Adds override for [method _font_is_script_supported].
+ Adds override for [method font_is_script_supported].
</description>
</method>
- <method name="_font_set_spacing" qualifiers="virtual">
+ <method name="font_set_spacing" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -729,7 +743,7 @@
Sets extra spacing added between glyphs in pixels.
</description>
</method>
- <method name="_font_set_style" qualifiers="virtual">
+ <method name="font_set_style" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="style" type="int" />
@@ -737,7 +751,7 @@
Sets the font style flags, see [enum TextServer.FontStyle].
</description>
</method>
- <method name="_font_set_style_name" qualifiers="virtual">
+ <method name="font_set_style_name" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="name_style" type="String" />
@@ -745,7 +759,7 @@
Sets the font style name.
</description>
</method>
- <method name="_font_set_subpixel_positioning" qualifiers="virtual">
+ <method name="font_set_subpixel_positioning" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="subpixel_positioning" type="int" enum="TextServer.SubpixelPositioning" />
@@ -753,7 +767,7 @@
Sets font sub-pixel glyph positioning mode.
</description>
</method>
- <method name="_font_set_texture_image" qualifiers="virtual">
+ <method name="font_set_texture_image" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -763,7 +777,7 @@
Sets font cache texture image data.
</description>
</method>
- <method name="_font_set_texture_offsets" qualifiers="virtual">
+ <method name="font_set_texture_offsets" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -773,7 +787,16 @@
Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
</description>
</method>
- <method name="_font_set_underline_position" qualifiers="virtual">
+ <method name="font_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform2D" />
+ <description>
+ Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
+ For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code].
+ </description>
+ </method>
+ <method name="font_set_underline_position" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -782,7 +805,7 @@
Sets pixel offset of the underline below the baseline.
</description>
</method>
- <method name="_font_set_underline_thickness" qualifiers="virtual">
+ <method name="font_set_underline_thickness" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -791,29 +814,29 @@
Sets thickness of the underline in pixels.
</description>
</method>
- <method name="_font_set_variation_coordinates" qualifiers="virtual">
+ <method name="font_set_variation_coordinates" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="variation_coordinates" type="Dictionary" />
<description>
- Sets variation coordinates for the specified font cache entry. See [method _font_supported_variation_list] for more info.
+ Sets variation coordinates for the specified font cache entry. See [method font_supported_variation_list] for more info.
</description>
</method>
- <method name="_font_supported_feature_list" qualifiers="virtual const">
+ <method name="font_supported_feature_list" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns the dictionary of the supported OpenType features.
</description>
</method>
- <method name="_font_supported_variation_list" qualifiers="virtual const">
+ <method name="font_supported_variation_list" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns the dictionary of the supported OpenType variation coordinates.
</description>
</method>
- <method name="_format_number" qualifiers="virtual const">
+ <method name="format_number" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
@@ -821,82 +844,82 @@
Converts a number from the Western Arabic (0..9) to the numeral systems used in [code]language[/code].
</description>
</method>
- <method name="_free" qualifiers="virtual">
+ <method name="free_rid" qualifiers="virtual">
<return type="void" />
<argument index="0" name="rid" type="RID" />
<description>
Frees an object created by this [TextServer].
</description>
</method>
- <method name="_get_features" qualifiers="virtual const">
+ <method name="get_features" qualifiers="virtual const">
<return type="int" />
<description>
Returns text server features, see [enum TextServer.Feature].
</description>
</method>
- <method name="_get_hex_code_box_size" qualifiers="virtual const">
+ <method name="get_hex_code_box_size" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="size" type="int" />
<argument index="1" name="index" type="int" />
<description>
Returns size of the replacement character (box with character hexadecimal code that is drawn in place of invalid characters).
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_get_name" qualifiers="virtual const">
+ <method name="get_name" qualifiers="virtual const">
<return type="String" />
<description>
Returns the name of the server interface.
</description>
</method>
- <method name="_get_support_data_filename" qualifiers="virtual const">
+ <method name="get_support_data_filename" qualifiers="virtual const">
<return type="String" />
<description>
Returns default TextServer database (e.g. ICU break iterators and dictionaries) filename.
</description>
</method>
- <method name="_get_support_data_info" qualifiers="virtual const">
+ <method name="get_support_data_info" qualifiers="virtual const">
<return type="String" />
<description>
Returns TextServer database (e.g. ICU break iterators and dictionaries) description.
</description>
</method>
- <method name="_has" qualifiers="virtual">
+ <method name="has" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="rid" type="RID" />
<description>
Returns [code]true[/code] if [code]rid[/code] is valid resource owned by this text server.
</description>
</method>
- <method name="_has_feature" qualifiers="virtual const">
+ <method name="has_feature" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="feature" type="int" enum="TextServer.Feature" />
<description>
Returns [code]true[/code] if the server supports a feature.
</description>
</method>
- <method name="_is_locale_right_to_left" qualifiers="virtual const">
+ <method name="is_locale_right_to_left" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="locale" type="String" />
<description>
Returns [code]true[/code] if locale is right-to-left.
</description>
</method>
- <method name="_load_support_data" qualifiers="virtual">
+ <method name="load_support_data" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="filename" type="String" />
<description>
Loads optional TextServer database (e.g. ICU break iterators and dictionaries).
- [b]Note:[/b] This function should be called before any other TextServer functions used, otherwise it won't have any effect.
</description>
</method>
- <method name="_name_to_tag" qualifiers="virtual const">
+ <method name="name_to_tag" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="name" type="String" />
<description>
Converts readable feature, variation, script or language name to OpenType tag.
</description>
</method>
- <method name="_parse_number" qualifiers="virtual const">
+ <method name="parse_number" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
@@ -904,14 +927,14 @@
Converts a number from the numeral systems used in [code]language[/code] to Western Arabic (0..9).
</description>
</method>
- <method name="_percent_sign" qualifiers="virtual const">
+ <method name="percent_sign" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="language" type="String" />
<description>
Returns percent sign used in the [code]language[/code].
</description>
</method>
- <method name="_save_support_data" qualifiers="virtual const">
+ <method name="save_support_data" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="filename" type="String" />
<description>
@@ -919,14 +942,14 @@
[b]Note:[/b] This function is used by during project export, to include TextServer database.
</description>
</method>
- <method name="_shaped_get_span_count" qualifiers="virtual const">
+ <method name="shaped_get_span_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns number of text spans added using [method _shaped_text_add_string] or [method _shaped_text_add_object].
+ Returns number of text spans added using [method shaped_text_add_string] or [method shaped_text_add_object].
</description>
</method>
- <method name="_shaped_get_span_meta" qualifiers="virtual const">
+ <method name="shaped_get_span_meta" qualifiers="virtual const">
<return type="Variant" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="index" type="int" />
@@ -934,7 +957,7 @@
Returns text span metadata.
</description>
</method>
- <method name="_shaped_set_span_update_font" qualifiers="virtual">
+ <method name="shaped_set_span_update_font" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="index" type="int" />
@@ -945,7 +968,7 @@
Changes text span font, font size and OpenType features, without changing the text.
</description>
</method>
- <method name="_shaped_text_add_object" qualifiers="virtual">
+ <method name="shaped_text_add_object" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="key" type="Variant" />
@@ -956,7 +979,7 @@
Adds inline object to the text buffer, [code]key[/code] must be unique. In the text, object is represented as [code]length[/code] object replacement characters.
</description>
</method>
- <method name="_shaped_text_add_string" qualifiers="virtual">
+ <method name="shaped_text_add_string" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="text" type="String" />
@@ -969,14 +992,14 @@
Adds text span and font to draw it to the text buffer.
</description>
</method>
- <method name="_shaped_text_clear" qualifiers="virtual">
+ <method name="shaped_text_clear" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<description>
Clears text buffer (removes text and inline objects).
</description>
</method>
- <method name="_shaped_text_draw" qualifiers="virtual const">
+ <method name="shaped_text_draw" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -986,9 +1009,10 @@
<argument index="5" name="color" type="Color" />
<description>
Draw shaped text into a canvas item at a given position, with [code]color[/code]. [code]pos[/code] specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_draw_outline" qualifiers="virtual const">
+ <method name="shaped_text_draw_outline" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -999,116 +1023,118 @@
<argument index="6" name="color" type="Color" />
<description>
Draw the outline of the shaped text into a canvas item at a given position, with [code]color[/code]. [code]pos[/code] specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_fit_to_width" qualifiers="virtual">
+ <method name="shaped_text_fit_to_width" qualifiers="virtual">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="float" />
<argument index="2" name="jst_flags" type="int" />
<description>
- Adjusts text with to fit to specified width, returns new text width
+ Adjusts text with to fit to specified width, returns new text width.
</description>
</method>
- <method name="_shaped_text_get_ascent" qualifiers="virtual const">
+ <method name="shaped_text_get_ascent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns the text ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical).
- [b]Note:[/b] Overall ascent can be higher than font ascent, if some glyphs are displaced from the baseline.
</description>
</method>
- <method name="_shaped_text_get_carets" qualifiers="virtual const">
+ <method name="shaped_text_get_carets" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="position" type="int" />
<argument index="2" name="caret" type="CaretInfo*" />
<description>
Returns shapes of the carets corresponding to the character offset [code]position[/code] in the text. Returned caret shape is 1 pixel wide rectangle.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_custom_punctuation" qualifiers="virtual const">
+ <method name="shaped_text_get_custom_punctuation" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
</description>
</method>
- <method name="_shaped_text_get_descent" qualifiers="virtual const">
+ <method name="shaped_text_get_descent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns the text descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical).
- [b]Note:[/b] Overall descent can be higher than font descent, if some glyphs are displaced from the baseline.
</description>
</method>
- <method name="_shaped_text_get_direction" qualifiers="virtual const">
+ <method name="shaped_text_get_direction" qualifiers="virtual const">
<return type="int" enum="TextServer.Direction" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns direction of the text.
</description>
</method>
- <method name="_shaped_text_get_dominant_direction_in_range" qualifiers="virtual const">
+ <method name="shaped_text_get_dominant_direction_in_range" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="start" type="int" />
<argument index="2" name="end" type="int" />
<description>
Returns dominant direction of in the range of text.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_ellipsis_glyph_count" qualifiers="virtual const">
+ <method name="shaped_text_get_ellipsis_glyph_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns number of glyphs in the ellipsis.
</description>
</method>
- <method name="_shaped_text_get_ellipsis_glyphs" qualifiers="virtual const">
- <return type="Glyph*" />
+ <method name="shaped_text_get_ellipsis_glyphs" qualifiers="virtual const">
+ <return type="const Glyph*" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns array of the glyphs in the ellipsis.
</description>
</method>
- <method name="_shaped_text_get_ellipsis_pos" qualifiers="virtual const">
+ <method name="shaped_text_get_ellipsis_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns position of the ellipsis.
</description>
</method>
- <method name="_shaped_text_get_glyph_count" qualifiers="virtual const">
+ <method name="shaped_text_get_glyph_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns text glyphs count.
+ Returns number of glyphs in the buffer.
</description>
</method>
- <method name="_shaped_text_get_glyphs" qualifiers="virtual const">
- <return type="Glyph*" />
+ <method name="shaped_text_get_glyphs" qualifiers="virtual const">
+ <return type="const Glyph*" />
<argument index="0" name="shaped" type="RID" />
<description>
- Copies text glyphs in the visual order, into preallocated array of the size returned by [method _shaped_text_get_glyph_count].
+ Returns an array of glyphs in the visual order.
</description>
</method>
- <method name="_shaped_text_get_grapheme_bounds" qualifiers="virtual const">
+ <method name="shaped_text_get_grapheme_bounds" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="pos" type="int" />
<description>
Returns composite character's bounds as offsets from the start of the line.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_inferred_direction" qualifiers="virtual const">
+ <method name="shaped_text_get_inferred_direction" qualifiers="virtual const">
<return type="int" enum="TextServer.Direction" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns direction of the text, inferred by the BiDi algorithm.
</description>
</method>
- <method name="_shaped_text_get_line_breaks" qualifiers="virtual const">
+ <method name="shaped_text_get_line_breaks" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="float" />
@@ -1116,9 +1142,10 @@
<argument index="3" name="break_flags" type="int" />
<description>
Breaks text to the lines and returns character ranges for each line.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_line_breaks_adv" qualifiers="virtual const">
+ <method name="shaped_text_get_line_breaks_adv" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="PackedFloat32Array" />
@@ -1127,9 +1154,10 @@
<argument index="4" name="break_flags" type="int" />
<description>
Breaks text to the lines and columns. Returns character ranges for each segment.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_object_rect" qualifiers="virtual const">
+ <method name="shaped_text_get_object_rect" qualifiers="virtual const">
<return type="Rect2" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="key" type="Variant" />
@@ -1137,35 +1165,35 @@
Returns bounding rectangle of the inline object.
</description>
</method>
- <method name="_shaped_text_get_objects" qualifiers="virtual const">
+ <method name="shaped_text_get_objects" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns array of inline objects.
</description>
</method>
- <method name="_shaped_text_get_orientation" qualifiers="virtual const">
+ <method name="shaped_text_get_orientation" qualifiers="virtual const">
<return type="int" enum="TextServer.Orientation" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns text orientation.
+ eturns text orientation.
</description>
</method>
- <method name="_shaped_text_get_parent" qualifiers="virtual const">
+ <method name="shaped_text_get_parent" qualifiers="virtual const">
<return type="RID" />
<argument index="0" name="shaped" type="RID" />
<description>
- Sets text orientation.
+ Returns the parent buffer from which the substring originates.
</description>
</method>
- <method name="_shaped_text_get_preserve_control" qualifiers="virtual const">
+ <method name="shaped_text_get_preserve_control" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns [code]true[/code] if text buffer is configured to display control characters.
</description>
</method>
- <method name="_shaped_text_get_preserve_invalid" qualifiers="virtual const">
+ <method name="shaped_text_get_preserve_invalid" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
@@ -1173,97 +1201,102 @@
[b]Note:[/b] If set to [code]false[/code], nothing is displayed in place of invalid characters.
</description>
</method>
- <method name="_shaped_text_get_range" qualifiers="virtual const">
+ <method name="shaped_text_get_range" qualifiers="virtual const">
<return type="Vector2i" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns substring buffer character range in the parent buffer.
</description>
</method>
- <method name="_shaped_text_get_selection" qualifiers="virtual const">
+ <method name="shaped_text_get_selection" qualifiers="virtual const">
<return type="PackedVector2Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="start" type="int" />
<argument index="2" name="end" type="int" />
<description>
Returns selection rectangles for the specified character range.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_size" qualifiers="virtual const">
+ <method name="shaped_text_get_size" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns size of the text.
</description>
</method>
- <method name="_shaped_text_get_trim_pos" qualifiers="virtual const">
+ <method name="shaped_text_get_trim_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns ellipsis and trim positions.
+ Returns the position of the overrun trim.
</description>
</method>
- <method name="_shaped_text_get_underline_position" qualifiers="virtual const">
+ <method name="shaped_text_get_underline_position" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns pixel offset of the underline below the baseline.
</description>
</method>
- <method name="_shaped_text_get_underline_thickness" qualifiers="virtual const">
+ <method name="shaped_text_get_underline_thickness" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns thickness of the underline.
</description>
</method>
- <method name="_shaped_text_get_width" qualifiers="virtual const">
+ <method name="shaped_text_get_width" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns width (for horizontal layout) or height (for vertical) of the text.
</description>
</method>
- <method name="_shaped_text_get_word_breaks" qualifiers="virtual const">
+ <method name="shaped_text_get_word_breaks" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="grapheme_flags" type="int" />
<description>
Breaks text into words and returns array of character ranges.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_hit_test_grapheme" qualifiers="virtual const">
+ <method name="shaped_text_hit_test_grapheme" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="coord" type="float" />
<description>
Returns grapheme index at the specified pixel offset at the baseline, or [code]-1[/code] if none is found.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_hit_test_position" qualifiers="virtual const">
+ <method name="shaped_text_hit_test_position" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="coord" type="float" />
<description>
Returns caret character offset at the specified pixel offset at the baseline. This function always returns a valid position.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_is_ready" qualifiers="virtual const">
+ <method name="shaped_text_is_ready" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns [code]true[/code] if buffer is successfully shaped.
</description>
</method>
- <method name="_shaped_text_next_grapheme_pos" qualifiers="virtual const">
+ <method name="shaped_text_next_grapheme_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="pos" type="int" />
<description>
Returns composite character end position closest to the [code]pos[/code].
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_overrun_trim_to_width" qualifiers="virtual">
+ <method name="shaped_text_overrun_trim_to_width" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="float" />
@@ -1272,15 +1305,16 @@
Trims text if it exceeds the given width.
</description>
</method>
- <method name="_shaped_text_prev_grapheme_pos" qualifiers="virtual const">
+ <method name="shaped_text_prev_grapheme_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="pos" type="int" />
<description>
Returns composite character start position closest to the [code]pos[/code].
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_resize_object" qualifiers="virtual">
+ <method name="shaped_text_resize_object" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="key" type="Variant" />
@@ -1290,7 +1324,7 @@
Sets new size and alignment of embedded object.
</description>
</method>
- <method name="_shaped_text_set_bidi_override" qualifiers="virtual">
+ <method name="shaped_text_set_bidi_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="override" type="Array" />
@@ -1299,7 +1333,7 @@
Override ranges should cover full source text without overlaps. BiDi algorithm will be used on each range separately.
</description>
</method>
- <method name="_shaped_text_set_custom_punctuation" qualifiers="virtual">
+ <method name="shaped_text_set_custom_punctuation" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="punct" type="String" />
@@ -1307,25 +1341,23 @@
Sets custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
</description>
</method>
- <method name="_shaped_text_set_direction" qualifiers="virtual">
+ <method name="shaped_text_set_direction" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="direction" type="int" enum="TextServer.Direction" />
<description>
Sets desired text direction. If set to [code]TEXT_DIRECTION_AUTO[/code], direction will be detected based on the buffer contents and current locale.
- [b]Note:[/b] Direction is ignored if server does not support [code]FEATURE_BIDI_LAYOUT[/code] feature.
</description>
</method>
- <method name="_shaped_text_set_orientation" qualifiers="virtual">
+ <method name="shaped_text_set_orientation" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="orientation" type="int" enum="TextServer.Orientation" />
<description>
Sets desired text orientation.
- [b]Note:[/b] Orientation is ignored if server does not support [code]FEATURE_VERTICAL_LAYOUT[/code] feature.
</description>
</method>
- <method name="_shaped_text_set_preserve_control" qualifiers="virtual">
+ <method name="shaped_text_set_preserve_control" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="enabled" type="bool" />
@@ -1333,7 +1365,7 @@
If set to [code]true[/code] text buffer will display control characters.
</description>
</method>
- <method name="_shaped_text_set_preserve_invalid" qualifiers="virtual">
+ <method name="shaped_text_set_preserve_invalid" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="enabled" type="bool" />
@@ -1341,22 +1373,21 @@
If set to [code]true[/code] text buffer will display invalid characters as hexadecimal codes, otherwise nothing is displayed.
</description>
</method>
- <method name="_shaped_text_shape" qualifiers="virtual">
+ <method name="shaped_text_shape" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
Shapes buffer if it's not shaped. Returns [code]true[/code] if the string is shaped successfully.
- [b]Note:[/b] It is not necessary to call this function manually, buffer will be shaped automatically as soon as any of its output data is requested.
</description>
</method>
- <method name="_shaped_text_sort_logical" qualifiers="virtual">
- <return type="Glyph*" />
+ <method name="shaped_text_sort_logical" qualifiers="virtual">
+ <return type="const Glyph*" />
<argument index="0" name="shaped" type="RID" />
<description>
- Copies text glyphs in the logical order, into preallocated array of the size returned by [method _shaped_text_get_glyph_count].
+ Returns text glyphs in the logical order.
</description>
</method>
- <method name="_shaped_text_substr" qualifiers="virtual const">
+ <method name="shaped_text_substr" qualifiers="virtual const">
<return type="RID" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="start" type="int" />
@@ -1365,7 +1396,7 @@
Returns text buffer for the substring of the text in the [code]shaped[/code] text buffer (including inline objects).
</description>
</method>
- <method name="_shaped_text_tab_align" qualifiers="virtual">
+ <method name="shaped_text_tab_align" qualifiers="virtual">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="tab_stops" type="PackedFloat32Array" />
@@ -1373,37 +1404,47 @@
Aligns shaped text to the given tab-stops.
</description>
</method>
- <method name="_shaped_text_update_breaks" qualifiers="virtual">
+ <method name="shaped_text_update_breaks" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
- Updates line and word breaks.
+ Updates line breaking positions in the text buffer.
+ [b]Note:[/b] This method is used by default line/word breaking methods, and its implementation might be omitted if custom line breaking in implemented.
</description>
</method>
- <method name="_shaped_text_update_justification_ops" qualifiers="virtual">
+ <method name="shaped_text_update_justification_ops" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
- Updates justification opportunities (spaces, kashidas, etc.).
+ Updates line justification positions (word breaks and elongations) in the text buffer.
+ [b]Note:[/b] This method is used by default line/word breaking methods, and its implementation might be omitted if custom line breaking in implemented.
</description>
</method>
- <method name="_string_to_lower" qualifiers="virtual const">
+ <method name="string_to_lower" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
<description>
- Returns the string converted to lowercase. Casing is locale dependent and context sensitive. The result may be longer or shorter than the original.
+ Returns the string converted to lowercase.
</description>
</method>
- <method name="_string_to_upper" qualifiers="virtual const">
+ <method name="string_to_upper" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
<description>
- Returns the string converted to uppercase. Casing is locale dependent and context sensitive. The result may be longer or shorter than the original.
+ Returns the string converted to uppercase.
+ </description>
+ </method>
+ <method name="strip_diacritics" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="string" type="String" />
+ <description>
+ Strips diacritics from the string.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_tag_to_name" qualifiers="virtual const">
+ <method name="tag_to_name" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="tag" type="int" />
<description>
diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml
index de9bbb4b3d..1bbebe085e 100644
--- a/doc/classes/Texture2D.xml
+++ b/doc/classes/Texture2D.xml
@@ -12,6 +12,58 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_draw" qualifiers="virtual const">
+ <return type="void" />
+ <argument index="0" name="to_canvas_item" type="RID" />
+ <argument index="1" name="pos" type="Vector2" />
+ <argument index="2" name="modulate" type="Color" />
+ <argument index="3" name="transpose" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_draw_rect" qualifiers="virtual const">
+ <return type="void" />
+ <argument index="0" name="to_canvas_item" type="RID" />
+ <argument index="1" name="rect" type="Rect2" />
+ <argument index="2" name="tile" type="bool" />
+ <argument index="3" name="modulate" type="Color" />
+ <argument index="4" name="transpose" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_draw_rect_region" qualifiers="virtual const">
+ <return type="void" />
+ <argument index="0" name="tp_canvas_item" type="RID" />
+ <argument index="1" name="rect" type="Rect2" />
+ <argument index="2" name="src_rect" type="Rect2" />
+ <argument index="3" name="modulate" type="Color" />
+ <argument index="4" name="transpose" type="bool" />
+ <argument index="5" name="clip_uv" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_height" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_width" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_alpha" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_pixel_opaque" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="x" type="int" />
+ <argument index="1" name="y" type="int" />
+ <description>
+ </description>
+ </method>
<method name="draw" qualifiers="const">
<return type="void" />
<argument index="0" name="canvas_item" type="RID" />
diff --git a/doc/classes/Texture3D.xml b/doc/classes/Texture3D.xml
index bdfa428328..4968f46fe8 100644
--- a/doc/classes/Texture3D.xml
+++ b/doc/classes/Texture3D.xml
@@ -7,6 +7,36 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_get_data" qualifiers="virtual const">
+ <return type="Image[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_depth" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_format" qualifiers="virtual const">
+ <return type="int" enum="Image.Format" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_height" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_width" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_mipmaps" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
<method name="get_data" qualifiers="const">
<return type="Image[]" />
<description>
diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml
index 13679908d7..3445329f32 100644
--- a/doc/classes/TextureLayered.xml
+++ b/doc/classes/TextureLayered.xml
@@ -9,6 +9,42 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_get_format" qualifiers="virtual const">
+ <return type="int" enum="Image.Format" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_height" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_layer_data" qualifiers="virtual const">
+ <return type="Image" />
+ <argument index="0" name="layer_index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_layered_type" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_layers" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_width" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_mipmaps" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
<method name="get_format" qualifiers="const">
<return type="int" enum="Image.Format" />
<description>
diff --git a/doc/classes/TextureProgressBar.xml b/doc/classes/TextureProgressBar.xml
index a97e3a0cdc..4ea072a25f 100644
--- a/doc/classes/TextureProgressBar.xml
+++ b/doc/classes/TextureProgressBar.xml
@@ -27,7 +27,6 @@
<member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode" default="0">
The fill direction. See [enum FillMode] for possible values.
</member>
- <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" overrides="Control" enum="Control.MouseFilter" default="1" />
<member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch" default="false">
If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching.
</member>
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index e5ecff178b..9453bb9e2a 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -57,6 +57,14 @@
Clears all cells on the given layer.
</description>
</method>
+ <method name="erase_cell">
+ <return type="void" />
+ <argument index="0" name="layer" type="int" />
+ <argument index="1" name="coords" type="Vector2i" />
+ <description>
+ Erases the cell on layer [code]layer[/code] at coordinates [code]coords[/code].
+ </description>
+ </method>
<method name="fix_invalid_tiles">
<return type="void" />
<description>
@@ -227,7 +235,7 @@
<argument index="1" name="coords" type="Vector2i" />
<argument index="2" name="source_id" type="int" default="-1" />
<argument index="3" name="atlas_coords" type="Vector2i" default="Vector2i(-1, -1)" />
- <argument index="4" name="alternative_tile" type="int" default="-1" />
+ <argument index="4" name="alternative_tile" type="int" default="0" />
<description>
Sets the tile indentifiers for the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. Each tile of the [TileSet] is identified using three parts:
- The source identifier [code]source_id[/code] identifies a [TileSetSource] identifier. See [method TileSet.set_source_id],
diff --git a/doc/classes/Time.xml b/doc/classes/Time.xml
index bb59881db9..dd83fa54ff 100644
--- a/doc/classes/Time.xml
+++ b/doc/classes/Time.xml
@@ -97,6 +97,13 @@
If [code]use_space[/code] is true, use a space instead of the letter T in the middle.
</description>
</method>
+ <method name="get_offset_string_from_offset_minutes" qualifiers="const">
+ <return type="String" />
+ <argument index="0" name="offset_minutes" type="int" />
+ <description>
+ Converts the given timezone offset in minutes to a timezone offset string. For example, -480 returns "-08:00", 345 returns "+05:45", and 0 returns "+00:00".
+ </description>
+ </method>
<method name="get_ticks_msec" qualifiers="const">
<return type="int" />
<description>
diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml
index 975be428d8..ebe25ed55e 100644
--- a/doc/classes/Timer.xml
+++ b/doc/classes/Timer.xml
@@ -21,7 +21,7 @@
<return type="void" />
<argument index="0" name="time_sec" type="float" default="-1" />
<description>
- Starts the timer. Sets [code]wait_time[/code] to [code]time_sec[/code] if [code]time_sec &gt; 0[/code]. This also resets the remaining time to [code]wait_time[/code].
+ Starts the timer. Sets [member wait_time] to [code]time_sec[/code] if [code]time_sec &gt; 0[/code]. This also resets the remaining time to [member wait_time].
[b]Note:[/b] This method will not resume a paused timer. See [member paused].
</description>
</method>
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index 6c0c3032ec..3ad21ee809 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -206,11 +206,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Transform2D" />
<description>
Returns [code]true[/code] if the transforms are not equal.
@@ -261,11 +256,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Transform2D" />
<description>
Returns [code]true[/code] if the transforms are exactly equal.
diff --git a/doc/classes/Transform3D.xml b/doc/classes/Transform3D.xml
index 67e70f30e4..5a72dc223c 100644
--- a/doc/classes/Transform3D.xml
+++ b/doc/classes/Transform3D.xml
@@ -148,11 +148,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Transform3D" />
<description>
Returns [code]true[/code] if the transforms are not equal.
@@ -203,11 +198,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Transform3D" />
<description>
Returns [code]true[/code] if the transforms are exactly equal.
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index 25e6f553ca..b8c39bee49 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -323,6 +323,7 @@
<member name="allow_rmb_select" type="bool" setter="set_allow_rmb_select" getter="get_allow_rmb_select" default="false">
If [code]true[/code], a right mouse button click can select items.
</member>
+ <member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="column_titles_visible" type="bool" setter="set_column_titles_visible" getter="are_column_titles_visible" default="false">
If [code]true[/code], column titles are visible.
</member>
@@ -340,7 +341,6 @@
<member name="hide_root" type="bool" setter="set_hide_root" getter="is_root_hidden" default="false">
If [code]true[/code], the tree's root is hidden.
</member>
- <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
<member name="scroll_horizontal_enabled" type="bool" setter="set_h_scroll_enabled" getter="is_h_scroll_enabled" default="true">
If [code]true[/code], enables horizontal scrolling.
</member>
diff --git a/doc/classes/Variant.xml b/doc/classes/Variant.xml
index f2104d77ab..0d6fcd0ef5 100644
--- a/doc/classes/Variant.xml
+++ b/doc/classes/Variant.xml
@@ -25,7 +25,6 @@
- GDScript automatically wrap values in them. It keeps all data in plain Variants by default and then optionally enforces custom static typing rules on variable types.
- VisualScript tracks properties inside Variants as well, but it also uses static typing. The GUI interface enforces that properties have a particular type that doesn't change over time.
- C# is statically typed, but uses the Mono [code]object[/code] type in place of Godot's Variant class when it needs to represent a dynamic value. [code]object[/code] is the Mono runtime's equivalent of the same concept.
- - The statically-typed language NativeScript C++ does not define a built-in Variant-like class. Godot's GDNative bindings provide their own godot::Variant class for users; Any point at which the C++ code starts interacting with the Godot runtime is a place where you might have to start wrapping data inside Variant objects.
The global [method @GlobalScope.typeof] function returns the enumerated value of the Variant type stored in the current variable (see [enum Variant.Type]).
[codeblocks]
[gdscript]
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index a39ddb8187..f9ef126658 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -359,11 +359,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector2" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -461,11 +456,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector2" />
<description>
Returns [code]true[/code] if the vectors are exactly equal.
diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml
index 9b41e01c25..28d68b6e44 100644
--- a/doc/classes/Vector2i.xml
+++ b/doc/classes/Vector2i.xml
@@ -133,11 +133,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -253,11 +248,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
Returns [code]true[/code] if the vectors are equal.
diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml
index ec695f41c1..1653b66003 100644
--- a/doc/classes/Vector3.xml
+++ b/doc/classes/Vector3.xml
@@ -360,11 +360,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector3" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -476,11 +471,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector3" />
<description>
Returns [code]true[/code] if the vectors are exactly equal.
diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml
index e486d7cfec..4c7f3badc5 100644
--- a/doc/classes/Vector3i.xml
+++ b/doc/classes/Vector3i.xml
@@ -140,11 +140,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -260,11 +255,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
Returns [code]true[/code] if the vectors are equal.
diff --git a/doc/classes/VideoStreamPlayer.xml b/doc/classes/VideoStreamPlayer.xml
index 033e1ecd29..092a754a39 100644
--- a/doc/classes/VideoStreamPlayer.xml
+++ b/doc/classes/VideoStreamPlayer.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
Control node for playing video streams using [VideoStream] resources.
- Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a GDNative plugin using [VideoStreamGDNative].
+ Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a GDExtension plugin.
[b]Note:[/b] Due to a bug, VideoStreamPlayer does not support localization remapping yet.
[b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations.
</description>
@@ -69,7 +69,7 @@
</member>
<member name="stream_position" type="float" setter="set_stream_position" getter="get_stream_position">
The current position of the stream, in seconds.
- [b]Note:[/b] Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDNative add-on.
+ [b]Note:[/b] Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDExtension add-on.
</member>
<member name="volume" type="float" setter="set_volume" getter="get_volume">
Audio volume as a linear value.
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 531b09c6a0..a72e7f1eb0 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Viewport" inherits="Node" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Creates a sub-view into the screen.
+ Base class for viewports.
</brief_description>
<description>
A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera3D 3D nodes will render on it too.
Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports.
- If a viewport is a child of a [SubViewportContainer], it will automatically take up its size, otherwise it must be set manually.
Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it.
Also, viewports can be assigned to different screens in case the devices have multiple screens.
Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw.
@@ -131,11 +130,6 @@
Removes the focus from the currently focused [Control] within this viewport. If no [Control] has the focus, does nothing.
</description>
</method>
- <method name="is_embedding_subwindows" qualifiers="const">
- <return type="bool" />
- <description>
- </description>
- </method>
<method name="is_input_handled" qualifiers="const">
<return type="bool" />
<description>
@@ -220,7 +214,8 @@
<member name="gui_disable_input" type="bool" setter="set_disable_input" getter="is_input_disabled" default="false">
If [code]true[/code], the viewport will not receive input events.
</member>
- <member name="gui_embed_subwindows" type="bool" setter="set_embed_subwindows_hint" getter="get_embed_subwindows_hint" default="false">
+ <member name="gui_embed_subwindows" type="bool" setter="set_embedding_subwindows" getter="is_embedding_subwindows" default="false">
+ If [code]true[/code], sub-windows (popups and dialogs) will be embedded inside application window as control-like nodes. If [code]false[/code], they will appear as separate windows handled by the operating system.
</member>
<member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled" default="true">
If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly.
diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml
index e5b7a68a51..87de664aad 100644
--- a/doc/classes/ViewportTexture.xml
+++ b/doc/classes/ViewportTexture.xml
@@ -14,7 +14,6 @@
<link title="3D Viewport Scaling Demo">https://godotengine.org/asset-library/asset/586</link>
</tutorials>
<members>
- <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" overrides="Resource" default="true" />
<member name="viewport_path" type="NodePath" setter="set_viewport_path_in_scene" getter="get_viewport_path_in_scene" default="NodePath(&quot;&quot;)">
The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture.
</member>
diff --git a/doc/classes/VisualInstance3D.xml b/doc/classes/VisualInstance3D.xml
index 1aae85c7e1..78a681d92a 100644
--- a/doc/classes/VisualInstance3D.xml
+++ b/doc/classes/VisualInstance3D.xml
@@ -9,6 +9,11 @@
<tutorials>
</tutorials>
<methods>
+ <method name="_get_aabb" qualifiers="virtual const">
+ <return type="AABB" />
+ <description>
+ </description>
+ </method>
<method name="get_aabb" qualifiers="const">
<return type="AABB" />
<description>
@@ -58,7 +63,7 @@
</method>
</methods>
<members>
- <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask" default="1">
+ <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask">
The render layer(s) this [VisualInstance3D] is drawn on.
This object will only be visible for [Camera3D]s whose cull mask includes the render object this [VisualInstance3D] is set to.
</member>
diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml
index 3c5a6f3a33..138aad8d47 100644
--- a/doc/classes/VisualShader.xml
+++ b/doc/classes/VisualShader.xml
@@ -20,6 +20,14 @@
Adds the specified node to the shader.
</description>
</method>
+ <method name="add_varying">
+ <return type="void" />
+ <argument index="0" name="name" type="String" />
+ <argument index="1" name="mode" type="int" enum="VisualShader.VaryingMode" />
+ <argument index="2" name="type" type="int" enum="VisualShader.VaryingType" />
+ <description>
+ </description>
+ </method>
<method name="can_connect_nodes" qualifiers="const">
<return type="bool" />
<argument index="0" name="type" type="int" enum="VisualShader.Type" />
@@ -100,6 +108,12 @@
<description>
</description>
</method>
+ <method name="has_varying" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="name" type="String" />
+ <description>
+ </description>
+ </method>
<method name="is_node_connection" qualifiers="const">
<return type="bool" />
<argument index="0" name="type" type="int" enum="VisualShader.Type" />
@@ -119,6 +133,12 @@
Removes the specified node from the shader.
</description>
</method>
+ <method name="remove_varying">
+ <return type="void" />
+ <argument index="0" name="name" type="String" />
+ <description>
+ </description>
+ </method>
<method name="replace_node">
<return type="void" />
<argument index="0" name="type" type="int" enum="VisualShader.Type" />
@@ -182,6 +202,24 @@
<constant name="TYPE_MAX" value="10" enum="Type">
Represents the size of the [enum Type] enum.
</constant>
+ <constant name="VARYING_MODE_VERTEX_TO_FRAG_LIGHT" value="0" enum="VaryingMode">
+ </constant>
+ <constant name="VARYING_MODE_FRAG_TO_LIGHT" value="1" enum="VaryingMode">
+ </constant>
+ <constant name="VARYING_MODE_MAX" value="2" enum="VaryingMode">
+ </constant>
+ <constant name="VARYING_TYPE_FLOAT" value="0" enum="VaryingType">
+ </constant>
+ <constant name="VARYING_TYPE_VECTOR_2D" value="1" enum="VaryingType">
+ </constant>
+ <constant name="VARYING_TYPE_VECTOR_3D" value="2" enum="VaryingType">
+ </constant>
+ <constant name="VARYING_TYPE_COLOR" value="3" enum="VaryingType">
+ </constant>
+ <constant name="VARYING_TYPE_TRANSFORM" value="4" enum="VaryingType">
+ </constant>
+ <constant name="VARYING_TYPE_MAX" value="5" enum="VaryingType">
+ </constant>
<constant name="NODE_ID_INVALID" value="-1">
</constant>
<constant name="NODE_ID_OUTPUT" value="0">
diff --git a/doc/classes/VisualShaderNodeCustom.xml b/doc/classes/VisualShaderNodeCustom.xml
index 7b992abe24..0a962a4aa4 100644
--- a/doc/classes/VisualShaderNodeCustom.xml
+++ b/doc/classes/VisualShaderNodeCustom.xml
@@ -44,6 +44,17 @@
Defining this method is [b]optional[/b].
</description>
</method>
+ <method name="_get_func_code" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="mode" type="int" enum="Shader.Mode" />
+ <argument index="1" name="type" type="int" enum="VisualShader.Type" />
+ <description>
+ Override this method to add a shader code to the beginning of each shader function (once). The shader code should be returned as a string, which can have multiple lines (the [code]"""[/code] multiline string construct can be used for convenience).
+ If there are multiple custom nodes of different types which use this feature the order of each insertion is undefined.
+ You can customize the generated code based on the shader [code]mode[/code] (see [enum Shader.Mode]) and/or [code]type[/code] (see [enum VisualShader.Type]).
+ Defining this method is [b]optional[/b].
+ </description>
+ </method>
<method name="_get_global_code" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="mode" type="int" enum="Shader.Mode" />
@@ -114,11 +125,20 @@
Defining this method is [b]optional[/b]. If not overridden, no return icon is shown.
</description>
</method>
+ <method name="_is_available" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="mode" type="int" enum="Shader.Mode" />
+ <argument index="1" name="type" type="int" enum="VisualShader.Type" />
+ <description>
+ Override this method to prevent the node to be visible in the member dialog for the certain [code]mode[/code] (see [enum Shader.Mode]) and/or [code]type[/code] (see [enum VisualShader.Type]).
+ Defining this method is [b]optional[/b]. If not overridden, it's [code]true[/code].
+ </description>
+ </method>
<method name="_is_highend" qualifiers="virtual const">
<return type="bool" />
<description>
Override this method to enable high-end mark in the Visual Shader Editor's members dialog.
- Defining this method is [b]optional[/b]. If not overridden, it's false.
+ Defining this method is [b]optional[/b]. If not overridden, it's [code]false[/code].
</description>
</method>
</methods>
diff --git a/doc/classes/VisualShaderNodeVarying.xml b/doc/classes/VisualShaderNodeVarying.xml
new file mode 100644
index 0000000000..0dbbd61f3a
--- /dev/null
+++ b/doc/classes/VisualShaderNodeVarying.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualShaderNodeVarying" inherits="VisualShaderNode" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="varying_name" type="String" setter="set_varying_name" getter="get_varying_name" default="&quot;[None]&quot;">
+ </member>
+ <member name="varying_type" type="int" setter="set_varying_type" getter="get_varying_type" enum="VisualShader.VaryingType" default="0">
+ </member>
+ </members>
+</class>
diff --git a/doc/classes/VisualShaderNodeVaryingGetter.xml b/doc/classes/VisualShaderNodeVaryingGetter.xml
new file mode 100644
index 0000000000..de30b18d67
--- /dev/null
+++ b/doc/classes/VisualShaderNodeVaryingGetter.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualShaderNodeVaryingGetter" inherits="VisualShaderNodeVarying" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/VisualShaderNodeVaryingSetter.xml b/doc/classes/VisualShaderNodeVaryingSetter.xml
new file mode 100644
index 0000000000..57ead3d82b
--- /dev/null
+++ b/doc/classes/VisualShaderNodeVaryingSetter.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualShaderNodeVaryingSetter" inherits="VisualShaderNodeVarying" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml
index 912d3cb16c..9853f906bc 100644
--- a/doc/classes/Window.xml
+++ b/doc/classes/Window.xml
@@ -306,6 +306,8 @@
Set's the window's current mode.
[b]Note:[/b] Fullscreen mode is not exclusive fullscreen on Windows and Linux.
</member>
+ <member name="popup_window" type="bool" setter="set_flag" getter="get_flag" default="false">
+ </member>
<member name="position" type="Vector2i" setter="set_position" getter="get_position" default="Vector2i(0, 0)">
The window's position in pixels.
</member>
@@ -346,6 +348,7 @@
<signal name="files_dropped">
<argument index="0" name="files" type="PackedStringArray" />
<description>
+ Emitted when files are dragged from the OS file manager and dropped in the game window. The argument is a list of file paths.
</description>
</signal>
<signal name="focus_entered">
@@ -416,7 +419,9 @@
</constant>
<constant name="FLAG_NO_FOCUS" value="4" enum="Flags">
</constant>
- <constant name="FLAG_MAX" value="5" enum="Flags">
+ <constant name="FLAG_POPUP" value="5" enum="Flags">
+ </constant>
+ <constant name="FLAG_MAX" value="6" enum="Flags">
</constant>
<constant name="CONTENT_SCALE_MODE_DISABLED" value="0" enum="ContentScaleMode">
</constant>
diff --git a/doc/classes/WorldBoundaryShape2D.xml b/doc/classes/WorldBoundaryShape2D.xml
index cfcaede4a6..5a655520c3 100644
--- a/doc/classes/WorldBoundaryShape2D.xml
+++ b/doc/classes/WorldBoundaryShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WorldBoundaryShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- World boundary shape for 2D collisions.
+ World boundary (infinite plane) shape resource for 2D physics.
</brief_description>
<description>
- World boundary shape for 2D collisions. It works like a 2D plane and will not allow any physics body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
+ 2D world boundary shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. [WorldBoundaryShape2D] works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [member normal] matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape2D] is used in a [PhysicsBody2D], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ [b]Performance:[/b] Being a primitive collision shape, [WorldBoundaryShape2D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/WorldBoundaryShape3D.xml b/doc/classes/WorldBoundaryShape3D.xml
index a05c404125..4f6b987a8e 100644
--- a/doc/classes/WorldBoundaryShape3D.xml
+++ b/doc/classes/WorldBoundaryShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WorldBoundaryShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- World boundary shape for 3D collisions.
+ World boundary (infinite plane) shape resource for 3D physics.
</brief_description>
<description>
- World boundary shape for 3D collisions. It works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ 3D world boundary shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. [WorldBoundaryShape3D] works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ [b]Performance:[/b] Being a primitive collision shape, [WorldBoundaryShape3D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/XRController3D.xml b/doc/classes/XRController3D.xml
index a77f8cf9ca..deea888b8f 100644
--- a/doc/classes/XRController3D.xml
+++ b/doc/classes/XRController3D.xml
@@ -41,12 +41,6 @@
</description>
</method>
</methods>
- <members>
- <member name="rumble" type="float" setter="set_rumble" getter="get_rumble" default="0.0">
- The degree to which the controller vibrates. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. If changed, updates [member XRPositionalTracker.rumble] accordingly.
- This is a useful property to animate if you want the controller to vibrate for a limited duration.
- </member>
- </members>
<signals>
<signal name="button_pressed">
<argument index="0" name="name" type="String" />
diff --git a/doc/classes/XRInterface.xml b/doc/classes/XRInterface.xml
index 623e4f5fbc..0f4159cbbf 100644
--- a/doc/classes/XRInterface.xml
+++ b/doc/classes/XRInterface.xml
@@ -4,7 +4,7 @@
Base class for an XR interface implementation.
</brief_description>
<description>
- This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass XRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
+ This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDExtension modules. Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform.
Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through [XRServer].
</description>
<tutorials>
diff --git a/doc/classes/XRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml
index c544ef3cfa..d15558c9e8 100644
--- a/doc/classes/XRPositionalTracker.xml
+++ b/doc/classes/XRPositionalTracker.xml
@@ -72,8 +72,8 @@
- [code]left_hand[/code] identifies the controller held in the players left hand
- [code]right_hand[/code] identifies the controller held in the players right hand
</member>
- <member name="rumble" type="float" setter="set_rumble" getter="get_rumble" default="0.0">
- The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code].
+ <member name="profile" type="String" setter="set_tracker_profile" getter="get_tracker_profile" default="&quot;&quot;">
+ The profile associated with this tracker, interface dependent but will indicate the type of controller being tracked.
</member>
<member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" enum="XRServer.TrackerType" default="128">
The type of tracker.
@@ -112,6 +112,12 @@
Emitted when the state of a pose tracked by this tracker changes.
</description>
</signal>
+ <signal name="profile_changed">
+ <argument index="0" name="role" type="String" />
+ <description>
+ Emitted when the profile of our tracker changes.
+ </description>
+ </signal>
</signals>
<constants>
<constant name="TRACKER_HAND_UNKNOWN" value="0" enum="TrackerHand">
diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml
index 6b1243b8c0..374b703636 100644
--- a/doc/classes/bool.xml
+++ b/doc/classes/bool.xml
@@ -123,11 +123,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="bool" />
<description>
Returns [code]true[/code] if two bools are different, i.e. one is [code]true[/code] and the other is [code]false[/code].
@@ -142,12 +137,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code].
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="bool" />
<description>
Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code].
diff --git a/doc/classes/float.xml b/doc/classes/float.xml
index 1fe234c567..50961f9c7f 100644
--- a/doc/classes/float.xml
+++ b/doc/classes/float.xml
@@ -44,11 +44,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if two floats are different from each other.
@@ -201,11 +196,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if both floats are exactly equal.
diff --git a/doc/classes/int.xml b/doc/classes/int.xml
index eac7ee8dfd..609291b69c 100644
--- a/doc/classes/int.xml
+++ b/doc/classes/int.xml
@@ -70,11 +70,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if operands are different from each other.
@@ -273,11 +268,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if the integer is equal to the given [float].