summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/AcceptDialog.xml1
-rw-r--r--doc/classes/CameraEffects.xml4
-rw-r--r--doc/classes/CanvasItem.xml4
-rw-r--r--doc/classes/DisplayServer.xml4
-rw-r--r--doc/classes/EditorInterface.xml1
-rw-r--r--doc/classes/EditorPlugin.xml18
-rw-r--r--doc/classes/EditorTranslationParserPlugin.xml48
-rw-r--r--doc/classes/Environment.xml80
-rw-r--r--doc/classes/FileSystemDock.xml18
-rw-r--r--doc/classes/GIProbe.xml2
-rw-r--r--doc/classes/Geometry2D.xml7
-rw-r--r--doc/classes/Image.xml9
-rw-r--r--doc/classes/Light3D.xml7
-rw-r--r--doc/classes/MainLoop.xml16
-rw-r--r--doc/classes/Node.xml26
-rw-r--r--doc/classes/Performance.xml69
-rw-r--r--doc/classes/PhysicalBone3D.xml4
-rw-r--r--doc/classes/PhysicsDirectBodyState2D.xml8
-rw-r--r--doc/classes/PhysicsDirectBodyState3D.xml12
-rw-r--r--doc/classes/PhysicsServer2D.xml8
-rw-r--r--doc/classes/PhysicsServer3D.xml6
-rw-r--r--doc/classes/PhysicsShapeQueryParameters2D.xml27
-rw-r--r--doc/classes/PhysicsShapeQueryParameters3D.xml27
-rw-r--r--doc/classes/ProjectSettings.xml17
-rw-r--r--doc/classes/RayCast2D.xml2
-rw-r--r--doc/classes/RayCast3D.xml2
-rw-r--r--doc/classes/ReflectionProbe.xml25
-rw-r--r--doc/classes/RenderingDevice.xml26
-rw-r--r--doc/classes/RenderingServer.xml95
-rw-r--r--doc/classes/RigidBody2D.xml10
-rw-r--r--doc/classes/RigidBody3D.xml6
-rw-r--r--doc/classes/String.xml18
-rw-r--r--doc/classes/TextEdit.xml8
-rw-r--r--doc/classes/TextureButton.xml6
-rw-r--r--doc/classes/Vector2.xml2
-rw-r--r--doc/classes/Viewport.xml13
-rw-r--r--doc/classes/Window.xml4
37 files changed, 455 insertions, 185 deletions
diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml
index 99b566e74f..6b1864b679 100644
--- a/doc/classes/AcceptDialog.xml
+++ b/doc/classes/AcceptDialog.xml
@@ -67,6 +67,7 @@
<member name="dialog_text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
The text displayed by the dialog.
</member>
+ <member name="exclusive" type="bool" setter="set_exclusive" getter="is_exclusive" override="true" default="true" />
<member name="title" type="String" setter="set_title" getter="get_title" override="true" default="&quot;Alert!&quot;" />
<member name="transient" type="bool" setter="set_transient" getter="is_transient" override="true" default="true" />
<member name="visible" type="bool" setter="set_visible" getter="is_visible" override="true" default="false" />
diff --git a/doc/classes/CameraEffects.xml b/doc/classes/CameraEffects.xml
index ea9ab85b80..7a874d31db 100644
--- a/doc/classes/CameraEffects.xml
+++ b/doc/classes/CameraEffects.xml
@@ -34,9 +34,9 @@
The length of the transition between the near blur and no-blur area.
</member>
<member name="override_exposure" type="float" setter="set_override_exposure" getter="get_override_exposure" default="1.0">
- The exposure override value to use. Higher values will result in a brighter scene. Only effective if [member override_exposure_enable] is [code]true[/code].
+ The exposure override value to use. Higher values will result in a brighter scene. Only effective if [member override_exposure_enabled] is [code]true[/code].
</member>
- <member name="override_exposure_enable" type="bool" setter="set_override_exposure_enabled" getter="is_override_exposure_enabled" default="false">
+ <member name="override_exposure_enabled" type="bool" setter="set_override_exposure_enabled" getter="is_override_exposure_enabled" default="false">
If [code]true[/code], overrides the manual or automatic exposure defined in the [Environment] with the value in [member override_exposure].
</member>
</members>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index b3a3722836..be361f93f3 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -285,9 +285,9 @@
</return>
<argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="rotation" type="float">
+ <argument index="1" name="rotation" type="float" default="0.0">
</argument>
- <argument index="2" name="scale" type="Vector2">
+ <argument index="2" name="scale" type="Vector2" default="Vector2( 1, 1 )">
</argument>
<description>
Sets a custom transform for drawing via components. Anything drawn afterwards will be transformed by this.
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index f8306cbd72..1fb1de2c12 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -44,9 +44,9 @@
</return>
<argument index="0" name="mode" type="int" enum="DisplayServer.WindowMode">
</argument>
- <argument index="1" name="rect" type="int">
+ <argument index="1" name="flags" type="int">
</argument>
- <argument index="2" name="arg2" type="Rect2i" default="Rect2i( 0, 0, 0, 0 )">
+ <argument index="2" name="rect" type="Rect2i" default="Rect2i( 0, 0, 0, 0 )">
</argument>
<description>
</description>
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml
index dbe725f08b..c2c73a8b83 100644
--- a/doc/classes/EditorInterface.xml
+++ b/doc/classes/EditorInterface.xml
@@ -204,6 +204,7 @@
</methods>
<members>
<member name="distraction_free_mode" type="bool" setter="set_distraction_free_mode" getter="is_distraction_free_mode_enabled">
+ If [code]true[/code], enables distraction-free mode which hides side docks to increase the space available for the main view.
</member>
</members>
<constants>
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index 2fa791a9df..99fe9b4bb5 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -142,6 +142,15 @@
Adds a custom submenu under [b]Project &gt; Tools &gt;[/b] [code]name[/code]. [code]submenu[/code] should be an object of class [PopupMenu]. This submenu should be cleaned up using [code]remove_tool_menu_item(name)[/code].
</description>
</method>
+ <method name="add_translation_parser_plugin">
+ <return type="void">
+ </return>
+ <argument index="0" name="parser" type="EditorTranslationParserPlugin">
+ </argument>
+ <description>
+ Registers a custom translation parser plugin for extracting translatable strings from custom files.
+ </description>
+ </method>
<method name="apply_changes" qualifiers="virtual">
<return type="void">
</return>
@@ -464,6 +473,15 @@
Removes a menu [code]name[/code] from [b]Project &gt; Tools[/b].
</description>
</method>
+ <method name="remove_translation_parser_plugin">
+ <return type="void">
+ </return>
+ <argument index="0" name="parser" type="EditorTranslationParserPlugin">
+ </argument>
+ <description>
+ Removes a registered custom translation parser plugin.
+ </description>
+ </method>
<method name="save_external_data" qualifiers="virtual">
<return type="void">
</return>
diff --git a/doc/classes/EditorTranslationParserPlugin.xml b/doc/classes/EditorTranslationParserPlugin.xml
new file mode 100644
index 0000000000..73098efd99
--- /dev/null
+++ b/doc/classes/EditorTranslationParserPlugin.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="EditorTranslationParserPlugin" inherits="Reference" version="4.0">
+ <brief_description>
+ Plugin for adding custom parsers to extract strings that are to be translated from custom files (.csv, .json etc.).
+ </brief_description>
+ <description>
+ Plugins are registered via [method EditorPlugin.add_translation_parser_plugin] method. To define the parsing and string extraction logic, override the [method parse_text] method in script.
+ The extracted strings will be written into a POT file selected by user under "POT Generation" in "Localization" tab in "Project Settings" menu.
+ Below shows an example of a custom parser that extracts strings in a CSV file to write into a POT.
+ [codeblock]
+ tool
+ extends EditorTranslationParserPlugin
+
+ func parse_text(text, extracted_strings):
+ var split_strs = text.split(",", false, 0)
+ for s in split_strs:
+ extracted_strings.append(s)
+ #print("Extracted string: " + s)
+
+ func get_recognized_extensions():
+ return ["csv"]
+ [/codeblock]
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="get_recognized_extensions" qualifiers="virtual">
+ <return type="Array">
+ </return>
+ <description>
+ Gets the list of file extensions to associate with this parser, e.g. [code]["csv"][/code].
+ </description>
+ </method>
+ <method name="parse_text" qualifiers="virtual">
+ <return type="void">
+ </return>
+ <argument index="0" name="text" type="String">
+ </argument>
+ <argument index="1" name="extracted_strings" type="Array">
+ </argument>
+ <description>
+ Override this method to define a custom parsing logic to extract the translatable strings.
+ </description>
+ </method>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 3642d92771..bbab0bf8cf 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -24,7 +24,7 @@
Returns [code]true[/code] if the glow level [code]idx[/code] is specified, [code]false[/code] otherwise.
</description>
</method>
- <method name="set_glow_level">
+ <method name="set_glow_level_enabled">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
@@ -46,7 +46,7 @@
<member name="adjustment_contrast" type="float" setter="set_adjustment_contrast" getter="get_adjustment_contrast" default="1.0">
The global contrast value of the rendered scene (default value is 1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code].
</member>
- <member name="adjustment_enabled" type="bool" setter="set_adjustment_enable" getter="is_adjustment_enabled" default="false">
+ <member name="adjustment_enabled" type="bool" setter="set_adjustment_enabled" getter="is_adjustment_enabled" default="false">
If [code]true[/code], enables the [code]adjustment_*[/code] properties provided by this resource. If [code]false[/code], modifications to the [code]adjustment_*[/code] properties will have no effect on the rendered scene.
</member>
<member name="adjustment_saturation" type="float" setter="set_adjustment_saturation" getter="get_adjustment_saturation" default="1.0">
@@ -65,7 +65,7 @@
</member>
<member name="ambient_light_source" type="int" setter="set_ambient_source" getter="get_ambient_source" enum="Environment.AmbientSource" default="0">
</member>
- <member name="auto_exposure_enabled" type="bool" setter="set_tonemap_auto_exposure" getter="get_tonemap_auto_exposure" default="false">
+ <member name="auto_exposure_enabled" type="bool" setter="set_tonemap_auto_exposure_enabled" getter="is_tonemap_auto_exposure_enabled" default="false">
If [code]true[/code], enables the tonemapping auto exposure mode of the scene renderer. If [code]true[/code], the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light.
</member>
<member name="auto_exposure_max_luma" type="float" setter="set_tonemap_auto_exposure_max" getter="get_tonemap_auto_exposure_max" default="8.0">
@@ -158,25 +158,25 @@
<member name="glow_intensity" type="float" setter="set_glow_intensity" getter="get_glow_intensity" default="0.8">
The glow intensity. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
</member>
- <member name="glow_levels/1" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/1" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 1st level of glow is enabled. This is the most "local" level (least blurry).
</member>
- <member name="glow_levels/2" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/2" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 2th level of glow is enabled.
</member>
- <member name="glow_levels/3" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="true">
+ <member name="glow_levels/3" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="true">
If [code]true[/code], the 3th level of glow is enabled.
</member>
- <member name="glow_levels/4" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/4" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 4th level of glow is enabled.
</member>
- <member name="glow_levels/5" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="true">
+ <member name="glow_levels/5" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="true">
If [code]true[/code], the 5th level of glow is enabled.
</member>
- <member name="glow_levels/6" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/6" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 6th level of glow is enabled.
</member>
- <member name="glow_levels/7" type="bool" setter="set_glow_level" getter="is_glow_level_enabled" default="false">
+ <member name="glow_levels/7" type="bool" setter="set_glow_level_enabled" getter="is_glow_level_enabled" default="false">
If [code]true[/code], the 7th level of glow is enabled. This is the most "global" level (blurriest).
</member>
<member name="glow_mix" type="float" setter="set_glow_mix" getter="get_glow_mix" default="0.05">
@@ -186,6 +186,30 @@
</member>
<member name="reflected_light_source" type="int" setter="set_reflection_source" getter="get_reflection_source" enum="Environment.ReflectionSource" default="0">
</member>
+ <member name="sdfgi_cascade0_distance" type="float" setter="set_sdfgi_cascade0_distance" getter="get_sdfgi_cascade0_distance" default="12.8">
+ </member>
+ <member name="sdfgi_cascades" type="int" setter="set_sdfgi_cascades" getter="get_sdfgi_cascades" enum="Environment.SDFGICascades" default="1">
+ </member>
+ <member name="sdfgi_enabled" type="bool" setter="set_sdfgi_enabled" getter="is_sdfgi_enabled" default="false">
+ </member>
+ <member name="sdfgi_energy" type="float" setter="set_sdfgi_energy" getter="get_sdfgi_energy" default="1.0">
+ </member>
+ <member name="sdfgi_max_distance" type="float" setter="set_sdfgi_max_distance" getter="get_sdfgi_max_distance" default="819.2">
+ </member>
+ <member name="sdfgi_min_cell_size" type="float" setter="set_sdfgi_min_cell_size" getter="get_sdfgi_min_cell_size" default="0.2">
+ </member>
+ <member name="sdfgi_normal_bias" type="float" setter="set_sdfgi_normal_bias" getter="get_sdfgi_normal_bias" default="1.1">
+ </member>
+ <member name="sdfgi_probe_bias" type="float" setter="set_sdfgi_probe_bias" getter="get_sdfgi_probe_bias" default="1.1">
+ </member>
+ <member name="sdfgi_read_sky_light" type="bool" setter="set_sdfgi_read_sky_light" getter="is_sdfgi_reading_sky_light" default="false">
+ </member>
+ <member name="sdfgi_use_multi_bounce" type="bool" setter="set_sdfgi_use_multi_bounce" getter="is_sdfgi_using_multi_bounce" default="false">
+ </member>
+ <member name="sdfgi_use_occlusion" type="bool" setter="set_sdfgi_use_occlusion" getter="is_sdfgi_using_occlusion" default="false">
+ </member>
+ <member name="sdfgi_y_scale" type="int" setter="set_sdfgi_y_scale" getter="get_sdfgi_y_scale" enum="Environment.SDFGIYScale" default="0">
+ </member>
<member name="sky" type="Sky" setter="set_sky" getter="get_sky">
The [Sky] resource used for this [Environment].
</member>
@@ -285,6 +309,18 @@
<constant name="REFLECTION_SOURCE_SKY" value="2" enum="ReflectionSource">
Use the [Sky] for reflections regardless of what the background is.
</constant>
+ <constant name="TONE_MAPPER_LINEAR" value="0" enum="ToneMapper">
+ Linear tonemapper operator. Reads the linear data and passes it on unmodified.
+ </constant>
+ <constant name="TONE_MAPPER_REINHARDT" value="1" enum="ToneMapper">
+ Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: [code]color = color / (1 + color)[/code].
+ </constant>
+ <constant name="TONE_MAPPER_FILMIC" value="2" enum="ToneMapper">
+ Filmic tonemapper operator.
+ </constant>
+ <constant name="TONE_MAPPER_ACES" value="3" enum="ToneMapper">
+ Academy Color Encoding System tonemapper operator.
+ </constant>
<constant name="GLOW_BLEND_MODE_ADDITIVE" value="0" enum="GlowBlendMode">
Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
</constant>
@@ -300,18 +336,6 @@
<constant name="GLOW_BLEND_MODE_MIX" value="4" enum="GlowBlendMode">
Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect.
</constant>
- <constant name="TONE_MAPPER_LINEAR" value="0" enum="ToneMapper">
- Linear tonemapper operator. Reads the linear data and passes it on unmodified.
- </constant>
- <constant name="TONE_MAPPER_REINHARDT" value="1" enum="ToneMapper">
- Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: [code]color = color / (1 + color)[/code].
- </constant>
- <constant name="TONE_MAPPER_FILMIC" value="2" enum="ToneMapper">
- Filmic tonemapper operator.
- </constant>
- <constant name="TONE_MAPPER_ACES" value="3" enum="ToneMapper">
- Academy Color Encoding System tonemapper operator.
- </constant>
<constant name="SSAO_BLUR_DISABLED" value="0" enum="SSAOBlur">
No blur for the screen-space ambient occlusion effect (fastest).
</constant>
@@ -324,5 +348,17 @@
<constant name="SSAO_BLUR_3x3" value="3" enum="SSAOBlur">
3×3 blur for the screen-space ambient occlusion effect. Increases the radius of the blur for a smoother look, but can result in checkerboard-like artifacts.
</constant>
+ <constant name="SDFGI_CASCADES_4" value="0" enum="SDFGICascades">
+ </constant>
+ <constant name="SDFGI_CASCADES_6" value="1" enum="SDFGICascades">
+ </constant>
+ <constant name="SDFGI_CASCADES_8" value="2" enum="SDFGICascades">
+ </constant>
+ <constant name="SDFGI_Y_SCALE_DISABLED" value="0" enum="SDFGIYScale">
+ </constant>
+ <constant name="SDFGI_Y_SCALE_75_PERCENT" value="1" enum="SDFGIYScale">
+ </constant>
+ <constant name="SDFGI_Y_SCALE_50_PERCENT" value="2" enum="SDFGIYScale">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/FileSystemDock.xml b/doc/classes/FileSystemDock.xml
index fdf29f89b2..c553f90e37 100644
--- a/doc/classes/FileSystemDock.xml
+++ b/doc/classes/FileSystemDock.xml
@@ -10,11 +10,11 @@
<method name="can_drop_data_fw" qualifiers="const">
<return type="bool">
</return>
- <argument index="0" name="arg0" type="Vector2">
+ <argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="arg1" type="Variant">
+ <argument index="1" name="data" type="Variant">
</argument>
- <argument index="2" name="arg2" type="Control">
+ <argument index="2" name="from" type="Control">
</argument>
<description>
</description>
@@ -22,11 +22,11 @@
<method name="drop_data_fw">
<return type="void">
</return>
- <argument index="0" name="arg0" type="Vector2">
+ <argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="arg1" type="Variant">
+ <argument index="1" name="data" type="Variant">
</argument>
- <argument index="2" name="arg2" type="Control">
+ <argument index="2" name="from" type="Control">
</argument>
<description>
</description>
@@ -34,9 +34,9 @@
<method name="get_drag_data_fw">
<return type="Variant">
</return>
- <argument index="0" name="arg0" type="Vector2">
+ <argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="arg1" type="Control">
+ <argument index="1" name="from" type="Control">
</argument>
<description>
</description>
@@ -44,7 +44,7 @@
<method name="navigate_to_path">
<return type="void">
</return>
- <argument index="0" name="arg0" type="String">
+ <argument index="0" name="path" type="String">
</argument>
<description>
</description>
diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml
index 23dd562653..8885f360a3 100644
--- a/doc/classes/GIProbe.xml
+++ b/doc/classes/GIProbe.xml
@@ -19,7 +19,7 @@
<argument index="1" name="create_visual_debug" type="bool" default="false">
</argument>
<description>
- Bakes the effect from all [GeometryInstance3D]s marked with [constant GeometryInstance3D.GI_MODE_BAKED] and [Light3D]s marked with either [constant Light3D.BAKE_INDIRECT] or [constant Light3D.BAKE_ALL]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring.
+ Bakes the effect from all [GeometryInstance3D]s marked with [constant GeometryInstance3D.GI_MODE_BAKED] and [Light3D]s marked with either [constant Light3D.BAKE_DYNAMIC] or [constant Light3D.BAKE_STATIC]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring.
</description>
</method>
<method name="debug_bake">
diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml
index ffd4bd108d..86dc8e864a 100644
--- a/doc/classes/Geometry2D.xml
+++ b/doc/classes/Geometry2D.xml
@@ -200,6 +200,13 @@
Inflates or deflates [code]polygon[/code] by [code]delta[/code] units (pixels). If [code]delta[/code] is positive, makes the polygon grow outward. If [code]delta[/code] is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if [code]delta[/code] is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon.
Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType].
The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise].
+ [b]Note:[/b] To translate the polygon's vertices specifically, use the [method Transform2D.xform] method:
+ [codeblock]
+ var polygon = PackedVector2Array([Vector2(0, 0), Vector2(100, 0), Vector2(100, 100), Vector2(0, 100)])
+ var offset = Vector2(50, 50)
+ polygon = Transform2D(0, offset).xform(polygon)
+ print(polygon) # prints [Vector2(50, 50), Vector2(150, 50), Vector2(150, 150), Vector2(50, 150)]
+ [/codeblock]
</description>
</method>
<method name="offset_polyline">
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index d29fcfd96f..5aa5de1dae 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -364,6 +364,15 @@
Loads an image from the binary contents of a PNG file.
</description>
</method>
+ <method name="load_tga_from_buffer">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="buffer" type="PackedByteArray">
+ </argument>
+ <description>
+ Loads an image from the binary contents of a TGA file.
+ </description>
+ </method>
<method name="load_webp_from_buffer">
<return type="int" enum="Error">
</return>
diff --git a/doc/classes/Light3D.xml b/doc/classes/Light3D.xml
index dda6faa80a..6979efa569 100644
--- a/doc/classes/Light3D.xml
+++ b/doc/classes/Light3D.xml
@@ -148,12 +148,9 @@
Light is ignored when baking.
[b]Note:[/b] Hiding a light does [i]not[/i] affect baking.
</constant>
- <constant name="BAKE_INDIRECT" value="1" enum="BakeMode">
- Only indirect lighting will be baked (default).
+ <constant name="BAKE_DYNAMIC" value="1" enum="BakeMode">
</constant>
- <constant name="BAKE_ALL" value="2" enum="BakeMode">
- Both direct and indirect light will be baked.
- [b]Note:[/b] You should hide the light if you don't want it to appear twice (dynamic and baked).
+ <constant name="BAKE_STATIC" value="2" enum="BakeMode">
</constant>
</constants>
</class>
diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml
index 7bb478fce2..55ae54d12b 100644
--- a/doc/classes/MainLoop.xml
+++ b/doc/classes/MainLoop.xml
@@ -142,13 +142,21 @@
Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
Specific to the macOS platform.
</constant>
- <constant name="NOTIFICATION_APP_RESUMED" value="2014">
- Notification received from the OS when the app is resumed.
+ <constant name="NOTIFICATION_APPLICATION_RESUMED" value="2014">
+ Notification received from the OS when the application is resumed.
Specific to the Android platform.
</constant>
- <constant name="NOTIFICATION_APP_PAUSED" value="2015">
- Notification received from the OS when the app is paused.
+ <constant name="NOTIFICATION_APPLICATION_PAUSED" value="2015">
+ Notification received from the OS when the application is paused.
Specific to the Android platform.
</constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_IN" value="2016">
+ Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance.
+ Implemented on desktop platforms.
+ </constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_OUT" value="2017">
+ Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application.
+ Implemented on desktop platforms.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 9617ee0437..e921cbd58a 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -926,13 +926,11 @@
Notification received from the OS when the mouse leaves the game window.
Implemented on desktop and web platforms.
</constant>
- <constant name="NOTIFICATION_WM_FOCUS_IN" value="1004">
- Notification received from the OS when the game window is focused.
- Implemented on all platforms.
+ <constant name="NOTIFICATION_WM_WINDOW_FOCUS_IN" value="1004">
+ Notification received from the OS when the node's parent [Window] is focused. This may be a change of focus between two windows of the same engine instance, or from the OS desktop or a third-party application to a window of the game (in which case [constant NOTIFICATION_APPLICATION_FOCUS_IN] is also emitted).
</constant>
- <constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005">
- Notification received from the OS when the game window is unfocused.
- Implemented on all platforms.
+ <constant name="NOTIFICATION_WM_WINDOW_FOCUS_OUT" value="1005">
+ Notification received from the OS when the node's parent [Window] is defocused. This may be a change of focus between two windows of the same engine instance, or from a window of the game to the OS desktop or a third-party application (in which case [constant NOTIFICATION_APPLICATION_FOCUS_OUT] is also emitted).
</constant>
<constant name="NOTIFICATION_WM_CLOSE_REQUEST" value="1006">
Notification received from the OS when a close request is sent (e.g. closing the window with a "Close" button or [kbd]Alt + F4[/kbd]).
@@ -963,14 +961,22 @@
Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string).
Specific to the macOS platform.
</constant>
- <constant name="NOTIFICATION_APP_RESUMED" value="2014">
- Notification received from the OS when the app is resumed.
+ <constant name="NOTIFICATION_APPLICATION_RESUMED" value="2014">
+ Notification received from the OS when the application is resumed.
Specific to the Android platform.
</constant>
- <constant name="NOTIFICATION_APP_PAUSED" value="2015">
- Notification received from the OS when the app is paused.
+ <constant name="NOTIFICATION_APPLICATION_PAUSED" value="2015">
+ Notification received from the OS when the application is paused.
Specific to the Android platform.
</constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_IN" value="2016">
+ Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance.
+ Implemented on desktop platforms.
+ </constant>
+ <constant name="NOTIFICATION_APPLICATION_FOCUS_OUT" value="2017">
+ Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application.
+ Implemented on desktop platforms.
+ </constant>
<constant name="PAUSE_MODE_INHERIT" value="0" enum="PauseMode">
Inherits pause mode from the node's parent. For the root node, it is equivalent to [constant PAUSE_MODE_STOP]. Default.
</constant>
diff --git a/doc/classes/Performance.xml b/doc/classes/Performance.xml
index 2a0c153267..0a9079ce71 100644
--- a/doc/classes/Performance.xml
+++ b/doc/classes/Performance.xml
@@ -5,12 +5,55 @@
</brief_description>
<description>
This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS. These are the same as the values displayed in the [b]Monitor[/b] tab in the editor's [b]Debugger[/b] panel. By using the [method get_monitor] method of this class, you can access this data from your code.
+ You can add custom monitors using the [method add_custom_monitor] method. Custom monitors are available in [b]Monitor[/b] tab in the editor's [b]Debugger[/b] panel together with built-in monitors.
[b]Note:[/b] A few of these monitors are only available in debug mode and will always return 0 when used in a release build.
[b]Note:[/b] Many of these monitors are not updated in real-time, so there may be a short delay between changes.
+ [b]Note:[/b] Custom monitors do not support negative values. Negative values are clamped to 0.
</description>
<tutorials>
</tutorials>
<methods>
+ <method name="add_custom_monitor">
+ <return type="void">
+ </return>
+ <argument index="0" name="id" type="StringName">
+ </argument>
+ <argument index="1" name="callable" type="Callable">
+ </argument>
+ <argument index="2" name="arguments" type="Array" default="[ ]">
+ </argument>
+ <description>
+ Adds a custom monitor with name same as id. You can specify the category of monitor using '/' in id. If there are more than one '/' then default category is used. Default category is "Custom".
+ [codeblock]
+ Performance.add_custom_monitor("MyCategory/MyMonitor", some_callable) # Adds monitor with name "MyName" to category "MyCategory"
+ Performance.add_custom_monitor("MyMonitor", some_callable) # Adds monitor with name "MyName" to category "Custom"
+ # Note: "MyCategory/MyMonitor" and "MyMonitor" have same name but different ids so above code is valid
+ Performance.add_custom_monitor("Custom/MyMonitor", some_callable) # Adds monitor with name "MyName" to category "Custom"
+ # Note: "MyMonitor" and "Custom/MyMonitor" have same name and same category but different ids so above code is valid
+ Performance.add_custom_monitor("MyCategoryOne/MyCategoryTwo/MyMonitor", some_callable) # Adds monitor with name "MyCategoryOne/MyCategoryTwo/MyMonitor" to category "Custom"
+ [/codeblock]
+ The debugger calls the callable to get the value of custom monitor. The callable must return a number.
+ Callables are called with arguments supplied in argument array.
+ [b]Note:[/b] It throws an error if given id is already present.
+ </description>
+ </method>
+ <method name="get_custom_monitor">
+ <return type="Variant">
+ </return>
+ <argument index="0" name="id" type="StringName">
+ </argument>
+ <description>
+ Returns the value of custom monitor with given id. The callable is called to get the value of custom monitor.
+ [b]Note:[/b] It throws an error if the given id is absent.
+ </description>
+ </method>
+ <method name="get_custom_monitor_names">
+ <return type="Array">
+ </return>
+ <description>
+ Returns the names of active custom monitors in an array.
+ </description>
+ </method>
<method name="get_monitor" qualifiers="const">
<return type="float">
</return>
@@ -23,6 +66,32 @@
[/codeblock]
</description>
</method>
+ <method name="get_monitor_modification_time">
+ <return type="int">
+ </return>
+ <description>
+ Returns the last tick in which custom monitor was added/removed.
+ </description>
+ </method>
+ <method name="has_custom_monitor">
+ <return type="bool">
+ </return>
+ <argument index="0" name="id" type="StringName">
+ </argument>
+ <description>
+ Returns true if custom monitor with the given id is present otherwise returns false.
+ </description>
+ </method>
+ <method name="remove_custom_monitor">
+ <return type="void">
+ </return>
+ <argument index="0" name="id" type="StringName">
+ </argument>
+ <description>
+ Removes the custom monitor with given id.
+ [b]Note:[/b] It throws an error if the given id is already absent.
+ </description>
+ </method>
</methods>
<constants>
<constant name="TIME_FPS" value="0" enum="Monitor">
diff --git a/doc/classes/PhysicalBone3D.xml b/doc/classes/PhysicalBone3D.xml
index 58930aae37..0808e4a724 100644
--- a/doc/classes/PhysicalBone3D.xml
+++ b/doc/classes/PhysicalBone3D.xml
@@ -18,9 +18,9 @@
<method name="apply_impulse">
<return type="void">
</return>
- <argument index="0" name="position" type="Vector3">
+ <argument index="0" name="impulse" type="Vector3">
</argument>
- <argument index="1" name="impulse" type="Vector3">
+ <argument index="1" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
</description>
diff --git a/doc/classes/PhysicsDirectBodyState2D.xml b/doc/classes/PhysicsDirectBodyState2D.xml
index 46205fecd1..30519e11be 100644
--- a/doc/classes/PhysicsDirectBodyState2D.xml
+++ b/doc/classes/PhysicsDirectBodyState2D.xml
@@ -22,9 +22,9 @@
<method name="add_force">
<return type="void">
</return>
- <argument index="0" name="offset" type="Vector2">
+ <argument index="0" name="force" type="Vector2">
</argument>
- <argument index="1" name="force" type="Vector2">
+ <argument index="1" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
@@ -51,9 +51,9 @@
<method name="apply_impulse">
<return type="void">
</return>
- <argument index="0" name="offset" type="Vector2">
+ <argument index="0" name="impulse" type="Vector2">
</argument>
- <argument index="1" name="impulse" type="Vector2">
+ <argument index="1" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The offset uses the rotation of the global coordinate system, but is centered at the object's origin.
diff --git a/doc/classes/PhysicsDirectBodyState3D.xml b/doc/classes/PhysicsDirectBodyState3D.xml
index 1ee520fe5f..eea681e696 100644
--- a/doc/classes/PhysicsDirectBodyState3D.xml
+++ b/doc/classes/PhysicsDirectBodyState3D.xml
@@ -12,7 +12,7 @@
<method name="add_central_force">
<return type="void">
</return>
- <argument index="0" name="force" type="Vector3">
+ <argument index="0" name="force" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Adds a constant directional force without affecting rotation.
@@ -24,7 +24,7 @@
</return>
<argument index="0" name="force" type="Vector3">
</argument>
- <argument index="1" name="position" type="Vector3">
+ <argument index="1" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
@@ -42,7 +42,7 @@
<method name="apply_central_impulse">
<return type="void">
</return>
- <argument index="0" name="j" type="Vector3">
+ <argument index="0" name="impulse" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Applies a single directional impulse without affecting rotation.
@@ -52,9 +52,9 @@
<method name="apply_impulse">
<return type="void">
</return>
- <argument index="0" name="position" type="Vector3">
+ <argument index="0" name="impulse" type="Vector3">
</argument>
- <argument index="1" name="j" type="Vector3">
+ <argument index="1" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
@@ -63,7 +63,7 @@
<method name="apply_torque_impulse">
<return type="void">
</return>
- <argument index="0" name="j" type="Vector3">
+ <argument index="0" name="impulse" type="Vector3">
</argument>
<description>
Apply a torque impulse (which will be affected by the body mass and shape). This will rotate the body around the vector [code]j[/code] passed as parameter.
diff --git a/doc/classes/PhysicsServer2D.xml b/doc/classes/PhysicsServer2D.xml
index d7821b1045..b2904c6538 100644
--- a/doc/classes/PhysicsServer2D.xml
+++ b/doc/classes/PhysicsServer2D.xml
@@ -331,9 +331,9 @@
</return>
<argument index="0" name="body" type="RID">
</argument>
- <argument index="1" name="offset" type="Vector2">
+ <argument index="1" name="force" type="Vector2">
</argument>
- <argument index="2" name="force" type="Vector2">
+ <argument index="2" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Adds a positioned force to the applied force and torque. As with [method body_apply_impulse], both the force and the offset from the body origin are in global coordinates. A force differs from an impulse in that, while the two are forces, the impulse clears itself after being applied.
@@ -379,9 +379,9 @@
</return>
<argument index="0" name="body" type="RID">
</argument>
- <argument index="1" name="position" type="Vector2">
+ <argument index="1" name="impulse" type="Vector2">
</argument>
- <argument index="2" name="impulse" type="Vector2">
+ <argument index="2" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Adds a positioned impulse to the applied force and torque. Both the force and the offset from the body origin are in global coordinates.
diff --git a/doc/classes/PhysicsServer3D.xml b/doc/classes/PhysicsServer3D.xml
index e9e1552c92..5fd3ef5db2 100644
--- a/doc/classes/PhysicsServer3D.xml
+++ b/doc/classes/PhysicsServer3D.xml
@@ -334,7 +334,7 @@
</argument>
<argument index="1" name="force" type="Vector3">
</argument>
- <argument index="2" name="position" type="Vector3">
+ <argument index="2" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
</description>
@@ -379,9 +379,9 @@
</return>
<argument index="0" name="body" type="RID">
</argument>
- <argument index="1" name="position" type="Vector3">
+ <argument index="1" name="impulse" type="Vector3">
</argument>
- <argument index="2" name="impulse" type="Vector3">
+ <argument index="2" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Gives the body a push at a [code]position[/code] in the direction of the [code]impulse[/code].
diff --git a/doc/classes/PhysicsShapeQueryParameters2D.xml b/doc/classes/PhysicsShapeQueryParameters2D.xml
index 9a162dabbb..63e13954ab 100644
--- a/doc/classes/PhysicsShapeQueryParameters2D.xml
+++ b/doc/classes/PhysicsShapeQueryParameters2D.xml
@@ -9,15 +9,6 @@
<tutorials>
</tutorials>
<methods>
- <method name="set_shape">
- <return type="void">
- </return>
- <argument index="0" name="shape" type="Resource">
- </argument>
- <description>
- Sets the [Shape2D] that will be used for collision/intersection queries.
- </description>
- </method>
</methods>
<members>
<member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
@@ -38,8 +29,24 @@
<member name="motion" type="Vector2" setter="set_motion" getter="get_motion" default="Vector2( 0, 0 )">
The motion of the shape being queried for.
</member>
+ <member name="shape" type="Resource" setter="set_shape" getter="get_shape">
+ The [Shape2D] that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over [member shape_rid].
+ </member>
<member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
- The queried shape's [RID]. See also [method set_shape].
+ The queried shape's [RID] that will be used for collision/intersection queries. Use this over [member shape] if you want to optimize for performance using the Servers API:
+ [codeblock]
+ var shape_rid = PhysicsServer2D.circle_shape_create()
+ var radius = 64
+ PhysicsServer2D.shape_set_data(shape_rid, radius)
+
+ var params = PhysicsShapeQueryParameters2D.new()
+ params.shape_rid = shape_rid
+
+ # Execute physics queries here...
+
+ # Release the shape when done with physics queries.
+ PhysicsServer2D.free_rid(shape_rid)
+ [/codeblock]
</member>
<member name="transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D( 1, 0, 0, 1, 0, 0 )">
The queried shape's transform matrix.
diff --git a/doc/classes/PhysicsShapeQueryParameters3D.xml b/doc/classes/PhysicsShapeQueryParameters3D.xml
index 6606cfbc59..f4191d4862 100644
--- a/doc/classes/PhysicsShapeQueryParameters3D.xml
+++ b/doc/classes/PhysicsShapeQueryParameters3D.xml
@@ -9,15 +9,6 @@
<tutorials>
</tutorials>
<methods>
- <method name="set_shape">
- <return type="void">
- </return>
- <argument index="0" name="shape" type="Resource">
- </argument>
- <description>
- Sets the [Shape3D] that will be used for collision/intersection queries.
- </description>
- </method>
</methods>
<members>
<member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false">
@@ -35,8 +26,24 @@
<member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
The collision margin for the shape.
</member>
+ <member name="shape" type="Resource" setter="set_shape" getter="get_shape">
+ The [Shape3D] that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over [member shape_rid].
+ </member>
<member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
- The queried shape's [RID]. See also [method set_shape].
+ The queried shape's [RID] that will be used for collision/intersection queries. Use this over [member shape] if you want to optimize for performance using the Servers API:
+ [codeblock]
+ var shape_rid = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)
+ var radius = 2.0
+ PhysicsServer3D.shape_set_data(shape_rid, radius)
+
+ var params = PhysicsShapeQueryParameters3D.new()
+ params.shape_rid = shape_rid
+
+ # Execute physics queries here...
+
+ # Release the shape when done with physics queries.
+ PhysicsServer3D.free_rid(shape_rid)
+ [/codeblock]
</member>
<member name="transform" type="Transform" setter="set_transform" getter="get_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
The queried shape's transform matrix.
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 7191492098..6a7a6b84f6 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -256,6 +256,9 @@
<member name="audio/output_latency" type="int" setter="" getter="" default="15">
Output latency in milliseconds for audio. Lower values will result in lower audio latency at the cost of increased CPU usage. Low values may result in audible cracking on slower hardware.
</member>
+ <member name="audio/output_latency.web" type="int" setter="" getter="" default="50">
+ Safer override for [member audio/output_latency] in the Web platform, to avoid audio issues especially on mobile devices.
+ </member>
<member name="audio/video_delay_compensation_ms" type="int" setter="" getter="" default="0">
Setting to hardcode audio delay when playing video. Best to leave this untouched unless you know what you are doing.
</member>
@@ -1078,13 +1081,13 @@
</member>
<member name="rendering/quality/screen_filters/screen_space_aa" type="int" setter="" getter="" default="0">
Sets the screen-space antialiasing mode for the default screen [Viewport]. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry.
- Another way to combat specular aliasing is to enable [member rendering/quality/screen_filters/screen_space_roughness_limiter].
+ Another way to combat specular aliasing is to enable [member rendering/quality/screen_filters/screen_space_roughness_limiter_enabled].
+ </member>
+ <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_amount" type="float" setter="" getter="" default="0.25">
</member>
- <member name="rendering/quality/screen_filters/screen_space_roughness_limiter" type="int" setter="" getter="" default="0">
- Enables the screen-space roughness limiter which increases material roughness in areas with a high normal frequency (i.e. when normals change a lot from pixel to pixel). This helps to reduce the amount of specular aliasing in a scene. Specular aliasing looks like random bright pixels that occur in reflections.
+ <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_enabled" type="bool" setter="" getter="" default="true">
</member>
- <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_curve" type="float" setter="" getter="" default="1.0">
- Curves the amount of the roughness limited effect. A higher value limits the effect to very sharply curved surfaces, while a lower threshold extends the effect to smoother surfaces.
+ <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_limit" type="float" setter="" getter="" default="0.18">
</member>
<member name="rendering/quality/screen_space_reflection/roughness_quality" type="int" setter="" getter="" default="1">
Sets the quality for rough screen-space reflections. Turning off will make all screen space reflections sharp, while higher values make rough reflections look better.
@@ -1152,6 +1155,10 @@
<member name="rendering/quality/texture_filters/use_nearest_mipmap_filter" type="bool" setter="" getter="" default="false">
If [code]true[/code], uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If [code]false[/code], linear mipmap filtering (also called "trilinear filtering") is used.
</member>
+ <member name="rendering/sdfgi/frames_to_converge" type="int" setter="" getter="" default="1">
+ </member>
+ <member name="rendering/sdfgi/probe_ray_count" type="int" setter="" getter="" default="2">
+ </member>
<member name="rendering/threads/thread_model" type="int" setter="" getter="" default="1">
Thread model for rendering. Rendering on a thread can vastly improve performance, but synchronizing to the main thread can cause a bit more jitter.
</member>
diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml
index 51f3f0334d..4a594d3e1a 100644
--- a/doc/classes/RayCast2D.xml
+++ b/doc/classes/RayCast2D.xml
@@ -135,7 +135,7 @@
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected.
</member>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="false">
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
If [code]true[/code], collisions will be reported.
</member>
<member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body" default="true">
diff --git a/doc/classes/RayCast3D.xml b/doc/classes/RayCast3D.xml
index 08c6d6f40c..3512da9d77 100644
--- a/doc/classes/RayCast3D.xml
+++ b/doc/classes/RayCast3D.xml
@@ -138,7 +138,7 @@
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected.
</member>
- <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="false">
+ <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
If [code]true[/code], collisions will be reported.
</member>
<member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body" default="true">
diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml
index 84f87c3e71..07d7b646a1 100644
--- a/doc/classes/ReflectionProbe.xml
+++ b/doc/classes/ReflectionProbe.xml
@@ -13,6 +13,12 @@
<methods>
</methods>
<members>
+ <member name="ambient_color" type="Color" setter="set_ambient_color" getter="get_ambient_color" default="Color( 0, 0, 0, 1 )">
+ </member>
+ <member name="ambient_color_energy" type="float" setter="set_ambient_color_energy" getter="get_ambient_color_energy" default="1.0">
+ </member>
+ <member name="ambient_mode" type="int" setter="set_ambient_mode" getter="get_ambient_mode" enum="ReflectionProbe.AmbientMode" default="1">
+ </member>
<member name="box_projection" type="bool" setter="set_enable_box_projection" getter="is_box_projection_enabled" default="false">
If [code]true[/code], enables box projection. This makes reflections look more correct in rectangle-shaped rooms by offsetting the reflection center depending on the camera's location.
</member>
@@ -28,17 +34,8 @@
<member name="intensity" type="float" setter="set_intensity" getter="get_intensity" default="1.0">
Defines the reflection intensity. Intensity modulates the strength of the reflection.
</member>
- <member name="interior_ambient_color" type="Color" setter="set_interior_ambient" getter="get_interior_ambient" default="Color( 0, 0, 0, 1 )">
- Sets the ambient light color to be used when this probe is set to [member interior_enable].
- </member>
- <member name="interior_ambient_contrib" type="float" setter="set_interior_ambient_probe_contribution" getter="get_interior_ambient_probe_contribution" default="0.0">
- Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to [member interior_enable]. Useful so that ambient light matches the color of the room.
- </member>
- <member name="interior_ambient_energy" type="float" setter="set_interior_ambient_energy" getter="get_interior_ambient_energy" default="1.0">
- Sets the energy multiplier for this reflection probe's ambient light contribution when set to [member interior_enable].
- </member>
- <member name="interior_enable" type="bool" setter="set_as_interior" getter="is_set_as_interior" default="false">
- If [code]true[/code], reflections will ignore sky contribution. Ambient lighting is then controlled by the [code]interior_ambient_*[/code] properties.
+ <member name="interior" type="bool" setter="set_as_interior" getter="is_set_as_interior" default="false">
+ If [code]true[/code], reflections will ignore sky contribution.
</member>
<member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="0.0">
Sets the max distance away from the probe an object can be before it is culled.
@@ -57,5 +54,11 @@
<constant name="UPDATE_ALWAYS" value="1" enum="UpdateMode">
Update the probe every frame. This is needed when you want to capture dynamic objects. However, it results in an increased render time. Use [constant UPDATE_ONCE] whenever possible.
</constant>
+ <constant name="AMBIENT_DISABLED" value="0" enum="AmbientMode">
+ </constant>
+ <constant name="AMBIENT_ENVIRONMENT" value="1" enum="AmbientMode">
+ </constant>
+ <constant name="AMBIENT_COLOR" value="2" enum="AmbientMode">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/RenderingDevice.xml b/doc/classes/RenderingDevice.xml
index 8a44d213e8..7e5df9c40d 100644
--- a/doc/classes/RenderingDevice.xml
+++ b/doc/classes/RenderingDevice.xml
@@ -152,6 +152,8 @@
</argument>
<argument index="8" name="region" type="Rect2" default="Rect2i( 0, 0, 0, 0 )">
</argument>
+ <argument index="9" name="storage_textures" type="Array" default="[ ]">
+ </argument>
<description>
</description>
</method>
@@ -188,6 +190,8 @@
</argument>
<argument index="9" name="region" type="Rect2" default="Rect2i( 0, 0, 0, 0 )">
</argument>
+ <argument index="10" name="storage_textures" type="RID[]" default="[ ]">
+ </argument>
<description>
</description>
</method>
@@ -293,6 +297,16 @@
<description>
</description>
</method>
+ <method name="framebuffer_create_empty">
+ <return type="RID">
+ </return>
+ <argument index="0" name="size" type="Vector2i">
+ </argument>
+ <argument index="1" name="validate_with_format" type="int" default="-1">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="framebuffer_format_create">
<return type="int">
</return>
@@ -301,6 +315,14 @@
<description>
</description>
</method>
+ <method name="framebuffer_format_create_empty">
+ <return type="int">
+ </return>
+ <argument index="0" name="size" type="Vector2i">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="framebuffer_format_get_texture_samples">
<return type="int" enum="RenderingDevice.TextureSamples">
</return>
@@ -496,6 +518,8 @@
</argument>
<argument index="1" name="data" type="PackedByteArray" default="PackedByteArray( )">
</argument>
+ <argument index="2" name="usage" type="int" default="0">
+ </argument>
<description>
</description>
</method>
@@ -1285,6 +1309,8 @@
</constant>
<constant name="INDEX_BUFFER_FORMAT_UINT32" value="1" enum="IndexBufferFormat">
</constant>
+ <constant name="STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT" value="1" enum="StorageBufferUsage">
+ </constant>
<constant name="UNIFORM_TYPE_SAMPLER" value="0" enum="UniformType">
</constant>
<constant name="UNIFORM_TYPE_SAMPLER_WITH_TEXTURE" value="1" enum="UniformType">
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 8832c0ec4d..7539f8ff43 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -1470,6 +1470,16 @@
Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to [member OmniLight3D.omni_shadow_mode].
</description>
</method>
+ <method name="light_set_bake_mode">
+ <return type="void">
+ </return>
+ <argument index="0" name="light" type="RID">
+ </argument>
+ <argument index="1" name="bake_mode" type="int" enum="RenderingServer.LightBakeMode">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="light_set_color">
<return type="void">
</return>
@@ -1560,17 +1570,6 @@
Sets the color of the shadow cast by the light. Equivalent to [member Light3D.shadow_color].
</description>
</method>
- <method name="light_set_use_gi">
- <return type="void">
- </return>
- <argument index="0" name="light" type="RID">
- </argument>
- <argument index="1" name="enabled" type="bool">
- </argument>
- <description>
- Sets whether GI probes capture light information from this light.
- </description>
- </method>
<method name="make_sphere_mesh">
<return type="RID">
</return>
@@ -2292,40 +2291,37 @@
To place in a scene, attach this reflection probe to an instance using [method instance_set_base] using the returned RID.
</description>
</method>
- <method name="reflection_probe_set_as_interior">
+ <method name="reflection_probe_set_ambient_color">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="enable" type="bool">
+ <argument index="1" name="color" type="Color">
</argument>
<description>
- If [code]true[/code], reflections will ignore sky contribution. Equivalent to [member ReflectionProbe.interior_enable].
</description>
</method>
- <method name="reflection_probe_set_cull_mask">
+ <method name="reflection_probe_set_ambient_energy">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="layers" type="int">
+ <argument index="1" name="energy" type="float">
</argument>
<description>
- Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to [member ReflectionProbe.cull_mask].
</description>
</method>
- <method name="reflection_probe_set_enable_box_projection">
+ <method name="reflection_probe_set_ambient_mode">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="enable" type="bool">
+ <argument index="1" name="mode" type="int" enum="RenderingServer.ReflectionProbeAmbientMode">
</argument>
<description>
- If [code]true[/code], uses box projection. This can make reflections look more correct in certain situations. Equivalent to [member ReflectionProbe.box_projection].
</description>
</method>
- <method name="reflection_probe_set_enable_shadows">
+ <method name="reflection_probe_set_as_interior">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
@@ -2333,62 +2329,62 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
- If [code]true[/code], computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to [member ReflectionProbe.enable_shadows].
+ If [code]true[/code], reflections will ignore sky contribution. Equivalent to [member ReflectionProbe.interior].
</description>
</method>
- <method name="reflection_probe_set_extents">
+ <method name="reflection_probe_set_cull_mask">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="extents" type="Vector3">
+ <argument index="1" name="layers" type="int">
</argument>
<description>
- Sets the size of the area that the reflection probe will capture. Equivalent to [member ReflectionProbe.extents].
+ Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to [member ReflectionProbe.cull_mask].
</description>
</method>
- <method name="reflection_probe_set_intensity">
+ <method name="reflection_probe_set_enable_box_projection">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="intensity" type="float">
+ <argument index="1" name="enable" type="bool">
</argument>
<description>
- Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to [member ReflectionProbe.intensity].
+ If [code]true[/code], uses box projection. This can make reflections look more correct in certain situations. Equivalent to [member ReflectionProbe.box_projection].
</description>
</method>
- <method name="reflection_probe_set_interior_ambient">
+ <method name="reflection_probe_set_enable_shadows">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="color" type="Color">
+ <argument index="1" name="enable" type="bool">
</argument>
<description>
- Sets the ambient light color for this reflection probe when set to interior mode. Equivalent to [member ReflectionProbe.interior_ambient_color].
+ If [code]true[/code], computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to [member ReflectionProbe.enable_shadows].
</description>
</method>
- <method name="reflection_probe_set_interior_ambient_energy">
+ <method name="reflection_probe_set_extents">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="energy" type="float">
+ <argument index="1" name="extents" type="Vector3">
</argument>
<description>
- Sets the energy multiplier for this reflection probes ambient light contribution when set to interior mode. Equivalent to [member ReflectionProbe.interior_ambient_energy].
+ Sets the size of the area that the reflection probe will capture. Equivalent to [member ReflectionProbe.extents].
</description>
</method>
- <method name="reflection_probe_set_interior_ambient_probe_contribution">
+ <method name="reflection_probe_set_intensity">
<return type="void">
</return>
<argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="contrib" type="float">
+ <argument index="1" name="intensity" type="float">
</argument>
<description>
- Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to interior mode. Useful so that ambient light matches the color of the room. Equivalent to [member ReflectionProbe.interior_ambient_contrib].
+ Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to [member ReflectionProbe.intensity].
</description>
</method>
<method name="reflection_probe_set_max_distance">
@@ -3261,6 +3257,12 @@
<constant name="LIGHT_PARAM_MAX" value="18" enum="LightParam">
Represents the size of the [enum LightParam] enum.
</constant>
+ <constant name="LIGHT_BAKE_DISABLED" value="0" enum="LightBakeMode">
+ </constant>
+ <constant name="LIGHT_BAKE_DYNAMIC" value="1" enum="LightBakeMode">
+ </constant>
+ <constant name="LIGHT_BAKE_STATIC" value="2" enum="LightBakeMode">
+ </constant>
<constant name="LIGHT_OMNI_SHADOW_DUAL_PARABOLOID" value="0" enum="LightOmniShadowMode">
Use a dual paraboloid shadow map for omni lights.
</constant>
@@ -3288,6 +3290,12 @@
<constant name="REFLECTION_PROBE_UPDATE_ALWAYS" value="1" enum="ReflectionProbeUpdateMode">
Reflection probe will update each frame. This mode is necessary to capture moving objects.
</constant>
+ <constant name="REFLECTION_PROBE_AMBIENT_DISABLED" value="0" enum="ReflectionProbeAmbientMode">
+ </constant>
+ <constant name="REFLECTION_PROBE_AMBIENT_ENVIRONMENT" value="1" enum="ReflectionProbeAmbientMode">
+ </constant>
+ <constant name="REFLECTION_PROBE_AMBIENT_COLOR" value="2" enum="ReflectionProbeAmbientMode">
+ </constant>
<constant name="DECAL_TEXTURE_ALBEDO" value="0" enum="DecalTexture">
</constant>
<constant name="DECAL_TEXTURE_NORMAL" value="1" enum="DecalTexture">
@@ -3412,13 +3420,16 @@
<constant name="VIEWPORT_DEBUG_DRAW_SSAO" value="12" enum="ViewportDebugDraw">
Draws the screen space ambient occlusion texture instead of the scene so that you can clearly see how it is affecting objects. In order for this display mode to work, you must have [member Environment.ssao_enabled] set in your [WorldEnvironment].
</constant>
- <constant name="VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER" value="13" enum="ViewportDebugDraw">
- Draws the roughness limiter post process over the Viewport so you can see where it has an effect. It must be enabled in [member ProjectSettings.rendering/quality/screen_filters/screen_space_roughness_limiter] to work.
- </constant>
- <constant name="VIEWPORT_DEBUG_DRAW_PSSM_SPLITS" value="14" enum="ViewportDebugDraw">
+ <constant name="VIEWPORT_DEBUG_DRAW_PSSM_SPLITS" value="13" enum="ViewportDebugDraw">
Colors each PSSM split for the [DirectionalLight3D]s in the scene a different color so you can see where the splits are. In order they will be colored red, green, blue, yellow.
</constant>
- <constant name="VIEWPORT_DEBUG_DRAW_DECAL_ATLAS" value="15" enum="ViewportDebugDraw">
+ <constant name="VIEWPORT_DEBUG_DRAW_DECAL_ATLAS" value="14" enum="ViewportDebugDraw">
+ </constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_SDFGI" value="15" enum="ViewportDebugDraw">
+ </constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_SDFGI_PROBES" value="16" enum="ViewportDebugDraw">
+ </constant>
+ <constant name="VIEWPORT_DEBUG_DRAW_GI_BUFFER" value="17" enum="ViewportDebugDraw">
</constant>
<constant name="SKY_MODE_QUALITY" value="0" enum="SkyMode">
Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than [constant Sky.PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be used if you plan on changing the sky at runtime. If you are finding that the reflection is not blurry enough and is showing sparkles or fireflies, try increasing [member ProjectSettings.rendering/quality/reflections/ggx_samples].
diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml
index a3fd2e81fd..d56dc1e17c 100644
--- a/doc/classes/RigidBody2D.xml
+++ b/doc/classes/RigidBody2D.xml
@@ -34,9 +34,9 @@
<method name="add_force">
<return type="void">
</return>
- <argument index="0" name="offset" type="Vector2">
+ <argument index="0" name="force" type="Vector2">
</argument>
- <argument index="1" name="force" type="Vector2">
+ <argument index="1" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.
@@ -54,7 +54,7 @@
<method name="apply_central_impulse">
<return type="void">
</return>
- <argument index="0" name="impulse" type="Vector2">
+ <argument index="0" name="impulse" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Applies a directional impulse without affecting rotation.
@@ -63,9 +63,9 @@
<method name="apply_impulse">
<return type="void">
</return>
- <argument index="0" name="offset" type="Vector2">
+ <argument index="0" name="impulse" type="Vector2">
</argument>
- <argument index="1" name="impulse" type="Vector2">
+ <argument index="1" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The position uses the rotation of the global coordinate system, but is centered at the object's origin.
diff --git a/doc/classes/RigidBody3D.xml b/doc/classes/RigidBody3D.xml
index 063cc3ca59..efd55f5566 100644
--- a/doc/classes/RigidBody3D.xml
+++ b/doc/classes/RigidBody3D.xml
@@ -37,7 +37,7 @@
</return>
<argument index="0" name="force" type="Vector3">
</argument>
- <argument index="1" name="position" type="Vector3">
+ <argument index="1" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Adds a constant directional force (i.e. acceleration).
@@ -66,9 +66,9 @@
<method name="apply_impulse">
<return type="void">
</return>
- <argument index="0" name="position" type="Vector3">
+ <argument index="0" name="impulse" type="Vector3">
</argument>
- <argument index="1" name="impulse" type="Vector3">
+ <argument index="1" name="position" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
<description>
Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason it should only be used when simulating one-time impacts. The position uses the rotation of the global coordinate system, but is centered at the object's origin.
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 6d9def7ccb..b692051097 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -412,7 +412,8 @@
<argument index="1" name="from" type="int" default="0">
</argument>
<description>
- Finds the first occurrence of a substring. Returns the starting position of the substring or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
+ Returns the index of the [b]first[/b] case-sensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the end of the string.
+
[b]Note:[/b] If you just want to know whether a string contains a substring, use the [code]in[/code] operator as follows:
[codeblock]
# Will evaluate to `false`.
@@ -421,15 +422,6 @@
[/codeblock]
</description>
</method>
- <method name="find_last">
- <return type="int">
- </return>
- <argument index="0" name="what" type="String">
- </argument>
- <description>
- Finds the last occurrence of a substring. Returns the starting position of the substring or [code]-1[/code] if not found.
- </description>
- </method>
<method name="findn">
<return type="int">
</return>
@@ -438,7 +430,7 @@
<argument index="1" name="from" type="int" default="0">
</argument>
<description>
- Finds the first occurrence of a substring, ignoring case. Returns the starting position of the substring or [code]-1[/code] if not found. Optionally, the initial search index can be passed.
+ Returns the index of the [b]first[/b] case-insensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the end of the string.
</description>
</method>
<method name="format">
@@ -801,7 +793,7 @@
<argument index="1" name="from" type="int" default="-1">
</argument>
<description>
- Performs a case-sensitive search for a substring, but starts from the end of the string instead of the beginning.
+ Returns the index of the [b]last[/b] case-sensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the beginning of the string.
</description>
</method>
<method name="rfindn">
@@ -812,7 +804,7 @@
<argument index="1" name="from" type="int" default="-1">
</argument>
<description>
- Performs a case-insensitive search for a substring, but starts from the end of the string instead of the beginning.
+ Returns the index of the [b]last[/b] case-insensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the beginning of the string.
</description>
</method>
<method name="right">
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index 0c6615c53b..b7b4278da0 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -48,6 +48,7 @@
<return type="void">
</return>
<description>
+ Centers the viewport on the line the editing cursor is at. This also resets the [member scroll_horizontal] value to [code]0[/code].
</description>
</method>
<method name="clear_colors">
@@ -334,6 +335,7 @@
</argument>
<description>
Perform selection, from line/column to line/column.
+ If [member selecting_enabled] is [code]false[/code], no selection will occur.
</description>
</method>
<method name="select_all">
@@ -341,6 +343,7 @@
</return>
<description>
Select all the text.
+ If [member selecting_enabled] is [code]false[/code], no selection will occur.
</description>
</method>
<method name="set_line">
@@ -439,8 +442,10 @@
If [code]true[/code], the line containing the cursor is highlighted.
</member>
<member name="minimap_draw" type="bool" setter="draw_minimap" getter="is_drawing_minimap" default="false">
+ If [code]true[/code], a minimap is shown, providing an outline of your source code.
</member>
<member name="minimap_width" type="int" setter="set_minimap_width" getter="get_minimap_width" default="80">
+ The width, in pixels, of the minimap.
</member>
<member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" override="true" enum="Control.CursorShape" default="1" />
<member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color" default="false">
@@ -456,8 +461,11 @@
The current vertical scroll value.
</member>
<member name="selecting_enabled" type="bool" setter="set_selecting_enabled" getter="is_selecting_enabled" default="true">
+ If [code]true[/code], text can be selected.
+ If [code]false[/code], text can not be selected by the user or by the [method select] or [method select_all] methods.
</member>
<member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true">
+ If [code]true[/code], shortcut keys for context menu items are enabled, even if the context menu is disabled.
</member>
<member name="show_line_numbers" type="bool" setter="set_show_line_numbers" getter="is_show_line_numbers_enabled" default="false">
If [code]true[/code], line numbers are displayed to the left of the text.
diff --git a/doc/classes/TextureButton.xml b/doc/classes/TextureButton.xml
index 0e2872755e..a5172586fe 100644
--- a/doc/classes/TextureButton.xml
+++ b/doc/classes/TextureButton.xml
@@ -15,6 +15,12 @@
<member name="expand" type="bool" setter="set_expand" getter="get_expand" default="false">
If [code]true[/code], the texture stretches to the edges of the node's bounding rectangle using the [member stretch_mode]. If [code]false[/code], the texture will not scale with the node.
</member>
+ <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
+ If [code]true[/code], texture is flipped horizontally.
+ </member>
+ <member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
+ If [code]true[/code], texture is flipped vertically.
+ </member>
<member name="stretch_mode" type="int" setter="set_stretch_mode" getter="get_stretch_mode" enum="TextureButton.StretchMode" default="0">
Controls the texture's behavior when you resize the node's bounding rectangle, [b]only if[/b] [member expand] is [code]true[/code]. Set it to one of the [enum StretchMode] constants. See the constants to learn more.
</member>
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index 7f4a212679..32895310d1 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -44,7 +44,7 @@
</return>
<description>
Returns the vector's angle in radians with respect to the X axis, or [code](1, 0)[/code] vector.
- Equivalent to the result of [method @GDScript.atan2] when called with the vector's [member x] and [member y] as parameters: [code]atan2(x, y)[/code].
+ Equivalent to the result of [method @GDScript.atan2] when called with the vector's [member y] and [member x] as parameters: [code]atan2(y, x)[/code].
</description>
</method>
<method name="angle_to">
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 3b52c80c9a..8a2c6b73d8 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -377,15 +377,18 @@
<constant name="DEBUG_DRAW_SSAO" value="12" enum="DebugDraw">
Draws the screen-space ambient occlusion texture instead of the scene so that you can clearly see how it is affecting objects. In order for this display mode to work, you must have [member Environment.ssao_enabled] set in your [WorldEnvironment].
</constant>
- <constant name="DEBUG_DRAW_ROUGHNESS_LIMITER" value="13" enum="DebugDraw">
- Draws the roughness limiter post process over the Viewport so you can see where it has an effect. It must be enabled in [member ProjectSettings.rendering/quality/screen_filters/screen_space_roughness_limiter] to work.
- </constant>
- <constant name="DEBUG_DRAW_PSSM_SPLITS" value="14" enum="DebugDraw">
+ <constant name="DEBUG_DRAW_PSSM_SPLITS" value="13" enum="DebugDraw">
Colors each PSSM split for the [DirectionalLight3D]s in the scene a different color so you can see where the splits are. In order, they will be colored red, green, blue, and yellow.
</constant>
- <constant name="DEBUG_DRAW_DECAL_ATLAS" value="15" enum="DebugDraw">
+ <constant name="DEBUG_DRAW_DECAL_ATLAS" value="14" enum="DebugDraw">
Draws the decal atlas used by [Decal]s and light projector textures in the upper left quadrant of the [Viewport].
</constant>
+ <constant name="DEBUG_DRAW_SDFGI" value="15" enum="DebugDraw">
+ </constant>
+ <constant name="DEBUG_DRAW_SDFGI_PROBES" value="16" enum="DebugDraw">
+ </constant>
+ <constant name="DEBUG_DRAW_GI_BUFFER" value="17" enum="DebugDraw">
+ </constant>
<constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter">
The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized.
</constant>
diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml
index e1a0f1f22a..c1a991fca1 100644
--- a/doc/classes/Window.xml
+++ b/doc/classes/Window.xml
@@ -377,9 +377,9 @@
</constant>
<constant name="CONTENT_SCALE_MODE_DISABLED" value="0" enum="ContentScaleMode">
</constant>
- <constant name="CONTENT_SCALE_MODE_OBJECTS" value="1" enum="ContentScaleMode">
+ <constant name="CONTENT_SCALE_MODE_CANVAS_ITEMS" value="1" enum="ContentScaleMode">
</constant>
- <constant name="CONTENT_SCALE_MODE_PIXELS" value="2" enum="ContentScaleMode">
+ <constant name="CONTENT_SCALE_MODE_VIEWPORT" value="2" enum="ContentScaleMode">
</constant>
<constant name="CONTENT_SCALE_ASPECT_IGNORE" value="0" enum="ContentScaleAspect">
</constant>