diff options
Diffstat (limited to 'doc')
82 files changed, 619 insertions, 273 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 5dcec7dec5..a81c601910 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -16,7 +16,7 @@ <return type="Variant" /> <param index="0" name="x" type="Variant" /> <description> - Returns the absolute value of a [Variant] parameter [param x] (i.e. non-negative value). Variant types [int], [float] (real), [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported. + Returns the absolute value of a [Variant] parameter [param x] (i.e. non-negative value). Variant types [int], [float], [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported. [codeblock] var a = abs(-1) # a is 1 @@ -114,7 +114,7 @@ <param index="3" name="end" type="float" /> <param index="4" name="t" type="float" /> <description> - Returns the point at the given [param t] on a one-dimnesional [url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]Bezier curve[/url] defined by the given [param control_1], [param control_2], and [param end] points. + Returns the point at the given [param t] on a one-dimensional [url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]Bezier curve[/url] defined by the given [param control_1], [param control_2], and [param end] points. </description> </method> <method name="bytes_to_var"> @@ -143,7 +143,7 @@ i = ceil(1.001) # i is 2.0 [/codeblock] See also [method floor], [method round], and [method snapped]. - [b]Note:[/b] For better type safety, you can use [method ceilf], [method ceili], [method Vector2.ceil], [method Vector3.ceil] or [method Vector4.ceil] instead. + [b]Note:[/b] For better type safety, see [method ceilf], [method ceili], [method Vector2.ceil], [method Vector3.ceil] and [method Vector4.ceil]. </description> </method> <method name="ceilf"> @@ -151,7 +151,7 @@ <param index="0" name="x" type="float" /> <description> Rounds [param x] upward (towards positive infinity), returning the smallest whole number that is not less than [param x]. - A type-safe version of [method ceil], specialzied in floats. + A type-safe version of [method ceil], returning a [float]. </description> </method> <method name="ceili"> @@ -159,7 +159,7 @@ <param index="0" name="x" type="float" /> <description> Rounds [param x] upward (towards positive infinity), returning the smallest whole number that is not less than [param x]. - A type-safe version of [method ceil] that returns integer. + A type-safe version of [method ceil], returning an [int]. </description> </method> <method name="clamp"> @@ -168,7 +168,7 @@ <param index="1" name="min" type="Variant" /> <param index="2" name="max" type="Variant" /> <description> - Clamps the [Variant] [param value] and returns a value not less than [param min] and not more than [param max]. Variant types [int], [float] (real), [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported. + Clamps the [param value], returning a [Variant] not less than [param min] and not more than [param max]. Variant types [int], [float], [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported. [codeblock] var a = clamp(-10, -1, 5) # a is -1 @@ -196,15 +196,13 @@ <param index="1" name="min" type="float" /> <param index="2" name="max" type="float" /> <description> - Clamps the float [param value] and returns a value not less than [param min] and not more than [param max]. + Clamps the [param value], returning a [float] not less than [param min] and not more than [param max]. [codeblock] var speed = 42.1 - # a is 20.0 - var a = clampf(speed, 1.0, 20.0) + var a = clampf(speed, 1.0, 20.5) # a is 20.5 speed = -10.0 - # a is -1.0 - a = clampf(speed, -1.0, 1.0) + var b = clampf(speed, -1.0, 1.0) # b is -1.0 [/codeblock] </description> </method> @@ -214,15 +212,13 @@ <param index="1" name="min" type="int" /> <param index="2" name="max" type="int" /> <description> - Clamps the integer [param value] and returns a value not less than [param min] and not more than [param max]. + Clamps the [param value], returning an [int] not less than [param min] and not more than [param max]. [codeblock] var speed = 42 - # a is 20 - var a = clampi(speed, 1, 20) + var a = clampi(speed, 1, 20) # a is 20 speed = -10 - # a is -1 - a = clampi(speed, -1, 1) + var b = clampi(speed, -1, 1) # b is -1 [/codeblock] </description> </method> @@ -244,8 +240,7 @@ <description> Returns the hyperbolic cosine of [param x] in radians. [codeblock] - # Prints 1.543081 - print(cosh(1)) + print(cosh(1)) # Prints 1.543081 [/codeblock] </description> </method> @@ -257,7 +252,7 @@ <param index="3" name="post" type="float" /> <param index="4" name="weight" type="float" /> <description> - Cubic interpolates between two values by the factor defined in [param weight] with pre and post values. + Cubic interpolates between two values by the factor defined in [param weight] with [param pre] and [param post] values. </description> </method> <method name="cubic_interpolate_angle"> @@ -268,7 +263,7 @@ <param index="3" name="post" type="float" /> <param index="4" name="weight" type="float" /> <description> - Cubic interpolates between two rotation values with shortest path by the factor defined in [param weight] with pre and post values. See also [method lerp_angle]. + Cubic interpolates between two rotation values with shortest path by the factor defined in [param weight] with [param pre] and [param post] values. See also [method lerp_angle]. </description> </method> <method name="cubic_interpolate_angle_in_time"> @@ -282,7 +277,7 @@ <param index="6" name="pre_t" type="float" /> <param index="7" name="post_t" type="float" /> <description> - Cubic interpolates between two rotation values with shortest path by the factor defined in [param weight] with pre and post values. See also [method lerp_angle]. + Cubic interpolates between two rotation values with shortest path by the factor defined in [param weight] with [param pre] and [param post] values. See also [method lerp_angle]. It can perform smoother interpolation than [code]cubic_interpolate()[/code] by the time values. </description> </method> @@ -297,8 +292,8 @@ <param index="6" name="pre_t" type="float" /> <param index="7" name="post_t" type="float" /> <description> - Cubic interpolates between two values by the factor defined in [param weight] with pre and post values. - It can perform smoother interpolation than [code]cubic_interpolate()[/code] by the time values. + Cubic interpolates between two values by the factor defined in [param weight] with [param pre] and [param post] values. + It can perform smoother interpolation than [method cubic_interpolate] by the time values. </description> </method> <method name="db_to_linear"> @@ -314,8 +309,7 @@ <description> Converts an angle expressed in degrees to radians. [codeblock] - # r is 3.141593 - var r = deg_to_rad(180) + var r = deg_to_rad(180) # r is 3.141593 [/codeblock] </description> </method> @@ -342,7 +336,13 @@ <return type="String" /> <param index="0" name="error" type="int" /> <description> - Returns a human-readable name for the given error code. + Returns a human-readable name for the given [enum Error] code. + [codeblock] + print(OK) # Prints 0 + print(error_string(OK)) # Prints OK + print(error_string(ERR_BUSY)) # Prints Busy + print(error_string(ERR_OUT_OF_MEMORY)) # Prints Out of memory + [/codeblock] </description> </method> <method name="exp"> @@ -363,13 +363,11 @@ <description> Rounds [param x] downward (towards negative infinity), returning the largest whole number that is not more than [param x]. Supported types: [int], [float], [Vector2], [Vector3], [Vector4]. [codeblock] - # a is 2.0 - var a = floor(2.99) - # a is -3.0 - a = floor(-2.99) + var a = floor(2.99) # a is 2.0 + a = floor(-2.99) # a is -3.0 [/codeblock] See also [method ceil], [method round], and [method snapped]. - [b]Note:[/b] For better type safety, you can use [method floorf], [method floori], [method Vector2.floor], [method Vector3.floor] or [method Vector4.floor] instead. + [b]Note:[/b] For better type safety, see [method floorf], [method floori], [method Vector2.floor], [method Vector3.floor] and [method Vector4.floor]. </description> </method> <method name="floorf"> @@ -377,7 +375,7 @@ <param index="0" name="x" type="float" /> <description> Rounds [param x] downward (towards negative infinity), returning the largest whole number that is not more than [param x]. - A type-safe version of [method floor], specialzied in floats. + A type-safe version of [method floor], returning a [float]. </description> </method> <method name="floori"> @@ -385,7 +383,8 @@ <param index="0" name="x" type="float" /> <description> Rounds [param x] downward (towards negative infinity), returning the largest whole number that is not more than [param x]. - Equivalent of doing [code]int(x)[/code]. + A type-safe version of [method floor], returning an [int]. + [b]Note:[/b] This function is [i]not[/i] the same as [code]int(x)[/code], which rounds towards 0. </description> </method> <method name="fmod"> @@ -393,10 +392,9 @@ <param index="0" name="x" type="float" /> <param index="1" name="y" type="float" /> <description> - Returns the floating-point remainder of [code]x/y[/code], keeping the sign of [param x]. + Returns the floating-point remainder of [param x] divided by [param y], keeping the sign of [param x]. [codeblock] - # Remainder is 1.5 - var remainder = fmod(7, 5.5) + var remainder = fmod(7, 5.5) # remainder is 1.5 [/codeblock] For the integer remainder operation, use the [code]%[/code] operator. </description> @@ -406,21 +404,23 @@ <param index="0" name="x" type="float" /> <param index="1" name="y" type="float" /> <description> - Returns the floating-point modulus of [code]x/y[/code] that wraps equally in positive and negative. + Returns the floating-point modulus of [param x] divided by [param y], wrapping equally in positive and negative. [codeblock] + print(" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))") for i in 7: - var x = 0.5 * i - 1.5 - print("%4.1f %4.1f %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)]) + var x = i * 0.5 - 1.5 + print("%4.1f %4.1f | %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)]) [/codeblock] Produces: [codeblock] - -1.5 -0.0 0.0 - -1.0 -1.0 0.5 - -0.5 -0.5 1.0 - 0.0 0.0 0.0 - 0.5 0.5 0.5 - 1.0 1.0 1.0 - 1.5 0.0 0.0 + (x) (fmod(x, 1.5)) (fposmod(x, 1.5)) + -1.5 -0.0 | 0.0 + -1.0 -1.0 | 0.5 + -0.5 -0.5 | 1.0 + 0.0 0.0 | 0.0 + 0.5 0.5 | 0.5 + 1.0 1.0 | 1.0 + 1.5 0.0 | 0.0 [/codeblock] </description> </method> @@ -428,7 +428,7 @@ <return type="int" /> <param index="0" name="variable" type="Variant" /> <description> - Returns the integer hash of the variable passed. + Returns the integer hash of the passed [param variable]. [codeblock] print(hash("a")) # Prints 177670 [/codeblock] @@ -438,7 +438,7 @@ <return type="Object" /> <param index="0" name="instance_id" type="int" /> <description> - Returns the Object that corresponds to [param instance_id]. All Objects have a unique instance ID. + Returns the [Object] that corresponds to [param instance_id]. All Objects have a unique instance ID. See also [method Object.get_instance_id]. [codeblock] var foo = "bar" func _ready(): @@ -458,12 +458,13 @@ [codeblock] # The interpolation ratio in the `lerp()` call below is 0.75. var middle = lerp(20, 30, 0.75) - # `middle` is now 27.5. + # middle is now 27.5. + # Now, we pretend to have forgotten the original ratio and want to get it back. var ratio = inverse_lerp(20, 30, 27.5) - # `ratio` is now 0.75. + # ratio is now 0.75. [/codeblock] - See also [method lerp] which performs the reverse of this operation, and [method remap] to map a continuous series of values to another. + See also [method lerp], which performs the reverse of this operation, and [method remap] to map a continuous series of values to another. </description> </method> <method name="is_equal_approx"> @@ -472,15 +473,22 @@ <param index="1" name="b" type="float" /> <description> Returns [code]true[/code] if [param a] and [param b] are approximately equal to each other. - Here, approximately equal means that [param a] and [param b] are within a small internal epsilon of each other, which scales with the magnitude of the numbers. + Here, "approximately equal" means that [param a] and [param b] are within a small internal epsilon of each other, which scales with the magnitude of the numbers. Infinity values of the same sign are considered equal. </description> </method> + <method name="is_finite"> + <return type="bool" /> + <param index="0" name="x" type="float" /> + <description> + Returns whether [code]x[/code] is a finite value, i.e. it is not [constant @GDScript.NAN], positive infinity, or negative infinity. + </description> + </method> <method name="is_inf"> <return type="bool" /> <param index="0" name="x" type="float" /> <description> - Returns whether [param x] is an infinity value (either positive infinity or negative infinity). + Returns [code]true[/code] if [param x] is either positive infinity or negative infinity. </description> </method> <method name="is_instance_id_valid"> @@ -494,14 +502,14 @@ <return type="bool" /> <param index="0" name="instance" type="Variant" /> <description> - Returns whether [param instance] is a valid object (e.g. has not been deleted from memory). + Returns [code]true[/code] if [param instance] is a valid Object (e.g. has not been deleted from memory). </description> </method> <method name="is_nan"> <return type="bool" /> <param index="0" name="x" type="float" /> <description> - Returns whether [param x] is a NaN ("Not a Number" or invalid) value. + Returns [code]true[/code] if [param x] is a NaN ("Not a Number" or invalid) value. </description> </method> <method name="is_zero_approx"> @@ -509,7 +517,7 @@ <param index="0" name="x" type="float" /> <description> Returns [code]true[/code] if [param x] is zero or almost zero. - This method is faster than using [method is_equal_approx] with one value as zero. + This function is faster than using [method is_equal_approx] with one value as zero. </description> </method> <method name="lerp"> @@ -518,13 +526,13 @@ <param index="1" name="to" type="Variant" /> <param index="2" name="weight" type="Variant" /> <description> - Linearly interpolates between two values by the factor defined in [param weight]. To perform interpolation, [param weight] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i]. Use [method clamp] on the result of [method lerp] if this is not desired. - Both [param from] and [param to] must have matching types. Supported types: [float], [Vector2], [Vector3], [Vector4], [Color], [Quaternion], [Basis]. + Linearly interpolates between two values by the factor defined in [param weight]. To perform interpolation, [param weight] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i]. If this is not desired, use [method clamp] on the result of this function. + Both [param from] and [param to] must be the same type. Supported types: [float], [Vector2], [Vector3], [Vector4], [Color], [Quaternion], [Basis]. [codeblock] lerp(0, 4, 0.75) # Returns 3.0 [/codeblock] See also [method inverse_lerp] which performs the reverse of this operation. To perform eased interpolation with [method lerp], combine it with [method ease] or [method smoothstep]. See also [method remap] to map a continuous series of values to another. - [b]Note:[/b] For better type safety, you can use [method lerpf], [method Vector2.lerp], [method Vector3.lerp], [method Vector4.lerp], [method Color.lerp], [method Quaternion.slerp] or [method Basis.slerp] instead. + [b]Note:[/b] For better type safety, use [method lerpf], [method Vector2.lerp], [method Vector3.lerp], [method Vector4.lerp], [method Color.lerp], [method Quaternion.slerp] or [method Basis.slerp]. </description> </method> <method name="lerp_angle"> @@ -533,7 +541,7 @@ <param index="1" name="to" type="float" /> <param index="2" name="weight" type="float" /> <description> - Linearly interpolates between two angles (in radians) by a normalized value. + Linearly interpolates between two angles (in radians) by a [param weight] value between 0.0 and 1.0. Similar to [method lerp], but interpolates correctly when the angles wrap around [constant @GDScript.TAU]. To perform eased interpolation with [method lerp_angle], combine it with [method ease] or [method smoothstep]. [codeblock] extends Sprite @@ -544,7 +552,7 @@ rotation = lerp_angle(min_angle, max_angle, elapsed) elapsed += delta [/codeblock] - [b]Note:[/b] This method lerps through the shortest path between [param from] and [param to]. However, when these two angles are approximately [code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not obvious which way they lerp due to floating-point precision errors. For example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise. + [b]Note:[/b] This function lerps through the shortest path between [param from] and [param to]. However, when these two angles are approximately [code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not obvious which way they lerp due to floating-point precision errors. For example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise. </description> </method> <method name="lerpf"> @@ -553,7 +561,7 @@ <param index="1" name="to" type="float" /> <param index="2" name="weight" type="float" /> <description> - Linearly interpolates between two values by the factor defined in [param weight]. To perform interpolation, [param weight] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i]. + Linearly interpolates between two values by the factor defined in [param weight]. To perform interpolation, [param weight] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside this range are allowed and can be used to perform [i]extrapolation[/i]. If this is not desired, use [method clampf] on the result of this function. [codeblock] lerp(0, 4, 0.75) # Returns 3.0 [/codeblock] @@ -577,7 +585,7 @@ <return type="float" /> <param index="0" name="x" type="float" /> <description> - Natural logarithm. The amount of time needed to reach a certain level of continuous growth. + Returns the natural logarithm of [param x]. This is the amount of time needed to reach a certain level of continuous growth. [b]Note:[/b] This is not the same as the "log" function on most calculators, which uses a base 10 logarithm. [codeblock] log(10) # Returns 2.302585 @@ -588,7 +596,7 @@ <method name="max" qualifiers="vararg"> <return type="Variant" /> <description> - Returns the maximum of the given values. This method can take any number of arguments. + Returns the maximum of the given values. This function can take any number of arguments. [codeblock] max(1, 7, 3, -6, 5) # Returns 7 [/codeblock] @@ -599,9 +607,9 @@ <param index="0" name="a" type="float" /> <param index="1" name="b" type="float" /> <description> - Returns the maximum of two float values. + Returns the maximum of two [float] values. [codeblock] - maxf(3.6, 24) # Returns 24.0 + maxf(3.6, 24) # Returns 24.0 maxf(-3.99, -4) # Returns -3.99 [/codeblock] </description> @@ -611,9 +619,9 @@ <param index="0" name="a" type="int" /> <param index="1" name="b" type="int" /> <description> - Returns the maximum of two int values. + Returns the maximum of two [int] values. [codeblock] - maxi(1, 2) # Returns 2 + maxi(1, 2) # Returns 2 maxi(-3, -4) # Returns -3 [/codeblock] </description> @@ -621,7 +629,7 @@ <method name="min" qualifiers="vararg"> <return type="Variant" /> <description> - Returns the minimum of the given values. This method can take any number of arguments. + Returns the minimum of the given values. This function can take any number of arguments. [codeblock] min(1, 7, 3, -6, 5) # Returns -6 [/codeblock] @@ -632,9 +640,9 @@ <param index="0" name="a" type="float" /> <param index="1" name="b" type="float" /> <description> - Returns the minimum of two float values. + Returns the minimum of two [float] values. [codeblock] - minf(3.6, 24) # Returns 3.6 + minf(3.6, 24) # Returns 3.6 minf(-3.99, -4) # Returns -4.0 [/codeblock] </description> @@ -644,9 +652,9 @@ <param index="0" name="a" type="int" /> <param index="1" name="b" type="int" /> <description> - Returns the minimum of two int values. + Returns the minimum of two [int] values. [codeblock] - mini(1, 2) # Returns 1 + mini(1, 2) # Returns 1 mini(-3, -4) # Returns -4 [/codeblock] </description> @@ -660,8 +668,8 @@ Moves [param from] toward [param to] by the [param delta] value. Use a negative [param delta] value to move away. [codeblock] - move_toward(5, 10, 4) # Returns 9 - move_toward(10, 5, 4) # Returns 6 + move_toward(5, 10, 4) # Returns 9 + move_toward(10, 5, 4) # Returns 6 move_toward(10, 5, -1.5) # Returns 11.5 [/codeblock] </description> @@ -670,17 +678,17 @@ <return type="int" /> <param index="0" name="value" type="int" /> <description> - Returns the nearest equal or larger power of 2 for integer [param value]. + Returns the nearest equal or larger power of 2 for the integer [param value]. In other words, returns the smallest value [code]a[/code] where [code]a = pow(2, n)[/code] such that [code]value <= a[/code] for some non-negative integer [code]n[/code]. [codeblock] nearest_po2(3) # Returns 4 nearest_po2(4) # Returns 4 nearest_po2(5) # Returns 8 - nearest_po2(0) # Returns 0 (this may not be what you expect) - nearest_po2(-1) # Returns 0 (this may not be what you expect) + nearest_po2(0) # Returns 0 (this may not be expected) + nearest_po2(-1) # Returns 0 (this may not be expected) [/codeblock] - [b]Warning:[/b] Due to the way it is implemented, this function returns [code]0[/code] rather than [code]1[/code] for non-positive values of [param value] (in reality, 1 is the smallest integer power of 2). + [b]Warning:[/b] Due to the way it is implemented, this function returns [code]0[/code] rather than [code]1[/code] for negative values of [param value] (in reality, 1 is the smallest integer power of 2). </description> </method> <method name="pingpong"> @@ -688,18 +696,18 @@ <param index="0" name="value" type="float" /> <param index="1" name="length" type="float" /> <description> - Returns the [param value] wrapped between [code]0[/code] and the [param length]. If the limit is reached, the next value the function returned is decreased to the [code]0[/code] side or increased to the [param length] side (like a triangle wave). If [param length] is less than zero, it becomes positive. + Wraps [param value] between [code]0[/code] and the [param length]. If the limit is reached, the next value the function returns is decreased to the [code]0[/code] side or increased to the [param length] side (like a triangle wave). If [param length] is less than zero, it becomes positive. [codeblock] - pingpong(-3.0, 3.0) # Returns 3 - pingpong(-2.0, 3.0) # Returns 2 - pingpong(-1.0, 3.0) # Returns 1 - pingpong(0.0, 3.0) # Returns 0 - pingpong(1.0, 3.0) # Returns 1 - pingpong(2.0, 3.0) # Returns 2 - pingpong(3.0, 3.0) # Returns 3 - pingpong(4.0, 3.0) # Returns 2 - pingpong(5.0, 3.0) # Returns 1 - pingpong(6.0, 3.0) # Returns 0 + pingpong(-3.0, 3.0) # Returns 3.0 + pingpong(-2.0, 3.0) # Returns 2.0 + pingpong(-1.0, 3.0) # Returns 1.0 + pingpong(0.0, 3.0) # Returns 0.0 + pingpong(1.0, 3.0) # Returns 1.0 + pingpong(2.0, 3.0) # Returns 2.0 + pingpong(3.0, 3.0) # Returns 3.0 + pingpong(4.0, 3.0) # Returns 2.0 + pingpong(5.0, 3.0) # Returns 1.0 + pingpong(6.0, 3.0) # Returns 0.0 [/codeblock] </description> </method> @@ -708,20 +716,22 @@ <param index="0" name="x" type="int" /> <param index="1" name="y" type="int" /> <description> - Returns the integer modulus of [code]x/y[/code] that wraps equally in positive and negative. + Returns the integer modulus of [param x] divided by [param y] that wraps equally in positive and negative. [codeblock] + print("#(i) (i % 3) (posmod(i, 3))") for i in range(-3, 4): - print("%2d %2d %2d" % [i, i % 3, posmod(i, 3)]) + print("%2d %2d | %2d" % [i, i % 3, posmod(i, 3)]) [/codeblock] Produces: [codeblock] - -3 0 0 - -2 -2 1 - -1 -1 2 - 0 0 0 - 1 1 1 - 2 2 2 - 3 0 0 + (i) (i % 3) (posmod(i, 3)) + -3 0 | 0 + -2 -2 | 1 + -1 -1 | 2 + 0 0 | 0 + 1 1 | 1 + 2 2 | 2 + 3 0 | 0 [/codeblock] </description> </method> @@ -731,6 +741,7 @@ <param index="1" name="exp" type="float" /> <description> Returns the result of [param base] raised to the power of [param exp]. + In GDScript, this is the equivalent of the [code]**[/code] operator. [codeblock] pow(2, 5) # Returns 32 [/codeblock] @@ -743,7 +754,7 @@ var a = [1, 2, 3] print("a", "b", a) # Prints ab[1, 2, 3] [/codeblock] - [b]Note:[/b] Consider using [method push_error] and [method push_warning] to print error and warning messages instead of [method print]. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. + [b]Note:[/b] Consider using [method push_error] and [method push_warning] to print error and warning messages instead of [method print] or [method print_rich]. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. </description> </method> <method name="print_rich" qualifiers="vararg"> @@ -771,11 +782,12 @@ </method> <method name="printraw" qualifiers="vararg"> <description> - Prints one or more arguments to strings in the best way possible to console. No newline is added at the end. + Prints one or more arguments to strings in the best way possible to console. Unlike [method print], no newline is automatically added at the end. [codeblock] printraw("A") printraw("B") - # Prints AB + printraw("C") + # Prints ABC [/codeblock] [b]Note:[/b] Due to limitations with Godot's built-in console, this only prints to the terminal. If you need to print in the editor, use another method, such as [method print]. </description> @@ -802,7 +814,7 @@ [codeblock] push_error("test error") # Prints "test error" to debugger and terminal as error call [/codeblock] - [b]Note:[/b] Errors printed this way will not pause project execution. To print an error message and pause project execution in debug builds, use [code]assert(false, "test error")[/code] instead. + [b]Note:[/b] This function does not pause project execution. To print an error message and pause project execution in debug builds, use [code]assert(false, "test error")[/code] instead. </description> </method> <method name="push_warning" qualifiers="vararg"> @@ -820,6 +832,8 @@ Converts an angle expressed in radians to degrees. [codeblock] rad_to_deg(0.523599) # Returns 30 + rad_to_deg(PI) # Returns 180 + rad_to_deg(PI * 2) # Returns 360 [/codeblock] </description> </method> @@ -827,7 +841,14 @@ <return type="PackedInt64Array" /> <param index="0" name="seed" type="int" /> <description> - Random from seed: pass a [param seed], and an array with both number and new seed is returned. "Seed" here refers to the internal state of the pseudo random number generator. The internal state of the current implementation is 64 bits. + Given a [param seed], returns a [PackedInt64Array] of size [code]2[/code], where its first element is the randomised [int] value, and the second element is the same as [param seed]. Passing the same [param seed] consistently returns the same array. + [b]Note:[/b] "Seed" here refers to the internal state of the pseudo random number generator, currently implemented as a 64 bit integer. + [codeblock] + var a = rand_from_seed(4) + + print(a[0]) # Prints 2879024997 + print(a[1]) # Prints 4 + [/codeblock] </description> </method> <method name="randf"> @@ -844,9 +865,10 @@ <param index="0" name="from" type="float" /> <param index="1" name="to" type="float" /> <description> - Returns a random floating point value on the interval between [param from] and [param to] (inclusive). + Returns a random floating point value between [param from] and [param to] (inclusive). [codeblock] - prints(randf_range(-10, 10), randf_range(-10, 10)) # Prints e.g. -3.844535 7.45315 + randf_range(0, 20.5) # Returns e.g. 7.45315 + randf_range(-10, 10) # Returns e.g. -3.844535 [/codeblock] </description> </method> @@ -877,15 +899,15 @@ <description> Returns a random signed 32-bit integer between [param from] and [param to] (inclusive). If [param to] is lesser than [param from], they are swapped. [codeblock] - print(randi_range(0, 1)) # Prints 0 or 1 - print(randi_range(-10, 1000)) # Prints any number from -10 to 1000 + randi_range(0, 1) # Returns either 0 or 1 + randi_range(-10, 1000) # Returns random integer between -10 and 1000 [/codeblock] </description> </method> <method name="randomize"> <description> - Randomizes the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time. - [b]Note:[/b] This method is called automatically when the project is run. If you need to fix the seed to have reproducible results, use [method seed] to initialize the random number generator. + Randomizes the seed (or the internal state) of the random number generator. The current implementation uses a number based on the device's time. + [b]Note:[/b] This function is called automatically when the project is run. If you need to fix the seed to have consistent, reproducible results, use [method seed] to initialize the random number generator. </description> </method> <method name="remap"> @@ -896,63 +918,67 @@ <param index="3" name="ostart" type="float" /> <param index="4" name="ostop" type="float" /> <description> - Maps a [param value] from range [code][istart, istop][/code] to [code][ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If [param value] is outside [code][istart, istop][/code], then the resulting value will also be outside [code][ostart, ostop][/code]. Use [method clamp] on the result of [method remap] if this is not desired. + Maps a [param value] from range [code][istart, istop][/code] to [code][ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If [param value] is outside [code][istart, istop][/code], then the resulting value will also be outside [code][ostart, ostop][/code]. If this is not desired, use [method clamp] on the result of this function. [codeblock] remap(75, 0, 100, -1, 1) # Returns 0.5 [/codeblock] - For complex use cases where you need multiple ranges, consider using [Curve] or [Gradient] instead. + For complex use cases where multiple ranges are needed, consider using [Curve] or [Gradient] instead. </description> </method> <method name="rid_allocate_id"> <return type="int" /> <description> - Allocate a unique ID which can be used by the implementation to construct a RID. This is used mainly from native extensions to implement servers. + Allocates a unique ID which can be used by the implementation to construct a RID. This is used mainly from native extensions to implement servers. </description> </method> <method name="rid_from_int64"> <return type="RID" /> <param index="0" name="base" type="int" /> <description> - Create a RID from an int64. This is used mainly from native extensions to build servers. + Creates a RID from a [param base]. This is used mainly from native extensions to build servers. </description> </method> <method name="round"> <return type="Variant" /> <param index="0" name="x" type="Variant" /> <description> - Rounds [param x] to the nearest whole number, with halfway cases rounded away from zero. Supported types: [int], [float], [Vector2], [Vector3], [Vector4]. + Rounds [param x] to the nearest whole number, with halfway cases rounded away from 0. Supported types: [int], [float], [Vector2], [Vector3], [Vector4]. [codeblock] round(2.4) # Returns 2 round(2.5) # Returns 3 round(2.6) # Returns 3 [/codeblock] See also [method floor], [method ceil], and [method snapped]. - [b]Note:[/b] For better type safety, you can use [method roundf], [method roundi], [method Vector2.round], [method Vector3.round] or [method Vector4.round] instead. + [b]Note:[/b] For better type safety, use [method roundf], [method roundi], [method Vector2.round], [method Vector3.round] or [method Vector4.round], instead. </description> </method> <method name="roundf"> <return type="float" /> <param index="0" name="x" type="float" /> <description> - Rounds [param x] to the nearest whole number, with halfway cases rounded away from zero. - A type-safe version of [method round], specialzied in floats. + Rounds [param x] to the nearest whole number, with halfway cases rounded away from 0. + A type-safe version of [method round], returning a [float]. </description> </method> <method name="roundi"> <return type="int" /> <param index="0" name="x" type="float" /> <description> - Rounds [param x] to the nearest whole number, with halfway cases rounded away from zero. - A type-safe version of [method round] that returns integer. + Rounds [param x] to the nearest whole number, with halfway cases rounded away from 0. + A type-safe version of [method round], returning an [int]. </description> </method> <method name="seed"> <param index="0" name="base" type="int" /> <description> - Sets seed for the random number generator. + Sets the seed for the random number generator to [param base]. Setting the seed manually can ensure consistent, repeatable results for most random functions. [codeblock] - var my_seed = "Godot Rocks" - seed(my_seed.hash()) + var my_seed = "Godot Rocks".hash() + seed(my_seed) + var a = randf() + randi() + seed(my_seed) + var b = randf() + randi() + # a and b are now identical [/codeblock] </description> </method> @@ -960,7 +986,7 @@ <return type="Variant" /> <param index="0" name="x" type="Variant" /> <description> - Returns the sign of [param x] as same type of [Variant] as [param x] with each component being -1, 0 and 1 for each negative, zero and positive values respectivelu. Variant types [int], [float] (real), [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported. + Returns the sign of [param x] as same type of [Variant] as [param x] with each component being -1, 0 and 1 for each negative, zero and positive values respectively. Variant types [int], [float], [Vector2], [Vector2i], [Vector3] and [Vector3i] are supported. [codeblock] sign(-6.0) # Returns -1 sign(0.0) # Returns 0 @@ -974,11 +1000,11 @@ <return type="float" /> <param index="0" name="x" type="float" /> <description> - Returns the sign of [param x] as a float: -1.0 or 1.0. Returns 0.0 if [param x] is 0. + Returns the sign of [param x] as a [float]: -1.0 or 1.0. Returns 0.0 if [param x] is 0.0. [codeblock] - sign(-6.0) # Returns -1.0 + sign(-6.5) # Returns -1.0 sign(0.0) # Returns 0.0 - sign(6.0) # Returns 1.0 + sign(6.5) # Returns 1.0 [/codeblock] </description> </method> @@ -986,7 +1012,7 @@ <return type="int" /> <param index="0" name="x" type="int" /> <description> - Returns the sign of [param x] as an integer: -1 or 1. Returns 0 if [param x] is 0. + Returns the sign of [param x] as an [int]: -1 or 1. Returns 0 if [param x] is 0. [codeblock] sign(-6) # Returns -1 sign(0) # Returns 0 @@ -1040,7 +1066,7 @@ <param index="0" name="x" type="float" /> <param index="1" name="step" type="float" /> <description> - Snaps float value [param x] to a given [param step]. This can also be used to round a floating point number to an arbitrary number of decimals. + Snaps the float value [param x] to a given [param step]. This can also be used to round a floating point number to an arbitrary number of decimals. [codeblock] snapped(100, 32) # Returns 96 snapped(3.14159, 0.01) # Returns 3.14 @@ -1054,9 +1080,11 @@ <description> Returns the square root of [param x], where [param x] is a non-negative number. [codeblock] - sqrt(9) # Returns 3 + sqrt(9) # Returns 3 + sqrt(10.24) # Returns 3.2 + sqrt(-1) # Returns NaN [/codeblock] - [b]Note:[/b] Negative values of [param x] return NaN. If you need negative inputs, use [code]System.Numerics.Complex[/code] in C#. + [b]Note:[/b] Negative values of [param x] return NaN ("Not a Number"). in C#, if you need negative inputs, use [code]System.Numerics.Complex[/code]. </description> </method> <method name="step_decimals"> @@ -1065,30 +1093,27 @@ <description> Returns the position of the first non-zero digit, after the decimal point. Note that the maximum return value is 10, which is a design decision in the implementation. [codeblock] - # n is 0 - var n = step_decimals(5) - # n is 4 - n = step_decimals(1.0005) - # n is 9 - n = step_decimals(0.000000005) + var n = step_decimals(5) # n is 0 + n = step_decimals(1.0005) # n is 4 + n = step_decimals(0.000000005) # n is 9 [/codeblock] </description> </method> <method name="str" qualifiers="vararg"> <return type="String" /> <description> - Converts one or more arguments of any type to string in the best way possible. + Converts one or more arguments of any [Variant] type to [String] in the best way possible. </description> </method> <method name="str_to_var"> <return type="Variant" /> <param index="0" name="string" type="String" /> <description> - Converts a formatted [param string] that was returned by [method var_to_str] to the original value. + Converts a formatted [param string] that was returned by [method var_to_str] to the original [Variant]. [codeblock] - var a = '{ "a": 1, "b": 2 }' - var b = str_to_var(a) - print(b["a"]) # Prints 1 + var a = '{ "a": 1, "b": 2 }' # a is a String + var b = str_to_var(a) # b is a Dictionary + print(b["a"]) # Prints 1 [/codeblock] </description> </method> @@ -1109,7 +1134,7 @@ Returns the hyperbolic tangent of [param x]. [codeblock] var a = log(2.0) # Returns 0.693147 - tanh(a) # Returns 0.6 + tanh(a) # Returns 0.6 [/codeblock] </description> </method> @@ -1117,7 +1142,7 @@ <return type="int" /> <param index="0" name="variable" type="Variant" /> <description> - Returns the internal type of the given Variant object, using the [enum Variant.Type] values. + Returns the internal type of the given [param variable], using the [enum Variant.Type] values. [codeblock] var json = JSON.new() json.parse('["a", "b", "c"]') @@ -1141,19 +1166,19 @@ <return type="PackedByteArray" /> <param index="0" name="variable" type="Variant" /> <description> - Encodes a [Variant] value to a byte array. Encoding objects is allowed (and can potentially include code). Deserialization can be done with [method bytes_to_var_with_objects]. + Encodes a [Variant] value to a byte array. Encoding objects is allowed (and can potentially include executable code). Deserialization can be done with [method bytes_to_var_with_objects]. </description> </method> <method name="var_to_str"> <return type="String" /> <param index="0" name="variable" type="Variant" /> <description> - Converts a Variant [param variable] to a formatted string that can later be parsed using [method str_to_var]. + Converts a [Variant] [param variable] to a formatted [String] that can then be parsed using [method str_to_var]. [codeblock] a = { "a": 1, "b": 2 } print(var_to_str(a)) [/codeblock] - prints + Prints: [codeblock] { "a": 1, @@ -1166,7 +1191,7 @@ <return type="Variant" /> <param index="0" name="obj" type="Variant" /> <description> - Returns a weak reference to an object, or [code]null[/code] if the argument is invalid. + Returns a weak reference to an object, or [code]null[/code] if [param obj] is invalid. A weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection is free to destroy the referent and reuse its memory for something else. However, until the object is actually destroyed the weak reference may return the object even if there are no strong references to it. </description> </method> @@ -1176,9 +1201,8 @@ <param index="1" name="min" type="Variant" /> <param index="2" name="max" type="Variant" /> <description> - Wraps the [Variant] [param value] between [param min] and [param max]. - Usable for creating loop-alike behavior or infinite surfaces. - Variant types [int] and [float] (real) are supported. If any of the argument is [float] the result will be [float], otherwise it is [int]. + Wraps the [Variant] [param value] between [param min] and [param max]. Can be used for creating loop-alike behavior or infinite surfaces. + Variant types [int] and [float] are supported. If any of the arguments is [float] this function returns a [float], otherwise it returns an [int]. [codeblock] var a = wrap(4, 5, 10) # a is 9 (int) @@ -1197,8 +1221,7 @@ <param index="1" name="min" type="float" /> <param index="2" name="max" type="float" /> <description> - Wraps float [param value] between [param min] and [param max]. - Usable for creating loop-alike behavior or infinite surfaces. + Wraps the float [param value] between [param min] and [param max]. Can be used for creating loop-alike behavior or infinite surfaces. [codeblock] # Infinite loop between 5.0 and 9.9 value = wrapf(value + 0.1, 5.0, 10.0) @@ -1221,8 +1244,7 @@ <param index="1" name="min" type="int" /> <param index="2" name="max" type="int" /> <description> - Wraps integer [param value] between [param min] and [param max]. - Usable for creating loop-alike behavior or infinite surfaces. + Wraps the integer [param value] between [param min] and [param max]. Can be used for creating loop-alike behavior or infinite surfaces. [codeblock] # Infinite loop between 5 and 9 frame = wrapi(frame + 1, 5, 10) @@ -1283,6 +1305,7 @@ The [Marshalls] singleton. </member> <member name="NativeExtensionManager" type="NativeExtensionManager" setter="" getter=""> + The [NativeExtensionManager] singleton. </member> <member name="NavigationMeshGenerator" type="NavigationMeshGenerator" setter="" getter=""> The [NavigationMeshGenerator] singleton. @@ -1377,8 +1400,10 @@ General horizontal alignment, usually used for [Separator], [ScrollBar], [Slider], etc. </constant> <constant name="CLOCKWISE" value="0" enum="ClockDirection"> + Clockwise rotation. Used by some methods (e.g. [method Image.rotate_90]). </constant> <constant name="COUNTERCLOCKWISE" value="1" enum="ClockDirection"> + Counter-clockwise rotation. Used by some methods (e.g. [method Image.rotate_90]). </constant> <constant name="HORIZONTAL_ALIGNMENT_LEFT" value="0" enum="HorizontalAlignment"> Horizontal left alignment, usually for text-derived classes. @@ -2625,7 +2650,7 @@ </constant> <constant name="PROPERTY_HINT_ENUM" value="2" enum="PropertyHint"> Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string. - The hint string is a comma separated list of names such as [code]"Hello,Something,Else"[/code]. For integer and float properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending [code]:integer[/code] to the name, e.g. [code]"Zero,One,Three:3,Four,Six:6"[/code]. + The hint string is a comma separated list of names such as [code]"Hello,Something,Else"[/code]. Whitespaces are [b]not[/b] removed from either end of a name. For integer and float properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending [code]:integer[/code] to the name, e.g. [code]"Zero,One,Three:3,Four,Six:6"[/code]. </constant> <constant name="PROPERTY_HINT_ENUM_SUGGESTION" value="3" enum="PropertyHint"> Hints that a string property can be an enumerated value to pick in a list specified via a hint string such as [code]"Hello,Something,Else"[/code]. @@ -2694,7 +2719,7 @@ <constant name="PROPERTY_HINT_OBJECT_ID" value="24" enum="PropertyHint"> </constant> <constant name="PROPERTY_HINT_TYPE_STRING" value="25" enum="PropertyHint"> - Hint that a property represents a particular type. If a property is [constant TYPE_STRING], allows to set a type from the create dialog. If you need to create an [Array] to contain elements of a specific type, the [code]hint_string[/code] must encode nested types using [code]":"[/code] and [code]"/"[/code] for specifying [Resource] types. For instance: + Hint that a property represents a particular type. If a property is [constant TYPE_STRING], allows to set a type from the create dialog. If you need to create an [Array] to contain elements of a specific type, the [code]hint_string[/code] must encode nested types using [code]":"[/code] and [code]"/"[/code] for specifying [Resource] types. For example: [codeblock] hint_string = "%s:" % [TYPE_INT] # Array of inteters. hint_string = "%s:%s:" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array of floats. @@ -2865,7 +2890,7 @@ Variable is of type [int]. </constant> <constant name="TYPE_FLOAT" value="3" enum="Variant.Type"> - Variable is of type [float] (real). + Variable is of type [float]. </constant> <constant name="TYPE_STRING" value="4" enum="Variant.Type"> Variable is of type [String]. diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml index 23dd41f275..ca454cafa3 100644 --- a/doc/classes/AABB.xml +++ b/doc/classes/AABB.xml @@ -188,6 +188,7 @@ <param index="0" name="from" type="Vector3" /> <param index="1" name="dir" type="Vector3" /> <description> + Returns [code]true[/code] if the given ray intersects with this [AABB]. Ray length is infinite. </description> </method> <method name="intersects_segment" qualifiers="const"> @@ -205,6 +206,12 @@ Returns [code]true[/code] if this [AABB] and [param aabb] are approximately equal, by calling [method @GlobalScope.is_equal_approx] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this [AABB] is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="merge" qualifiers="const"> <return type="AABB" /> <param index="0" name="with" type="AABB" /> diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml index 6e76df647e..2414b068e6 100644 --- a/doc/classes/AStar2D.xml +++ b/doc/classes/AStar2D.xml @@ -271,7 +271,7 @@ <return type="void" /> <param index="0" name="num_nodes" type="int" /> <description> - Reserves space internally for [param num_nodes] points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity. + Reserves space internally for [param num_nodes] points, useful if you're adding a known large number of points at once, such as points on a grid. New capacity must be greater or equals to old capacity. </description> </method> <method name="set_point_disabled"> diff --git a/doc/classes/AStar3D.xml b/doc/classes/AStar3D.xml index 45b1019bab..4e8394195d 100644 --- a/doc/classes/AStar3D.xml +++ b/doc/classes/AStar3D.xml @@ -298,7 +298,7 @@ <return type="void" /> <param index="0" name="num_nodes" type="int" /> <description> - Reserves space internally for [param num_nodes] points, useful if you're adding a known large number of points at once, for a grid for instance. New capacity must be greater or equals to old capacity. + Reserves space internally for [param num_nodes] points. Useful if you're adding a known large number of points at once, such as points on a grid. New capacity must be greater or equals to old capacity. </description> </method> <method name="set_point_disabled"> diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml index 1b5a795b3c..4c2a30030b 100644 --- a/doc/classes/AnimationNodeStateMachineTransition.xml +++ b/doc/classes/AnimationNodeStateMachineTransition.xml @@ -22,9 +22,6 @@ <member name="advance_expression" type="String" setter="set_advance_expression" getter="get_advance_expression" default=""""> Use an expression as a condition for state machine transitions. It is possible to create complex animation advance conditions for switching between states and gives much greater flexibility for creating complex state machines by directly interfacing with the script code. </member> - <member name="advance_expression_base_node" type="NodePath" setter="set_advance_expression_base_node" getter="get_advance_expression_base_node" default="NodePath("")"> - The path to the [Node] used to evaluate an [Expression] if one is not explicitly specified internally. - </member> <member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance" default="false"> Turn on the transition automatically when this state is reached. This works best with [constant SWITCH_MODE_AT_END]. </member> diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index b7ac1ff7f8..bf5ac7fa9e 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -242,7 +242,7 @@ The process notification in which to update animations. </member> <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0"> - The speed scaling ratio. For instance, if this value is 1, then the animation plays at normal speed. If it's 0.5, then it plays at half speed. If it's 2, then it plays at double speed. + The speed scaling ratio. For example, if this value is 1, then the animation plays at normal speed. If it's 0.5, then it plays at half speed. If it's 2, then it plays at double speed. </member> <member name="reset_on_save" type="bool" setter="set_reset_on_save_enabled" getter="is_reset_on_save_enabled" default="true"> This is used by the editor. If set to [code]true[/code], the scene will be saved with the effects of the reset animation (the animation with the key [code]"RESET"[/code]) applied as if it had been seeked to time 0, with the editor keeping the values that the scene had before saving. @@ -268,6 +268,11 @@ [b]Note:[/b] This signal is not emitted if an animation is looping. </description> </signal> + <signal name="animation_libraries_updated"> + <description> + Notifies when the animation libraries have changed. + </description> + </signal> <signal name="animation_list_changed"> <description> Notifies when an animation list is changed. diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml index ce49be9bc1..ea8cab324d 100644 --- a/doc/classes/Area3D.xml +++ b/doc/classes/Area3D.xml @@ -110,11 +110,11 @@ <member name="reverb_bus_amount" type="float" setter="set_reverb_amount" getter="get_reverb_amount" default="0.0"> The degree to which this area applies reverb to its associated audio. Ranges from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision. </member> - <member name="reverb_bus_enable" type="bool" setter="set_use_reverb_bus" getter="is_using_reverb_bus" default="false"> + <member name="reverb_bus_enabled" type="bool" setter="set_use_reverb_bus" getter="is_using_reverb_bus" default="false"> If [code]true[/code], the area applies reverb to its associated audio. </member> - <member name="reverb_bus_name" type="StringName" setter="set_reverb_bus" getter="get_reverb_bus" default="&"Master""> - The reverb bus name to use for this area's associated audio. + <member name="reverb_bus_name" type="StringName" setter="set_reverb_bus_name" getter="get_reverb_bus_name" default="&"Master""> + The name of the reverb bus to use for this area's associated audio. </member> <member name="reverb_bus_uniformity" type="float" setter="set_reverb_uniformity" getter="get_reverb_uniformity" default="0.0"> The degree to which this area's reverb is a uniform effect. Ranges from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision. diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index d8c4b8fdb5..0f76639caf 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -58,6 +58,7 @@ <param index="2" name="class_name" type="StringName" /> <param index="3" name="script" type="Variant" /> <description> + Creates a typed array from the [param base] array. The base array can't be already typed. See [method set_typed] for more details. </description> </constructor> <constructor name="Array"> @@ -315,16 +316,19 @@ <method name="get_typed_builtin" qualifiers="const"> <return type="int" /> <description> + Returns the [code]TYPE[/code] constant for a typed array. If the [Array] is not typed, returns [constant @GlobalScope.TYPE_NIL]. </description> </method> <method name="get_typed_class_name" qualifiers="const"> <return type="StringName" /> <description> + Returns a class name of a typed [Array] of type [constant @GlobalScope.TYPE_OBJECT]. </description> </method> <method name="get_typed_script" qualifiers="const"> <return type="Variant" /> <description> + Returns the script associated with a typed array tied to a class name. </description> </method> <method name="has" qualifiers="const"> @@ -393,11 +397,13 @@ <method name="is_read_only" qualifiers="const"> <return type="bool" /> <description> + Returns [code]true[/code] if the array is read-only. See [method set_read_only]. Arrays are automatically read-only if declared with [code]const[/code] keyword. </description> </method> <method name="is_typed" qualifiers="const"> <return type="bool" /> <description> + Returns [code]true[/code] if the array is typed. Typed arrays can only store elements of their associated type and provide type safety for the [code][][/code] operator. Methods of typed array still return [Variant]. </description> </method> <method name="map" qualifiers="const"> @@ -429,6 +435,16 @@ Returns the minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. </description> </method> + <method name="pick_random" qualifiers="const"> + <return type="Variant" /> + <description> + Returns a random value from the target array. + [codeblock] + var array: Array[int] = [1, 2, 3, 4] + print(array.pick_random()) # Prints either of the four numbers. + [/codeblock] + </description> + </method> <method name="pop_at"> <return type="Variant" /> <param index="0" name="position" type="int" /> @@ -517,6 +533,7 @@ <return type="void" /> <param index="0" name="enable" type="bool" /> <description> + Makes the [Array] read-only, i.e. disabled modifying of the array's elements. Does not apply to nested content, e.g. content of nested arrays. </description> </method> <method name="set_typed"> @@ -525,6 +542,8 @@ <param index="1" name="class_name" type="StringName" /> <param index="2" name="script" type="Variant" /> <description> + Makes the [Array] typed. The [param type] should be one of the [@GlobalScope] [code]TYPE[/code] constants. [param class_name] is optional and can only be provided for [constant @GlobalScope.TYPE_OBJECT]. [param script] can only be provided if [param class_name] is not empty. + The method fails if an array is already typed. </description> </method> <method name="shuffle"> @@ -557,6 +576,7 @@ <return type="void" /> <description> Sorts the array. + [b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/wiki/Sorting_algorithm#Stability]stable[/url]. This means that values considered equal may have their order changed when using [method sort]. [b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural order). This may lead to unexpected behavior when sorting an array of strings ending with a sequence of numbers. Consider the following example: [codeblocks] [gdscript] @@ -581,7 +601,8 @@ <param index="0" name="func" type="Callable" /> <description> Sorts the array using a custom method. The custom method receives two arguments (a pair of elements from the array) and must return either [code]true[/code] or [code]false[/code]. For two elements [code]a[/code] and [code]b[/code], if the given method returns [code]true[/code], element [code]b[/code] will be after element [code]a[/code] in the array. - [b]Note:[/b] You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior. + [b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/wiki/Sorting_algorithm#Stability]stable[/url]. This means that values considered equal may have their order changed when using [method sort_custom]. + [b]Note:[/b] You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Randomizing the return value will result in unexpected behavior. [codeblocks] [gdscript] func sort_ascending(a, b): @@ -608,6 +629,7 @@ <return type="bool" /> <param index="0" name="array" type="Array" /> <description> + Assigns a different [Array] to this array reference. It the array is typed, the new array's type must be compatible and its elements will be automatically converted. </description> </method> </methods> diff --git a/doc/classes/AudioStreamGeneratorPlayback.xml b/doc/classes/AudioStreamGeneratorPlayback.xml index 1c02dbd3ce..c16198c5c6 100644 --- a/doc/classes/AudioStreamGeneratorPlayback.xml +++ b/doc/classes/AudioStreamGeneratorPlayback.xml @@ -27,7 +27,7 @@ <method name="get_frames_available" qualifiers="const"> <return type="int" /> <description> - Returns the number of audio data frames left to play. If this returned number reaches [code]0[/code], the audio will stop playing until frames are added again. Therefore, make sure your script can always generate and push new audio frames fast enough to avoid audio cracking. + Returns the number of frames that can be pushed to the audio sample data buffer without overflowing it. If the result is [code]0[/code], the buffer is full. </description> </method> <method name="get_skips" qualifiers="const"> diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml index 02192a9b7c..11d6e9cc7a 100644 --- a/doc/classes/AudioStreamPlayer3D.xml +++ b/doc/classes/AudioStreamPlayer3D.xml @@ -7,7 +7,7 @@ Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space. For greater realism, a low-pass filter is automatically applied to distant sounds. This can be disabled by setting [member attenuation_filter_cutoff_hz] to [code]20500[/code]. By default, audio is heard from the camera position. This can be changed by adding an [AudioListener3D] node to the scene and enabling it by calling [method AudioListener3D.make_current] on it. See also [AudioStreamPlayer] to play a sound non-positionally. - [b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set [member unit_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing). + [b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set [member volume_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing). </description> <tutorials> <link title="Audio streams">$DOCS_URL/tutorials/audio/audio_streams.html</link> @@ -102,12 +102,12 @@ <member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false"> If [code]true[/code], the playback is paused. You can resume it by setting [member stream_paused] to [code]false[/code]. </member> - <member name="unit_db" type="float" setter="set_unit_db" getter="get_unit_db" default="0.0"> - The base sound level unaffected by dampening, in decibels. - </member> <member name="unit_size" type="float" setter="set_unit_size" getter="get_unit_size" default="10.0"> The factor for the attenuation effect. Higher values make the sound audible over a larger distance. </member> + <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0"> + The base sound level unaffected by dampening, in decibels. + </member> </members> <signals> <signal name="finished"> diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index 629675132a..47e1f85c97 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -68,9 +68,6 @@ <member name="shortcut" type="Shortcut" setter="set_shortcut" getter="get_shortcut"> [Shortcut] associated to the button. </member> - <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"> If [code]true[/code], the button will add information about its shortcut in the tooltip. </member> diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index cbb58a3e1e..dbc7d0fb29 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -305,7 +305,7 @@ <member name="proximity_fade_distance" type="float" setter="set_proximity_fade_distance" getter="get_proximity_fade_distance" default="1.0"> Distance over which the fade effect takes place. The larger the distance the longer it takes for an object to fade. </member> - <member name="proximity_fade_enable" type="bool" setter="set_proximity_fade" getter="is_proximity_fade_enabled" default="false"> + <member name="proximity_fade_enabled" type="bool" setter="set_proximity_fade_enabled" getter="is_proximity_fade_enabled" default="false"> If [code]true[/code], the proximity fade effect is enabled. The proximity fade effect fades out each pixel based on its distance to another object. </member> <member name="refraction_enabled" type="bool" setter="set_feature" getter="get_feature" default="false"> diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index 6d9b679fbc..0f1f4b57a9 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -70,6 +70,7 @@ <param index="0" name="euler" type="Vector3" /> <param index="1" name="order" type="int" default="2" /> <description> + Creates a [Basis] from the given [Vector3] representing Euler angles. [param order] determines in what order rotation components are applied. Defaults to [constant EULER_ORDER_YXZ]. </description> </method> <method name="from_scale" qualifiers="static"> @@ -112,6 +113,12 @@ Returns [code]true[/code] if this basis and [param b] are approximately equal, by calling [code]is_equal_approx[/code] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this basis is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="looking_at" qualifiers="static"> <return type="Basis" /> <param index="0" name="target" type="Vector3" /> @@ -191,16 +198,22 @@ </members> <constants> <constant name="EULER_ORDER_XYZ" value="0"> + Euler angle composing/decomposing order where X component is first, then Y, then Z. </constant> <constant name="EULER_ORDER_XZY" value="1"> + Euler angle composing/decomposing order where X component is first, then Z, then Y. </constant> <constant name="EULER_ORDER_YXZ" value="2"> + Euler angle composing/decomposing order where Y component is first, then X, then Z. </constant> <constant name="EULER_ORDER_YZX" value="3"> + Euler angle composing/decomposing order where Y component is first, then Z, then X. </constant> <constant name="EULER_ORDER_ZXY" value="4"> + Euler angle composing/decomposing order where Z component is first, then X, then Y. </constant> <constant name="EULER_ORDER_ZYX" value="5"> + Euler angle composing/decomposing order where Z component is first, then Y, then X. </constant> <constant name="IDENTITY" value="Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)"> The identity basis, with no rotation or scaling applied. diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index 906789d09f..314e46d9d0 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -29,12 +29,14 @@ <return type="float" /> <param index="0" name="param" type="int" enum="CPUParticles2D.Parameter" /> <description> + Returns the maximum value range for the given parameter. </description> </method> <method name="get_param_min" qualifiers="const"> <return type="float" /> <param index="0" name="param" type="int" enum="CPUParticles2D.Parameter" /> <description> + Returns the minimum value range for the given parameter. </description> </method> <method name="get_particle_flag" qualifiers="const"> @@ -63,6 +65,7 @@ <param index="0" name="param" type="int" enum="CPUParticles2D.Parameter" /> <param index="1" name="value" type="float" /> <description> + Sets the maximum value for the given parameter. </description> </method> <method name="set_param_min"> @@ -70,6 +73,7 @@ <param index="0" name="param" type="int" enum="CPUParticles2D.Parameter" /> <param index="1" name="value" type="float" /> <description> + Sets the minimum value for the given parameter. </description> </method> <method name="set_particle_flag"> @@ -89,29 +93,38 @@ Each particle's rotation will be animated along this [Curve]. </member> <member name="angle_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum initial rotation applied to each particle, in degrees. </member> <member name="angle_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member angle_max]. </member> <member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> Each particle's angular velocity will vary along this [Curve]. </member> <member name="angular_velocity_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum initial angular velocity (rotation speed) applied to each particle in [i]degrees[/i] per second. </member> <member name="angular_velocity_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member angular_velocity_max]. </member> <member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> Each particle's animation offset will vary along this [Curve]. </member> <member name="anim_offset_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum animation offset that corresponds to frame index in the texture. [code]0[/code] is the first frame, [code]1[/code] is the last one. See [member CanvasItemMaterial.particles_animation]. </member> <member name="anim_offset_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member anim_offset_max]. </member> <member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve"> Each particle's animation speed will vary along this [Curve]. </member> <member name="anim_speed_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum particle animation speed. Animation speed of [code]1[/code] means that the particles will make full [code]0[/code] to [code]1[/code] offset cycle during lifetime, [code]2[/code] means [code]2[/code] cycles etc. + With animation speed greater than [code]1[/code], remember to enable [member CanvasItemMaterial.particles_anim_loop] property if you want the animation to repeat. </member> <member name="anim_speed_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member anim_speed_max]. </member> <member name="color" type="Color" setter="set_color" getter="get_color" default="Color(1, 1, 1, 1)"> Each particle's initial color. If [member texture] is defined, it will be multiplied by this color. @@ -126,8 +139,10 @@ Damping will vary along this [Curve]. </member> <member name="damping_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + The maximum rate at which particles lose velocity. For example value of [code]100[/code] means that the particle will go from [code]100[/code] velocity to [code]0[/code] in [code]1[/code] second. </member> <member name="damping_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member damping_max]. </member> <member name="direction" type="Vector2" setter="set_direction" getter="get_direction" default="Vector2(1, 0)"> Unit vector specifying the particles' emission direction. @@ -160,7 +175,7 @@ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. </member> <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0"> - The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. + The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. </member> <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true"> If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. @@ -172,12 +187,16 @@ Each particle's hue will vary along this [Curve]. </member> <member name="hue_variation_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum initial hue variation applied to each particle. It will shift the particle color's hue. </member> <member name="hue_variation_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member hue_variation_max]. </member> <member name="initial_velocity_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum initial velocity magnitude for each particle. Direction comes from [member direction] and [member spread]. </member> <member name="initial_velocity_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member initial_velocity_max]. </member> <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0"> Amount of time each particle will exist. @@ -189,8 +208,10 @@ Each particle's linear acceleration will vary along this [Curve]. </member> <member name="linear_accel_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum linear acceleration applied to each particle in the direction of motion. </member> <member name="linear_accel_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member linear_accel_max]. </member> <member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates" default="false"> If [code]true[/code], particles use the parent node's coordinate space (known as local coordinates). This will cause particles to move and rotate along the [CPUParticles2D] node (and its parents) when it is moved or rotated. If [code]false[/code], particles use global coordinates; they will not move or rotate along the [CPUParticles2D] node (and its parents) when it is moved or rotated. @@ -202,8 +223,10 @@ Each particle's orbital velocity will vary along this [Curve]. </member> <member name="orbit_velocity_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second. </member> <member name="orbit_velocity_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member orbit_velocity_max]. </member> <member name="particle_flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag" default="false"> Align Y axis of particle with the direction of its velocity. @@ -215,8 +238,10 @@ Each particle's radial acceleration will vary along this [Curve]. </member> <member name="radial_accel_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum radial acceleration applied to each particle. Makes particle accelerate away from the origin or towards it if negative. </member> <member name="radial_accel_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member radial_accel_max]. </member> <member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio" default="0.0"> Emission lifetime randomness ratio. @@ -225,17 +250,24 @@ Each particle's scale will vary along this [Curve]. </member> <member name="scale_amount_max" type="float" setter="set_param_max" getter="get_param_max" default="1.0"> + Maximum initial scale applied to each particle. </member> <member name="scale_amount_min" type="float" setter="set_param_min" getter="get_param_min" default="1.0"> + Minimum equivalent of [member scale_amount_max]. </member> <member name="scale_curve_x" type="Curve" setter="set_scale_curve_x" getter="get_scale_curve_x"> + Each particle's horizontal scale will vary along this [Curve]. + [member split_scale] must be enabled. </member> <member name="scale_curve_y" type="Curve" setter="set_scale_curve_y" getter="get_scale_curve_y"> + Each particle's vertical scale will vary along this [Curve]. + [member split_scale] must be enabled. </member> <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0"> Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles. </member> <member name="split_scale" type="bool" setter="set_split_scale" getter="get_split_scale" default="false"> + If [code]true[/code], the scale curve will be split into x and y components. See [member scale_curve_x] and [member scale_curve_y]. </member> <member name="spread" type="float" setter="set_spread" getter="get_spread" default="45.0"> Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. @@ -244,8 +276,10 @@ Each particle's tangential acceleration will vary along this [Curve]. </member> <member name="tangential_accel_max" type="float" setter="set_param_max" getter="get_param_max" default="0.0"> + Maximum tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion. </member> <member name="tangential_accel_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> + Minimum equivalent of [member tangential_accel_max]. </member> <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> Particle texture. If [code]null[/code], particles will be squares. diff --git a/doc/classes/CPUParticles3D.xml b/doc/classes/CPUParticles3D.xml index 6b39c08b3f..3a15a117f5 100644 --- a/doc/classes/CPUParticles3D.xml +++ b/doc/classes/CPUParticles3D.xml @@ -28,12 +28,14 @@ <return type="float" /> <param index="0" name="param" type="int" enum="CPUParticles3D.Parameter" /> <description> + Returns the maximum value range for the given parameter. </description> </method> <method name="get_param_min" qualifiers="const"> <return type="float" /> <param index="0" name="param" type="int" enum="CPUParticles3D.Parameter" /> <description> + Returns the minimum value range for the given parameter. </description> </method> <method name="get_particle_flag" qualifiers="const"> @@ -62,7 +64,7 @@ <param index="0" name="param" type="int" enum="CPUParticles3D.Parameter" /> <param index="1" name="value" type="float" /> <description> - Sets the maximum value for the given parameter + Sets the maximum value for the given parameter. </description> </method> <method name="set_param_min"> @@ -70,7 +72,7 @@ <param index="0" name="param" type="int" enum="CPUParticles3D.Parameter" /> <param index="1" name="value" type="float" /> <description> - Sets the minimum value for the given parameter + Sets the minimum value for the given parameter. </description> </method> <method name="set_particle_flag"> @@ -187,7 +189,7 @@ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. </member> <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0"> - The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself. + The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself. </member> <member name="flatness" type="float" setter="set_flatness" getter="get_flatness" default="0.0"> Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane. diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml index 671ecb6af1..9315a85e1f 100644 --- a/doc/classes/Camera2D.xml +++ b/doc/classes/Camera2D.xml @@ -52,14 +52,14 @@ <return type="Vector2" /> <description> Returns this camera's target position, in global coordinates. - [b]Note:[/b] The returned value is not the same as [member Node2D.global_position], as it is affected by the drag properties. It is also not the same as the current position if [member smoothing_enabled] is [code]true[/code] (see [method get_screen_center_position]). + [b]Note:[/b] The returned value is not the same as [member Node2D.global_position], as it is affected by the drag properties. It is also not the same as the current position if [member position_smoothing_enabled] is [code]true[/code] (see [method get_screen_center_position]). </description> </method> <method name="reset_smoothing"> <return type="void" /> <description> Sets the camera's position immediately to its current smoothing destination. - This method has no effect if [member smoothing_enabled] is [code]false[/code]. + This method has no effect if [member position_smoothing_enabled] is [code]false[/code]. </description> </method> <method name="set_drag_margin"> @@ -138,7 +138,7 @@ </member> <member name="limit_smoothed" type="bool" setter="set_limit_smoothing_enabled" getter="is_limit_smoothing_enabled" default="false"> If [code]true[/code], the camera smoothly stops when reaches its limits. - This property has no effect if [member smoothing_enabled] is [code]false[/code]. + This property has no effect if [member position_smoothing_enabled] is [code]false[/code]. [b]Note:[/b] To immediately update the camera's position to be within limits without smoothing, even with this setting enabled, invoke [method reset_smoothing]. </member> <member name="limit_top" type="int" setter="set_limit" getter="get_limit" default="-10000000"> @@ -147,6 +147,12 @@ <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)"> The camera's relative offset. Useful for looking around or camera shake animations. The offsetted camera can go past the limits defined in [member limit_top], [member limit_bottom], [member limit_left] and [member limit_right]. </member> + <member name="position_smoothing_enabled" type="bool" setter="set_position_smoothing_enabled" getter="is_position_smoothing_enabled" default="false"> + If [code]true[/code], the camera's view smoothly moves towards its target position at [member position_smoothing_speed]. + </member> + <member name="position_smoothing_speed" type="float" setter="set_position_smoothing_speed" getter="get_position_smoothing_speed" default="5.0"> + Speed in pixels per second of the camera's smoothing effect when [member position_smoothing_enabled] is [code]true[/code]. + </member> <member name="process_callback" type="int" setter="set_process_callback" getter="get_process_callback" enum="Camera2D.Camera2DProcessCallback" default="1"> The camera's process callback. See [enum Camera2DProcessCallback]. </member> @@ -157,12 +163,6 @@ <member name="rotation_smoothing_speed" type="float" setter="set_rotation_smoothing_speed" getter="get_rotation_smoothing_speed" default="5.0"> The angular, asymptotic speed of the camera's rotation smoothing effect when [member rotation_smoothing_enabled] is [code]true[/code]. </member> - <member name="smoothing_enabled" type="bool" setter="set_enable_follow_smoothing" getter="is_follow_smoothing_enabled" default="false"> - If [code]true[/code], the camera smoothly moves towards the target at [member smoothing_speed]. - </member> - <member name="smoothing_speed" type="float" setter="set_follow_smoothing" getter="get_follow_smoothing" default="5.0"> - 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. 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> diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index d74f49c897..947e6a3d4c 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -536,6 +536,7 @@ </methods> <members> <member name="clip_children" type="bool" setter="set_clip_children" getter="is_clipping_children" default="false"> + Allows the current node to clip children nodes, essentially acting as a mask. </member> <member name="light_mask" type="int" setter="set_light_mask" getter="get_light_mask" default="1"> The rendering layers in which this [CanvasItem] responds to [Light2D] nodes. diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml index 50c0860d1f..7c1b19b961 100644 --- a/doc/classes/CanvasLayer.xml +++ b/doc/classes/CanvasLayer.xml @@ -5,6 +5,7 @@ </brief_description> <description> Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below). + Embedded [Window]s are placed in layer 1024. CanvasItems in layer 1025 or above appear in front of embedded windows, CanvasItems in layer 1023 or below appear behind embedded windows. </description> <tutorials> <link title="Viewport and canvas transforms">$DOCS_URL/tutorials/2d/2d_transforms.html</link> diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml index 2ffe880971..699e872e99 100644 --- a/doc/classes/CheckBox.xml +++ b/doc/classes/CheckBox.xml @@ -4,7 +4,7 @@ Binary choice user interface widget. See also [CheckButton]. </brief_description> <description> - A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to [CheckButton] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckBox when toggling it has [b]no[/b] immediate effect on something. For instance, it should be used when toggling it will only do something once a confirmation button is pressed. + A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to [CheckButton] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckBox when toggling it has [b]no[/b] immediate effect on something. For example, it could be used when toggling it will only do something once a confirmation button is pressed. See also [BaseButton] which contains common properties and methods associated with this node. </description> <tutorials> diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml index 2f584103be..dfbaa7cbee 100644 --- a/doc/classes/CheckButton.xml +++ b/doc/classes/CheckButton.xml @@ -4,7 +4,7 @@ Checkable button. See also [CheckBox]. </brief_description> <description> - CheckButton is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckButton when toggling it has an [b]immediate[/b] effect on something. For instance, it should be used if toggling it enables/disables a setting without requiring the user to press a confirmation button. + CheckButton is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckButton when toggling it has an [b]immediate[/b] effect on something. For example, it could be used if toggling it enables/disables a setting without requiring the user to press a confirmation button. See also [BaseButton] which contains common properties and methods associated with this node. </description> <tutorials> diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml index 58a536406f..5d3c6210f6 100644 --- a/doc/classes/ClassDB.xml +++ b/doc/classes/ClassDB.xml @@ -13,7 +13,7 @@ <return type="bool" /> <param index="0" name="class" type="StringName" /> <description> - Returns [code]true[/code] if you can instance objects from the specified [param class], [code]false[/code] in other case. + Returns [code]true[/code] if objects can be instantiated from the specified [param class], otherwise returns [code]false[/code]. </description> </method> <method name="class_exists" qualifiers="const"> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index 3a3803c1da..a11d7157f1 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -145,6 +145,11 @@ <return type="int" /> <param index="0" name="name" type="String" /> <description> + Returns the index of a named color. Use [method get_named_color] to get the actual color. + [codeblock] + var idx = Color.find_named_color("khaki") + modulate = Color.get_named_color(idx) + [/codeblock] </description> </method> <method name="from_hsv" qualifiers="static"> @@ -187,6 +192,7 @@ <return type="Color" /> <param index="0" name="rgbe" type="int" /> <description> + Encodes a [Color] from a RGBE9995 format integer. See [constant Image.FORMAT_RGBE9995]. </description> </method> <method name="from_string" qualifiers="static"> @@ -194,6 +200,7 @@ <param index="0" name="str" type="String" /> <param index="1" name="default" type="Color" /> <description> + Creates a [Color] from string, which can be either a HTML color code or a named color. Fallbacks to [param default] if the string does not denote any valid color. </description> </method> <method name="get_luminance" qualifiers="const"> @@ -208,29 +215,37 @@ <return type="Color" /> <param index="0" name="idx" type="int" /> <description> + Returns a named color with the given index. You can get the index from [method find_named_color] or iteratively from [method get_named_color_count]. </description> </method> <method name="get_named_color_count" qualifiers="static"> <return type="int" /> <description> + Returns the number of available named colors. </description> </method> <method name="get_named_color_name" qualifiers="static"> <return type="String" /> <param index="0" name="idx" type="int" /> <description> + Returns the name of a color with the given index. You can get the index from [method find_named_color] or iteratively from [method get_named_color_count]. </description> </method> <method name="hex" qualifiers="static"> <return type="Color" /> <param index="0" name="hex" type="int" /> <description> + Returns the [Color] associated with the provided integer number, with 8 bits per channel in ARGB order. The integer should be 32-bit. Best used with hexadecimal notation. + [codeblock] + modulate = Color.hex(0xffff0000) # red + [/codeblock] </description> </method> <method name="hex64" qualifiers="static"> <return type="Color" /> <param index="0" name="hex" type="int" /> <description> + Same as [method hex], but takes 64-bit integer and the color uses 16 bits per channel. </description> </method> <method name="html" qualifiers="static"> diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index d09b7f003e..cd1d0b016d 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -131,6 +131,7 @@ The width of the hue selection slider. </theme_item> <theme_item name="label_width" data_type="constant" type="int" default="10"> + The minimum width of the color labels next to sliders. </theme_item> <theme_item name="margin" data_type="constant" type="int" default="4"> The margin around the [ColorPicker]. @@ -160,8 +161,10 @@ The indicator used to signalize that the color value is outside the 0-1 range. </theme_item> <theme_item name="picker_cursor" data_type="icon" type="Texture2D"> + The image displayed over the color box/circle (depending on the [member picker_shape]), marking the currently selected color. </theme_item> <theme_item name="sample_bg" data_type="icon" type="Texture2D"> + Background panel for the color preview box (visible when the color is translucent). </theme_item> <theme_item name="screen_picker" data_type="icon" type="Texture2D"> The icon for the screen color picker button. diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 9c7cb7b089..91e9b65a8a 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -383,7 +383,7 @@ <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 position] and [member size]. + Returns the position and size of the control relative to the [CanvasLayer]. See [member global_position] and [member size]. </description> </method> <method name="get_minimum_size" qualifiers="const"> @@ -972,7 +972,7 @@ <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="custom_minimum_size" type="Vector2i" setter="set_custom_minimum_size" getter="get_custom_minimum_size" default="Vector2i(0, 0)"> + <member name="custom_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="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="0"> @@ -999,7 +999,7 @@ 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). + The node's global position, relative to the world (usually to the [CanvasLayer]). </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. @@ -1051,6 +1051,9 @@ [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 scale] property. </member> + <member name="shortcut_context" type="Node" setter="set_shortcut_context" getter="get_shortcut_context"> + The [Node] which must be a parent of the focused [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="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> diff --git a/doc/classes/CylinderShape3D.xml b/doc/classes/CylinderShape3D.xml index 6ff142da59..dcb14ec945 100644 --- a/doc/classes/CylinderShape3D.xml +++ b/doc/classes/CylinderShape3D.xml @@ -5,6 +5,7 @@ </brief_description> <description> Cylinder shape for collisions. Like [CapsuleShape3D], but without hemispheres at the cylinder's ends. + [b]Note:[/b] There are several known bugs with cylinder collision shapes. Using [CapsuleShape3D] or [BoxShape3D] instead is recommended. [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> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index a86aff060d..ac1f63af56 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -325,18 +325,21 @@ <return type="bool" /> <param index="0" name="right" type="Dictionary" /> <description> + Returns [code]true[/code] if the dictionaries differ, i.e. their key or value lists are different (including the order). </description> </operator> <operator name="operator =="> <return type="bool" /> <param index="0" name="right" type="Dictionary" /> <description> + Returns [code]true[/code] if both dictionaries have the same contents, i.e. their keys list and value list are equal. </description> </operator> <operator name="operator []"> <return type="Variant" /> <param index="0" name="key" type="Variant" /> <description> + Retunrs a value at the given [param key] or [code]null[/code] and error if the key does not exist. For safe access, use [method get] or [method has]. </description> </operator> </operators> diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml index 0dbaa9c86f..85d9fd34ca 100644 --- a/doc/classes/DisplayServer.xml +++ b/doc/classes/DisplayServer.xml @@ -1116,10 +1116,10 @@ </description> </method> <method name="window_get_safe_title_margins" qualifiers="const"> - <return type="Vector2i" /> + <return type="Vector3i" /> <param index="0" name="window_id" type="int" default="0" /> <description> - Returns left and right margins of the title that are safe to use (contains no buttons or other elements) when [constant WINDOW_FLAG_EXTEND_TO_TITLE] flag is set. + Returns left margins ([code]x[/code]), right margins ([code]y[/code]) adn height ([code]z[/code]) of the title that are safe to use (contains no buttons or other elements) when [constant WINDOW_FLAG_EXTEND_TO_TITLE] flag is set. </description> </method> <method name="window_get_size" qualifiers="const"> diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml index 891c8d7d92..51e3706981 100644 --- a/doc/classes/EditorFileDialog.xml +++ b/doc/classes/EditorFileDialog.xml @@ -4,6 +4,7 @@ A modified version of [FileDialog] used by the editor. </brief_description> <description> + [EditorFileDialog] is an enhanced version of [FileDialog] avaiable only to editor plugins. Additional features include list of favorited/recent files and ability to see files as thumbnails grid instead of list. </description> <tutorials> </tutorials> @@ -62,7 +63,7 @@ The dialog's open or save mode, which affects the selection behavior. See [enum FileMode] </member> <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files" default="false"> - If [code]true[/code], hidden files and directories will be visible in the [EditorFileDialog]. + If [code]true[/code], hidden files and directories will be visible in the [EditorFileDialog]. This property is synchronized with [member EditorSettings.filesystem/file_dialog/show_hidden_files]. </member> <member name="title" type="String" setter="set_title" getter="get_title" overrides="Window" default=""Save a File"" /> </members> diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 1e3b1f07ee..0beb2459a3 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -70,6 +70,7 @@ <method name="get_editor_paths"> <return type="EditorPaths" /> <description> + Returns the [EditorPaths] singleton. </description> </method> <method name="get_editor_scale" qualifiers="const"> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 563987e2a3..e413c526f4 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -691,11 +691,13 @@ </signal> <signal name="project_settings_changed"> <description> + Emitted when any project setting has changed. </description> </signal> <signal name="resource_saved"> <param index="0" name="resource" type="Resource" /> <description> + Emitted when the given [param resource] was saved on disc. </description> </signal> <signal name="scene_changed"> diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml index 9170c449bf..2aca19510b 100644 --- a/doc/classes/EditorProperty.xml +++ b/doc/classes/EditorProperty.xml @@ -61,6 +61,7 @@ <method name="update_property"> <return type="void" /> <description> + Forces refresh of the property display. </description> </method> </methods> diff --git a/doc/classes/EditorScript.xml b/doc/classes/EditorScript.xml index dfc04c9cde..a02fd215d8 100644 --- a/doc/classes/EditorScript.xml +++ b/doc/classes/EditorScript.xml @@ -30,6 +30,7 @@ [/csharp] [/codeblocks] [b]Note:[/b] The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot [b]Output[/b] dock. + [b]Note:[/b] EditorScript is [RefCounted], meaning it is destroyed when nothing references it. This can cause errors during asynchronous operations if there are no references to the script. </description> <tutorials> </tutorials> diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index 7f3ffce9b7..818dda59bc 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -363,7 +363,7 @@ The color to use for the selection box that surrounds selected nodes in the 3D editor viewport. The color's alpha channel influences the selection box's opacity. </member> <member name="editors/3d_gizmos/gizmo_colors/instantiated" type="Color" setter="" getter=""> - The color override to use for 3D editor gizmos if the [Node3D] in question is part of an instanced scene file (from the perspective of the current scene). + The color override to use for 3D editor gizmos if the [Node3D] in question is part of an instantiated scene file (from the perspective of the current scene). </member> <member name="editors/3d_gizmos/gizmo_colors/joint" type="Color" setter="" getter=""> The 3D editor gizmo color for [Joint3D]s and [PhysicalBone3D]s. @@ -457,6 +457,12 @@ If [code]true[/code], when saving a file, the editor will rename the old file to a different name, save a new file, then only remove the old file once the new file has been saved. This makes loss of data less likely to happen if the editor or operating system exits unexpectedly while saving (e.g. due to a crash or power outage). [b]Note:[/b] On Windows, this feature can interact negatively with certain antivirus programs. In this case, you may have to set this to [code]false[/code] to prevent file locking issues. </member> + <member name="interface/editor/accept_dialog_cancel_ok_buttons" type="int" setter="" getter=""> + How to position the Cancel and OK buttons in the editor's [AcceptDialog]s. Different platforms have different standard behaviors for this, which can be overridden using this setting. This is useful if you use Godot both on Windows and macOS/Linux and your Godot muscle memory is stronger than your OS specific one. + - [b]Auto[/b] follows the platform convention: Cancel first on macOS and Linux, OK first on Windows. + - [b]Cancel First[/b] forces the ordering Cancel/OK. + - [b]OK First[/b] forces the ordering OK/Cancel. + </member> <member name="interface/editor/automatically_open_screenshots" type="bool" setter="" getter=""> If [code]true[/code], automatically opens screenshots with the default program associated to [code].png[/code] files after a screenshot is taken using the [b]Editor > Take Screenshot[/b] action. </member> @@ -671,19 +677,19 @@ If [code]true[/code], displays line length guidelines to help you keep line lengths in check. See also [member text_editor/appearance/guidelines/line_length_guideline_soft_column] and [member text_editor/appearance/guidelines/line_length_guideline_hard_column]. </member> <member name="text_editor/appearance/gutters/highlight_type_safe_lines" type="bool" setter="" getter=""> - If [code]true[/code], highlights type-safe lines by displaying their line number color with [member text_editor/theme/highlighting/safe_line_number_color] instead of [member text_editor/theme/highlighting/line_number_color]. Type-safe lines are lines of code where the type of all variables is known at compile-time. These type-safe lines will run faster in Godot 4.0 and later thanks to typed instructions. + If [code]true[/code], highlights type-safe lines by displaying their line number color with [member text_editor/theme/highlighting/safe_line_number_color] instead of [member text_editor/theme/highlighting/line_number_color]. Type-safe lines are lines of code where the type of all variables is known at compile-time. These type-safe lines may run faster thanks to typed instructions. </member> <member name="text_editor/appearance/gutters/line_numbers_zero_padded" type="bool" setter="" getter=""> If [code]true[/code], displays line numbers with zero padding (e.g. [code]007[/code] instead of [code]7[/code]). </member> <member name="text_editor/appearance/gutters/show_bookmark_gutter" type="bool" setter="" getter=""> - If [code]true[/code], displays a gutter at the left containing icons for bookmarks. + If [code]true[/code], displays icons for bookmarks in a gutter at the left. Bookmarks remain functional when this setting is disabled. </member> <member name="text_editor/appearance/gutters/show_info_gutter" type="bool" setter="" getter=""> If [code]true[/code], displays a gutter at the left containing icons for methods with signal connections. </member> <member name="text_editor/appearance/gutters/show_line_numbers" type="bool" setter="" getter=""> - If [code]true[/code], displays line numbers in the gutter at the left. + If [code]true[/code], displays line numbers in a gutter at the left. </member> <member name="text_editor/appearance/lines/code_folding" type="bool" setter="" getter=""> If [code]true[/code], displays the folding arrows next to indented code sections and allows code folding. If [code]false[/code], hides the folding arrows next to indented code sections and disallows code folding. @@ -752,7 +758,7 @@ [b]Note:[/b] You can hold down [kbd]Alt[/kbd] while using the mouse wheel to temporarily scroll 5 times faster. </member> <member name="text_editor/completion/add_type_hints" type="bool" setter="" getter=""> - If [code]true[/code], adds static typing hints such as [code]-> void[/code] and [code]: int[/code] when performing method definition autocompletion. + If [code]true[/code], adds static typing hints such as [code]-> void[/code] and [code]: int[/code] when using code autocompletion or when creating onready variables by drag and dropping nodes into the script editor while pressing the [kbd]Ctrl[/kbd] key. </member> <member name="text_editor/completion/auto_brace_complete" type="bool" setter="" getter=""> If [code]true[/code], automatically completes braces when making use of code completion. @@ -803,7 +809,7 @@ The script editor's background color. If set to a translucent color, the editor theme's base color will be visible behind. </member> <member name="text_editor/theme/highlighting/base_type_color" type="Color" setter="" getter=""> - The script editor's base type color (used for types like [Vector2], [Vector3], ...). + The script editor's base type color (used for types like [Vector2], [Vector3], [Color], ...). </member> <member name="text_editor/theme/highlighting/bookmark_color" type="Color" setter="" getter=""> The script editor's bookmark icon color (displayed in the gutter). @@ -863,10 +869,10 @@ [b]Note:[/b] When using the GDScript syntax highlighter, this is replaced by the function definition color configured in the syntax theme for function definitions (e.g. [code]func _ready():[/code]). </member> <member name="text_editor/theme/highlighting/keyword_color" type="Color" setter="" getter=""> - The script editor's non-control flow keyword color (used for keywords like [code]var[/code], [code]func[/code], some built-in methods, ...). + The script editor's non-control flow keyword color (used for keywords like [code]var[/code], [code]func[/code], [code]extends[/code], ...). </member> <member name="text_editor/theme/highlighting/line_length_guideline_color" type="Color" setter="" getter=""> - The script editor's color for the line length guideline. The "hard" line length guideline will be drawn with this color, whereas the "soft" line length guideline will be drawn with an opacity twice as low. + The script editor's color for the line length guideline. The "hard" line length guideline will be drawn with this color, whereas the "soft" line length guideline will be drawn with half of its opacity. </member> <member name="text_editor/theme/highlighting/line_number_color" type="Color" setter="" getter=""> The script editor's color for line numbers. See also [member text_editor/theme/highlighting/safe_line_number_color]. @@ -907,7 +913,7 @@ The script editor's background color for text. This should be set to a translucent color so that it can display on top of other line color modifiers such as [member text_editor/theme/highlighting/current_line_color]. </member> <member name="text_editor/theme/highlighting/user_type_color" type="Color" setter="" getter=""> - The script editor's color for user-defined types (using [code]@class_name[/code]). + The script editor's color for user-defined types (using [code]class_name[/code]). </member> <member name="text_editor/theme/highlighting/word_highlighted_color" type="Color" setter="" getter=""> The script editor's color for words highlighted by selecting them. Only visible if [member text_editor/appearance/caret/highlight_all_occurrences] is [code]true[/code]. diff --git a/doc/classes/EditorSpinSlider.xml b/doc/classes/EditorSpinSlider.xml index 2ada211dab..9961e11f7d 100644 --- a/doc/classes/EditorSpinSlider.xml +++ b/doc/classes/EditorSpinSlider.xml @@ -10,13 +10,16 @@ </tutorials> <members> <member name="flat" type="bool" setter="set_flat" getter="is_flat" default="false"> + If [code]true[/code], the slider will not draw background. </member> <member name="hide_slider" type="bool" setter="set_hide_slider" getter="is_hiding_slider" default="false"> If [code]true[/code], the slider is hidden. </member> <member name="label" type="String" setter="set_label" getter="get_label" default=""""> + The text that displays to the left of the value. </member> <member name="read_only" type="bool" setter="set_read_only" getter="is_read_only" default="false"> + If [code]true[/code], the slider can't be interacted with. </member> <member name="suffix" type="String" setter="set_suffix" getter="get_suffix" default=""""> The suffix to display after the value (in a faded color). This should generally be a plural word. You may have to use an abbreviation if the suffix is too long to be displayed. diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index 2b8663e039..821fae37a6 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -146,11 +146,13 @@ <return type="ScriptLanguage" /> <param index="0" name="index" type="int" /> <description> + Returns an instance of a [ScriptLanguage] with the given index. </description> </method> <method name="get_script_language_count"> <return type="int" /> <description> + Returns the number of available script languages. Use with [method get_script_language]. </description> </method> <method name="get_singleton" qualifiers="const"> @@ -163,6 +165,7 @@ <method name="get_singleton_list" qualifiers="const"> <return type="PackedStringArray" /> <description> + Returns a list of available global singletons. </description> </method> <method name="get_version_info" qualifiers="const"> @@ -244,6 +247,7 @@ <return type="void" /> <param index="0" name="language" type="ScriptLanguage" /> <description> + Registers a [ScriptLanguage] instance to be available with [code]ScriptServer[/code]. </description> </method> <method name="register_singleton"> @@ -251,12 +255,14 @@ <param index="0" name="name" type="StringName" /> <param index="1" name="instance" type="Object" /> <description> + Registers the given object as a singleton, globally available under [param name]. </description> </method> <method name="unregister_singleton"> <return type="void" /> <param index="0" name="name" type="StringName" /> <description> + Unregisters the singleton registered under [param name]. The singleton object is not freed. Only works with user-defined singletons created with [method register_singleton]. </description> </method> </methods> diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 243a28e73d..33b6a786ae 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -301,6 +301,7 @@ <member name="volumetric_fog_density" type="float" setter="set_volumetric_fog_density" getter="get_volumetric_fog_density" default="0.05"> The base [i]exponential[/i] density of the volumetric fog. Set this to the lowest density you want to have globally. [FogVolume]s can be used to add to or subtract from this density in specific areas. Fog rendering is exponential as in real life. A value of [code]0.0[/code] disables global volumetric fog while allowing [FogVolume]s to display volumetric fog in specific areas. + To make volumetric fog work as a volumetric [i]lighting[/i] solution, set [member volumetric_fog_density] to the lowest non-zero value ([code]0.0001[/code]) then increase lights' [member Light3D.light_volumetric_fog_energy] to values between [code]10000[/code] and [code]100000[/code] to compensate for the very low density. </member> <member name="volumetric_fog_detail_spread" type="float" setter="set_volumetric_fog_detail_spread" getter="get_volumetric_fog_detail_spread" default="2.0"> The distribution of size down the length of the froxel buffer. A higher value compresses the froxels closer to the camera and places more detail closer to the camera. diff --git a/doc/classes/FileSystemDock.xml b/doc/classes/FileSystemDock.xml index 22048c6761..5578f449b3 100644 --- a/doc/classes/FileSystemDock.xml +++ b/doc/classes/FileSystemDock.xml @@ -32,7 +32,7 @@ </signal> <signal name="folder_moved"> <param index="0" name="old_folder" type="String" /> - <param index="1" name="new_file" type="String" /> + <param index="1" name="new_folder" type="String" /> <description> </description> </signal> diff --git a/doc/classes/FogMaterial.xml b/doc/classes/FogMaterial.xml index 7428d6169a..aab6be4212 100644 --- a/doc/classes/FogMaterial.xml +++ b/doc/classes/FogMaterial.xml @@ -15,6 +15,7 @@ </member> <member name="density" type="float" setter="set_density" getter="get_density" default="1.0"> The density of the [FogVolume]. Denser objects are more opaque, but may suffer from under-sampling artifacts that look like stripes. Negative values can be used to subtract fog from other [FogVolume]s or global volumetric fog. + [b]Note:[/b] Due to limited precision, [member density] values between [code]-0.001[/code] and [code]0.001[/code] (exclusive) act like [code]0.0[/code]. This does not apply to [member Environment.volumetric_fog_density]. </member> <member name="density_texture" type="Texture3D" setter="set_density_texture" getter="get_density_texture"> The 3D texture that is used to scale the [member density] of the [FogVolume]. This can be used to vary fog density within the [FogVolume] with any kind of static pattern. For animated effects, consider using a custom [url=$DOCS_URL/tutorials/shaders/shader_reference/fog_shader.html]fog shader[/url]. diff --git a/doc/classes/GPUParticles2D.xml b/doc/classes/GPUParticles2D.xml index f41e34c43a..043c08eed5 100644 --- a/doc/classes/GPUParticles2D.xml +++ b/doc/classes/GPUParticles2D.xml @@ -52,7 +52,7 @@ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. </member> <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="30"> - The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. + The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. </member> <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true"> If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. diff --git a/doc/classes/GPUParticles3D.xml b/doc/classes/GPUParticles3D.xml index e7b436010e..d0be4d784a 100644 --- a/doc/classes/GPUParticles3D.xml +++ b/doc/classes/GPUParticles3D.xml @@ -84,7 +84,7 @@ Time ratio between each emission. If [code]0[/code], particles are emitted continuously. If [code]1[/code], all particles are emitted simultaneously. </member> <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="30"> - The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. + The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. </member> <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true"> If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index 510f14ec54..88cea6820e 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -26,7 +26,7 @@ <param index="1" name="src_rect" type="Rect2i" /> <param index="2" name="dst" type="Vector2i" /> <description> - Alpha-blends [param src_rect] from [param src] image to this image at coordinates [param dst], clipped accordingly to both image bounds. This image and [param src] image [b]must[/b] have the same format. [param src_rect] with not positive size is treated as empty. + Alpha-blends [param src_rect] from [param src] image to this image at coordinates [param dst], clipped accordingly to both image bounds. This image and [param src] image [b]must[/b] have the same format. [param src_rect] with non-positive size is treated as empty. </description> </method> <method name="blend_rect_mask"> @@ -36,7 +36,7 @@ <param index="2" name="src_rect" type="Rect2i" /> <param index="3" name="dst" type="Vector2i" /> <description> - Alpha-blends [param src_rect] from [param src] image to this image using [param mask] image at coordinates [param dst], clipped accordingly to both image bounds. Alpha channels are required for both [param src] and [param mask]. [param dst] pixels and [param src] pixels will blend if the corresponding mask pixel's alpha value is not 0. This image and [param src] image [b]must[/b] have the same format. [param src] image and [param mask] image [b]must[/b] have the same size (width and height) but they can have different formats. [param src_rect] with not positive size is treated as empty. + Alpha-blends [param src_rect] from [param src] image to this image using [param mask] image at coordinates [param dst], clipped accordingly to both image bounds. Alpha channels are required for both [param src] and [param mask]. [param dst] pixels and [param src] pixels will blend if the corresponding mask pixel's alpha value is not 0. This image and [param src] image [b]must[/b] have the same format. [param src] image and [param mask] image [b]must[/b] have the same size (width and height) but they can have different formats. [param src_rect] with non-positive size is treated as empty. </description> </method> <method name="blit_rect"> @@ -45,7 +45,7 @@ <param index="1" name="src_rect" type="Rect2i" /> <param index="2" name="dst" type="Vector2i" /> <description> - Copies [param src_rect] from [param src] image to this image at coordinates [param dst], clipped accordingly to both image bounds. This image and [param src] image [b]must[/b] have the same format. [param src_rect] with not positive size is treated as empty. + Copies [param src_rect] from [param src] image to this image at coordinates [param dst], clipped accordingly to both image bounds. This image and [param src] image [b]must[/b] have the same format. [param src_rect] with non-positive size is treated as empty. </description> </method> <method name="blit_rect_mask"> @@ -55,7 +55,7 @@ <param index="2" name="src_rect" type="Rect2i" /> <param index="3" name="dst" type="Vector2i" /> <description> - Blits [param src_rect] area from [param src] image to this image at the coordinates given by [param dst], clipped accordingly to both image bounds. [param src] pixel is copied onto [param dst] if the corresponding [param mask] pixel's alpha value is not 0. This image and [param src] image [b]must[/b] have the same format. [param src] image and [param mask] image [b]must[/b] have the same size (width and height) but they can have different formats. [param src_rect] with not positive size is treated as empty. + Blits [param src_rect] area from [param src] image to this image at the coordinates given by [param dst], clipped accordingly to both image bounds. [param src] pixel is copied onto [param dst] if the corresponding [param mask] pixel's alpha value is not 0. This image and [param src] image [b]must[/b] have the same format. [param src] image and [param mask] image [b]must[/b] have the same size (width and height) but they can have different formats. [param src_rect] with non-positive size is treated as empty. </description> </method> <method name="bump_map_to_normal_map"> @@ -111,8 +111,8 @@ Copies [param src] image to this image. </description> </method> - <method name="create"> - <return type="void" /> + <method name="create" qualifiers="static"> + <return type="Image" /> <param index="0" name="width" type="int" /> <param index="1" name="height" type="int" /> <param index="2" name="use_mipmaps" type="bool" /> @@ -121,8 +121,8 @@ Creates an empty image of given size and format. See [enum Format] constants. If [param use_mipmaps] is [code]true[/code] then generate mipmaps for this image. See the [method generate_mipmaps]. </description> </method> - <method name="create_from_data"> - <return type="void" /> + <method name="create_from_data" qualifiers="static"> + <return type="Image" /> <param index="0" name="width" type="int" /> <param index="1" name="height" type="int" /> <param index="2" name="use_mipmaps" type="bool" /> @@ -454,6 +454,17 @@ Saves the image as a WebP (Web Picture) file to a byte array. By default it will save lossless. If [param lossy] is true, the image will be saved lossy, using the [param quality] setting between 0.0 and 1.0 (inclusive). </description> </method> + <method name="set_data"> + <return type="void" /> + <param index="0" name="width" type="int" /> + <param index="1" name="height" type="int" /> + <param index="2" name="use_mipmaps" type="bool" /> + <param index="3" name="format" type="int" enum="Image.Format" /> + <param index="4" name="data" type="PackedByteArray" /> + <description> + Overwrites data of an existing [Image]. Non-static equivalent of [method create_from_data]. + </description> + </method> <method name="set_pixel"> <return type="void" /> <param index="0" name="x" type="int" /> diff --git a/doc/classes/InputEventMIDI.xml b/doc/classes/InputEventMIDI.xml index 2af88149b6..04d8cab065 100644 --- a/doc/classes/InputEventMIDI.xml +++ b/doc/classes/InputEventMIDI.xml @@ -90,7 +90,7 @@ The pressure of the MIDI signal. This value ranges from 0 to 127. For many devices, this value is always zero. </member> <member name="velocity" type="int" setter="set_velocity" getter="get_velocity" default="0"> - The velocity of the MIDI signal. This value ranges from 0 to 127. For a piano, this corresponds to how quickly the key was pressed, and is rarely above about 110 in practice. + The velocity of the MIDI signal. This value ranges from 0 to 127. For a piano, this corresponds to how quickly the key was pressed, and is rarely above about 110 in practice. Note that some MIDI devices may send a [constant MIDI_MESSAGE_NOTE_ON] message with zero velocity and expect this to be treated the same as a [constant MIDI_MESSAGE_NOTE_OFF] message, but device implementations vary so Godot reports event data exactly as received. </member> </members> </class> diff --git a/doc/classes/MenuBar.xml b/doc/classes/MenuBar.xml index 3ef0572e9f..e8505937ff 100644 --- a/doc/classes/MenuBar.xml +++ b/doc/classes/MenuBar.xml @@ -106,9 +106,6 @@ <member name="prefer_global_menu" type="bool" setter="set_prefer_global_menu" getter="is_prefer_global_menu" default="true"> If [code]true[/code], [MenuBar] will use system global menu when supported. </member> - <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="start_index" type="int" setter="set_start_index" getter="get_start_index" default="-1"> Position in the global menu to insert first [MenuBar] item at. </member> diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index d3d5a7bfaa..facbe5fd0f 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -129,7 +129,7 @@ <method name="get_aabb" qualifiers="const"> <return type="AABB" /> <description> - Returns the smallest [AABB] enclosing this mesh in local space. Not affected by [code]custom_aabb[/code]. See also [method VisualInstance3D.get_transformed_aabb]. + Returns the smallest [AABB] enclosing this mesh in local space. Not affected by [code]custom_aabb[/code]. [b]Note:[/b] This is only implemented for [ArrayMesh] and [PrimitiveMesh]. </description> </method> diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml index ce2b5f2584..d8a232b3cf 100644 --- a/doc/classes/MultiMesh.xml +++ b/doc/classes/MultiMesh.xml @@ -19,7 +19,7 @@ <method name="get_aabb" qualifiers="const"> <return type="AABB" /> <description> - Returns the visibility axis-aligned bounding box in local space. See also [method VisualInstance3D.get_transformed_aabb]. + Returns the visibility axis-aligned bounding box in local space. </description> </method> <method name="get_instance_color" qualifiers="const"> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index bceb285584..620895d8d8 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -529,9 +529,9 @@ <method name="move_child"> <return type="void" /> <param index="0" name="child_node" type="Node" /> - <param index="1" name="to_position" type="int" /> + <param index="1" name="to_index" type="int" /> <description> - Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful. If [param to_position] is negative, the index will be counted from the end. + Moves a child node to a different index (order) among the other children. Since calls, signals, etc. are performed by tree order, changing the order of children nodes may be useful. If [param to_index] is negative, the index will be counted from the end. [b]Note:[/b] Internal children can only be moved within their expected "internal range" (see [code]internal[/code] parameter in [method add_child]). </description> </method> diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml index a587811260..054ab532af 100644 --- a/doc/classes/Node2D.xml +++ b/doc/classes/Node2D.xml @@ -119,6 +119,8 @@ [b]Note:[/b] Negative X scales in 2D are not decomposable from the transformation matrix. Due to the way scale is represented with transformation matrices in Godot, negative scales on the X axis will be changed to negative scales on the Y axis and a rotation of 180 degrees when decomposed. </member> <member name="skew" type="float" setter="set_skew" getter="get_skew" default="0.0"> + Slants the node. + [b]Note:[/b] Skew is X axis only. </member> <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform"> Local [Transform2D]. diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index 9db100c9f8..022b4826ea 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -4,7 +4,7 @@ Pre-parsed scene tree path. </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. + 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 example, [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. 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: diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 15b3d4958c..3aa26cbb21 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -445,6 +445,15 @@ [b]Note:[/b] This method is not supported on the web platform. It returns an empty string. </description> </method> + <method name="get_video_adapter_driver_info" qualifiers="const"> + <return type="PackedStringArray" /> + <description> + Returns the video adapter driver name and version for the user's currently active graphics card. + The first element holds the driver name, such as [code]nvidia[/code], [code]amdgpu[/code], etc. + The second element holds the driver version. For e.g. the [code]nvidia[/code] driver on a Linux/BSD platform, the version is in the format [code]510.85.02[/code]. For Windows, the driver's format is [code]31.0.15.1659[/code]. + [b]Note:[/b] This method is only supported on the platforms Linux/BSD and Windows. It returns an empty array on other platforms. + </description> + </method> <method name="has_environment" qualifiers="const"> <return type="bool" /> <param index="0" name="variable" type="String" /> @@ -616,11 +625,11 @@ </member> </members> <constants> - <constant name="VIDEO_DRIVER_VULKAN" value="0" enum="VideoDriver"> - The Vulkan rendering backend. It requires Vulkan 1.0 support and automatically uses features from Vulkan 1.1 and 1.2 if available. + <constant name="RENDERING_DRIVER_VULKAN" value="0" enum="RenderingDriver"> + The Vulkan rendering driver. It requires Vulkan 1.0 support and automatically uses features from Vulkan 1.1 and 1.2 if available. </constant> - <constant name="VIDEO_DRIVER_OPENGL_3" value="1" enum="VideoDriver"> - The OpenGL 3 rendering backend. It uses OpenGL 3.3 Core Profile on desktop platforms, OpenGL ES 3.0 on mobile devices, and WebGL 2.0 on Web. + <constant name="RENDERING_DRIVER_OPENGL3" value="1" enum="RenderingDriver"> + The OpenGL 3 rendering driver. It uses OpenGL 3.3 Core Profile on desktop platforms, OpenGL ES 3.0 on mobile devices, and WebGL 2.0 on Web. </constant> <constant name="DAY_SUNDAY" value="0" enum="Weekday"> Sunday. diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index 7ad1908bb5..e663f47ddf 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -364,9 +364,9 @@ </method> <method name="get_indexed" qualifiers="const"> <return type="Variant" /> - <param index="0" name="property" type="NodePath" /> + <param index="0" name="property_path" type="NodePath" /> <description> - Gets the object's property indexed by the given [NodePath]. The node path should be relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Examples: [code]"position:x"[/code] or [code]"material:next_pass:blend_mode"[/code]. + Gets the object's property indexed by the given [param property_path]. The path should be a [NodePath] relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Examples: [code]"position:x"[/code] or [code]"material:next_pass:blend_mode"[/code]. [b]Note:[/b] Even though the method takes [NodePath] argument, it doesn't support actual paths to [Node]s in the scene tree, only colon-separated sub-property paths. For the purpose of nodes, use [method Node.get_node_and_resource] instead. </description> </method> @@ -532,10 +532,10 @@ </method> <method name="set_indexed"> <return type="void" /> - <param index="0" name="property" type="NodePath" /> + <param index="0" name="property_path" type="NodePath" /> <param index="1" name="value" type="Variant" /> <description> - Assigns a new value to the property identified by the [NodePath]. The node path should be relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Example: + Assigns a new value to the property identified by the [param property_path]. The path should be a [NodePath] relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Example: [codeblocks] [gdscript] var node = Node2D.new() diff --git a/doc/classes/ParticleProcessMaterial.xml b/doc/classes/ParticleProcessMaterial.xml index a41207e9b3..d4050e3bd1 100644 --- a/doc/classes/ParticleProcessMaterial.xml +++ b/doc/classes/ParticleProcessMaterial.xml @@ -217,7 +217,7 @@ Maximum linear acceleration applied to each particle in the direction of motion. </member> <member name="linear_accel_min" type="float" setter="set_param_min" getter="get_param_min" default="0.0"> - Minimum equivalent of [member linear_accel_min]. + Minimum equivalent of [member linear_accel_max]. </member> <member name="orbit_velocity_curve" type="Texture2D" setter="set_param_texture" getter="get_param_texture"> Each particle's orbital velocity will vary along this [CurveTexture]. @@ -259,6 +259,10 @@ <member name="spread" type="float" setter="set_spread" getter="get_spread" default="45.0"> Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. </member> + <member name="sub_emitter_amount_at_collision" type="int" setter="set_sub_emitter_amount_at_collision" getter="get_sub_emitter_amount_at_collision"> + Sub particle amount on collision. + Maximum amount set in the sub particles emitter. + </member> <member name="sub_emitter_amount_at_end" type="int" setter="set_sub_emitter_amount_at_end" getter="get_sub_emitter_amount_at_end"> </member> <member name="sub_emitter_frequency" type="float" setter="set_sub_emitter_frequency" getter="get_sub_emitter_frequency"> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index e51e3753fc..fbe8afa8d1 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -119,6 +119,12 @@ Returns [code]true[/code] if this plane and [param to_plane] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this plane is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="is_point_over" qualifiers="const"> <return type="bool" /> <param index="0" name="point" type="Vector3" /> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 214f087d78..a8080c70c6 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -413,6 +413,9 @@ <member name="debug/gdscript/warnings/standalone_ternary" type="int" setter="" getter="" default="1"> When set to [code]warn[/code] or [code]error[/code], produces a warning or an error respectively when calling a ternary expression that has no effect on the surrounding code, such as writing [code]42 if active else 0[/code] as a statement. </member> + <member name="debug/gdscript/warnings/static_called_on_instance" type="int" setter="" getter="" default="1"> + When set to [code]warn[/code] or [code]error[/code], produces a warning or an error respectively when calling a static method from an instance of a class instead of from the class directly. + </member> <member name="debug/gdscript/warnings/treat_warnings_as_errors" type="bool" setter="" getter="" default="false"> If [code]true[/code], all warnings will be reported as if they are errors. </member> @@ -565,8 +568,15 @@ <member name="display/window/ios/hide_home_indicator" type="bool" setter="" getter="" default="true"> If [code]true[/code], the home indicator is hidden automatically. This only affects iOS devices without a physical home button. </member> + <member name="display/window/ios/hide_status_bar" type="bool" setter="" getter="" default="true"> + If [code]true[/code], the status bar is hidden while the app is running. + </member> + <member name="display/window/ios/suppress_ui_gesture" type="bool" setter="" getter="" default="true"> + If [code]true[/code], it will require two swipes to access iOS UI that uses gestures. + [b]Note:[/b] This setting has no effect on the home indicator if [code]hide_home_indicator[/code] is [code]true[/code]. + </member> <member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="" default="false"> - If [code]true[/code], allows per-pixel transparency for the window background. This affects performance, so leave it on [code]false[/code] unless you need it. + If [code]true[/code], allows per-pixel transparency for the window background. This affects performance, so leave it on [code]false[/code] unless you need it. See also [member display/window/size/transparent] and [member rendering/transparent_background]. </member> <member name="display/window/size/always_on_top" type="bool" setter="" getter="" default="false"> Forces the main window to be always on top. @@ -591,8 +601,8 @@ [b]Note:[/b] This setting is ignored on iOS. </member> <member name="display/window/size/transparent" type="bool" setter="" getter="" default="false"> - Main window background can be transparent. - [b]Note:[/b] To use transparent splash screen, set [member application/boot_splash/bg_color] to [code]Color(0, 0, 0, 0)[/code]. + If [code]true[/code], enables a window manager hint that the main window background [i]can[/i] be transparent. This does not make the background actually transparent. For the background to be transparent, the root viewport must also be made transparent by enabling [member rendering/transparent_background]. + [b]Note:[/b] To use a transparent splash screen, set [member application/boot_splash/bg_color] to [code]Color(0, 0, 0, 0)[/code]. [b]Note:[/b] This setting has no effect if [member display/window/per_pixel_transparency/allowed] is set to [code]false[/code]. </member> <member name="display/window/size/viewport_height" type="int" setter="" getter="" default="648"> @@ -2100,8 +2110,6 @@ <member name="rendering/renderer/rendering_method.web" type="String" setter="" getter="" default=""gl_compatibility""> Override for [member rendering/renderer/rendering_method] on web. </member> - <member name="rendering/rendering_device/descriptor_pools/max_descriptors_per_pool" type="int" setter="" getter="" default="64"> - </member> <member name="rendering/rendering_device/driver" type="String" setter="" getter="" default=""vulkan""> Sets the driver to be used by the renderer when using a RenderingDevice-based renderer like the clustered renderer or the mobile renderer. This property can not be edited directly, instead, set the driver using the platform-specific overrides. </member> @@ -2126,6 +2134,8 @@ </member> <member name="rendering/rendering_device/staging_buffer/texture_upload_region_size_px" type="int" setter="" getter="" default="64"> </member> + <member name="rendering/rendering_device/vulkan/max_descriptors_per_pool" type="int" setter="" getter="" default="64"> + </member> <member name="rendering/scaling_3d/fsr_sharpness" type="float" setter="" getter="" default="0.2"> Determines how sharp the upscaled image will be when using the FSR upscaling mode. Sharpness halves with every whole number. Values go from 0.0 (sharpest) to 2.0. Values above 2.0 won't make a visible difference. </member> @@ -2202,6 +2212,9 @@ If [code]true[/code], the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles. [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/use_hidden_project_data_directory]). </member> + <member name="rendering/transparent_background" type="bool" setter="" getter="" default="false"> + If [code]true[/code], enables [member Viewport.transparent_bg] on the root viewport. This allows per-pixel transparency to be effective after also enabling [member display/window/size/transparent] and [member display/window/per_pixel_transparency/allowed]. + </member> <member name="rendering/vrs/mode" type="int" setter="" getter="" default="0"> Set the default Variable Rate Shading (VRS) mode for the main viewport. See [member Viewport.vrs_mode] to change this at runtime, and [enum Viewport.VRSMode] for possible values. </member> diff --git a/doc/classes/Projection.xml b/doc/classes/Projection.xml index 5690ea5e95..602833bca5 100644 --- a/doc/classes/Projection.xml +++ b/doc/classes/Projection.xml @@ -1,8 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Projection" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + 3D projection (4x4 matrix). </brief_description> <description> + A 4x4 matrix used for 3D projective transformations. It can represent transformations such as translation, rotation, scaling, shearing, and perspective division. It consists of four [Vector4] columns. + For purely linear transformations (translation, rotation, and scale), it is recommended to use [Transform3D], as it is more performant and has a lower memory footprint. + Used internally as [Camera3D]'s projection matrix. </description> <tutorials> </tutorials> @@ -10,18 +14,21 @@ <constructor name="Projection"> <return type="Projection" /> <description> + Constructs a default-initialized [Projection] set to [constant IDENTITY]. </description> </constructor> <constructor name="Projection"> <return type="Projection" /> <param index="0" name="from" type="Projection" /> <description> + Constructs a [Projection] as a copy of the given [Projection]. </description> </constructor> <constructor name="Projection"> <return type="Projection" /> <param index="0" name="from" type="Transform3D" /> <description> + Constructs a Projection as a copy of the given [Transform3D]. </description> </constructor> <constructor name="Projection"> @@ -40,12 +47,14 @@ <return type="Projection" /> <param index="0" name="flip_y" type="bool" /> <description> + Creates a new [Projection] that projects positions from a depth range of [code]-1[/code] to [code]1[/code] to one that ranges from [code]0[/code] to [code]1[/code], and flips the projected positions vertically, according to [param flip_y]. </description> </method> <method name="create_fit_aabb" qualifiers="static"> <return type="Projection" /> <param index="0" name="aabb" type="AABB" /> <description> + Creates a new [Projection] that scales a given projection to fit around a given [AABB] in projection space. </description> </method> <method name="create_for_hmd" qualifiers="static"> @@ -59,6 +68,8 @@ <param index="6" name="z_near" type="float" /> <param index="7" name="z_far" type="float" /> <description> + Creates a new [Projection] for projecting positions onto a head-mounted display with the given X:Y aspect ratio, distance between eyes, display width, distance to lens, oversampling factor, and depth clipping planes. + [param eye] creates the projection for the left eye when set to 1, or the right eye when set to 2. </description> </method> <method name="create_frustum" qualifiers="static"> @@ -70,6 +81,7 @@ <param index="4" name="z_near" type="float" /> <param index="5" name="z_far" type="float" /> <description> + Creates a new [Projection] that projects positions in a frustum with the given clipping planes. </description> </method> <method name="create_frustum_aspect" qualifiers="static"> @@ -81,12 +93,15 @@ <param index="4" name="z_far" type="float" /> <param index="5" name="flip_fov" type="bool" default="false" /> <description> + Creates a new [Projection] that projects positions in a frustum with the given size, X:Y aspect ratio, offset, and clipping planes. + [param flip_fov] determines whether the projection's field of view is flipped over its diagonal. </description> </method> <method name="create_light_atlas_rect" qualifiers="static"> <return type="Projection" /> <param index="0" name="rect" type="Rect2" /> <description> + Creates a new [Projection] that projects positions into the given [Rect2]. </description> </method> <method name="create_orthogonal" qualifiers="static"> @@ -98,6 +113,7 @@ <param index="4" name="z_near" type="float" /> <param index="5" name="z_far" type="float" /> <description> + Creates a new [Projection] that projects positions using an orthogonal projection with the given clipping planes. </description> </method> <method name="create_orthogonal_aspect" qualifiers="static"> @@ -108,6 +124,8 @@ <param index="3" name="z_far" type="float" /> <param index="4" name="flip_fov" type="bool" default="false" /> <description> + Creates a new [Projection] that projects positions using an orthogonal projection with the given size, X:Y aspect ratio, and clipping planes. + [param flip_fov] determines whether the projection's field of view is flipped over its diagonal. </description> </method> <method name="create_perspective" qualifiers="static"> @@ -118,6 +136,8 @@ <param index="3" name="z_far" type="float" /> <param index="4" name="flip_fov" type="bool" default="false" /> <description> + Creates a new [Projection] that projects positions using a perspective projection with the given Y-axis field of view (in degrees), X:Y aspect ratio, and clipping planes. + [param flip_fov] determines whether the projection's field of view is flipped over its diagonal. </description> </method> <method name="create_perspective_hmd" qualifiers="static"> @@ -131,31 +151,40 @@ <param index="6" name="intraocular_dist" type="float" /> <param index="7" name=" convergence_dist" type="float" /> <description> + Creates a new [Projection] that projects positions using a perspective projection with the given Y-axis field of view (in degrees), X:Y aspect ratio, and clipping distances. The projection is adjusted for a head-mounted display with the given distance between eyes and distance to a point that can be focused on. + [param eye] creates the projection for the left eye when set to 1, or the right eye when set to 2. + [param flip_fov] determines whether the projection's field of view is flipped over its diagonal. </description> </method> <method name="determinant" qualifiers="const"> <return type="float" /> <description> + Returns a scalar value that is the signed factor by which areas are scaled by this matrix. If the sign is negative, the matrix flips the orientation of the area. + The determinant can be used to calculate the invertibility of a matrix or solve linear systems of equations involving the matrix, among other applications. </description> </method> <method name="flipped_y" qualifiers="const"> <return type="Projection" /> <description> + Returns a copy of this [Projection] with the signs of the values of the Y column flipped. </description> </method> <method name="get_aspect" qualifiers="const"> <return type="float" /> <description> + Returns the X:Y aspect ratio of this [Projection]'s viewport. </description> </method> <method name="get_far_plane_half_extents" qualifiers="const"> <return type="Vector2" /> <description> + Returns the dimensions of the far clipping plane of the projection, divided by two. </description> </method> <method name="get_fov" qualifiers="const"> <return type="float" /> <description> + Returns the horizontal field of view of the projection (in degrees). </description> </method> <method name="get_fovy" qualifiers="static"> @@ -163,89 +192,114 @@ <param index="0" name="fovx" type="float" /> <param index="1" name="aspect" type="float" /> <description> + Returns the vertical field of view of the projection (in degrees) associated with the given horizontal field of view (in degrees) and aspect ratio. </description> </method> <method name="get_lod_multiplier" qualifiers="const"> <return type="float" /> <description> + Returns the factor by which the visible level of detail is scaled by this [Projection]. </description> </method> <method name="get_pixels_per_meter" qualifiers="const"> <return type="int" /> <param index="0" name="for_pixel_width" type="int" /> <description> + Returns the number of pixels with the given pixel width displayed per meter, after this [Projection] is applied. </description> </method> <method name="get_projection_plane" qualifiers="const"> <return type="Plane" /> <param index="0" name="plane" type="int" /> <description> + Returns the clipping plane of this [Projection] whose index is given by [param plane]. + [param plane] should be equal to one of [constant PLANE_NEAR], [constant PLANE_FAR], [constant PLANE_LEFT], [constant PLANE_TOP], [constant PLANE_RIGHT], or [constant PLANE_BOTTOM]. </description> </method> <method name="get_viewport_half_extents" qualifiers="const"> <return type="Vector2" /> <description> + Returns the dimensions of the viewport plane that this [Projection] projects positions onto, divided by two. </description> </method> <method name="get_z_far" qualifiers="const"> <return type="float" /> <description> + Returns the distance for this [Projection] beyond which positions are clipped. </description> </method> <method name="get_z_near" qualifiers="const"> <return type="float" /> <description> + Returns the distance for this [Projection] before which positions are clipped. </description> </method> <method name="inverse" qualifiers="const"> <return type="Projection" /> <description> + Returns a [Projection] that performs the inverse of this [Projection]'s projective transformation. </description> </method> <method name="is_orthogonal" qualifiers="const"> <return type="bool" /> <description> + Returns [code]true[/code] if this [Projection] performs an orthogonal projection. </description> </method> <method name="jitter_offseted" qualifiers="const"> <return type="Projection" /> <param index="0" name="offset" type="Vector2" /> <description> + Returns a [Projection] with the X and Y values from the given [Vector2] added to the first and second values of the final column respectively. </description> </method> <method name="perspective_znear_adjusted" qualifiers="const"> <return type="Projection" /> <param index="0" name="new_znear" type="float" /> <description> + Returns a [Projection] with the near clipping distance adjusted to be [param new_znear]. + [b]Note:[/b] The original [Projection] must be a perspective projection. </description> </method> </methods> <members> <member name="w" type="Vector4" setter="" getter="" default="Vector4(0, 0, 0, 1)"> + The projection matrix's W vector (column 3). Equivalent to array index [code]3[/code]. </member> <member name="x" type="Vector4" setter="" getter="" default="Vector4(1, 0, 0, 0)"> + The projection matrix's X vector (column 0). Equivalent to array index [code]0[/code]. </member> <member name="y" type="Vector4" setter="" getter="" default="Vector4(0, 1, 0, 0)"> + The projection matrix's Y vector (column 1). Equivalent to array index [code]1[/code]. </member> <member name="z" type="Vector4" setter="" getter="" default="Vector4(0, 0, 1, 0)"> + The projection matrix's Z vector (column 2). Equivalent to array index [code]2[/code]. </member> </members> <constants> <constant name="PLANE_NEAR" value="0"> + The index value of the projection's near clipping plane. </constant> <constant name="PLANE_FAR" value="1"> + The index value of the projection's far clipping plane. </constant> <constant name="PLANE_LEFT" value="2"> + The index value of the projection's left clipping plane. </constant> <constant name="PLANE_TOP" value="3"> + The index value of the projection's top clipping plane. </constant> <constant name="PLANE_RIGHT" value="4"> + The index value of the projection's right clipping plane. </constant> <constant name="PLANE_BOTTOM" value="5"> + The index value of the projection bottom clipping plane. </constant> <constant name="IDENTITY" value="Projection(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)"> + A [Projection] with no transformation defined. When applied to other data structures, no transformation is performed. </constant> <constant name="ZERO" value="Projection(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)"> + A [Projection] with all values initialized to 0. When applied to other data structures, they will be zeroed. </constant> </constants> <operators> @@ -253,30 +307,38 @@ <return type="bool" /> <param index="0" name="right" type="Projection" /> <description> + Returns [code]true[/code] if the projections are not equal. + [b]Note:[/b] Due to floating-point precision errors, this may return [code]true[/code], even if the projections are virtually equal. An [code]is_equal_approx[/code] method may be added in a future version of Godot. </description> </operator> <operator name="operator *"> <return type="Projection" /> <param index="0" name="right" type="Projection" /> <description> + Returns a [Projection] that applies the combined transformations of this [Projection] and [param right]. </description> </operator> <operator name="operator *"> <return type="Vector4" /> <param index="0" name="right" type="Vector4" /> <description> + Projects (multiplies) the given [Vector4] by this [Projection] matrix. </description> </operator> <operator name="operator =="> <return type="bool" /> <param index="0" name="right" type="Projection" /> <description> + Returns [code]true[/code] if the projections are equal. + [b]Note:[/b] Due to floating-point precision errors, this may return [code]false[/code], even if the projections are virtually equal. An [code]is_equal_approx[/code] method may be added in a future version of Godot. </description> </operator> <operator name="operator []"> <return type="Vector4" /> <param index="0" name="index" type="int" /> <description> + Returns the column of the [Projection] with the given index. + Indices are in the following order: x, y, z, w. </description> </operator> </operators> diff --git a/doc/classes/PropertyTweener.xml b/doc/classes/PropertyTweener.xml index 75d9c919aa..78ead65cdd 100644 --- a/doc/classes/PropertyTweener.xml +++ b/doc/classes/PropertyTweener.xml @@ -27,7 +27,7 @@ Sets a custom initial value to the [PropertyTweener]. Example: [codeblock] var tween = get_tree().create_tween() - tween.tween_property(self, "position", Vector2(200, 100), 1).from(Vector2(100, 100) #this will move the node from position (100, 100) to (200, 100) + tween.tween_property(self, "position", Vector2(200, 100), 1).from(Vector2(100, 100)) #this will move the node from position (100, 100) to (200, 100) [/codeblock] </description> </method> diff --git a/doc/classes/Quaternion.xml b/doc/classes/Quaternion.xml index f21ebf57e2..99dffeff9d 100644 --- a/doc/classes/Quaternion.xml +++ b/doc/classes/Quaternion.xml @@ -115,6 +115,12 @@ Returns [code]true[/code] if this quaternion and [param to] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this quaternion is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="is_normalized" qualifiers="const"> <return type="bool" /> <description> diff --git a/doc/classes/RDPipelineRasterizationState.xml b/doc/classes/RDPipelineRasterizationState.xml index 39a64c730a..48599b6262 100644 --- a/doc/classes/RDPipelineRasterizationState.xml +++ b/doc/classes/RDPipelineRasterizationState.xml @@ -13,7 +13,7 @@ </member> <member name="depth_bias_constant_factor" type="float" setter="set_depth_bias_constant_factor" getter="get_depth_bias_constant_factor" default="0.0"> </member> - <member name="depth_bias_enable" type="bool" setter="set_depth_bias_enable" getter="get_depth_bias_enable" default="false"> + <member name="depth_bias_enabled" type="bool" setter="set_depth_bias_enabled" getter="get_depth_bias_enabled" default="false"> </member> <member name="depth_bias_slope_factor" type="float" setter="set_depth_bias_slope_factor" getter="get_depth_bias_slope_factor" default="0.0"> </member> diff --git a/doc/classes/RandomNumberGenerator.xml b/doc/classes/RandomNumberGenerator.xml index b8a290381f..a6254788ce 100644 --- a/doc/classes/RandomNumberGenerator.xml +++ b/doc/classes/RandomNumberGenerator.xml @@ -10,10 +10,9 @@ [codeblock] var rng = RandomNumberGenerator.new() func _ready(): - rng.randomize() var my_random_number = rng.randf_range(-10.0, 10.0) [/codeblock] - [b]Note:[/b] The default values of [member seed] and [member state] properties are pseudo-random, and changes when calling [method randomize]. The [code]0[/code] value documented here is a placeholder, and not the actual default seed. + [b]Note:[/b] The default values of [member seed] and [member state] properties are pseudo-random, and change when calling [method randomize]. The [code]0[/code] value documented here is a placeholder, and not the actual default seed. </description> <tutorials> <link title="Random number generation">$DOCS_URL/tutorials/math/random_number_generation.html</link> diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml index ac012e9604..28fe42afae 100644 --- a/doc/classes/Rect2.xml +++ b/doc/classes/Rect2.xml @@ -165,6 +165,12 @@ Returns [code]true[/code] if this [Rect2] and [param rect] are approximately equal, by calling [code]is_equal_approx[/code] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this [Rect2] is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="merge" qualifiers="const"> <return type="Rect2" /> <param index="0" name="b" type="Rect2" /> diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml index 9b8c8d4d9d..2b6376f2cd 100644 --- a/doc/classes/ResourceFormatLoader.xml +++ b/doc/classes/ResourceFormatLoader.xml @@ -71,6 +71,15 @@ The [param cache_mode] property defines whether and how the cache should be used or updated when loading the resource. See [enum CacheMode] for details. </description> </method> + <method name="_recognize_path" qualifiers="virtual const"> + <return type="bool" /> + <param index="0" name="path" type="String" /> + <param index="1" name="type" type="StringName" /> + <description> + Tells whether or not this loader should load a resource from its resource path for a given type. + If it is not implemented, the default behavior returns whether the path's extension is within the ones provided by [method _get_recognized_extensions], and if the type is within the ones provided by [method _get_resource_type]. + </description> + </method> <method name="_rename_dependencies" qualifiers="virtual const"> <return type="int" /> <param index="0" name="path" type="String" /> diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index f4cbf4c442..b5a917b2bb 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -23,9 +23,11 @@ <param index="2" name="height" type="int" default="0" /> <param index="3" name="color" type="Color" default="Color(1, 1, 1, 1)" /> <param index="4" name="inline_align" type="int" enum="InlineAlignment" default="5" /> + <param index="5" name="region" type="Rect2" default="Rect2(0, 0, 0, 0)" /> <description> - Adds an image's opening and closing tags to the tag stack, optionally providing a [param width] and [param height] to resize the image and a [param color] to tint the image. + Adds an image's opening and closing tags to the tag stack, optionally providing a [param width] and [param height] to resize the image, a [param color] to tint the image and a [param region] to only use parts of the image. If [param width] or [param height] is set to 0, the image size will be adjusted in order to keep the original aspect ratio. + If [param width] and [param height] are not set, but [param region] is, the region's rect will be used. </description> </method> <method name="add_text"> diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index 40ec8ed429..b4b14c01c6 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -4,7 +4,7 @@ A class stored as a resource. </brief_description> <description> - A class stored as a resource. A script extends the functionality of all objects that instance it. + A class stored as a resource. A script extends the functionality of all objects that instantiate it. This is the base class for all scripts and should not be used directly. Trying to create a new script with this class will result in an error. The [code]new[/code] method of a script subclass creates a new instance. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes. </description> diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml index 34ca228795..7be0ba64d6 100644 --- a/doc/classes/Shape2D.xml +++ b/doc/classes/Shape2D.xml @@ -66,6 +66,12 @@ Draws a solid shape onto a [CanvasItem] with the [RenderingServer] API filled with the specified [param color]. The exact drawing method is specific for each shape and cannot be configured. </description> </method> + <method name="get_rect" qualifiers="const"> + <return type="Rect2" /> + <description> + Returns a [Rect2] representing the shapes boundary. + </description> + </method> </methods> <members> <member name="custom_solver_bias" type="float" setter="set_custom_solver_bias" getter="get_custom_solver_bias" default="0.0"> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 316bb923b7..320b9fd737 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -364,7 +364,7 @@ <return type="bool" /> <param index="0" name="with_prefix" type="bool" default="false" /> <description> - Returns [code]true[/code] if this string contains a valid hexadecimal number. If [param with_prefix] is [code]true[/code], then a validity of the hexadecimal number is determined by [code]0x[/code] prefix, for instance: [code]0xDEADC0DE[/code]. + Returns [code]true[/code] if this string contains a valid hexadecimal number. If [param with_prefix] is [code]true[/code], then a validity of the hexadecimal number is determined by the [code]0x[/code] prefix, for example: [code]0xDEADC0DE[/code]. </description> </method> <method name="is_valid_html_color" qualifiers="const"> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index ccec691107..d56cc9a31b 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -133,6 +133,7 @@ <description> Generates normals from vertices so you do not have to do it manually. If [param flip] is [code]true[/code], the resulting normals will be inverted. [method generate_normals] should be called [i]after[/i] generating geometry and [i]before[/i] committing the mesh using [method commit] or [method commit_to_arrays]. For correct display of normal-mapped surfaces, you will also have to generate tangents using [method generate_tangents]. [b]Note:[/b] [method generate_normals] only works if the primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES]. + [b]Note:[/b] [method generate_normals] takes smooth groups into account. If you don't specify any smooth group for each vertex, [method generate_normals] will smooth normals for you. </description> </method> <method name="generate_tangents"> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 2f9b971fc8..b1fda25ecd 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -240,6 +240,12 @@ Returns the width of the gutter at the given index. </description> </method> + <method name="get_h_scroll_bar" qualifiers="const"> + <return type="HScrollBar" /> + <description> + Returns the [HScrollBar] used by [TextEdit]. + </description> + </method> <method name="get_indent_level" qualifiers="const"> <return type="int" /> <param index="0" name="line" type="int" /> @@ -509,6 +515,12 @@ Returns the number of lines that may be drawn. </description> </method> + <method name="get_v_scroll_bar" qualifiers="const"> + <return type="VScrollBar" /> + <description> + Returns the [VScrollBar] of the [TextEdit]. + </description> + </method> <method name="get_version" qualifiers="const"> <return type="int" /> <description> diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index 14e89a1b74..3dd8c339b2 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -33,7 +33,7 @@ </method> <method name="_draw_rect_region" qualifiers="virtual const"> <return type="void" /> - <param index="0" name="tp_canvas_item" type="RID" /> + <param index="0" name="to_canvas_item" type="RID" /> <param index="1" name="rect" type="Rect2" /> <param index="2" name="src_rect" type="Rect2" /> <param index="3" name="modulate" type="Color" /> diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index 905b3d77af..23d20a5a75 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -123,6 +123,12 @@ Returns [code]true[/code] if this transform and [code]transform[/code] are approximately equal, by calling [code]is_equal_approx[/code] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this transform is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="looking_at" qualifiers="const"> <return type="Transform2D" /> <param index="0" name="target" type="Vector2" default="Vector2(0, 0)" /> diff --git a/doc/classes/Transform3D.xml b/doc/classes/Transform3D.xml index 18b4f9e6f9..b3145ea022 100644 --- a/doc/classes/Transform3D.xml +++ b/doc/classes/Transform3D.xml @@ -82,6 +82,12 @@ Returns [code]true[/code] if this transform and [code]transform[/code] are approximately equal, by calling [code]is_equal_approx[/code] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this transform is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="looking_at" qualifiers="const"> <return type="Transform3D" /> <param index="0" name="target" type="Vector3" /> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index c109dc57f7..a8ffef427f 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -425,6 +425,15 @@ Sets the given column's button [Texture2D] at index [param button_idx] to [param button]. </description> </method> + <method name="set_button_color"> + <return type="void" /> + <param index="0" name="column" type="int" /> + <param index="1" name="button_idx" type="int" /> + <param index="2" name="color" type="Color" /> + <description> + Sets the given column's button color at index [param button_idx] to [param color]. + </description> + </method> <method name="set_button_disabled"> <return type="void" /> <param index="0" name="column" type="int" /> diff --git a/doc/classes/VSlider.xml b/doc/classes/VSlider.xml index b30349e538..488154106f 100644 --- a/doc/classes/VSlider.xml +++ b/doc/classes/VSlider.xml @@ -33,6 +33,7 @@ The background of the area below the grabber. </theme_item> <theme_item name="grabber_area_highlight" data_type="style" type="StyleBox"> + The background of the area below the grabber, to the left of the grabber. </theme_item> <theme_item name="slider" data_type="style" type="StyleBox"> The background for the whole slider. Determines the width of the [code]grabber_area[/code]. diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index e1852340c0..5590f82336 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -206,6 +206,12 @@ Returns [code]true[/code] if this vector and [code]v[/code] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this vector is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="is_normalized" qualifiers="const"> <return type="bool" /> <description> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 1ef84050cd..81e8dd2260 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -174,6 +174,12 @@ Returns [code]true[/code] if this vector and [param to] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this vector is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="is_normalized" qualifiers="const"> <return type="bool" /> <description> diff --git a/doc/classes/Vector4.xml b/doc/classes/Vector4.xml index fdc93f82ec..662d0bce3a 100644 --- a/doc/classes/Vector4.xml +++ b/doc/classes/Vector4.xml @@ -135,6 +135,12 @@ Returns [code]true[/code] if this vector and [param with] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component. </description> </method> + <method name="is_finite" qualifiers="const"> + <return type="bool" /> + <description> + Returns [code]true[/code] if this vector is finite, by calling [method @GlobalScope.is_finite] on each component. + </description> + </method> <method name="is_normalized" qualifiers="const"> <return type="bool" /> <description> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 998e782975..fce94fe567 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -71,6 +71,12 @@ <description> </description> </method> + <method name="get_screen_transform" qualifiers="const"> + <return type="Transform2D" /> + <description> + Returns the transform from the Viewport's coordinates to the screen coordinates of the containing window manager window. + </description> + </method> <method name="get_texture" qualifiers="const"> <return type="ViewportTexture" /> <description> diff --git a/doc/classes/VisibleOnScreenEnabler2D.xml b/doc/classes/VisibleOnScreenEnabler2D.xml index 50d0c00017..8590e9cc9f 100644 --- a/doc/classes/VisibleOnScreenEnabler2D.xml +++ b/doc/classes/VisibleOnScreenEnabler2D.xml @@ -1,23 +1,30 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisibleOnScreenEnabler2D" inherits="VisibleOnScreenNotifier2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + Automatically disables another node if not visible on screen. </brief_description> <description> + VisibleOnScreenEnabler2D detects when it is visible on screen (just like [VisibleOnScreenNotifier2D]) and automatically enables or disables the target node. The target node is disabled when [VisibleOnScreenEnabler2D] is not visible on screen (including when [member CanvasItem.visible] is [code]false[/code]), and enabled when the enabler is visible. The disabling is achieved by changing [member Node.process_mode]. </description> <tutorials> </tutorials> <members> <member name="enable_mode" type="int" setter="set_enable_mode" getter="get_enable_mode" enum="VisibleOnScreenEnabler2D.EnableMode" default="0"> + Determines how the node is enabled. Corresponds to [enum Node.ProcessMode]. Disabled node uses [constant Node.PROCESS_MODE_DISABLED]. </member> <member name="enable_node_path" type="NodePath" setter="set_enable_node_path" getter="get_enable_node_path" default="NodePath("..")"> + The path to the target node, relative to the [VisibleOnScreenEnabler2D]. The target node is cached; it's only assigned when setting this property (if the [VisibleOnScreenEnabler2D] is inside scene tree) and every time the [VisibleOnScreenEnabler2D] enters the scene tree. If the path is invalid, nothing will happen. </member> </members> <constants> <constant name="ENABLE_MODE_INHERIT" value="0" enum="EnableMode"> + Corresponds to [constant Node.PROCESS_MODE_INHERIT]. </constant> <constant name="ENABLE_MODE_ALWAYS" value="1" enum="EnableMode"> + Corresponds to [constant Node.PROCESS_MODE_ALWAYS]. </constant> <constant name="ENABLE_MODE_WHEN_PAUSED" value="2" enum="EnableMode"> + Corresponds to [constant Node.PROCESS_MODE_WHEN_PAUSED. </constant> </constants> </class> diff --git a/doc/classes/VisualInstance3D.xml b/doc/classes/VisualInstance3D.xml index 9574686506..94e8c25660 100644 --- a/doc/classes/VisualInstance3D.xml +++ b/doc/classes/VisualInstance3D.xml @@ -17,7 +17,7 @@ <method name="get_aabb" qualifiers="const"> <return type="AABB" /> <description> - Returns the [AABB] (also known as the bounding box) for this [VisualInstance3D]. See also [method get_transformed_aabb]. + Returns the [AABB] (also known as the bounding box) for this [VisualInstance3D]. </description> </method> <method name="get_base" qualifiers="const"> @@ -39,13 +39,6 @@ Returns whether or not the specified layer of the [member layers] is enabled, given a [code]layer_number[/code] between 1 and 20. </description> </method> - <method name="get_transformed_aabb" qualifiers="const"> - <return type="AABB" /> - <description> - Returns the transformed [AABB] (also known as the bounding box) for this [VisualInstance3D]. - Transformed in this case means the [AABB] plus the position, rotation, and scale of the [Node3D]'s [Transform3D]. See also [method get_aabb]. - </description> - </method> <method name="set_base"> <return type="void" /> <param index="0" name="base" type="RID" /> diff --git a/doc/classes/XROrigin3D.xml b/doc/classes/XROrigin3D.xml index 7acee097e7..506d0fce41 100644 --- a/doc/classes/XROrigin3D.xml +++ b/doc/classes/XROrigin3D.xml @@ -13,6 +13,9 @@ <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <members> + <member name="current" type="bool" setter="set_current" getter="is_current" default="false"> + Is this XROrigin3D node the current origin used by the [XRServer]? + </member> <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale" default="1.0"> Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. [b]Note:[/b] This method is a passthrough to the [XRServer] itself. diff --git a/doc/classes/XRPose.xml b/doc/classes/XRPose.xml index 0e58fab9b3..31a484ea40 100644 --- a/doc/classes/XRPose.xml +++ b/doc/classes/XRPose.xml @@ -30,7 +30,7 @@ <member name="name" type="StringName" setter="set_name" getter="get_name" default="&"""> The name of this pose. Pose names are often driven by an action map setup by the user. Godot does suggest a number of pose names that it expects [XRInterface]s to implement: - [code]root[/code] defines a root location, often used for tracked objects that do not have further nodes. - - [code]aim[/code] defines the tip of a controller with the orientation pointing outwards, for instance: add your raycasts to this. + - [code]aim[/code] defines the tip of a controller with the orientation pointing outwards, for example: add your raycasts to this. - [code]grip[/code] defines the location where the user grips the controller - [code]skeleton[/code] defines the root location a hand mesh should be placed when using hand tracking and the animated skeleton supplied by the XR runtime. </member> @@ -46,7 +46,7 @@ No tracking information is available for this pose. </constant> <constant name="XR_TRACKING_CONFIDENCE_LOW" value="1" enum="TrackingConfidence"> - Tracking information may be inaccurate or estimated. For instance with inside out tracking this would indicate a controller may be (partially) obscured. + Tracking information may be inaccurate or estimated. For example, with inside out tracking this would indicate a controller may be (partially) obscured. </constant> <constant name="XR_TRACKING_CONFIDENCE_HIGH" value="2" enum="TrackingConfidence"> Tracking information is deemed accurate and up to date. diff --git a/doc/classes/XRServer.xml b/doc/classes/XRServer.xml index 48b00323d3..d940ea41ac 100644 --- a/doc/classes/XRServer.xml +++ b/doc/classes/XRServer.xml @@ -30,18 +30,18 @@ <param index="1" name="keep_height" type="bool" /> <description> This is an important function to understand correctly. AR and VR platforms all handle positioning slightly differently. - For platforms that do not offer spatial tracking, our origin point (0,0,0) is the location of our HMD, but you have little control over the direction the player is facing in the real world. + For platforms that do not offer spatial tracking, our origin point (0, 0, 0) is the location of our HMD, but you have little control over the direction the player is facing in the real world. For platforms that do offer spatial tracking, our origin point depends very much on the system. For OpenVR, our origin point is usually the center of the tracking space, on the ground. For other platforms, it's often the location of the tracking camera. This method allows you to center your tracker on the location of the HMD. It will take the current location of the HMD and use that to adjust all your tracking data; in essence, realigning the real world to your player's current position in the game world. For this method to produce usable results, tracking information must be available. This often takes a few frames after starting your game. - You should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism. + You should call this method after a few seconds have passed. For example, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism. </description> </method> <method name="find_interface" qualifiers="const"> <return type="XRInterface" /> <param index="0" name="name" type="String" /> <description> - Finds an interface by its [param name]. For instance, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it. + Finds an interface by its [param name]. For example, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it. </description> </method> <method name="get_hmd_transform"> diff --git a/doc/classes/float.xml b/doc/classes/float.xml index 9d685b9cd0..d7232bb0e9 100644 --- a/doc/classes/float.xml +++ b/doc/classes/float.xml @@ -194,7 +194,7 @@ <return type="bool" /> <param index="0" name="right" type="float" /> <description> - Returns [code]true[/code] the left float is less than the right one. + Returns [code]true[/code] if the left float is less than the right one. </description> </operator> <operator name="operator <"> @@ -208,7 +208,7 @@ <return type="bool" /> <param index="0" name="right" type="float" /> <description> - Returns [code]true[/code] the left integer is less than or equal to the right one. + Returns [code]true[/code] if the left float is less than or equal to the right one. </description> </operator> <operator name="operator <="> @@ -237,7 +237,7 @@ <return type="bool" /> <param index="0" name="right" type="float" /> <description> - Returns [code]true[/code] the left float is greater than the right one. + Returns [code]true[/code] if the left float is greater than the right one. </description> </operator> <operator name="operator >"> @@ -251,7 +251,7 @@ <return type="bool" /> <param index="0" name="right" type="float" /> <description> - Returns [code]true[/code] the left float is greater than or equal to the right one. + Returns [code]true[/code] if the left float is greater than or equal to the right one. </description> </operator> <operator name="operator >="> diff --git a/doc/classes/int.xml b/doc/classes/int.xml index 78e2e7d18f..868a8e9944 100644 --- a/doc/classes/int.xml +++ b/doc/classes/int.xml @@ -72,14 +72,14 @@ <return type="bool" /> <param index="0" name="right" type="float" /> <description> - Returns [code]true[/code] if operands are different from each other. + Returns [code]true[/code] if this [int] is not equivalent to the given [float]. </description> </operator> <operator name="operator !="> <return type="bool" /> <param index="0" name="right" type="int" /> <description> - Returns [code]true[/code] if operands are different from each other. + Returns [code]true[/code] if the integers are not equal. </description> </operator> <operator name="operator %"> @@ -262,7 +262,7 @@ <return type="bool" /> <param index="0" name="right" type="int" /> <description> - Returns [code]true[/code] the left integer is less than the right one. + Returns [code]true[/code] if the left integer is less than the right one. </description> </operator> <operator name="operator <<"> @@ -287,7 +287,7 @@ <return type="bool" /> <param index="0" name="right" type="int" /> <description> - Returns [code]true[/code] the left integer is less than or equal to the right one. + Returns [code]true[/code] if the left integer is less than or equal to the right one. </description> </operator> <operator name="operator =="> @@ -315,7 +315,7 @@ <return type="bool" /> <param index="0" name="right" type="int" /> <description> - Returns [code]true[/code] the left integer is greater than the right one. + Returns [code]true[/code] if the left integer is greater than the right one. </description> </operator> <operator name="operator >="> @@ -329,7 +329,7 @@ <return type="bool" /> <param index="0" name="right" type="int" /> <description> - Returns [code]true[/code] the left integer is greater than or equal to the right one. + Returns [code]true[/code] if the left integer is greater than or equal to the right one. </description> </operator> <operator name="operator >>"> |