diff options
Diffstat (limited to 'doc')
152 files changed, 2434 insertions, 588 deletions
diff --git a/doc/classes/@GDScript.xml b/doc/classes/@GDScript.xml index acece05510..b5f5fed3f9 100644 --- a/doc/classes/@GDScript.xml +++ b/doc/classes/@GDScript.xml @@ -4,7 +4,7 @@ Built-in GDScript functions. </brief_description> <description> - This contains the list of built-in gdscript functions. Mostly math functions and other utilities. Everything else is expanded by objects. + List of core built-in GDScript functions. Math functions and other utilities. Everything else is provided by objects. (Keywords: builtin, built in, global functions.) </description> <tutorials> </tutorials> @@ -485,6 +485,14 @@ Returns True/False whether [code]s[/code] is an infinity value (either positive infinity or negative infinity). </description> </method> + <method name="is_instance_valid"> + <return type="bool"> + </return> + <argument index="0" name="instance" type="Object"> + </argument> + <description> + </description> + </method> <method name="is_nan"> <return type="bool"> </return> @@ -510,9 +518,9 @@ <method name="lerp"> <return type="float"> </return> - <argument index="0" name="from" type="float"> + <argument index="0" name="from" type="Variant"> </argument> - <argument index="1" name="to" type="float"> + <argument index="1" name="to" type="Variant"> </argument> <argument index="2" name="weight" type="float"> </argument> @@ -1137,8 +1145,9 @@ <argument index="1" name="signal" type="String" default=""""> </argument> <description> - Stops the function execution and returns the current state. Call [method GDScriptFunctionState.resume] on the state to resume execution. This invalidates the state. - Returns anything that was passed to the resume function call. If passed an object and a signal, the execution is resumed when the object's signal is emitted. + Stops the function execution and returns the current suspended state to the calling function. + From the caller, call [method GDScriptFunctionState.resume] on the state to resume execution. This invalidates the state. Within the resumed function, [code]yield()[/code] returns whatever was passed to the [code]resume()[/code] function call. + If passed an object and a signal, the execution is resumed when the object emits the given signal. In this case, [code]yield()[/code] returns the argument passed to [code]emit_signal()[/code] if the signal takes only one argument, or an array containing all the arguments passed to [code]emit_signal()[/code] if the signal takes multiple arguments. </description> </method> </methods> diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 840d884a8c..7f94676e93 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -29,9 +29,6 @@ <member name="Geometry" type="Geometry" setter="" getter=""> [Geometry] singleton </member> - <member name="GodotSharp" type="GodotSharp" setter="" getter=""> - [GodotSharp] singleton - </member> <member name="IP" type="IP" setter="" getter=""> [IP] singleton </member> diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml index 730c395f10..b9061e0b87 100644 --- a/doc/classes/AABB.xml +++ b/doc/classes/AABB.xml @@ -7,7 +7,7 @@ AABB consists of a position, a size, and several utility functions. It is typically used for fast overlap tests. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/math/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/math/index.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml index 99a3f59487..20d8bebd6b 100644 --- a/doc/classes/AcceptDialog.xml +++ b/doc/classes/AcceptDialog.xml @@ -21,7 +21,7 @@ <argument index="2" name="action" type="String" default=""""> </argument> <description> - Adds a button with label [i]text[/i] and a custom [i]action[/i] to the dialog and returns the created button. [i]action[/i] will be passed to the [custom_action] signal when pressed. + Adds a button with label [i]text[/i] and a custom [i]action[/i] to the dialog and returns the created button. [i]action[/i] will be passed to the [signal custom_action] signal when pressed. If [code]true[/code], [i]right[/i] will place the button to the right of any sibling buttons. Default value: [code]false[/code]. </description> </method> diff --git a/doc/classes/AnimatedSprite.xml b/doc/classes/AnimatedSprite.xml index a6521c0cd1..a41ed0e689 100644 --- a/doc/classes/AnimatedSprite.xml +++ b/doc/classes/AnimatedSprite.xml @@ -60,6 +60,8 @@ <member name="playing" type="bool" setter="_set_playing" getter="_is_playing"> If [code]true[/code] the [member animation] is currently playing. </member> + <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale"> + </member> </members> <signals> <signal name="animation_finished"> diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml index ea503f8aa9..c6b868c058 100644 --- a/doc/classes/Animation.xml +++ b/doc/classes/Animation.xml @@ -8,7 +8,7 @@ Animations are just data containers, and must be added to odes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/animation/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/animation/index.html</link> </tutorials> <demos> </demos> @@ -24,6 +24,214 @@ Add a track to the Animation. The track type must be specified as any of the values in the TYPE_* enumeration. </description> </method> + <method name="animation_track_get_key_animation" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="animation_track_insert_key"> + <return type="int"> + </return> + <argument index="0" name="track" type="int"> + </argument> + <argument index="1" name="time" type="float"> + </argument> + <argument index="2" name="animation" type="String"> + </argument> + <description> + </description> + </method> + <method name="animation_track_set_key_animation"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="animation" type="String"> + </argument> + <description> + </description> + </method> + <method name="audio_track_get_key_end_offset" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="audio_track_get_key_start_offset" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="audio_track_get_key_stream" qualifiers="const"> + <return type="Resource"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="audio_track_insert_key"> + <return type="int"> + </return> + <argument index="0" name="track" type="int"> + </argument> + <argument index="1" name="time" type="float"> + </argument> + <argument index="2" name="stream" type="Resource"> + </argument> + <argument index="3" name="start_offset" type="float" default="0"> + </argument> + <argument index="4" name="end_offset" type="float" default="0"> + </argument> + <description> + </description> + </method> + <method name="audio_track_set_key_end_offset"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="offset" type="float"> + </argument> + <description> + </description> + </method> + <method name="audio_track_set_key_start_offset"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="offset" type="float"> + </argument> + <description> + </description> + </method> + <method name="audio_track_set_key_stream"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="stream" type="Resource"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_get_key_in_handle" qualifiers="const"> + <return type="Vector2"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_get_key_out_handle" qualifiers="const"> + <return type="Vector2"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_get_key_value" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_insert_key"> + <return type="int"> + </return> + <argument index="0" name="track" type="int"> + </argument> + <argument index="1" name="time" type="float"> + </argument> + <argument index="2" name="value" type="float"> + </argument> + <argument index="3" name="in_handle" type="Vector2" default="Vector2( 0, 0 )"> + </argument> + <argument index="4" name="out_handle" type="Vector2" default="Vector2( 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_interpolate" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="track" type="int"> + </argument> + <argument index="1" name="time" type="float"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_set_key_in_handle"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="in_handle" type="Vector2"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_set_key_out_handle"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="out_handle" type="Vector2"> + </argument> + <description> + </description> + </method> + <method name="bezier_track_set_key_value"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="key_idx" type="int"> + </argument> + <argument index="2" name="value" type="float"> + </argument> + <description> + </description> + </method> <method name="clear"> <return type="void"> </return> @@ -347,6 +555,16 @@ Set the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by ":". Example: "character/skeleton:ankle" or "character/mesh:transform/local" </description> </method> + <method name="track_swap"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="with_idx" type="int"> + </argument> + <description> + </description> + </method> <method name="transform_track_insert_key"> <return type="int"> </return> @@ -430,6 +648,12 @@ <constant name="TYPE_METHOD" value="2" enum="TrackType"> Method tracks call functions with given arguments per key. </constant> + <constant name="TYPE_BEZIER" value="3" enum="TrackType"> + </constant> + <constant name="TYPE_AUDIO" value="4" enum="TrackType"> + </constant> + <constant name="TYPE_ANIMATION" value="5" enum="TrackType"> + </constant> <constant name="INTERPOLATION_NEAREST" value="0" enum="InterpolationType"> No interpolation (nearest value). </constant> @@ -448,5 +672,7 @@ <constant name="UPDATE_TRIGGER" value="2" enum="UpdateMode"> Update at the keyframes. </constant> + <constant name="UPDATE_CAPTURE" value="3" enum="UpdateMode"> + </constant> </constants> </class> diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index 673bbbea59..e1b3c7a9c9 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -7,8 +7,8 @@ An animation player is used for general purpose playback of [Animation] resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in different channels. </description> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/step_by_step/animations.html - http://docs.godotengine.org/en/3.0/tutorials/animation/index.html + <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/animations.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/animation/index.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AnimationTrackEditPlugin.xml b/doc/classes/AnimationTrackEditPlugin.xml new file mode 100644 index 0000000000..f322a556b1 --- /dev/null +++ b/doc/classes/AnimationTrackEditPlugin.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="AnimationTrackEditPlugin" inherits="Reference" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/AnimationTreePlayer.xml b/doc/classes/AnimationTreePlayer.xml index 49b4c6b43e..8c32d5f6a3 100644 --- a/doc/classes/AnimationTreePlayer.xml +++ b/doc/classes/AnimationTreePlayer.xml @@ -50,6 +50,14 @@ Returns the name of the [member master_player]'s [Animation] bound to this animation node. </description> </method> + <method name="animation_node_get_position" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="id" type="String"> + </argument> + <description> + </description> + </method> <method name="animation_node_set_animation"> <return type="void"> </return> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 5f85751c13..35c120cd6a 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -282,7 +282,7 @@ </method> <method name="sort"> <description> - Sort the array using natural order and return reference to the array. + Sort the array using natural order. </description> </method> <method name="sort_custom"> @@ -291,7 +291,7 @@ <argument index="1" name="func" type="String"> </argument> <description> - Sort the array using a custom method and return reference to the array. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return true if the first argument is less than the second, and return false otherwise. Note: you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior. + Sort the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return true if the first argument is less than the second, and return false otherwise. Note: you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior. [codeblock] class MyCustomSorter: static func sort(a, b): diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml index 38aab5231e..80d7b7783f 100644 --- a/doc/classes/ArrayMesh.xml +++ b/doc/classes/ArrayMesh.xml @@ -91,7 +91,7 @@ <argument index="0" name="surf_idx" type="int"> </argument> <description> - Return the length in indices of the index array in the requested surface (see [method add_surface]). + Return the length in indices of the index array in the requested surface (see [method add_surface_from_arrays]). </description> </method> <method name="surface_get_array_len" qualifiers="const"> @@ -100,7 +100,7 @@ <argument index="0" name="surf_idx" type="int"> </argument> <description> - Return the length in vertices of the vertex array in the requested surface (see [method add_surface]). + Return the length in vertices of the vertex array in the requested surface (see [method add_surface_from_arrays]). </description> </method> <method name="surface_get_arrays" qualifiers="const"> @@ -125,7 +125,7 @@ <argument index="0" name="surf_idx" type="int"> </argument> <description> - Return the format mask of the requested surface (see [method add_surface]). + Return the format mask of the requested surface (see [method add_surface_from_arrays]). </description> </method> <method name="surface_get_material" qualifiers="const"> @@ -151,7 +151,7 @@ <argument index="0" name="surf_idx" type="int"> </argument> <description> - Return the primitive type of the requested surface (see [method add_surface]). + Return the primitive type of the requested surface (see [method add_surface_from_arrays]). </description> </method> <method name="surface_remove"> diff --git a/doc/classes/AudioEffectEQ10.xml b/doc/classes/AudioEffectEQ10.xml index f88a954417..daca342ace 100644 --- a/doc/classes/AudioEffectEQ10.xml +++ b/doc/classes/AudioEffectEQ10.xml @@ -16,7 +16,6 @@ Band 8 : 4000 Hz Band 9 : 8000 Hz Band 10 : 16000 Hz - See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ21]. </description> <tutorials> diff --git a/doc/classes/AudioEffectEQ21.xml b/doc/classes/AudioEffectEQ21.xml index 86d2189f27..99d35604fc 100644 --- a/doc/classes/AudioEffectEQ21.xml +++ b/doc/classes/AudioEffectEQ21.xml @@ -27,7 +27,6 @@ Band 19 : 11000 Hz Band 20 : 16000 Hz Band 21 : 22000 Hz - See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ10]. </description> <tutorials> diff --git a/doc/classes/AudioEffectEQ6.xml b/doc/classes/AudioEffectEQ6.xml index 8f789cdbdd..047c4c960f 100644 --- a/doc/classes/AudioEffectEQ6.xml +++ b/doc/classes/AudioEffectEQ6.xml @@ -12,7 +12,6 @@ Band 4 : 1000 Hz Band 5 : 3200 Hz Band 6 : 10000 Hz - See also [AudioEffectEQ], [AudioEffectEQ10], [AudioEffectEQ21]. </description> <tutorials> diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml index 7b3ba632cc..51df1e99dd 100644 --- a/doc/classes/AudioServer.xml +++ b/doc/classes/AudioServer.xml @@ -7,7 +7,7 @@ AudioServer is a low level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/audio/audio_buses.html + <link>http://docs.godotengine.org/en/3.0/tutorials/audio/audio_buses.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AudioStream.xml b/doc/classes/AudioStream.xml index d332277248..15bbb1625c 100644 --- a/doc/classes/AudioStream.xml +++ b/doc/classes/AudioStream.xml @@ -7,7 +7,7 @@ Base class for audio streams. Audio streams are used for music playback, or other types of streamed sounds that don't fit or require more flexibility than a [Sample]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html + <link>http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AudioStreamPlayer.xml b/doc/classes/AudioStreamPlayer.xml index 7d9fcf3e01..00d03d2b20 100644 --- a/doc/classes/AudioStreamPlayer.xml +++ b/doc/classes/AudioStreamPlayer.xml @@ -7,8 +7,8 @@ Plays background audio. </description> <tutorials> - http://docs.godotengine.org/en/latest/learning/features/audio/index.html - http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html + <link>http://docs.godotengine.org/en/latest/learning/features/audio/index.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AudioStreamPlayer2D.xml b/doc/classes/AudioStreamPlayer2D.xml index 81beab245d..03b0a3aa81 100644 --- a/doc/classes/AudioStreamPlayer2D.xml +++ b/doc/classes/AudioStreamPlayer2D.xml @@ -7,8 +7,8 @@ Plays audio that dampens with distance from screen center. </description> <tutorials> - http://docs.godotengine.org/en/latest/learning/features/audio/index.html - http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html + <link>http://docs.godotengine.org/en/latest/learning/features/audio/index.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml index 311efb7495..2746938c1d 100644 --- a/doc/classes/AudioStreamPlayer3D.xml +++ b/doc/classes/AudioStreamPlayer3D.xml @@ -7,8 +7,8 @@ Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space. </description> <tutorials> - http://docs.godotengine.org/en/latest/learning/features/audio/index.html - http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html + <link>http://docs.godotengine.org/en/latest/learning/features/audio/index.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/audio/audio_streams.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/AudioStreamSample.xml b/doc/classes/AudioStreamSample.xml index 8b6651abe7..b6abda1a6f 100644 --- a/doc/classes/AudioStreamSample.xml +++ b/doc/classes/AudioStreamSample.xml @@ -13,6 +13,9 @@ <methods> </methods> <members> + <member name="data" type="PoolByteArray" setter="set_data" getter="get_data"> + Contains the audio data in bytes. + </member> <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format"> Audio format. See FORMAT_* constants for values. </member> diff --git a/doc/classes/BakedLightmap.xml b/doc/classes/BakedLightmap.xml index 45c60302a6..77895249e5 100644 --- a/doc/classes/BakedLightmap.xml +++ b/doc/classes/BakedLightmap.xml @@ -5,7 +5,7 @@ <description> </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/baked_lightmaps.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/baked_lightmaps.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index 554ed99964..fe8debe1a9 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -4,11 +4,12 @@ 3x3 matrix datatype. </brief_description> <description> - 3x3 matrix used for 3D rotation and scale. Contains 3 vector fields x,y and z as its columns, which can be interpreted as the local basis vectors of a transformation. Can also be accessed as array of 3D vectors. These vectors are orthogonal to each other, but are not necessarily normalized. Almost always used as orthogonal basis for a [Transform]. + 3x3 matrix used for 3D rotation and scale. Contains 3 vector fields x,y and z as its columns, which can be interpreted as the local basis vectors of a transformation. Can also be accessed as array of 3D vectors. These vectors are orthogonal to each other, but are not necessarily normalized (due to scaling). Almost always used as orthogonal basis for a [Transform]. For such use, it is composed of a scaling and a rotation matrix, in that order (M = R.S). </description> <tutorials> - http://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html + <link>http://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html</link> + <link>http://docs.godotengine.org/en/latest/tutorials/math/rotations.html</link> </tutorials> <demos> </demos> @@ -105,7 +106,7 @@ <argument index="1" name="phi" type="float"> </argument> <description> - Introduce an additional rotation around the given axis by phi (radians). Only relevant when the matrix is being used as a part of [Transform]. The axis must be a normalized vector. + Introduce an additional rotation around the given axis by phi (radians). The axis must be a normalized vector. </description> </method> <method name="scaled"> @@ -114,7 +115,18 @@ <argument index="0" name="scale" type="Vector3"> </argument> <description> - Introduce an additional scaling specified by the given 3D scaling factor. Only relevant when the matrix is being used as a part of [Transform]. + Introduce an additional scaling specified by the given 3D scaling factor. + </description> + </method> + <method name="slerp"> + <return type="Basis"> + </return> + <argument index="0" name="b" type="Basis"> + </argument> + <argument index="1" name="t" type="float"> + </argument> + <description> + Assuming that the matrix is a proper rotation matrix, slerp performs a spherical-linear interpolation with another rotation matrix. </description> </method> <method name="tdotx"> diff --git a/doc/classes/Bone2D.xml b/doc/classes/Bone2D.xml new file mode 100644 index 0000000000..7e714305cd --- /dev/null +++ b/doc/classes/Bone2D.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Bone2D" inherits="Node2D" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="apply_rest"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_index_in_skeleton" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_skeleton_rest" qualifiers="const"> + <return type="Transform2D"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="default_length" type="float" setter="set_default_length" getter="get_default_length"> + </member> + <member name="rest" type="Transform2D" setter="set_rest" getter="get_rest"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index 1705808c04..a04e38af5c 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -11,8 +11,8 @@ Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html - http://docs.godotengine.org/en/3.0/tutorials/2d/custom_drawing_in_2d.html + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/custom_drawing_in_2d.html</link> </tutorials> <demos> </demos> @@ -566,6 +566,9 @@ <constant name="BLEND_MODE_PREMULT_ALPHA" value="4" enum="BlendMode"> Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value. </constant> + <constant name="BLEND_MODE_DISABLED" value="5" enum="BlendMode"> + Disable blending mode. Colors including alpha are written as is. Only applicable for render targets with a transparent background. No lighting will be applied. + </constant> <constant name="NOTIFICATION_TRANSFORM_CHANGED" value="29"> Canvas item transform has changed. Only received if requested. </constant> diff --git a/doc/classes/CanvasItemMaterial.xml b/doc/classes/CanvasItemMaterial.xml index 354bc10cd2..fe7194dcfe 100644 --- a/doc/classes/CanvasItemMaterial.xml +++ b/doc/classes/CanvasItemMaterial.xml @@ -36,9 +36,6 @@ <constant name="BLEND_MODE_PREMULT_ALPHA" value="4" enum="BlendMode"> Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value. </constant> - <constant name="BLEND_MODE_DISABLED" value="5" enum="BlendMode"> - Disable blending mode. Colors including alpha are written as is. Only applicable for render targets with a transparent background. No lighting will be applied. - </constant> <constant name="LIGHT_MODE_NORMAL" value="0" enum="LightMode"> Render the material using both light and non-light sensitive material properties. </constant> diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml index 3e4d1b29f7..d4412e15c9 100644 --- a/doc/classes/CanvasLayer.xml +++ b/doc/classes/CanvasLayer.xml @@ -7,8 +7,8 @@ Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [code]CanvasLayer[/code] 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 [code]CanvasLayer[/code] 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). </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html - http://docs.godotengine.org/en/3.0/tutorials/2d/canvas_layers.html + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/canvas_layers.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml index 6b2c540c19..e215585b74 100644 --- a/doc/classes/ClassDB.xml +++ b/doc/classes/ClassDB.xml @@ -112,7 +112,7 @@ <argument index="1" name="no_inheritance" type="bool" default="false"> </argument> <description> - Returns an array with all the signals of 'class' or its ancestry if 'no_inheritance' is false. Every element of the array is a [Dictionary] as described in [class_get_signal]. + Returns an array with all the signals of 'class' or its ancestry if 'no_inheritance' is false. Every element of the array is a [Dictionary] as described in [method class_get_signal]. </description> </method> <method name="class_has_integer_constant" qualifiers="const"> diff --git a/doc/classes/CollisionShape.xml b/doc/classes/CollisionShape.xml index 95fa1175c3..682c9340df 100644 --- a/doc/classes/CollisionShape.xml +++ b/doc/classes/CollisionShape.xml @@ -7,7 +7,7 @@ Editor facility for creating and editing collision shapes in 3D space. You can use this node to represent all sorts of collision shapes, for example, add this to an [Area] to give it a detection shape, or add it to a [PhysicsBody] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method get_shape] to get the actual shape. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/CollisionShape2D.xml b/doc/classes/CollisionShape2D.xml index 3136f132bf..3312fad99c 100644 --- a/doc/classes/CollisionShape2D.xml +++ b/doc/classes/CollisionShape2D.xml @@ -7,7 +7,7 @@ Editor facility for creating and editing collision shapes in 2D space. You can use this node to represent all sorts of collision shapes, for example, add this to an [Area2D] to give it a detection shape, or add it to a [PhysicsBody2D] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method get_shape] to get the actual shape. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index 2617aaef17..104c9e0a98 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -129,9 +129,9 @@ <argument index="3" name="a" type="float" default="1"> </argument> <description> - Constructs a color from an HSV profile. [code]h[/code] is a value between 0 and 360. [code]s[/code] and [code]v[/code] are values between 0 and 1. + Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and [code]v[/code] are values between 0 and 1. [codeblock] - var c = Color.from_hsv(210, 0.5, 0.79, 0.8) # equivalent to HSV(210, 50, 79, 0.8) or Color8(100, 151, 201, 0.8) + var c = Color.from_hsv(0.58, 0.5, 0.79, 0.8) # equivalent to HSV(210, 50, 79, 0.8) or Color8(100, 151, 201, 0.8) [/codeblock] </description> </method> diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index 2214264dca..1bd902c20e 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -31,6 +31,9 @@ <member name="raw_mode" type="bool" setter="set_raw_mode" getter="is_raw_mode"> If [code]true[/code], allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR). </member> + <member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode"> + If [code]true[/code], the color will apply only after user releases mouse button, otherwise it will apply immediatly even in mouse motion event (which can cause performance issues). + </member> </members> <signals> <signal name="color_changed"> diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index eb86dc8af8..9d7df14014 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -11,7 +11,7 @@ <demos> </demos> <methods> - <method name="get_picker" qualifiers="const"> + <method name="get_picker"> <return type="ColorPicker"> </return> <description> @@ -42,6 +42,10 @@ Emitted when the color changes. </description> </signal> + <signal name="popup_closed"> + <description> + </description> + </signal> </signals> <constants> </constants> diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml index a42d0f196e..ec0381bda5 100644 --- a/doc/classes/ConfigFile.xml +++ b/doc/classes/ConfigFile.xml @@ -117,7 +117,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Assigns a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a [code]null[/code] value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed. + Assigns a value to the specified key of the specified section. If the section and/or the key do not exist, they are created. Passing a [code]null[/code] value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed. </description> </method> </methods> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 4b6a9cca8a..52382337cf 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -13,8 +13,8 @@ [Theme] resources change the Control's appearance. If you change the [Theme] on a [code]Control[/code] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_*_override[/code] methods, like [method add_font_override]. You can override the theme with the inspector. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/gui/index.html - http://docs.godotengine.org/en/3.0/tutorials/2d/custom_drawing_in_2d.html + <link>http://docs.godotengine.org/en/3.0/tutorials/gui/index.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/custom_drawing_in_2d.html</link> </tutorials> <demos> </demos> @@ -51,7 +51,7 @@ <argument index="1" name="color" type="Color"> </argument> <description> - Overrides the color in the [theme] resource the node uses. + Overrides the color in the [member theme] resource the node uses. </description> </method> <method name="add_constant_override"> @@ -62,7 +62,7 @@ <argument index="1" name="constant" type="int"> </argument> <description> - Overrides an integer constant in the [Theme] resource the node uses. If the [code]constant[/code] is invalid, Godot clears the override. See [member Theme.INVALID_CONSTANT] for more information. + Overrides an integer constant in the [member theme] resource the node uses. If the [code]constant[/code] is invalid, Godot clears the override. See [member Theme.INVALID_CONSTANT] for more information. </description> </method> <method name="add_font_override"> @@ -73,7 +73,7 @@ <argument index="1" name="font" type="Font"> </argument> <description> - Overrides the [code]name[/code] font in the [theme] resource the node uses. If [code]font[/code] is empty, Godot clears the override. + Overrides the [code]name[/code] font in the [member theme] resource the node uses. If [code]font[/code] is empty, Godot clears the override. </description> </method> <method name="add_icon_override"> @@ -84,7 +84,7 @@ <argument index="1" name="texture" type="Texture"> </argument> <description> - Overrides the [code]name[/code] icon in the [theme] resource the node uses. If [code]icon[/code] is empty, Godot clears the override. + Overrides the [code]name[/code] icon in the [member theme] resource the node uses. If [code]icon[/code] is empty, Godot clears the override. </description> </method> <method name="add_shader_override"> @@ -95,7 +95,7 @@ <argument index="1" name="shader" type="Shader"> </argument> <description> - Overrides the [code]name[/code] shader in the [theme] resource the node uses. If [code]shader[/code] is empty, Godot clears the override. + Overrides the [code]name[/code] shader in the [member theme] resource the node uses. If [code]shader[/code] is empty, Godot clears the override. </description> </method> <method name="add_stylebox_override"> @@ -106,7 +106,7 @@ <argument index="1" name="stylebox" type="StyleBox"> </argument> <description> - Overrides the [code]name[/code] [Stylebox] in the [theme] resource the node uses. If [code]stylebox[/code] is empty, Godot clears the override. + Overrides the [code]name[/code] [Stylebox] in the [member theme] resource the node uses. If [code]stylebox[/code] is empty, Godot clears the override. </description> </method> <method name="can_drop_data" qualifiers="virtual"> diff --git a/doc/classes/Curve2D.xml b/doc/classes/Curve2D.xml index 03db9c2ea1..26de8be42c 100644 --- a/doc/classes/Curve2D.xml +++ b/doc/classes/Curve2D.xml @@ -49,6 +49,26 @@ Returns the cache of points as a [PoolVector2Array]. </description> </method> + <method name="get_closest_offset" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="to_point" type="Vector2"> + </argument> + <description> + Returns the closest offset to [code]to_point[/code]. This offset is meant to be used in [method interpolate_baked]. + [code]to_point[/code] must be in this curve's local space. + </description> + </method> + <method name="get_closest_point" qualifiers="const"> + <return type="Vector2"> + </return> + <argument index="0" name="to_point" type="Vector2"> + </argument> + <description> + Returns the closest point (in curve's local space) to [code]to_point[/code]. + [code]to_point[/code] must be in this curve's local space. + </description> + </method> <method name="get_point_count" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml index f2308de12c..1355c74faf 100644 --- a/doc/classes/Curve3D.xml +++ b/doc/classes/Curve3D.xml @@ -56,6 +56,34 @@ Returns the cache of tilts as a [RealArray]. </description> </method> + <method name="get_baked_up_vectors" qualifiers="const"> + <return type="PoolVector3Array"> + </return> + <description> + Returns the cache of up vectors as a [PoolVector3Array]. + If [member up_vector_enabled] is [code]false[/code], the cache will be empty. + </description> + </method> + <method name="get_closest_offset" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="to_point" type="Vector3"> + </argument> + <description> + Returns the closest offset to [code]to_point[/code]. This offset is meant to be used in one of the interpolate_baked* methods. + [code]to_point[/code] must be in this curve's local space. + </description> + </method> + <method name="get_closest_point" qualifiers="const"> + <return type="Vector3"> + </return> + <argument index="0" name="to_point" type="Vector3"> + </argument> + <description> + Returns the closest point (in curve's local space) to [code]to_point[/code]. + [code]to_point[/code] must be in this curve's local space. + </description> + </method> <method name="get_point_count" qualifiers="const"> <return type="int"> </return> @@ -124,6 +152,19 @@ Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough). </description> </method> + <method name="interpolate_baked_up_vector" qualifiers="const"> + <return type="Vector3"> + </return> + <argument index="0" name="offset" type="float"> + </argument> + <argument index="1" name="apply_tilt" type="bool" default="false"> + </argument> + <description> + Returns an up vector within the curve at position [code]offset[/code], where [code]offset[/code] is measured as a distance in 3D units along the curve. + To do that, it finds the two cached up vectors where the [code]offset[/code] lies between, then interpolates the values. If [code]apply_tilt[/code] is [code]true[/code], an interpolated tilt is applied to the interpolated up vector. + If the curve has no up vectors, the function sends an error to the console, and returns (0, 1, 0). + </description> + </method> <method name="interpolatef" qualifiers="const"> <return type="Vector3"> </return> @@ -184,7 +225,7 @@ </argument> <description> Sets the tilt angle in radians for the point "idx". If the index is out of bounds, the function sends an error to the console. - The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a [PathFollow], this tilt is an offset over the natural tilt the PathFollow calculates. + The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a [PathFollow] or [OrientedPathFollow], this tilt is an offset over the natural tilt the [PathFollow] or [OrientedPathFollow] calculates. </description> </method> <method name="tessellate" qualifiers="const"> @@ -206,6 +247,9 @@ <member name="bake_interval" type="float" setter="set_bake_interval" getter="get_bake_interval"> The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the [method get_baked_points] or [method get_baked_length] function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care. </member> + <member name="up_vector_enabled" type="bool" setter="set_up_vector_enabled" getter="is_up_vector_enabled"> + If [code]true[/code], the curve will bake up vectors used for orientation. See [OrientedPathFollow]. Changing it forces the cache to be recomputed. + </member> </members> <constants> </constants> diff --git a/doc/classes/DirectionalLight.xml b/doc/classes/DirectionalLight.xml index 5e492b74da..ef75182811 100644 --- a/doc/classes/DirectionalLight.xml +++ b/doc/classes/DirectionalLight.xml @@ -7,7 +7,7 @@ A DirectionalLight is a type of [Light] node that emits light constantly in one direction (the negative z axis of the node). It is used lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored, only the basis is used do determine light direction. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml index 040ccf4462..d8ad208fa7 100644 --- a/doc/classes/Directory.xml +++ b/doc/classes/Directory.xml @@ -23,7 +23,7 @@ [/codeblock] </description> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/step_by_step/filesystem.html + <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/filesystem.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/DynamicFont.xml b/doc/classes/DynamicFont.xml index 03752c6e89..2e2904c16c 100644 --- a/doc/classes/DynamicFont.xml +++ b/doc/classes/DynamicFont.xml @@ -73,6 +73,10 @@ <member name="font_data" type="DynamicFontData" setter="set_font_data" getter="get_font_data"> The font data. </member> + <member name="outline_color" type="Color" setter="set_outline_color" getter="get_outline_color"> + </member> + <member name="outline_size" type="int" setter="set_outline_size" getter="get_outline_size"> + </member> <member name="size" type="int" setter="set_size" getter="get_size"> The font size. </member> diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml index 406bd7b7df..e48eb82691 100644 --- a/doc/classes/EditorImportPlugin.xml +++ b/doc/classes/EditorImportPlugin.xml @@ -5,10 +5,7 @@ </brief_description> <description> EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. Register your [EditorPlugin] with [method EditorPlugin.add_import_plugin]. - EditorImportPlugins work by associating with specific file extensions and a resource type. See [method get_recognized_extension] and [method get_resource_type]). They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].import[/code] directory. - - Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec": [codeblock] tool diff --git a/doc/classes/EditorInspector.xml b/doc/classes/EditorInspector.xml new file mode 100644 index 0000000000..381eef5a40 --- /dev/null +++ b/doc/classes/EditorInspector.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorInspector" inherits="ScrollContainer" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + </methods> + <signals> + <signal name="object_id_selected"> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </signal> + <signal name="property_keyed"> + <argument index="0" name="property" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="resource_selected"> + <argument index="0" name="res" type="Object"> + </argument> + <argument index="1" name="prop" type="String"> + </argument> + <description> + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml new file mode 100644 index 0000000000..9bda768b14 --- /dev/null +++ b/doc/classes/EditorInspectorPlugin.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorInspectorPlugin" inherits="Reference" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="add_custom_control"> + <return type="void"> + </return> + <argument index="0" name="control" type="Control"> + </argument> + <description> + </description> + </method> + <method name="add_property_editor"> + <return type="void"> + </return> + <argument index="0" name="property" type="String"> + </argument> + <argument index="1" name="editor" type="Control"> + </argument> + <description> + </description> + </method> + <method name="add_property_editor_for_multiple_properties"> + <return type="void"> + </return> + <argument index="0" name="label" type="String"> + </argument> + <argument index="1" name="properties" type="PoolStringArray"> + </argument> + <argument index="2" name="editor" type="Control"> + </argument> + <description> + </description> + </method> + <method name="can_handle" qualifiers="virtual"> + <return type="bool"> + </return> + <argument index="0" name="object" type="Object"> + </argument> + <description> + </description> + </method> + <method name="parse_begin" qualifiers="virtual"> + <return type="void"> + </return> + <argument index="0" name="object" type="Object"> + </argument> + <description> + </description> + </method> + <method name="parse_category" qualifiers="virtual"> + <return type="void"> + </return> + <argument index="0" name="object" type="Object"> + </argument> + <argument index="1" name="category" type="String"> + </argument> + <description> + </description> + </method> + <method name="parse_end" qualifiers="virtual"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="parse_property" qualifiers="virtual"> + <return type="bool"> + </return> + <argument index="0" name="object" type="Object"> + </argument> + <argument index="1" name="type" type="int"> + </argument> + <argument index="2" name="path" type="String"> + </argument> + <argument index="3" name="hint" type="int"> + </argument> + <argument index="4" name="hint_text" type="String"> + </argument> + <argument index="5" name="usage" type="int"> + </argument> + <description> + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 006a7ca690..19bd7e6d52 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -4,7 +4,7 @@ Editor interface and main components. </brief_description> <description> - Editor interface. Allows saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview]\ er, [ScriptEditor], the editor viewport, as well as information about scenes. Also see [EditorPlugin] and [EditorScript]. + Editor interface. Allows saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, as well as information about scenes. Also see [EditorPlugin] and [EditorScript]. </description> <tutorials> </tutorials> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 846d6f18ff..f5fbf8e313 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -7,7 +7,7 @@ Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. </description> <tutorials> - http://docs.godotengine.org/en/3.0/development/plugins/index.html + <link>http://docs.godotengine.org/en/3.0/development/plugins/index.html</link> </tutorials> <demos> </demos> @@ -81,7 +81,7 @@ <method name="add_export_plugin"> <return type="void"> </return> - <argument index="0" name="exporter" type="EditorExportPlugin"> + <argument index="0" name="plugin" type="EditorExportPlugin"> </argument> <description> </description> @@ -94,6 +94,14 @@ <description> </description> </method> + <method name="add_inspector_plugin"> + <return type="void"> + </return> + <argument index="0" name="plugin" type="EditorInspectorPlugin"> + </argument> + <description> + </description> + </method> <method name="add_scene_import_plugin"> <return type="void"> </return> @@ -114,7 +122,7 @@ <argument index="3" name="ud" type="Variant" default="null"> </argument> <description> - Adds a custom menu to 'Project > Tools' as [code]name[/code] that calls [code]callback[/code] on an instance of [code]handler[/code] with a parameter [code]ud[/code] when user activates it. + Adds a custom menu to 'Project > Tools' as [code]name[/code] that calls [code]callback[/code] on an instance of [code]handler[/code] with a parameter [code]ud[/code] when user activates it. </description> </method> <method name="add_tool_submenu_item"> @@ -135,6 +143,12 @@ This is used, for example, in shader editors to let the plugin know that it must apply the shader code being written by the user to the object. </description> </method> + <method name="build" qualifiers="virtual"> + <return type="bool"> + </return> + <description> + </description> + </method> <method name="clear" qualifiers="virtual"> <return type="void"> </return> @@ -221,6 +235,13 @@ <description> </description> </method> + <method name="get_script_create_dialog"> + <return type="ScriptCreateDialog"> + </return> + <description> + Gets the Editor's dialogue used for making scripts. Note that users can configure it before use. + </description> + </method> <method name="get_state" qualifiers="virtual"> <return type="Dictionary"> </return> @@ -341,7 +362,7 @@ <method name="remove_export_plugin"> <return type="void"> </return> - <argument index="0" name="exporter" type="EditorExportPlugin"> + <argument index="0" name="plugin" type="EditorExportPlugin"> </argument> <description> </description> @@ -354,6 +375,14 @@ <description> </description> </method> + <method name="remove_inspector_plugin"> + <return type="void"> + </return> + <argument index="0" name="plugin" type="EditorInspectorPlugin"> + </argument> + <description> + </description> + </method> <method name="remove_scene_import_plugin"> <return type="void"> </return> @@ -368,7 +397,7 @@ <argument index="0" name="name" type="String"> </argument> <description> - Removes a menu [code]name[/code] from 'Project > Tools'. + Removes a menu [code]name[/code] from 'Project > Tools'. </description> </method> <method name="save_external_data" qualifiers="virtual"> @@ -424,6 +453,12 @@ Emitted when user change main screen view (2D, 3D, Script, AssetLib). Works also with screens which are defined by plugins. </description> </signal> + <signal name="resource_saved"> + <argument index="0" name="resource" type="Object"> + </argument> + <description> + </description> + </signal> <signal name="scene_changed"> <argument index="0" name="scene_root" type="Object"> </argument> diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml new file mode 100644 index 0000000000..9b5452ec14 --- /dev/null +++ b/doc/classes/EditorProperty.xml @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorProperty" inherits="Container" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="get_edited_object"> + <return type="Object"> + </return> + <description> + </description> + </method> + <method name="get_edited_property"> + <return type="String"> + </return> + <description> + </description> + </method> + <method name="update_property" qualifiers="virtual"> + <return type="void"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="checkable" type="bool" setter="set_checkable" getter="is_checkable"> + </member> + <member name="checked" type="bool" setter="set_checked" getter="is_checked"> + </member> + <member name="draw_red" type="bool" setter="set_draw_red" getter="is_draw_red"> + </member> + <member name="keying" type="bool" setter="set_keying" getter="is_keying"> + </member> + <member name="label" type="String" setter="set_label" getter="get_label"> + </member> + <member name="read_only" type="bool" setter="set_read_only" getter="is_read_only"> + </member> + </members> + <signals> + <signal name="multiple_properties_changed"> + <argument index="0" name="properties" type="PoolStringArray"> + </argument> + <argument index="1" name="value" type="Array"> + </argument> + <description> + </description> + </signal> + <signal name="object_id_selected"> + <argument index="0" name="property" type="String"> + </argument> + <argument index="1" name="id" type="int"> + </argument> + <description> + </description> + </signal> + <signal name="property_changed"> + <argument index="0" name="property" type="String"> + </argument> + <argument index="1" name="value" type="Nil"> + </argument> + <description> + </description> + </signal> + <signal name="property_checked"> + <argument index="0" name="property" type="String"> + </argument> + <argument index="1" name="bool" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="property_keyed"> + <argument index="0" name="property" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="property_keyed_with_value"> + <argument index="0" name="property" type="String"> + </argument> + <argument index="1" name="value" type="Nil"> + </argument> + <description> + </description> + </signal> + <signal name="resource_selected"> + <argument index="0" name="path" type="String"> + </argument> + <argument index="1" name="resource" type="Object"> + </argument> + <description> + </description> + </signal> + <signal name="selected"> + <argument index="0" name="path" type="String"> + </argument> + <argument index="1" name="focusable_idx" type="int"> + </argument> + <description> + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index cdd9560eda..bd85075b7e 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -55,6 +55,18 @@ Get the list of favorite directories for this project. </description> </method> + <method name="get_project_metadata" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="section" type="String"> + </argument> + <argument index="1" name="key" type="String"> + </argument> + <argument index="2" name="default" type="Variant" default="null"> + </argument> + <description> + </description> + </method> <method name="get_project_settings_dir" qualifiers="const"> <return type="String"> </return> @@ -131,6 +143,18 @@ <description> </description> </method> + <method name="set_project_metadata"> + <return type="void"> + </return> + <argument index="0" name="section" type="String"> + </argument> + <argument index="1" name="key" type="String"> + </argument> + <argument index="2" name="data" type="Variant"> + </argument> + <description> + </description> + </method> <method name="set_recent_dirs"> <return type="void"> </return> diff --git a/doc/classes/EditorSpatialGizmo.xml b/doc/classes/EditorSpatialGizmo.xml index 58d2671968..3636442b85 100644 --- a/doc/classes/EditorSpatialGizmo.xml +++ b/doc/classes/EditorSpatialGizmo.xml @@ -24,8 +24,6 @@ </return> <argument index="0" name="triangles" type="TriangleMesh"> </argument> - <argument index="1" name="bounds" type="AABB"> - </argument> <description> Add collision triangles to the gizmo for picking. A [TriangleMesh] can be generated from a regular [Mesh] too. Call this function during [method redraw]. </description> diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index 6384b4d0fd..f921b76b21 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -11,6 +11,34 @@ <demos> </demos> <methods> + <method name="get_author_info" qualifiers="const"> + <return type="Dictionary"> + </return> + <description> + Returns engine author information in a Dictionary. + "lead_developers" - Array of Strings, lead developer names + "founders" - Array of Strings, founder names + "project_managers" - Array of Strings, project manager names + "developers" - Array of Strings, developer names + </description> + </method> + <method name="get_copyright_info" qualifiers="const"> + <return type="Array"> + </return> + <description> + Returns an Array of copyright information Dictionaries. + "name" - String, component name + "parts" - Array of Dictionaries {"files", "copyright", "license"} describing subsections of the component + </description> + </method> + <method name="get_donor_info" qualifiers="const"> + <return type="Dictionary"> + </return> + <description> + Returns a Dictionary of Arrays of donor names. + {"platinum_sponsors", "gold_sponsors", "mini_sponsors", "gold_donors", "silver_donors", "bronze_donors"} + </description> + </method> <method name="get_frames_drawn"> <return type="int"> </return> @@ -25,6 +53,20 @@ Returns the frames per second of the running game. </description> </method> + <method name="get_license_info" qualifiers="const"> + <return type="Dictionary"> + </return> + <description> + Returns Dictionary of licenses used by Godot and included third party components. + </description> + </method> + <method name="get_license_text" qualifiers="const"> + <return type="String"> + </return> + <description> + Returns Godot license text. + </description> + </method> <method name="get_main_loop" qualifiers="const"> <return type="MainLoop"> </return> @@ -45,7 +87,6 @@ </return> <description> Returns the current engine version information in a Dictionary. - "major" - Holds the major version number as an int "minor" - Holds the minor version number as an int "patch" - Holds the patch version number as an int @@ -77,6 +118,8 @@ <member name="iterations_per_second" type="int" setter="set_iterations_per_second" getter="get_iterations_per_second"> The number of fixed iterations per second (for fixed process and physics). </member> + <member name="physics_jitter_fix" type="float" setter="set_physics_jitter_fix" getter="get_physics_jitter_fix"> + </member> <member name="target_fps" type="int" setter="set_target_fps" getter="get_target_fps"> The desired frames per second. If the hardware cannot keep up, this setting may not be respected. Defaults to 0, which indicates no limit. </member> diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 18adaa645c..cd2584ed43 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -13,8 +13,8 @@ - Adjustments </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/environment_and_post_processing.html - http://docs.godotengine.org/en/3.0/tutorials/3d/high_dynamic_range.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/environment_and_post_processing.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/high_dynamic_range.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index bd368e967a..20054ac9dc 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -9,20 +9,20 @@ [codeblock] func save(content): var file = File.new() - file.open("user://save_game.dat", file.WRITE) + file.open("user://save_game.dat", File.WRITE) file.store_string(content) file.close() func load(): var file = File.new() - file.open("user://save_game.dat", file.READ) + file.open("user://save_game.dat", File.READ) var content = file.get_as_text() file.close() return content [/codeblock] </description> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/step_by_step/filesystem.html + <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/filesystem.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index b165d8fb8c..247228d265 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -33,6 +33,12 @@ <description> </description> </method> + <method name="get_line_edit"> + <return type="LineEdit"> + </return> + <description> + </description> + </method> <method name="get_vbox"> <return type="VBoxContainer"> </return> diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml index 376d234ec3..3e47b167ef 100644 --- a/doc/classes/Font.xml +++ b/doc/classes/Font.xml @@ -24,6 +24,8 @@ </argument> <argument index="4" name="clip_w" type="int" default="-1"> </argument> + <argument index="5" name="outline_modulate" type="Color" default="Color( 1, 1, 1, 1 )"> + </argument> <description> Draw "string" into a canvas item using the font at a given position, with "modulate" color, and optionally clipping the width. "position" specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis. </description> @@ -41,6 +43,8 @@ </argument> <argument index="4" name="modulate" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> + <argument index="5" name="outline" type="bool" default="false"> + </argument> <description> Draw character "char" into a canvas item using the font at a given position, with "modulate" color, and optionally kerning if "next" is passed. clipping the width. "position" specifies the baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character. </description> @@ -75,6 +79,12 @@ Return the size of a string, taking kerning and advance into account. </description> </method> + <method name="has_outline" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> <method name="is_distance_field_hint" qualifiers="const"> <return type="bool"> </return> diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml index fde91d09ac..77dea73564 100644 --- a/doc/classes/GIProbe.xml +++ b/doc/classes/GIProbe.xml @@ -5,7 +5,7 @@ <description> </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/gi_probes.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/gi_probes.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml index 78496700dc..ea2e2f7595 100644 --- a/doc/classes/Geometry.xml +++ b/doc/classes/Geometry.xml @@ -160,6 +160,21 @@ <description> </description> </method> + <method name="line_intersects_line_2d"> + <return type="Variant"> + </return> + <argument index="0" name="from_a" type="Vector2"> + </argument> + <argument index="1" name="dir_a" type="Vector2"> + </argument> + <argument index="2" name="from_b" type="Vector2"> + </argument> + <argument index="3" name="dir_b" type="Vector2"> + </argument> + <description> + Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and ([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant]. Note that the lines are specified using direction vectors, not end points. + </description> + </method> <method name="make_atlas"> <return type="Dictionary"> </return> @@ -259,21 +274,6 @@ Checks if the two segments ([code]from_a[/code], [code]to_a[/code]) and ([code]from_b[/code], [code]to_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant]. </description> </method> - <method name="line_intersects_line_2d"> - <return type="Variant"> - </return> - <argument index="0" name="from_a" type="Vector2"> - </argument> - <argument index="1" name="dir_a" type="Vector2"> - </argument> - <argument index="2" name="from_b" type="Vector2"> - </argument> - <argument index="3" name="dir_b" type="Vector2"> - </argument> - <description> - Checks if the two lines ([code]from_a[/code], [code]dir_a[/code]) and ([code]from_b[/code], [code]dir_b[/code]) intersect. If yes, return the point of intersection as [Vector2]. If no intersection takes place, returns an empty [Variant]. Note that the lines are specified using direction vectors, not end points. - </description> - </method> <method name="segment_intersects_sphere"> <return type="PoolVector3Array"> </return> diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml index 346ab9d357..8a8a9a2d24 100644 --- a/doc/classes/GridContainer.xml +++ b/doc/classes/GridContainer.xml @@ -11,6 +11,16 @@ <demos> </demos> <methods> + <method name="get_child_control_at_cell"> + <return type="Control"> + </return> + <argument index="0" name="row" type="int"> + </argument> + <argument index="1" name="column" type="int"> + </argument> + <description> + </description> + </method> </methods> <members> <member name="columns" type="int" setter="set_columns" getter="get_columns"> diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 018b548ef1..08e2f649a0 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -10,8 +10,8 @@ For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616). </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/networking/http_client_class.html - http://docs.godotengine.org/en/3.0/tutorials/networking/ssl_certificates.html + <link>http://docs.godotengine.org/en/3.0/tutorials/networking/http_client_class.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/networking/ssl_certificates.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml index ec9f86993f..c5bb10a23a 100644 --- a/doc/classes/HTTPRequest.xml +++ b/doc/classes/HTTPRequest.xml @@ -8,7 +8,7 @@ Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/networking/ssl_certificates.html + <link>http://docs.godotengine.org/en/3.0/tutorials/networking/ssl_certificates.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index ea61aced83..9fc7672a80 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -210,6 +210,8 @@ <method name="generate_mipmaps"> <return type="int" enum="Error"> </return> + <argument index="0" name="renormalize" type="bool" default="false"> + </argument> <description> Generates mipmaps for the image. Mipmaps are pre-calculated and lower resolution copies of the image. Mipmaps are automatically used if the image needs to be scaled down when rendered. This improves image quality and the performance of the rendering. Returns an error if the image is compressed, in a custom format or if the image's width/height is 0. </description> @@ -255,6 +257,14 @@ Returns the color of the pixel at [code](x, y)[/code] if the image is locked. If the image is unlocked it always returns a [Color] with the value [code](0, 0, 0, 1.0)[/code]. </description> </method> + <method name="get_pixelv" qualifiers="const"> + <return type="Color"> + </return> + <argument index="0" name="src" type="Vector2"> + </argument> + <description> + </description> + </method> <method name="get_rect" qualifiers="const"> <return type="Image"> </return> @@ -328,6 +338,7 @@ <argument index="0" name="buffer" type="PoolByteArray"> </argument> <description> + Loads an image from the binary contents of a JPEG file. </description> </method> <method name="load_png_from_buffer"> @@ -336,6 +347,7 @@ <argument index="0" name="buffer" type="PoolByteArray"> </argument> <description> + Loads an image from the binary contents of a PNG file. </description> </method> <method name="lock"> @@ -381,6 +393,12 @@ Resizes the image to the nearest power of 2 for the width and height. If [code]square[/code] is [code]true[/code] then set width and height to be the same. </description> </method> + <method name="rgbe_to_srgb"> + <return type="Image"> + </return> + <description> + </description> + </method> <method name="save_png" qualifiers="const"> <return type="int" enum="Error"> </return> @@ -411,6 +429,16 @@ [/codeblock] </description> </method> + <method name="set_pixelv"> + <return type="void"> + </return> + <argument index="0" name="dst" type="Vector2"> + </argument> + <argument index="1" name="color" type="Color"> + </argument> + <description> + </description> + </method> <method name="shrink_x2"> <return type="void"> </return> diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml index 9a5937299c..0bff3317db 100644 --- a/doc/classes/ImageTexture.xml +++ b/doc/classes/ImageTexture.xml @@ -47,12 +47,12 @@ </description> </method> <method name="load"> - <return type="void"> + <return type="int" enum="Error"> </return> <argument index="0" name="path" type="String"> </argument> <description> - Load an [code]ImageTexture[/code]. + Load an [code]ImageTexture[/code] from a file path. </description> </method> <method name="set_data"> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index f537908625..a4346c1485 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -7,7 +7,7 @@ A Singleton that deals with inputs. This includes key presses, mouse buttons and movement, joypads, and input actions. Actions and their events can be set in the Project Settings / Input Map tab. Or be set with [InputMap]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/index.html</link> </tutorials> <demos> </demos> @@ -48,6 +48,14 @@ If the device has an accelerometer, this will return the acceleration. Otherwise, it returns an empty [Vector3]. </description> </method> + <method name="get_action_strength" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="action" type="String"> + </argument> + <description> + </description> + </method> <method name="get_connected_joypads"> <return type="Array"> </return> @@ -284,7 +292,15 @@ <argument index="2" name="hotspot" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> - Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. See enum [code]CURSOR_*[/code] for the list of shapes. + Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. Passing [code]null[/code] to the image parameter resets to the system cursor. See enum [code]CURSOR_*[/code] for the list of shapes. + </description> + </method> + <method name="set_default_cursor_shape"> + <return type="void"> + </return> + <argument index="0" name="shape" type="int" enum="Input.CursorShape" default="0"> + </argument> + <description> </description> </method> <method name="set_mouse_mode"> diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml index b30b144614..993d62d188 100644 --- a/doc/classes/InputEvent.xml +++ b/doc/classes/InputEvent.xml @@ -7,26 +7,25 @@ Base class of all sort of input event. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html - http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html</link> </tutorials> <demos> </demos> <methods> - <method name="action_match" qualifiers="const"> - <return type="bool"> + <method name="as_text" qualifiers="const"> + <return type="String"> </return> - <argument index="0" name="event" type="InputEvent"> - </argument> <description> - Returns [code]true[/code] if this event matches [code]event[/code]. + Returns a [String] representation of the event. </description> </method> - <method name="as_text" qualifiers="const"> - <return type="String"> + <method name="get_action_strength" qualifiers="const"> + <return type="float"> </return> + <argument index="0" name="action" type="String"> + </argument> <description> - Returns a [String] representation of the event. </description> </method> <method name="is_action" qualifiers="const"> diff --git a/doc/classes/InputEventAction.xml b/doc/classes/InputEventAction.xml index e50c43c045..16000231cb 100644 --- a/doc/classes/InputEventAction.xml +++ b/doc/classes/InputEventAction.xml @@ -7,7 +7,7 @@ Contains a generic action which can be targeted from several type of inputs. Actions can be created from the project settings menu [code]Project > Project Settings > Input Map[/code]. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html#actions + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html#actions</link> </tutorials> <demos> </demos> diff --git a/doc/classes/InputEventJoypadButton.xml b/doc/classes/InputEventJoypadButton.xml index fdfdc10460..adaeae685e 100644 --- a/doc/classes/InputEventJoypadButton.xml +++ b/doc/classes/InputEventJoypadButton.xml @@ -7,7 +7,7 @@ Input event type for gamepad buttons. For joysticks see [InputEventJoypadMotion]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> @@ -15,7 +15,7 @@ </methods> <members> <member name="button_index" type="int" setter="set_button_index" getter="get_button_index"> - Button identifier. One of the [code]JOY_BUTTON_*[/code] constants from [@global Scope]. + Button identifier. One of the [code]JOY_BUTTON_*[/code] constants from [@GlobalScope]. </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed"> If [code]true[/code] the button's state is pressed. If [code]false[/code] the button's state is released. diff --git a/doc/classes/InputEventJoypadMotion.xml b/doc/classes/InputEventJoypadMotion.xml index 001dce9a03..f86aec4ce0 100644 --- a/doc/classes/InputEventJoypadMotion.xml +++ b/doc/classes/InputEventJoypadMotion.xml @@ -7,7 +7,7 @@ Stores information about joystick motions. One [code]InputEventJoypadMotion[/code] represents one axis at a time. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> @@ -15,7 +15,7 @@ </methods> <members> <member name="axis" type="int" setter="set_axis" getter="get_axis"> - Axis identifier. Use one of the [code]JOY_AXIS_*[/code] constants in [@global Scope]. + Axis identifier. Use one of the [code]JOY_AXIS_*[/code] constants in [@GlobalScope]. </member> <member name="axis_value" type="float" setter="set_axis_value" getter="get_axis_value"> Current position of the joystick on the given axis. The value ranges from [code]-1.0[/code] to [code]1.0[/code]. A value of [code]0[/code] means the axis is in its resting position. diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml index dada5034f5..7503e53188 100644 --- a/doc/classes/InputEventKey.xml +++ b/doc/classes/InputEventKey.xml @@ -7,7 +7,7 @@ Stores key presses on the keyboard. Supports key presses, key releases and [member echo] events. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> @@ -27,7 +27,7 @@ If [code]true[/code] the key's state is pressed. If [code]false[/code] the key's state is released. </member> <member name="scancode" type="int" setter="set_scancode" getter="get_scancode"> - Key scancode, one of the [code]KEY_*[/code] constants in [@global Scope]. + Key scancode, one of the [code]KEY_*[/code] constants in [@GlobalScope]. </member> <member name="unicode" type="int" setter="set_unicode" getter="get_unicode"> Key unicode identifier when relevant. diff --git a/doc/classes/InputEventMouse.xml b/doc/classes/InputEventMouse.xml index 96a0116c3c..06de96890a 100644 --- a/doc/classes/InputEventMouse.xml +++ b/doc/classes/InputEventMouse.xml @@ -7,7 +7,7 @@ Stores general mouse events information. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/InputEventMouseButton.xml b/doc/classes/InputEventMouseButton.xml index 73190c7283..50641dceed 100644 --- a/doc/classes/InputEventMouseButton.xml +++ b/doc/classes/InputEventMouseButton.xml @@ -7,7 +7,7 @@ Contains mouse click information. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/mouse_and_input_coordinates.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/mouse_and_input_coordinates.html</link> </tutorials> <demos> </demos> @@ -21,7 +21,7 @@ If [code]true[/code] the mouse button's state is a double-click. If [code]false[/code] the mouse button's state is released. </member> <member name="factor" type="float" setter="set_factor" getter="get_factor"> - TO TALK in PR, reduz said : i think it's used for apple touch but i don't remember what it does + Magnitude. Amount (or delta) of the event. Used for scroll events, indicates scroll amount (vertically or horizontally). Only supported on some platforms, sensitivity varies by platform. May be 0 if not supported. </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed"> If [code]true[/code] the mouse button's state is pressed. If [code]false[/code] the mouse button's state is released. diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml index 83aa28c693..05e3e79d26 100644 --- a/doc/classes/InputEventMouseMotion.xml +++ b/doc/classes/InputEventMouseMotion.xml @@ -7,7 +7,7 @@ Contains mouse motion information. Supports relative, absolute positions and speed. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/mouse_and_input_coordinates.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/mouse_and_input_coordinates.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/InputEventScreenDrag.xml b/doc/classes/InputEventScreenDrag.xml index a2ac8d587f..f777d90ccb 100644 --- a/doc/classes/InputEventScreenDrag.xml +++ b/doc/classes/InputEventScreenDrag.xml @@ -8,7 +8,7 @@ Contains screen drag information. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/InputEventScreenTouch.xml b/doc/classes/InputEventScreenTouch.xml index 64b9550f9d..39cd0a9657 100644 --- a/doc/classes/InputEventScreenTouch.xml +++ b/doc/classes/InputEventScreenTouch.xml @@ -8,7 +8,7 @@ Stores multi-touch press/release information. Supports touch press, touch release and [member index] for multi-touch count and order. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml index 2d046cbfd2..9c1814fedd 100644 --- a/doc/classes/InputEventWithModifiers.xml +++ b/doc/classes/InputEventWithModifiers.xml @@ -7,7 +7,7 @@ Contains keys events information with modifiers support like [code]SHIFT[/code] or [code]ALT[/code]. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml index eeb225d445..2f5fb49dba 100644 --- a/doc/classes/InputMap.xml +++ b/doc/classes/InputMap.xml @@ -7,7 +7,7 @@ Manages all [InputEventAction] which can be created/modified from the project settings menu [code]Project > Project Settings > Input Map[/code] or in code with [method add_action] and [method action_add_event]. See [method Node._input]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html#inputmap + <link>http://docs.godotengine.org/en/3.0/tutorials/inputs/inputevent.html#inputmap</link> </tutorials> <demos> </demos> @@ -34,6 +34,14 @@ Removes an [InputEvent] from an action. </description> </method> + <method name="action_erase_events"> + <return type="void"> + </return> + <argument index="0" name="action" type="String"> + </argument> + <description> + </description> + </method> <method name="action_has_event"> <return type="bool"> </return> @@ -45,13 +53,26 @@ Returns [true] if an action has an [InputEvent] associated with it. </description> </method> + <method name="action_set_deadzone"> + <return type="void"> + </return> + <argument index="0" name="deadzone" type="String"> + </argument> + <argument index="1" name="arg1" type="float"> + </argument> + <description> + </description> + </method> <method name="add_action"> <return type="void"> </return> <argument index="0" name="action" type="String"> </argument> + <argument index="1" name="deadzone" type="float" default="0.5"> + </argument> <description> - Adds an (empty) action to the [code]InputMap[/code]. An [InputEvent] can then be added to this action with [method action_add_event]. + Adds an (empty) action to the [code]InputMap[/code], with a configurable [code]deadzone[/code]. + An [InputEvent] can then be added to this action with [method action_add_event]. </description> </method> <method name="erase_action"> diff --git a/doc/classes/InstancePlaceholder.xml b/doc/classes/InstancePlaceholder.xml index 5945e1068f..71c859fd9e 100644 --- a/doc/classes/InstancePlaceholder.xml +++ b/doc/classes/InstancePlaceholder.xml @@ -12,6 +12,16 @@ <demos> </demos> <methods> + <method name="create_instance"> + <return type="Node"> + </return> + <argument index="0" name="replace" type="bool" default="false"> + </argument> + <argument index="1" name="custom_scene" type="PackedScene" default="null"> + </argument> + <description> + </description> + </method> <method name="get_instance_path" qualifiers="const"> <return type="String"> </return> diff --git a/doc/classes/JavaScript.xml b/doc/classes/JavaScript.xml index 1d40b990a9..17588717c2 100644 --- a/doc/classes/JavaScript.xml +++ b/doc/classes/JavaScript.xml @@ -7,7 +7,7 @@ The JavaScript singleton is implemented only in HTML5 export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs. </description> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/workflow/export/exporting_for_web.html#calling-javascript-from-script + <link>http://docs.godotengine.org/en/3.0/getting_started/workflow/export/exporting_for_web.html#calling-javascript-from-script</link> </tutorials> <demos> </demos> diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml index 5553602db2..ae33ed5205 100644 --- a/doc/classes/KinematicBody.xml +++ b/doc/classes/KinematicBody.xml @@ -9,7 +9,7 @@ Kinematic Characters: KinematicBody also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/kinematic_character_2d.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/kinematic_character_2d.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml index 24c28fc810..1e78a196b1 100644 --- a/doc/classes/Label.xml +++ b/doc/classes/Label.xml @@ -106,6 +106,8 @@ </theme_item> <theme_item name="font_color_shadow" type="Color"> </theme_item> + <theme_item name="font_outline_modulate" type="Color"> + </theme_item> <theme_item name="line_spacing" type="int"> </theme_item> <theme_item name="normal" type="StyleBox"> diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml index e05ed2d0b1..e9b36c2f9d 100644 --- a/doc/classes/Light.xml +++ b/doc/classes/Light.xml @@ -7,7 +7,7 @@ Light is the abstract base class for light nodes, so it shouldn't be used directly (It can't be instanced). Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index c31438283e..d7a0385bb3 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -112,7 +112,7 @@ <member name="secret" type="bool" setter="set_secret" getter="is_secret"> If [code]true[/code], every character is replaced with the secret character (see [member secret_character]). </member> - <member name="secret_character" type="string" setter="set_secret_character" getter="get_secret_character"> + <member name="secret_character" type="String" setter="set_secret_character" getter="get_secret_character"> The character to use to mask secret input (defaults to "*"). Only a single character can be used as the secret character. </member> <member name="text" type="String" setter="set_text" getter="get_text"> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index 591d715174..8c114a55c9 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -1,88 +1,78 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="MultiplayerAPI" inherits="Reference" category="Core" version="3.1"> <brief_description> + High Level Multiplayer API. </brief_description> <description> + This class implements most of the logic behind the high level multiplayer API. + By default, [SceneTree] has a reference to this class that is used to provide multiplayer capabilities (i.e. RPC/RSET) across the whole scene. + It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the [member Node.custom_multiplayer] property, effectively allowing to run both client and server in the same scene. </description> <tutorials> </tutorials> <demos> </demos> <methods> - <method name="add_peer"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - </description> - </method> <method name="clear"> <return type="void"> </return> <description> - </description> - </method> - <method name="connected_to_server"> - <return type="void"> - </return> - <description> - </description> - </method> - <method name="connection_failed"> - <return type="void"> - </return> - <description> - </description> - </method> - <method name="del_peer"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> + Clears the current MultiplayerAPI network state (you shouldn't call this unless you know what you are doing). </description> </method> <method name="get_network_connected_peers" qualifiers="const"> <return type="PoolIntArray"> </return> <description> + Returns the peer IDs of all connected peers of this MultiplayerAPI's [member network_peer]. </description> </method> <method name="get_network_unique_id" qualifiers="const"> <return type="int"> </return> <description> + Returns the unique peer ID of this MultiplayerAPI's [member network_peer]. </description> </method> <method name="get_rpc_sender_id" qualifiers="const"> <return type="int"> </return> <description> + Returns the sender's peer ID for the RPC currently being executed. + NOTE: If not inside an RPC this method will return 0. </description> </method> <method name="has_network_peer" qualifiers="const"> <return type="bool"> </return> <description> + Returns [code]true[/code] if there is a [member network_peer] set. </description> </method> <method name="is_network_server" qualifiers="const"> <return type="bool"> </return> <description> + Returns [code]true[/code] if this MultiplayerAPI's [member network_peer] is in server mode (listening for connections). </description> </method> <method name="poll"> <return type="void"> </return> <description> + Method used for polling the MultiplayerAPI. You only need to worry about this if you are using [member Node.custom_multiplayer] override or you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default [SceneTree] will poll its MultiplayerAPI for you. + NOTE: This method results in RPCs and RSETs being called, so they will be executed in the same context of this function (e.g. [code]_process[/code], [code]physics[/code], [Thread]). </description> </method> - <method name="server_disconnected"> - <return type="void"> + <method name="send_bytes"> + <return type="int" enum="Error"> </return> + <argument index="0" name="bytes" type="PoolByteArray"> + </argument> + <argument index="1" name="id" type="int" default="0"> + </argument> <description> + Sends the given raw [code]bytes[/code] to a specific peer identified by [code]id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). Default ID is [code]0[/code], i.e. broadcast to all peers. </description> </method> <method name="set_root_node"> @@ -91,41 +81,83 @@ <argument index="0" name="node" type="Node"> </argument> <description> + Sets the base root node to use for RPCs. Instead of an absolute path, a relative path will be used to find the node upon which the RPC should be executed. + This effectively allows to have different branches of the scene tree to be managed by different MultiplayerAPI, allowing for example to run both client and server in the same scene. </description> </method> </methods> <members> <member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer"> + The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to slave. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals. </member> <member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections"> + If [code]true[/code] the MultiplayerAPI's [member network_peer] refuses new incoming connections. </member> </members> <signals> <signal name="connected_to_server"> <description> + Emitted whenever this MultiplayerAPI's [member network_peer] successfully connected to a server. Only emitted on clients. </description> </signal> <signal name="connection_failed"> <description> + Emitted whenever this MultiplayerAPI's [member network_peer] fails to establish a connection to a server. Only emitted on clients. </description> </signal> <signal name="network_peer_connected"> <argument index="0" name="id" type="int"> </argument> <description> + Emitted whenever this MultiplayerAPI's [member network_peer] connects with a new peer. ID is the peer ID of the new peer. Clients get notified when other clients connect to the same server. Upon connecting to a server, a client also receives this signal for the server (with ID being 1). </description> </signal> <signal name="network_peer_disconnected"> <argument index="0" name="id" type="int"> </argument> <description> + Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server. + </description> + </signal> + <signal name="network_peer_packet"> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="packet" type="PoolByteArray"> + </argument> + <description> + Emitted whenever this MultiplayerAPI's [member network_peer] receive a [code]packet[/code] with custom data (see [method send_bytes]). ID is the peer ID of the peer that sent the packet. </description> </signal> <signal name="server_disconnected"> <description> + Emitted whenever this MultiplayerAPI's [member network_peer] disconnects from server. Only emitted on clients. </description> </signal> </signals> <constants> + <constant name="RPC_MODE_DISABLED" value="0" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to disable a method or property for all RPC calls, making it unavailable. Default for all methods. + </constant> + <constant name="RPC_MODE_REMOTE" value="1" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on the remote end, not locally. Analogous to the [code]remote[/code] keyword. Calls and property changes are accepted from all remote peers, no matter if they are node's master or slaves. + </constant> + <constant name="RPC_MODE_SYNC" value="2" enum="RPCMode"> + Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Analogous to the [code]sync[/code] keyword. + </constant> + <constant name="RPC_MODE_MASTER" value="3" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on the network master for this node. Analogous to the [code]master[/code] keyword. Only accepts calls or property changes from the node's network slaves, see [method Node.set_network_master]. + </constant> + <constant name="RPC_MODE_SLAVE" value="4" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on slaves for this node. Analogous to the [code]slave[/code] keyword. Only accepts calls or property changes from the node's network master, see [method Node.set_network_master]. + </constant> + <constant name="RPC_MODE_REMOTESYNC" value="5" enum="RPCMode"> + Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Same as [code]RPC_MODE_SYNC[/code] which is only kept for compatibility. Analogous to the [code]remotesync[/code] keyword. + </constant> + <constant name="RPC_MODE_MASTERSYNC" value="6" enum="RPCMode"> + Behave like [code]RPC_MODE_MASTER[/code] but also make the call or property change locally. Analogous to the [code]mastersync[/code] keyword. + </constant> + <constant name="RPC_MODE_SLAVESYNC" value="7" enum="RPCMode"> + Behave like [code]RPC_MODE_SLAVE[/code] but also make the call or property change locally. Analogous to the [code]slavesync[/code] keyword. + </constant> </constants> </class> diff --git a/doc/classes/NetworkedMultiplayerPeer.xml b/doc/classes/NetworkedMultiplayerPeer.xml index 71614c5f76..e878b3a746 100644 --- a/doc/classes/NetworkedMultiplayerPeer.xml +++ b/doc/classes/NetworkedMultiplayerPeer.xml @@ -7,7 +7,7 @@ Manages the connection to network peers. Assigns unique IDs to each client connected to the server. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/networking/high_level_multiplayer.html + <link>http://docs.godotengine.org/en/3.0/tutorials/networking/high_level_multiplayer.html</link> </tutorials> <demos> </demos> @@ -46,7 +46,8 @@ <argument index="0" name="id" type="int"> </argument> <description> - The peer to which packets will be sent. Default value: [code]0[/code]. + Sets the peer to which packets will be sent. + The [code]id[/code] can be one of: [code]TARGET_PEER_BROADCAST[/code] to send to all connected peers, [code]TARGET_PEER_SERVER[/code] to send to the peer acting as server, a valid peer ID to send to that specific peer, a negative peer ID to send to all peers except that one. Default: [code]TARGET_PEER_BROADCAST[/code] </description> </method> </methods> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index d43885a9d9..8bae412053 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -17,7 +17,7 @@ [b]Networking with nodes:[/b] After connecting to a server (or making one, see [NetworkedMultiplayerENet]) it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling [method rpc] with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections). To identify which node receives the RPC call Godot will use its [NodePath] (make sure node names are the same on all peers). Also take a look at the high-level networking tutorial and corresponding demos. </description> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scenes_and_nodes.html + <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scenes_and_nodes.html</link> </tutorials> <demos> </demos> @@ -572,10 +572,10 @@ </return> <argument index="0" name="method" type="String"> </argument> - <argument index="1" name="mode" type="int" enum="Node.RPCMode"> + <argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode"> </argument> <description> - Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, methods are not exposed to networking (and RPCs). Also see [method rset] and [method rset_config] for properties. + Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, methods are not exposed to networking (and RPCs). Also see [method rset] and [method rset_config] for properties. </description> </method> <method name="rpc_id" qualifiers="vararg"> @@ -586,7 +586,7 @@ <argument index="1" name="method" type="String"> </argument> <description> - Sends a [method rpc] to a specific peer identified by [code]peer_id[/code]. Returns an empty [Variant]. + Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant]. </description> </method> <method name="rpc_unreliable" qualifiers="vararg"> @@ -606,7 +606,7 @@ <argument index="1" name="method" type="String"> </argument> <description> - Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] using an unreliable protocol. Returns an empty [Variant]. + Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant]. </description> </method> <method name="rset"> @@ -625,10 +625,10 @@ </return> <argument index="0" name="property" type="String"> </argument> - <argument index="1" name="mode" type="int" enum="Node.RPCMode"> + <argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode"> </argument> <description> - Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, properties are not exposed to networking (and RPCs). Also see [method rpc] and [method rpc_config] for methods. + Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, properties are not exposed to networking (and RPCs). Also see [method rpc] and [method rpc_config] for methods. </description> </method> <method name="rset_id"> @@ -641,7 +641,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Remotely changes the property's value on a specific peer identified by [code]peer_id[/code]. + Remotely changes the property's value on a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). </description> </method> <method name="rset_unreliable"> @@ -665,7 +665,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Remotely changes property's value on a specific peer identified by [code]peer_id[/code] using an unreliable protocol. + Remotely changes property's value on a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]). </description> </method> <method name="set_display_folded"> @@ -703,7 +703,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method]_physics_process[/code] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes behaviour. + Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method _physics_process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes behaviour. </description> </method> <method name="set_process"> @@ -730,7 +730,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method]_process[/code] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes behaviour. + Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method _process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes behaviour. </description> </method> <method name="set_process_unhandled_input"> @@ -762,12 +762,14 @@ </method> </methods> <members> - <member name="custom_multiplayer_api" type="MultiplayerAPI" setter="set_custom_multiplayer_api" getter="get_custom_multiplayer_api"> + <member name="custom_multiplayer" type="MultiplayerAPI" setter="set_custom_multiplayer" getter="get_custom_multiplayer"> + The override to the default [MultiplayerAPI]. Set to null to use the default SceneTree one. </member> <member name="filename" type="String" setter="set_filename" getter="get_filename"> When a scene is instanced from a file, its topmost node contains the filename from which it was loaded. </member> - <member name="multiplayer_api" type="MultiplayerAPI" setter="" getter="get_multiplayer_api"> + <member name="multiplayer" type="MultiplayerAPI" setter="" getter="get_multiplayer"> + The [MultiplayerAPI] instance associated with this node. Either the [member custom_multiplayer], or the default SceneTree one (if inside tree). </member> <member name="name" type="String" setter="set_name" getter="get_name"> The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed @@ -858,21 +860,6 @@ <constant name="NOTIFICATION_INTERNAL_PHYSICS_PROCESS" value="26"> Notification received every frame when the internal physics process flag is set (see [method set_physics_process_internal]). </constant> - <constant name="RPC_MODE_DISABLED" value="0" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to disable a method or property for all RPC calls, making it unavailable. Default for all methods. - </constant> - <constant name="RPC_MODE_REMOTE" value="1" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed only on the remote end, not locally. Analogous to the [code]remote[/code] keyword. - </constant> - <constant name="RPC_MODE_SYNC" value="2" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed both on the remote end and locally. Analogous to the [code]sync[/code] keyword. - </constant> - <constant name="RPC_MODE_MASTER" value="3" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed only on the network master for this node. Analogous to the [code]master[/code] keyword. See [method set_network_master]. - </constant> - <constant name="RPC_MODE_SLAVE" value="4" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed only on slaves for this node. Analogous to the [code]slave[/code] keyword. See [method set_network_master]. - </constant> <constant name="PAUSE_MODE_INHERIT" value="0" enum="PauseMode"> Inherits pause mode from the node's parent. For the root node, it is equivalent to PAUSE_MODE_STOP. Default. </constant> diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml index a61678041f..13eabeca17 100644 --- a/doc/classes/Node2D.xml +++ b/doc/classes/Node2D.xml @@ -7,7 +7,7 @@ A 2D game object, with a position, rotation and scale. All 2D physics nodes and sprites inherit from Node2D. Use Node2D as a parent node to move, scale and rotate children in a 2D project. Also gives control on the node's render order. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/2d/custom_drawing_in_2d.html + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/custom_drawing_in_2d.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index d38a89874c..1526b1be8c 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -94,17 +94,24 @@ <argument index="3" name="output" type="Array" default="[ ]"> </argument> <description> - Execute the file at the given path, optionally blocking until it returns. - Platform path resolution will take place. The resolved file must exist and be executable. - Returns a process id. - For example: + Execute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable. + The arguments are used in the given order and separated by a space, so [code]OS.execute('ping', ['-c', '3', 'godotengine.org'])[/code] will resolve to [code]ping -c 3 godotengine.org[/code] in the system's shell. + This method has slightly different behaviour based on whether the [code]blocking[/code] mode is enabled. + When [code]blocking[/code] is enabled, the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the [code]output[/code] array as a single string. When the process terminates, the Godot thread will resume execution. + When [code]blocking[/code] is disabled, the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so [code]output[/code] will be empty. + The return value also depends on the blocking mode. When blocking, the method will return -2 (no process ID information is available in blocking mode). When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return -1. + Example of blocking mode and retrieving the shell output: [codeblock] var output = [] - var pid = OS.execute('ls', [], true, output) + OS.execute('ls', ['-l', '/tmp'], true, output) [/codeblock] - If you wish to access a shell built-in or perform a composite command, a platform specific shell can be invoked. For example: + Example of non-blocking mode, running another instance of the project and storing its process ID: [codeblock] - var pid = OS.execute('CMD.exe', ['/C', 'cd %TEMP% && dir'], true, output) + var pid = OS.execute(OS.get_executable_path(), [], false) + [/codeblock] + If you wish to access a shell built-in or perform a composite command, a platform-specific shell can be invoked. For example: + [codeblock] + OS.execute('CMD.exe', ['/C', 'cd %TEMP% && dir'], true, output) [/codeblock] </description> </method> @@ -285,7 +292,6 @@ </argument> <description> Returns the dots per inch density of the specified screen. - On Android Devices, the actual screen densities are grouped into six generalized densities: ldpi - 120 dpi mdpi - 160 dpi @@ -356,6 +362,13 @@ Returns the amount of time passed in milliseconds since the engine started. </description> </method> + <method name="get_ticks_usec" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the amount of time passed in microseconds since the engine started. + </description> + </method> <method name="get_time" qualifiers="const"> <return type="Dictionary"> </return> @@ -430,6 +443,12 @@ Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or it is currently hidden. </description> </method> + <method name="get_window_safe_area" qualifiers="const"> + <return type="Rect2"> + </return> + <description> + </description> + </method> <method name="has_environment" qualifiers="const"> <return type="bool"> </return> @@ -521,7 +540,8 @@ <argument index="0" name="pid" type="int"> </argument> <description> - Kill a process ID (this method can be used to kill processes that were not spawned by the game). + Kill (terminate) the process identified by the given process ID ([code]pid[/code]), e.g. the one returned by [method execute] in non-blocking mode. + Note that this method can also be used to kill processes that were not spawned by the game. </description> </method> <method name="native_video_is_playing"> @@ -698,7 +718,7 @@ <member name="low_processor_usage_mode" type="bool" setter="set_low_processor_usage_mode" getter="is_in_low_processor_usage_mode"> If [code]true[/code] the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile. </member> - <member name="screen_orientation" type="int" setter="set_screen_orientation" getter="get_screen_orientation" enum="OS.ScreenOrientation"> + <member name="screen_orientation" type="int" setter="set_screen_orientation" getter="get_screen_orientation" enum="_OS.ScreenOrientation"> The current screen orientation. </member> <member name="vsync_enabled" type="bool" setter="set_use_vsync" getter="is_vsync_enabled"> @@ -716,6 +736,8 @@ <member name="window_minimized" type="bool" setter="set_window_minimized" getter="is_window_minimized"> If [code]true[/code] the window is minimized. </member> + <member name="window_per_pixel_transparency_enabled" type="bool" setter="set_window_per_pixel_transparency_enabled" getter="get_window_per_pixel_transparency_enabled"> + </member> <member name="window_position" type="Vector2" setter="set_window_position" getter="get_window_position"> The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right. </member> diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index 0717836366..ab49bc468c 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -16,7 +16,7 @@ </demos> <methods> <method name="_get" qualifiers="virtual"> - <return type="void"> + <return type="Variant"> </return> <argument index="0" name="property" type="String"> </argument> diff --git a/doc/classes/OmniLight.xml b/doc/classes/OmniLight.xml index 0ed133f52e..ff2e77ffbe 100644 --- a/doc/classes/OmniLight.xml +++ b/doc/classes/OmniLight.xml @@ -7,7 +7,7 @@ An OmniDirectional light is a type of [Light] node that emits lights in all directions. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index 8cb53dd98e..c58c932b61 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -18,7 +18,7 @@ </argument> <argument index="1" name="label" type="String"> </argument> - <argument index="2" name="id" type="int"> + <argument index="2" name="id" type="int" default="-1"> </argument> <description> Add an item, with a "texture" icon, text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end. diff --git a/doc/classes/OrientedPathFollow.xml b/doc/classes/OrientedPathFollow.xml new file mode 100644 index 0000000000..85d60936ad --- /dev/null +++ b/doc/classes/OrientedPathFollow.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="OrientedPathFollow" inherits="Spatial" category="Core" version="3.1"> + <brief_description> + Oriented point sampler for a [Path]. + </brief_description> + <description> + This node behaves like [PathFollow], except it uses its parent [Path] up vector information to enforce orientation. + Make sure to check if the curve of this node's parent [Path] has up vectors enabled. See [PathFollow] and [Curve3D] for further information. + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + </methods> + <members> + <member name="cubic_interp" type="bool" setter="set_cubic_interpolation" getter="get_cubic_interpolation"> + If [code]true[/code] the position between two cached points is interpolated cubically, and linearly otherwise. + The points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough. + There are two answers to this problem: Either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations. + </member> + <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset"> + The node's offset along the curve. + </member> + <member name="loop" type="bool" setter="set_loop" getter="has_loop"> + If [code]true[/code], any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths. + </member> + <member name="offset" type="float" setter="set_offset" getter="get_offset"> + The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path. + </member> + <member name="unit_offset" type="float" setter="set_unit_offset" getter="get_unit_offset"> + The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length. + </member> + <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset"> + The node's offset perpendicular to the curve. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml index 1b821e06cf..d4e3d17de6 100644 --- a/doc/classes/PacketPeerUDP.xml +++ b/doc/classes/PacketPeerUDP.xml @@ -22,14 +22,14 @@ <return type="String"> </return> <description> - Return the IP of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]). + Return the IP of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var]). </description> </method> <method name="get_packet_port" qualifiers="const"> <return type="int"> </return> <description> - Return the port of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]). + Return the port of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var]). </description> </method> <method name="is_listening" qualifiers="const"> diff --git a/doc/classes/PanoramaSky.xml b/doc/classes/PanoramaSky.xml index eb288d13be..402e65c573 100644 --- a/doc/classes/PanoramaSky.xml +++ b/doc/classes/PanoramaSky.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PanoramaSky" inherits="Sky" category="Core" version="3.1"> <brief_description> + A type of [Sky] used to draw a background texture. </brief_description> <description> + A resource referenced in an [Environment] that is used to draw a background. The Panorama sky functions similar to skyboxes in other engines except it uses a equirectangular sky map instead of a cube map. </description> <tutorials> </tutorials> @@ -12,6 +14,7 @@ </methods> <members> <member name="panorama" type="Texture" setter="set_panorama" getter="get_panorama"> + [Texture] to be applied to the PanoramaSky. </member> </members> <constants> diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml index 04177aca25..b03cf6cadb 100644 --- a/doc/classes/Particles.xml +++ b/doc/classes/Particles.xml @@ -22,6 +22,7 @@ <return type="void"> </return> <description> + Restarts the particle emmission, clearing existing particles. </description> </method> </methods> @@ -33,14 +34,19 @@ Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [code]DRAW_ORDER_INDEX[/code]. </member> <member name="draw_pass_1" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh"> + [Mesh] that is drawn for the first draw pass. </member> <member name="draw_pass_2" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh"> + [Mesh] that is drawn for the second draw pass. </member> <member name="draw_pass_3" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh"> + [Mesh] that is drawn for the third draw pass. </member> <member name="draw_pass_4" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh"> + [Mesh] that is drawn for the fourth draw pass. </member> <member name="draw_passes" type="int" setter="set_draw_passes" getter="get_draw_passes"> + The number of draw passes when rendering particles. </member> <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting"> If [code]true[/code] particles are being emitted. Default value: [code]true[/code]. @@ -62,6 +68,7 @@ If [code]true[/code] only [code]amount[/code] particles will be emitted. Default value: [code]false[/code]. </member> <member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time"> + Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting. </member> <member name="process_material" type="Material" setter="set_process_material" getter="get_process_material"> [Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial]. @@ -73,6 +80,7 @@ Speed scaling ratio. Default value: [code]1[/code]. </member> <member name="visibility_aabb" type="AABB" setter="set_visibility_aabb" getter="get_visibility_aabb"> + The [AABB] that determines the area of the world part of which needs to be visible on screen for the particle system to be active. </member> </members> <constants> @@ -86,6 +94,7 @@ Particles are drawn in order of depth. </constant> <constant name="MAX_DRAW_PASSES" value="4"> + Maximum number of draw passes supported. </constant> </constants> </class> diff --git a/doc/classes/Path.xml b/doc/classes/Path.xml index 621a513da3..5ece747aaf 100644 --- a/doc/classes/Path.xml +++ b/doc/classes/Path.xml @@ -16,6 +16,12 @@ <member name="curve" type="Curve3D" setter="set_curve" getter="get_curve"> </member> </members> + <signals> + <signal name="curve_changed"> + <description> + </description> + </signal> + </signals> <constants> </constants> </class> diff --git a/doc/classes/PhysicalBone.xml b/doc/classes/PhysicalBone.xml new file mode 100644 index 0000000000..99f551b865 --- /dev/null +++ b/doc/classes/PhysicalBone.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicalBone" inherits="PhysicsBody" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="get_simulate_physics"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_simulating_physics"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_static_body"> + <return type="bool"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="body_offset" type="Transform" setter="set_body_offset" getter="get_body_offset"> + </member> + <member name="bounce" type="float" setter="set_bounce" getter="get_bounce"> + </member> + <member name="friction" type="float" setter="set_friction" getter="get_friction"> + </member> + <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale"> + </member> + <member name="joint_offset" type="Transform" setter="set_joint_offset" getter="get_joint_offset"> + </member> + <member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone.JointType"> + </member> + <member name="mass" type="float" setter="set_mass" getter="get_mass"> + </member> + <member name="weight" type="float" setter="set_weight" getter="get_weight"> + </member> + </members> + <constants> + <constant name="JOINT_TYPE_NONE" value="0" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_PIN" value="1" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_CONE" value="2" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_HINGE" value="3" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_SLIDER" value="4" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_6DOF" value="5" enum="JointType"> + </constant> + </constants> +</class> diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml index b55702dac4..f0fee77a5a 100644 --- a/doc/classes/Physics2DDirectSpaceState.xml +++ b/doc/classes/Physics2DDirectSpaceState.xml @@ -7,7 +7,7 @@ Direct access object to a space in the [Physics2DServer]. It's used mainly to do queries against objects and areas residing in a given space. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/Physics2DServer.xml index 98535dd330..c302797704 100644 --- a/doc/classes/Physics2DServer.xml +++ b/doc/classes/Physics2DServer.xml @@ -140,6 +140,18 @@ Removes a shape from an area. It does not delete the shape, so it can be reassigned later. </description> </method> + <method name="area_set_area_monitor_callback"> + <return type="void"> + </return> + <argument index="0" name="area" type="RID"> + </argument> + <argument index="1" name="receiver" type="Object"> + </argument> + <argument index="2" name="method" type="String"> + </argument> + <description> + </description> + </method> <method name="area_set_collision_layer"> <return type="void"> </return> @@ -180,6 +192,16 @@ 5: The shape index of the area where the object entered/exited. </description> </method> + <method name="area_set_monitorable"> + <return type="void"> + </return> + <argument index="0" name="area" type="RID"> + </argument> + <argument index="1" name="monitorable" type="bool"> + </argument> + <description> + </description> + </method> <method name="area_set_param"> <return type="void"> </return> @@ -566,7 +588,7 @@ <argument index="3" name="userdata" type="Variant" default="null"> </argument> <description> - Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force integration]). + Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force_integration]). </description> </method> <method name="body_set_max_contacts_reported"> @@ -688,7 +710,7 @@ <argument index="1" name="space" type="RID"> </argument> <description> - Assigns a space to the body (see [method create_space]). + Assigns a space to the body (see [method space_create]). </description> </method> <method name="body_set_state"> diff --git a/doc/classes/PhysicsBody.xml b/doc/classes/PhysicsBody.xml index e252aaa048..14053c6a35 100644 --- a/doc/classes/PhysicsBody.xml +++ b/doc/classes/PhysicsBody.xml @@ -7,7 +7,7 @@ PhysicsBody is an abstract base class for implementing a physics body. All *Body types inherit from it. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml index 42b1eac5e4..ccc704c7ec 100644 --- a/doc/classes/PhysicsBody2D.xml +++ b/doc/classes/PhysicsBody2D.xml @@ -7,7 +7,7 @@ PhysicsBody2D is an abstract base class for implementing a physics body. All *Body2D types inherit from it. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState.xml index fabf153dac..3f0e1a4f70 100644 --- a/doc/classes/PhysicsDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState.xml @@ -7,7 +7,7 @@ Direct access object to a space in the [PhysicsServer]. It's used mainly to do queries against objects and areas residing in a given space. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml index dd2c322ee3..6efbfdb519 100644 --- a/doc/classes/PhysicsServer.xml +++ b/doc/classes/PhysicsServer.xml @@ -149,6 +149,18 @@ Removes a shape from an area. It does not delete the shape, so it can be reassigned later. </description> </method> + <method name="area_set_area_monitor_callback"> + <return type="void"> + </return> + <argument index="0" name="area" type="RID"> + </argument> + <argument index="1" name="receiver" type="Object"> + </argument> + <argument index="2" name="method" type="String"> + </argument> + <description> + </description> + </method> <method name="area_set_collision_layer"> <return type="void"> </return> @@ -189,6 +201,16 @@ 5: The shape index of the area where the object entered/exited. </description> </method> + <method name="area_set_monitorable"> + <return type="void"> + </return> + <argument index="0" name="area" type="RID"> + </argument> + <argument index="1" name="monitorable" type="bool"> + </argument> + <description> + </description> + </method> <method name="area_set_param"> <return type="void"> </return> @@ -605,7 +627,7 @@ <argument index="3" name="userdata" type="Variant" default="null"> </argument> <description> - Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force integration]). + Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force_integration]). </description> </method> <method name="body_set_kinematic_safe_margin"> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index 157bf42239..6f616401cb 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -7,7 +7,7 @@ Plane represents a normalized plane equation. Basically, "normal" is the normal of the plane (a,b,c normalized), and "d" is the distance from the origin to the plane (in the direction of "normal"). "Over" or "Above" the plane is considered the side of the plane towards where the normal is pointing. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/math/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/math/index.html</link> </tutorials> <demos> </demos> @@ -24,7 +24,7 @@ <argument index="3" name="d" type="float"> </argument> <description> - Creates a plane from the three parameters "a", "b", "c" and "d". + Creates a plane from the four parameters "a", "b", "c" and "d". </description> </method> <method name="Plane"> diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml index 429114a128..bf4519fd0a 100644 --- a/doc/classes/Polygon2D.xml +++ b/doc/classes/Polygon2D.xml @@ -11,11 +11,79 @@ <demos> </demos> <methods> + <method name="add_bone"> + <return type="void"> + </return> + <argument index="0" name="path" type="NodePath"> + </argument> + <argument index="1" name="weights" type="PoolRealArray"> + </argument> + <description> + </description> + </method> + <method name="clear_bones"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="erase_bone"> + <return type="void"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_bone_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_bone_path" qualifiers="const"> + <return type="NodePath"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_bone_weights" qualifiers="const"> + <return type="PoolRealArray"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_bone_path"> + <return type="void"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <argument index="1" name="path" type="NodePath"> + </argument> + <description> + </description> + </method> + <method name="set_bone_weights"> + <return type="void"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <argument index="1" name="weights" type="PoolRealArray"> + </argument> + <description> + </description> + </method> </methods> <members> <member name="antialiased" type="bool" setter="set_antialiased" getter="get_antialiased"> If [code]true[/code] polygon edges will be anti-aliased. Default value: [code]false[/code]. </member> + <member name="bones" type="Array" setter="_set_bones" getter="_get_bones"> + </member> <member name="color" type="Color" setter="set_color" getter="get_color"> The polygon's fill color. If [code]texture[/code] is defined, it will be multiplied by this color. It will also be the default color for vertices not set in [code]vertex_colors[/code]. </member> @@ -31,6 +99,8 @@ <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon"> The polygon's list of vertices. The final point will be connected to the first. </member> + <member name="skeleton" type="NodePath" setter="set_skeleton" getter="get_skeleton"> + </member> <member name="splits" type="PoolIntArray" setter="set_splits" getter="get_splits"> </member> <member name="texture" type="Texture" setter="set_texture" getter="get_texture"> diff --git a/doc/classes/Popup.xml b/doc/classes/Popup.xml index db8d927c9e..ae5bce5d7d 100644 --- a/doc/classes/Popup.xml +++ b/doc/classes/Popup.xml @@ -50,7 +50,7 @@ </methods> <members> <member name="popup_exclusive" type="bool" setter="set_exclusive" getter="is_exclusive"> - If [code]true[/code] the popup will not be hidden when a click event occurs outside of it, or when it receives the [code]ui_cancel[/code] action event. + If [code]true[/code] the popup will not be hidden when a click event occurs outside of it, or when it receives the [code]ui_cancel[/code] action event. </member> </members> <signals> diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index 166a4be2b0..89d8c43c00 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -303,6 +303,14 @@ Return whether the item is a separator. If it is, it would be displayed as a line. </description> </method> + <method name="is_item_shortcut_disabled" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + </description> + </method> <method name="remove_item"> <return type="void"> </return> @@ -433,6 +441,16 @@ <description> </description> </method> + <method name="set_item_shortcut_disabled"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="disabled" type="bool"> + </argument> + <description> + </description> + </method> <method name="set_item_submenu"> <return type="void"> </return> diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml index c5bc3d6e47..0f0511258b 100644 --- a/doc/classes/PrimitiveMesh.xml +++ b/doc/classes/PrimitiveMesh.xml @@ -19,6 +19,10 @@ </method> </methods> <members> + <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb"> + </member> + <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces"> + </member> <member name="material" type="Material" setter="set_material" getter="get_material"> The current [Material] of the primitive mesh. </member> diff --git a/doc/classes/PrismMesh.xml b/doc/classes/PrismMesh.xml index 268395c37a..11815d299b 100644 --- a/doc/classes/PrismMesh.xml +++ b/doc/classes/PrismMesh.xml @@ -14,7 +14,7 @@ </methods> <members> <member name="left_to_right" type="float" setter="set_left_to_right" getter="get_left_to_right"> - Displacement of of the upper edge along the x-axis. 0.0 positions edge straight above the bottome left edge. Defaults to 0.5 (positioned on the midpoint). + Displacement of the upper edge along the x-axis. 0.0 positions edge straight above the bottome left edge. Defaults to 0.5 (positioned on the midpoint). </member> <member name="size" type="Vector3" setter="set_size" getter="get_size"> Size of the prism. Defaults to (2.0, 2.0, 2.0). diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml index 11af73f953..df0519b2ad 100644 --- a/doc/classes/ProceduralSky.xml +++ b/doc/classes/ProceduralSky.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ProceduralSky" inherits="Sky" category="Core" version="3.1"> <brief_description> + Type of [Sky] that is generated procedurally based on user input parameters. </brief_description> <description> + ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky. + The ProceduralSky is updated on the CPU after the parameters change and stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for realtime updates during gameplay. But with a small texture size it is still feasible to update relatively frequently becuase it is updated on a background thread when multi-threading is available. </description> <tutorials> </tutorials> @@ -12,36 +15,52 @@ </methods> <members> <member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color"> + Color of the ground at the bottom. </member> <member name="ground_curve" type="float" setter="set_ground_curve" getter="get_ground_curve"> + How quickly the [member ground_horizon_color] fades into the [member ground_bottom_color]. </member> <member name="ground_energy" type="float" setter="set_ground_energy" getter="get_ground_energy"> + Amount of energy contribution from the ground. </member> <member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color"> + Color of the ground at the horizon. </member> <member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve"> + How quickly the [member sky_horizon_color] fades into the [member sky_top_color]. </member> <member name="sky_energy" type="float" setter="set_sky_energy" getter="get_sky_energy"> + Amount of energy contribution from the sky. </member> <member name="sky_horizon_color" type="Color" setter="set_sky_horizon_color" getter="get_sky_horizon_color"> + Color of the sky at the horizon. </member> <member name="sky_top_color" type="Color" setter="set_sky_top_color" getter="get_sky_top_color"> + Color of the sky at the top. </member> <member name="sun_angle_max" type="float" setter="set_sun_angle_max" getter="get_sun_angle_max"> + Distance from center of sun where it fades out completely. </member> <member name="sun_angle_min" type="float" setter="set_sun_angle_min" getter="get_sun_angle_min"> + Distance from sun where it goes from solid to starting to fade. </member> <member name="sun_color" type="Color" setter="set_sun_color" getter="get_sun_color"> + Color of the sun. </member> <member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve"> + How quickly the sun fades away between [member sun_angle_min] and [member sun_angle_max] </member> <member name="sun_energy" type="float" setter="set_sun_energy" getter="get_sun_energy"> + Amount of energy contribution from the sun. </member> <member name="sun_latitude" type="float" setter="set_sun_latitude" getter="get_sun_latitude"> + The suns height using polar coordinates. </member> <member name="sun_longitude" type="float" setter="set_sun_longitude" getter="get_sun_longitude"> + The direction of the sun using polar coordinates. </member> <member name="texture_size" type="int" setter="set_texture_size" getter="get_texture_size" enum="ProceduralSky.TextureSize"> + Size of [Texture] that the ProceduralSky will generate. </member> </members> <constants> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 44bba8bd20..666f6b4710 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -156,6 +156,536 @@ </description> </method> </methods> + <members> + <member name="application/boot_splash/fullsize" type="bool" setter="" getter=""> + Scale the boot splash image to the full window length when engine starts (will leave it as default pixel size otherwise). + </member> + <member name="application/boot_splash/image" type="String" setter="" getter=""> + Path to an image used for boot splash. + </member> + <member name="application/config/custom_user_dir_name" type="String" setter="" getter=""> + This directory is used for storing persistent data (user:// filesystem). If a custom name is set, then system paths will be used to store this on Desktop (AppData on Windows, user ~/.config on Unixes, etc), else the Godot config folder is used. This name needs to be unique, and it's recommended to set it to something before publishing. + the "use_custom_user_dir" setting must be enabled for this to take effect. + </member> + <member name="application/config/icon" type="String" setter="" getter=""> + Icon used for the project, set when project loads. Exporters will use this icon when possible to. + </member> + <member name="application/config/name" type="String" setter="" getter=""> + Name of the project. It is used from both project manager and by the exporters. Overriding this as name.locale allows setting it in multiple languages. + </member> + <member name="application/config/use_custom_user_dir" type="bool" setter="" getter=""> + Allow the project to save to it's own custom user dir (in AppData on windows or ~/.config on unixes). This setting only works for desktop exporters. A name must be set in the "custom_user_dir_name" setting for this to take effect. + </member> + <member name="application/run/disable_stderr" type="bool" setter="" getter=""> + Disable printing to stderr on exported build. + </member> + <member name="application/run/disable_stdout" type="bool" setter="" getter=""> + Disable printing to stdout on exported build. + </member> + <member name="application/run/frame_delay_msec" type="int" setter="" getter=""> + Force a delay between frames in the main loop. This may be useful if you plan to disable vsync. + </member> + <member name="application/run/low_processor_mode" type="bool" setter="" getter=""> + Turn on low processor mode. This setting only works on desktops. The screen is not redrawn if nothing changes visually. This is meant for writing applications and editors, but is pretty useless (and can hurt performance) on games. + </member> + <member name="application/run/low_processor_mode_sleep_usec" type="int" setter="" getter=""> + Amount of sleeping between frames when the low_processor_mode is enabled. This effectively reduces CPU usage when this mode is enabled. + </member> + <member name="application/run/main_scene" type="String" setter="" getter=""> + Path to the main scene file that will be loaded when the project runs. + </member> + <member name="audio/channel_disable_threshold_db" type="float" setter="" getter=""> + Audio buses will disable automatically when sound goes below a given DB threshold for a given time. This saves CPU as effects assigned to that bus will no longer do any processing. + </member> + <member name="audio/channel_disable_time" type="float" setter="" getter=""> + Audio buses will disable automatically when sound goes below a given DB threshold for a given time. This saves CPU as effects assigned to that bus will no longer do any processing. + </member> + <member name="audio/driver" type="String" setter="" getter=""> + </member> + <member name="audio/mix_rate" type="int" setter="" getter=""> + Mix rate used for audio. In general, it's better to not touch this and leave it to the host operating system. + </member> + <member name="audio/output_latency" type="int" setter="" getter=""> + </member> + <member name="audio/video_delay_compensation_ms" type="int" setter="" getter=""> + Setting to harcode audio delay when playing video. Best to leave this untouched unless you know what you are doing. + </member> + <member name="compression/formats/gzip/compression_level" type="int" setter="" getter=""> + Default compression level for gzip. Affects compressed scenes and resources. + </member> + <member name="compression/formats/zlib/compression_level" type="int" setter="" getter=""> + Default compression level for zlib. Affects compressed scenes and resources. + </member> + <member name="compression/formats/zstd/compression_level" type="int" setter="" getter=""> + Default compression level for zstd. Affects compressed scenes and resources. + </member> + <member name="compression/formats/zstd/long_distance_matching" type="bool" setter="" getter=""> + Enable long distance matching in zstd. + </member> + <member name="compression/formats/zstd/window_log_size" type="int" setter="" getter=""> + </member> + <member name="debug/settings/crash_handler/message" type="String" setter="" getter=""> + </member> + <member name="debug/settings/fps/force_fps" type="int" setter="" getter=""> + </member> + <member name="debug/settings/gdscript/max_call_stack" type="int" setter="" getter=""> + Maximum call stack allowed for debugging GDScript. + </member> + <member name="debug/settings/profiler/max_functions" type="int" setter="" getter=""> + Maximum amount of functions per frame allowed when profiling. + </member> + <member name="debug/settings/stdout/print_fps" type="bool" setter="" getter=""> + Print frames per second to stdout. Not very useful in general. + </member> + <member name="debug/settings/stdout/verbose_stdout" type="bool" setter="" getter=""> + Print more information to stdout when running. It shows info such as memory leaks, which scenes and resources are being loaded, etc. + </member> + <member name="debug/settings/visual_script/max_call_stack" type="int" setter="" getter=""> + Maximum call stack in visual scripting, to avoid infinite recursion. + </member> + <member name="display/mouse_cursor/custom_image" type="String" setter="" getter=""> + Custom image for the mouse cursor. + </member> + <member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter=""> + Hotspot for the custom mouse cursor image. + </member> + <member name="display/window/allow_per_pixel_transparency" type="bool" setter="" getter=""> + Allow per pixel transparency in a Desktop window. This affects performance if not needed, so leave it off. + </member> + <member name="display/window/dpi/allow_hidpi" type="bool" setter="" getter=""> + Allow HiDPI display on Windows and OSX. On Desktop Linux, this can't be enabled or disabled. + </member> + <member name="display/window/energy_saving/keep_screen_on" type="bool" setter="" getter=""> + Force keep the screen on, so the screensaver does not take over. Works on Desktop and Mobile. + </member> + <member name="display/window/handheld/orientation" type="String" setter="" getter=""> + Default orientation for cell phone or tablet. + </member> + <member name="display/window/per_pixel_transparency" type="bool" setter="" getter=""> + </member> + <member name="display/window/per_pixel_transparency_splash" type="bool" setter="" getter=""> + </member> + <member name="display/window/size/always_on_top" type="bool" setter="" getter=""> + Force the window to be always on top. + </member> + <member name="display/window/size/borderless" type="bool" setter="" getter=""> + Force the window to be borderless. + </member> + <member name="display/window/size/fullscreen" type="bool" setter="" getter=""> + Set the window to full screen when it starts. + </member> + <member name="display/window/size/height" type="int" setter="" getter=""> + Set the main window height. On desktop, this is the default window size. Stretch mode settings use this also as a reference when enabled. + </member> + <member name="display/window/size/resizable" type="bool" setter="" getter=""> + Allow the window to be resizable by default. + </member> + <member name="display/window/size/test_height" type="int" setter="" getter=""> + Test a different height for the window. The main use for this is to test with stretch modes. + </member> + <member name="display/window/size/test_width" type="int" setter="" getter=""> + Test a different width for the window. The main use for this is to test with stretch modes. + </member> + <member name="display/window/size/width" type="int" setter="" getter=""> + Set the main window width. On desktop, this is the default window size. Stretch mode settings use this also as a reference when enabled. + </member> + <member name="display/window/vsync/use_vsync" type="bool" setter="" getter=""> + Use VSync. Don't be stupid, don't turn this off. + </member> + <member name="editor/active" type="bool" setter="" getter=""> + Internal editor setting, don't touch. + </member> + <member name="gui/common/default_scroll_deadzone" type="int" setter="" getter=""> + </member> + <member name="gui/common/swap_ok_cancel" type="bool" setter="" getter=""> + Enable swap OK and Cancel buttons on dialogs. This is because Windows/MacOS/Desktop Linux may use them in different order, so the GUI swaps them depending on the host OS. Disable this behavior by turning this setting off. + </member> + <member name="gui/theme/custom" type="String" setter="" getter=""> + Use a custom theme resource, set a path to it here. + </member> + <member name="gui/theme/custom_font" type="String" setter="" getter=""> + USe a custom default font resource, set a path to it here. + </member> + <member name="gui/theme/use_hidpi" type="bool" setter="" getter=""> + Make sure the theme used works with hidpi. + </member> + <member name="gui/timers/incremental_search_max_interval_msec" type="int" setter="" getter=""> + Timer setting for incremental search in Tree, IntemList, etc. controls. + </member> + <member name="gui/timers/text_edit_idle_detect_sec" type="int" setter="" getter=""> + Timer for detecting idle in the editor. + </member> + <member name="input/ui_accept" type="Array" setter="" getter=""> + </member> + <member name="input/ui_cancel" type="Array" setter="" getter=""> + </member> + <member name="input/ui_down" type="Array" setter="" getter=""> + </member> + <member name="input/ui_end" type="Array" setter="" getter=""> + </member> + <member name="input/ui_focus_next" type="Array" setter="" getter=""> + </member> + <member name="input/ui_focus_prev" type="Array" setter="" getter=""> + </member> + <member name="input/ui_home" type="Array" setter="" getter=""> + </member> + <member name="input/ui_left" type="Array" setter="" getter=""> + </member> + <member name="input/ui_page_down" type="Array" setter="" getter=""> + </member> + <member name="input/ui_page_up" type="Array" setter="" getter=""> + </member> + <member name="input/ui_right" type="Array" setter="" getter=""> + </member> + <member name="input/ui_select" type="Array" setter="" getter=""> + </member> + <member name="input/ui_up" type="Array" setter="" getter=""> + </member> + <member name="input_devices/pointing/emulate_mouse_from_touch" type="bool" setter="" getter=""> + </member> + <member name="input_devices/pointing/emulate_touch_from_mouse" type="bool" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_1" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_10" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_11" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_12" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_13" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_14" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_15" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_16" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_17" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_18" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_19" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_2" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_20" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_3" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_4" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_5" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_6" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_7" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_8" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_physics/layer_9" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_1" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_10" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_11" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_12" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_13" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_14" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_15" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_16" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_17" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_18" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_19" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_2" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_20" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_3" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_4" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_5" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_6" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_7" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_8" type="String" setter="" getter=""> + </member> + <member name="layer_names/2d_render/layer_9" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_1" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_10" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_11" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_12" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_13" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_14" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_15" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_16" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_17" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_18" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_19" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_2" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_20" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_3" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_4" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_5" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_6" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_7" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_8" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_physics/layer_9" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_1" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_10" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_11" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_12" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_13" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_14" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_15" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_16" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_17" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_18" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_19" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_2" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_20" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_3" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_4" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_5" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_6" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_7" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_8" type="String" setter="" getter=""> + </member> + <member name="layer_names/3d_render/layer_9" type="String" setter="" getter=""> + </member> + <member name="locale/fallback" type="String" setter="" getter=""> + </member> + <member name="locale/test" type="String" setter="" getter=""> + </member> + <member name="logging/file_logging/enable_file_logging" type="bool" setter="" getter=""> + Log all output to a file. + </member> + <member name="logging/file_logging/log_path" type="String" setter="" getter=""> + Path to logs withint he project. Using an user:// based path is recommended. + </member> + <member name="logging/file_logging/max_log_files" type="int" setter="" getter=""> + Amount of log files (used for rotation)/ + </member> + <member name="memory/limits/message_queue/max_size_kb" type="int" setter="" getter=""> + Godot uses a message queue to defer some function calls. If you run out of space on it (you will see an error), you can increase the size here. + </member> + <member name="memory/limits/multithreaded_server/rid_pool_prealloc" type="int" setter="" getter=""> + This is used by servers when used in multi threading mode (servers and visual). RIDs are preallocated to avoid stalling the server requesting them on threads. If servers get stalled too often when loading resources in a thread, increase this number. + </member> + <member name="network/limits/debugger_stdout/max_chars_per_second" type="int" setter="" getter=""> + Maximum amount of characters allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. + </member> + <member name="network/limits/debugger_stdout/max_errors_per_frame" type="int" setter="" getter=""> + Maximum amount of errors allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. + </member> + <member name="network/limits/debugger_stdout/max_messages_per_frame" type="int" setter="" getter=""> + Maximum amount of messages allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. + </member> + <member name="network/limits/packet_peer_stream/max_buffer_po2" type="int" setter="" getter=""> + Default size of packet peer stream for deserializing godot data. Over this size, data is dropped. + </member> + <member name="network/remote_fs/max_pages" type="int" setter="" getter=""> + Maximum amount of pages used for remote filesystem (used by debugging). + </member> + <member name="network/remote_fs/page_read_ahead" type="int" setter="" getter=""> + Amount of read ahead used by remote filesystem. Improves latency. + </member> + <member name="network/remote_fs/page_size" type="int" setter="" getter=""> + Page size used by remote filesystem. + </member> + <member name="network/ssl/certificates" type="String" setter="" getter=""> + If your game or application uses HTTPS, a certificates file is needed. It must be set here. + </member> + <member name="node/name_casing" type="int" setter="" getter=""> + When creating nodes names automatically, set the type of casing in this project. This is mostly an editor setting. + </member> + <member name="node/name_num_separator" type="int" setter="" getter=""> + What to use to separate node name from number. This is mostly an editor setting. + </member> + <member name="physics/2d/physics_engine" type="String" setter="" getter=""> + </member> + <member name="physics/2d/thread_model" type="int" setter="" getter=""> + Set whether physics is run on the main thread or a separate one. Running the server on a thread increases performance, but restricts API Access to only physics process. + </member> + <member name="physics/3d/physics_engine" type="String" setter="" getter=""> + </member> + <member name="physics/common/physics_fps" type="int" setter="" getter=""> + Frames per second used in the physics. Physics always needs a fixed amount of frames per second. + </member> + <member name="physics/common/physics_jitter_fix" type="float" setter="" getter=""> + Fix to improve physics jitter, specially on monitors where refresh rate is different than physics FPS. + </member> + <member name="rendering/environment/default_clear_color" type="Color" setter="" getter=""> + Default background clear color. + </member> + <member name="rendering/limits/buffers/blend_shape_max_buffer_size_kb" type="int" setter="" getter=""> + Max buffer size for blend shapes. Any blend shape bigger than this will not work. + </member> + <member name="rendering/limits/buffers/canvas_polygon_buffer_size_kb" type="int" setter="" getter=""> + Max buffer size for drawing polygons. Any polygon bigger than this will not work. + </member> + <member name="rendering/limits/buffers/canvas_polygon_index_buffer_size_kb" type="int" setter="" getter=""> + Max index buffer size for drawing polygons. Any polygon bigger than this will not work. + </member> + <member name="rendering/limits/buffers/immediate_buffer_size_kb" type="int" setter="" getter=""> + Max buffer size for drawing immediate objects (ImmediateGeometry nodes). Nodes using more than this size will not work. + </member> + <member name="rendering/limits/rendering/max_renderable_elements" type="int" setter="" getter=""> + Max amount of elements renderable in a frame. If more than this are visible per frame, they will be dropped. Keep in mind elements refer to mesh surfaces and not mesh themselves. + </member> + <member name="rendering/limits/time/time_rollover_secs" type="int" setter="" getter=""> + Shaders have a time variable that constantly increases. At some point it needs to be rolled back to zero to avoid numerical errors on shader animations. This setting specifies when. + </member> + <member name="rendering/quality/2d/use_pixel_snap" type="bool" setter="" getter=""> + Force snapping of polygons to pixels in 2D rendering. May help in some pixel art styles. + </member> + <member name="rendering/quality/depth_prepass/disable_for_vendors" type="String" setter="" getter=""> + Disable depth pre-pass for some GPU vendors (usually mobile), as their architecture already does this. + </member> + <member name="rendering/quality/depth_prepass/enable" type="bool" setter="" getter=""> + Do a previous depth pass before rendering materials. This increases performance in scenes with high overdraw, when complex materials and lighting are used. + </member> + <member name="rendering/quality/directional_shadow/size" type="int" setter="" getter=""> + Size in pixels of the directional shadow. + </member> + <member name="rendering/quality/directional_shadow/size.mobile" type="int" setter="" getter=""> + </member> + <member name="rendering/quality/driver/driver_name" type="String" setter="" getter=""> + </member> + <member name="rendering/quality/filters/anisotropic_filter_level" type="int" setter="" getter=""> + Maximum Anisotropic filter level used for textures when anisotropy enabled. + </member> + <member name="rendering/quality/filters/use_nearest_mipmap_filter" type="bool" setter="" getter=""> + Force to use nearest mipmap filtering when using mipmaps. This may increase performance in mobile as less memory bandwidth is used. + </member> + <member name="rendering/quality/intended_usage/framebuffer_allocation" type="int" setter="" getter=""> + Strategy used for framebuffer allocation. The simpler it is, the less memory it uses (but the least features it supports). + </member> + <member name="rendering/quality/intended_usage/framebuffer_allocation.mobile" type="int" setter="" getter=""> + </member> + <member name="rendering/quality/intended_usage/framebuffer_mode" type="int" setter="" getter=""> + </member> + <member name="rendering/quality/reflections/high_quality_ggx" type="bool" setter="" getter=""> + For reflection probes and panorama backgrounds (sky), use a high amount of samples to create ggx blurred versions (used for roughness). + </member> + <member name="rendering/quality/reflections/high_quality_ggx.mobile" type="bool" setter="" getter=""> + </member> + <member name="rendering/quality/reflections/texture_array_reflections" type="bool" setter="" getter=""> + For reflection probes and panorama backgrounds (sky), use a texure array instead of mipmaps. This reduces jitter noise on reflections, but costs more performance and memory. + </member> + <member name="rendering/quality/reflections/texture_array_reflections.mobile" type="bool" setter="" getter=""> + </member> + <member name="rendering/quality/shading/force_vertex_shading" type="bool" setter="" getter=""> + Force vertex shading for all rendering. This can increase performance a lot, but also reduces quality inmensely. Can work to optimize on very low end mobile. + </member> + <member name="rendering/quality/shading/force_vertex_shading.mobile" type="bool" setter="" getter=""> + </member> + <member name="rendering/quality/shadow_atlas/quadrant_0_subdiv" type="int" setter="" getter=""> + Subdivision quadrant size for shadow mapping. See shadow mapping documentation. + </member> + <member name="rendering/quality/shadow_atlas/quadrant_1_subdiv" type="int" setter="" getter=""> + Subdivision quadrant size for shadow mapping. See shadow mapping documentation. + </member> + <member name="rendering/quality/shadow_atlas/quadrant_2_subdiv" type="int" setter="" getter=""> + Subdivision quadrant size for shadow mapping. See shadow mapping documentation. + </member> + <member name="rendering/quality/shadow_atlas/quadrant_3_subdiv" type="int" setter="" getter=""> + Subdivision quadrant size for shadow mapping. See shadow mapping documentation. + </member> + <member name="rendering/quality/shadow_atlas/size" type="int" setter="" getter=""> + Size for shadow atlas (used for point and omni lights). See documentation. + </member> + <member name="rendering/quality/shadow_atlas/size.mobile" type="int" setter="" getter=""> + </member> + <member name="rendering/quality/shadows/filter_mode" type="int" setter="" getter=""> + Shadow filter mode. The more complex the filter, the more memory bandwidth required. + </member> + <member name="rendering/quality/shadows/filter_mode.mobile" type="int" setter="" getter=""> + </member> + <member name="rendering/quality/subsurface_scattering/follow_surface" type="bool" setter="" getter=""> + Improves quality of subsurface scattering, but cost significantly increases. + </member> + <member name="rendering/quality/subsurface_scattering/quality" type="int" setter="" getter=""> + Quality setting for subsurface scaterring (samples taken). + </member> + <member name="rendering/quality/subsurface_scattering/scale" type="int" setter="" getter=""> + </member> + <member name="rendering/quality/subsurface_scattering/weight_samples" type="bool" setter="" getter=""> + Weight subsurface scattering samples. Helps to avoid reading samples from unrelated parts of the screen. + </member> + <member name="rendering/quality/voxel_cone_tracing/high_quality" type="bool" setter="" getter=""> + Use high quality voxel cone tracing (looks better, but requires a higher end GPU). + </member> + <member name="rendering/threads/thread_model" type="int" setter="" getter=""> + Thread model for rendering. Rendering on a thread can vastly improve performance, but syncinc to the main thread can cause a bit more jitter. + </member> + <member name="rendering/vram_compression/import_etc" type="bool" setter="" getter=""> + If the project uses this compression (usually low end mobile), texture importer will import these. + </member> + <member name="rendering/vram_compression/import_etc2" type="bool" setter="" getter=""> + If the project uses this compression (usually high end mobile), texture importer will import these. + </member> + <member name="rendering/vram_compression/import_pvrtc" type="bool" setter="" getter=""> + If the project uses this compression (usually iOS), texture importer will import these. + </member> + <member name="rendering/vram_compression/import_s3tc" type="bool" setter="" getter=""> + If the project uses this compression (usually Desktop and Consoles), texture importer will import these. + </member> + <member name="script" type="Script" setter="" getter=""> + </member> + </members> <constants> </constants> </class> diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml index 33f2b9758b..c755e6b02a 100644 --- a/doc/classes/Quat.xml +++ b/doc/classes/Quat.xml @@ -4,13 +4,13 @@ Quaternion. </brief_description> <description> - A 4-dimensional vector representing a rotation. - The vector represents a 4 dimensional complex number where multiplication of the basis elements is not commutative (multiplying i with j gives a different result than multiplying j with i). - Multiplying quaternions reproduces rotation sequences. However quaternions need to be often renormalized, or else they suffer from precision issues. - It can be used to perform SLERP (spherical-linear interpolation) between two rotations. + A unit quaternion used for representing 3D rotations. + It is similar to [Basis], which implements matrix representation of rotations, and can be parametrized using both an axis-angle pair or Euler angles. But due to its compactness and the way it is stored in memory, certain operations (obtaining axis-angle and performing SLERP, in particular) are more efficient and robust against floating point errors. + Quaternions need to be (re)normalized. </description> <tutorials> - http://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html#interpolating-with-quaternions + <link>http://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html#interpolating-with-quaternions</link> + <link>http://docs.godotengine.org/en/latest/tutorials/math/rotations.html</link> </tutorials> <demos> </demos> @@ -18,16 +18,19 @@ <method name="Quat"> <return type="Quat"> </return> - <argument index="0" name="x" type="float"> - </argument> - <argument index="1" name="y" type="float"> - </argument> - <argument index="2" name="z" type="float"> + <argument index="0" name="from" type="Basis"> </argument> - <argument index="3" name="w" type="float"> + <description> + Returns the rotation matrix corresponding to the given quaternion. + </description> + </method> + <method name="Quat"> + <return type="Quat"> + </return> + <argument index="0" name="euler" type="Vector3"> </argument> <description> - Returns a quaternion defined by these values. + Returns a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X-angle, Y-angle, Z-angle). </description> </method> <method name="Quat"> @@ -44,10 +47,16 @@ <method name="Quat"> <return type="Quat"> </return> - <argument index="0" name="from" type="Basis"> + <argument index="0" name="x" type="float"> + </argument> + <argument index="1" name="y" type="float"> + </argument> + <argument index="2" name="z" type="float"> + </argument> + <argument index="3" name="w" type="float"> </argument> <description> - Returns the rotation matrix corresponding to the given quaternion. + Returns a quaternion defined by these values. </description> </method> <method name="cubic_slerp"> @@ -74,6 +83,13 @@ Returns the dot product of two quaternions. </description> </method> + <method name="get_euler"> + <return type="Vector3"> + </return> + <description> + Return Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X-angle, Y-angle, Z-angle). + </description> + </method> <method name="inverse"> <return type="Quat"> </return> @@ -109,6 +125,22 @@ Returns a copy of the quaternion, normalized to unit length. </description> </method> + <method name="set_axis_angle"> + <argument index="0" name="axis" type="Vector3"> + </argument> + <argument index="1" name="angle" type="float"> + </argument> + <description> + Set the quaternion to a rotation which rotates around axis by the specified angle, in radians. The axis must be a normalized vector. + </description> + </method> + <method name="set_euler"> + <argument index="0" name="euler" type="Vector3"> + </argument> + <description> + Set the quaternion to a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X-angle, Y-angle, Z-angle). + </description> + </method> <method name="slerp"> <return type="Quat"> </return> diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml index 545f5cc83b..fa7e20eff6 100644 --- a/doc/classes/Range.xml +++ b/doc/classes/Range.xml @@ -29,6 +29,10 @@ </method> </methods> <members> + <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed"> + </member> + <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed"> + </member> <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp"> If [code]true[/code] and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly. </member> diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml index 1961aee8b5..1eea940da9 100644 --- a/doc/classes/Rect2.xml +++ b/doc/classes/Rect2.xml @@ -7,7 +7,7 @@ Rect2 consists of a position, a size, and several utility functions. It is typically used for fast overlap tests. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/math/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/math/index.html</link> </tutorials> <demos> </demos> @@ -42,6 +42,7 @@ <return type="Rect2"> </return> <description> + Returns a [code]Rect2[/code] with equivalent position and area, modified so that the top-left corner is the origin and [code]width[/code] and [code]height[/code] are positive. </description> </method> <method name="clip"> diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml index 36a0c9cfda..a9a897ebaf 100644 --- a/doc/classes/ReflectionProbe.xml +++ b/doc/classes/ReflectionProbe.xml @@ -5,7 +5,7 @@ <description> </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/reflection_probes.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/reflection_probes.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index a6c63cfb76..618f2f42b2 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -8,7 +8,7 @@ Note that assignments to [member bbcode_text] clear the tag stack and reconstruct it from the property's contents. Any edits made to [member bbcode_text] will erase previous edits made from other manual sources such as [method append_bbcode] and the [code]push_*[/code] / [method pop] methods. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/gui/bbcode_in_richtextlabel.html + <link>http://docs.godotengine.org/en/3.0/tutorials/gui/bbcode_in_richtextlabel.html</link> </tutorials> <demos> </demos> @@ -47,6 +47,13 @@ Clears the tag stack and sets [member bbcode_text] to an empty string. </description> </method> + <method name="get_content_height"> + <return type="int"> + </return> + <description> + Returns the height of the content. + </description> + </method> <method name="get_line_count" qualifiers="const"> <return type="int"> </return> @@ -75,13 +82,6 @@ Returns the number of visible lines. </description> </method> - <method name="get_content_height"> - <return type="int"> - </return> - <description> - Returns the height of the content. - </description> - </method> <method name="newline"> <return type="void"> </return> @@ -328,12 +328,6 @@ </theme_item> <theme_item name="font_color_shadow" type="Color"> </theme_item> - <theme_item name="shadow_as_outline" type="int"> - </theme_item> - <theme_item name="shadow_offset_x" type="int"> - </theme_item> - <theme_item name="shadow_offset_y" type="int"> - </theme_item> <theme_item name="italics_font" type="Font"> </theme_item> <theme_item name="line_separation" type="int"> @@ -346,6 +340,12 @@ </theme_item> <theme_item name="selection_color" type="Color"> </theme_item> + <theme_item name="shadow_as_outline" type="int"> + </theme_item> + <theme_item name="shadow_offset_x" type="int"> + </theme_item> + <theme_item name="shadow_offset_y" type="int"> + </theme_item> <theme_item name="table_hseparation" type="int"> </theme_item> <theme_item name="table_vseparation" type="int"> diff --git a/doc/classes/RigidBody.xml b/doc/classes/RigidBody.xml index 3190aed5ed..4253560f67 100644 --- a/doc/classes/RigidBody.xml +++ b/doc/classes/RigidBody.xml @@ -10,7 +10,7 @@ If you need to override the default physics behavior, you can write a custom force integration. See [member custom_integrator]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index dec0cbbcc3..f5a19ede0c 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -7,8 +7,8 @@ As one of the most important classes, the [code]SceneTree[/code] manages the hierarchy of nodes in a scene as well as scenes themselves. Nodes can be added, retrieved and removed. The whole scene tree (and thus the current scene) can be paused. Scenes can be loaded, switched and reloaded. You can also use the SceneTree to organize your nodes into groups: every node can be assigned as many groups as you want to create, e.g. a "enemy" group. You can then iterate these groups or even call methods and set properties on all the group's members at once. </description> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scene_tree.html - http://docs.godotengine.org/en/3.0/tutorials/viewports/multiple_resolutions.html + <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scene_tree.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/viewports/multiple_resolutions.html</link> </tutorials> <demos> </demos> @@ -34,7 +34,7 @@ <argument index="2" name="method" type="String"> </argument> <description> - Calls [code]method[/code] on each member of the given group, respecting the given [enum GROUP_CALL] flags. + Calls [code]method[/code] on each member of the given group, respecting the given [enum GroupCallFlags]. </description> </method> <method name="change_scene"> @@ -160,7 +160,7 @@ <argument index="2" name="notification" type="int"> </argument> <description> - Sends the given notification to all members of the [code]group[/code], respecting the given [enum GROUP_CALL] flags. + Sends the given notification to all members of the [code]group[/code], respecting the given [enum GroupCallFlags]. </description> </method> <method name="queue_delete"> @@ -220,7 +220,7 @@ <argument index="3" name="value" type="Variant"> </argument> <description> - Sets the given [code]property[/code] to [code]value[/code] on all members of the given group, respecting the given [enum GROUP_CALL] flags. + Sets the given [code]property[/code] to [code]value[/code] on all members of the given group, respecting the given [enum GroupCallFlags]. </description> </method> <method name="set_input_as_handled"> @@ -266,7 +266,12 @@ <member name="edited_scene_root" type="Node" setter="set_edited_scene_root" getter="get_edited_scene_root"> The root of the edited scene. </member> - <member name="multiplayer_api" type="MultiplayerAPI" setter="set_multiplayer_api" getter="get_multiplayer_api"> + <member name="multiplayer" type="MultiplayerAPI" setter="set_multiplayer" getter="get_multiplayer"> + The default [MultiplayerAPI] instance for this SceneTree. + </member> + <member name="multiplayer_poll" type="bool" setter="set_multiplayer_poll_enabled" getter="is_multiplayer_poll_enabled"> + If [code]true[/code] (default) enable the automatic polling of the [MultiplayerAPI] for this SceneTree during [signal idle_frame]. + When [code]false[/code] you need to manually call [method MultiplayerAPI.poll] for processing network packets and delivering RPCs/RSETs. This allows to run RPCs/RSETs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protecion when accessing the [MultiplayerAPI] from threads. </member> <member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer"> The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the SceneTree will become a network server (check with [method is_network_server()]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to slave. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to SceneTree's signals. diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index 97f6a60f01..09c60afc2f 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -8,7 +8,7 @@ The 'new' 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> <tutorials> - http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scripting.html + <link>http://docs.godotengine.org/en/3.0/getting_started/step_by_step/scripting.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/ScriptCreateDialog.xml b/doc/classes/ScriptCreateDialog.xml new file mode 100644 index 0000000000..f09d282026 --- /dev/null +++ b/doc/classes/ScriptCreateDialog.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="ScriptCreateDialog" inherits="ConfirmationDialog" category="Core" version="3.1"> + <brief_description> + The Editor's popup dialog for creating new [Script] files. + </brief_description> + <description> + The ScriptCreateDialog creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling a [method popup]() method. + [codeblock] + func _ready(): + dialog.config("Node", "res://new_node.gd") # for in-engine types + dialog.config("\"res://base_node.gd\"", "res://derived_node.gd") # for script types + dialog.popup_centered() + [/codeblock] + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="config"> + <return type="void"> + </return> + <argument index="0" name="inherits" type="String"> + The dialog's "Inherits" field content. + </argument> + <argument index="1" name="path" type="String"> + The dialog's "Path" field content. + </argument> + <description> + Prefills required fields to configure the ScriptCreateDialog for use. + </description> + </method> + </methods> + <signals> + <signal name="script_created"> + <argument index="0" name="script" type="Object"> + </argument> + <description> + Emitted when the user clicks the OK button. + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml index 64b0fcfd83..02f58a88cb 100644 --- a/doc/classes/ScrollContainer.xml +++ b/doc/classes/ScrollContainer.xml @@ -11,6 +11,18 @@ <demos> </demos> <methods> + <method name="get_h_scrollbar"> + <return type="HScrollBar"> + </return> + <description> + </description> + </method> + <method name="get_v_scrollbar"> + <return type="VScrollBar"> + </return> + <description> + </description> + </method> </methods> <members> <member name="scroll_deadzone" type="int" setter="set_deadzone" getter="get_deadzone"> @@ -22,7 +34,7 @@ If [code]true[/code], enables horizontal scrolling. </member> <member name="scroll_vertical" type="int" setter="set_v_scroll" getter="get_v_scroll"> - The current horizontal scroll value. + The current vertical scroll value. </member> <member name="scroll_vertical_enabled" type="bool" setter="set_enable_v_scroll" getter="is_v_scroll_enabled"> If [code]true[/code], enables vertical scrolling. @@ -42,4 +54,8 @@ </signals> <constants> </constants> + <theme_items> + <theme_item name="bg" type="StyleBox"> + </theme_item> + </theme_items> </class> diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml index 732881c777..76049d8947 100644 --- a/doc/classes/Shader.xml +++ b/doc/classes/Shader.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Shader" inherits="Resource" category="Core" version="3.1"> <brief_description> - To be changed, ignore. + A custom shader program. </brief_description> <description> - To be changed, ignore. + This class allows you to define a custom shader program that can be used for various materials to render objects. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/shading/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/shading/index.html</link> </tutorials> <demos> </demos> @@ -24,6 +24,7 @@ <return type="int" enum="Shader.Mode"> </return> <description> + Returns the shader mode for the shader, eiter [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code] </description> </method> <method name="has_param" qualifiers="const"> diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml index 4767686a8f..5abba9fba9 100644 --- a/doc/classes/ShaderMaterial.xml +++ b/doc/classes/ShaderMaterial.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ShaderMaterial" inherits="Material" category="Core" version="3.1"> <brief_description> + A material that uses a custom [Shader] program. </brief_description> <description> + A material that uses a custom [Shader] program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader. </description> <tutorials> </tutorials> @@ -15,6 +17,7 @@ <argument index="0" name="param" type="String"> </argument> <description> + Returns the current value set for this material of a uniform in the shader. </description> </method> <method name="set_shader_param"> @@ -25,11 +28,13 @@ <argument index="1" name="value" type="Variant"> </argument> <description> + Changes the value set for this material of a uniform in the shader. </description> </method> </methods> <members> <member name="shader" type="Shader" setter="set_shader" getter="get_shader"> + The [Shader] program used to render this material. </member> </members> <constants> diff --git a/doc/classes/Shape.xml b/doc/classes/Shape.xml index 582e4f80c3..fcd01bc25a 100644 --- a/doc/classes/Shape.xml +++ b/doc/classes/Shape.xml @@ -7,7 +7,7 @@ Base class for all 3D shape resources. All 3D shapes that inherit from this can be set into a [PhysicsBody] or [Area]. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml index ad20bf607a..6c13496fc4 100644 --- a/doc/classes/Shape2D.xml +++ b/doc/classes/Shape2D.xml @@ -7,7 +7,7 @@ Base class for all 2D Shapes. All 2D shape types inherit from this. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/physics_introduction.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton.xml index 0208d56cfa..4d826002fe 100644 --- a/doc/classes/Skeleton.xml +++ b/doc/classes/Skeleton.xml @@ -5,6 +5,8 @@ </brief_description> <description> Skeleton provides a hierarchical interface for managing bones, including pose, rest and animation (see [Animation]). Skeleton will support rag doll dynamics in the future. + The overall transform of a bone with respect to the skeleton is determined by the following hierarchical order: rest pose, custom pose and pose. + Note that "global pose" below refers to the overall transform of the bone with respect to skeleton, so it not the actual global/world transform of the bone. </description> <tutorials> </tutorials> @@ -60,6 +62,7 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> + Return the custom pose of the specified bone. Custom pose is applied on top of the rest pose. </description> </method> <method name="get_bone_global_pose" qualifiers="const"> @@ -68,6 +71,7 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> + Return the overall transform of the specified bone, with respect to the skeleton. Being relative to the skeleton frame, this is not the actual "global" transform of the bone. </description> </method> <method name="get_bone_name" qualifiers="const"> @@ -76,7 +80,7 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> - Return the name of the bone at index "index" + Return the name of the bone at index "index". </description> </method> <method name="get_bone_parent" qualifiers="const"> @@ -94,7 +98,7 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> - Return the pose transform for bone "bone_idx". + Return the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose. </description> </method> <method name="get_bone_rest" qualifiers="const"> @@ -112,6 +116,7 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> + Return the combination of custom pose and pose. The returned transform is in skeleton's reference frame. </description> </method> <method name="get_bound_child_nodes_to_bone" qualifiers="const"> @@ -131,6 +136,36 @@ <description> </description> </method> + <method name="physical_bones_add_collision_exception"> + <return type="void"> + </return> + <argument index="0" name="exception" type="RID"> + </argument> + <description> + </description> + </method> + <method name="physical_bones_remove_collision_exception"> + <return type="void"> + </return> + <argument index="0" name="exception" type="RID"> + </argument> + <description> + </description> + </method> + <method name="physical_bones_start_simulation"> + <return type="void"> + </return> + <argument index="0" name="bones" type="Array" default="[ ]"> + </argument> + <description> + </description> + </method> + <method name="physical_bones_stop_simulation"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="set_bone_custom_pose"> <return type="void"> </return> diff --git a/doc/classes/Skeleton2D.xml b/doc/classes/Skeleton2D.xml new file mode 100644 index 0000000000..654c816ba8 --- /dev/null +++ b/doc/classes/Skeleton2D.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Skeleton2D" inherits="Node2D" category="Core" version="3.1"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="get_bone"> + <return type="Bone2D"> + </return> + <argument index="0" name="arg0" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_bone_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_skeleton" qualifiers="const"> + <return type="RID"> + </return> + <description> + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml index 9ef60109de..d9242d8c42 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Spatial.xml @@ -5,11 +5,10 @@ </brief_description> <description> Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use Spatial as a parent node to move, scale, rotate and show/hide children in a 3D project. - Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the Spatial object is set as top level. Affine operations in this coordinate system correspond to direct affine operations on the Spatial's transform. The word local below refers to this coordinate system. The coordinate system that is attached to the Spatial object itself is referred to as object-local coordinate system. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/introduction_to_3d.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/introduction_to_3d.html</link> </tutorials> <demos> </demos> @@ -284,7 +283,6 @@ </member> <member name="rotation" type="Vector3" setter="set_rotation" getter="get_rotation"> Rotation part of the local transformation, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in radians. - Note that in the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three indepdent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a [Vector3] data structure not because the rotation is a vector, but only because [Vector3] exists as a convenient data-structure to store 3 floating point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful. </member> <member name="rotation_degrees" type="Vector3" setter="set_rotation_degrees" getter="get_rotation_degrees"> diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml index ace1aa846e..b45f2a13d4 100644 --- a/doc/classes/SpatialMaterial.xml +++ b/doc/classes/SpatialMaterial.xml @@ -5,7 +5,7 @@ <description> </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/spatial_material.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/spatial_material.html</link> </tutorials> <demos> </demos> @@ -84,6 +84,8 @@ </member> <member name="flags_albedo_tex_force_srgb" type="bool" setter="set_flag" getter="get_flag"> </member> + <member name="flags_do_not_receive_shadows" type="bool" setter="set_flag" getter="get_flag"> + </member> <member name="flags_fixed_size" type="bool" setter="set_flag" getter="get_flag"> </member> <member name="flags_no_depth_test" type="bool" setter="set_flag" getter="get_flag"> @@ -316,7 +318,9 @@ </constant> <constant name="FLAG_ALBEDO_TEXTURE_FORCE_SRGB" value="13" enum="Flags"> </constant> - <constant name="FLAG_MAX" value="14" enum="Flags"> + <constant name="FLAG_DONT_RECEIVE_SHADOWS" value="14" enum="Flags"> + </constant> + <constant name="FLAG_MAX" value="15" enum="Flags"> </constant> <constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode"> </constant> diff --git a/doc/classes/SpotLight.xml b/doc/classes/SpotLight.xml index 57a802d325..1f81e9e5c2 100644 --- a/doc/classes/SpotLight.xml +++ b/doc/classes/SpotLight.xml @@ -7,7 +7,7 @@ A SpotLight light is a type of [Light] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. TODO: Image of a spotlight. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml index 5eb4eb09af..fd4b583928 100644 --- a/doc/classes/SpriteBase3D.xml +++ b/doc/classes/SpriteBase3D.xml @@ -11,6 +11,12 @@ <demos> </demos> <methods> + <method name="generate_triangle_mesh" qualifiers="const"> + <return type="TriangleMesh"> + </return> + <description> + </description> + </method> <method name="get_item_rect" qualifiers="const"> <return type="Rect2"> </return> diff --git a/doc/classes/SpriteFrames.xml b/doc/classes/SpriteFrames.xml index e806547b7d..91129b5850 100644 --- a/doc/classes/SpriteFrames.xml +++ b/doc/classes/SpriteFrames.xml @@ -17,7 +17,7 @@ <argument index="0" name="anim" type="String"> </argument> <description> - Adds a new animation to the the library. + Adds a new animation to the library. </description> </method> <method name="add_frame"> diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml index d7350ac1d5..3081abd5c4 100644 --- a/doc/classes/StreamPeerSSL.xml +++ b/doc/classes/StreamPeerSSL.xml @@ -7,7 +7,7 @@ SSL Stream peer. This object can be used to connect to SSL servers. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/networking/ssl_certificates.html + <link>http://docs.godotengine.org/en/3.0/tutorials/networking/ssl_certificates.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 83fb76f287..0ba1066dfd 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -643,6 +643,20 @@ Returns the right side of the string from a given position. </description> </method> + <method name="rsplit"> + <return type="PoolStringArray"> + </return> + <argument index="0" name="divisor" type="String"> + </argument> + <argument index="1" name="allow_empty" type="bool" default="True"> + </argument> + <argument index="2" name="maxsplit" type="int" default="0"> + </argument> + <description> + Splits the string by a [code]divisor[/code] string and returns an array of the substrings, starting from right. Example "One,Two,Three" will return ["One","Two","Three"] if split by ",". + If [code]maxsplit[/code] is specified, then it is number of splits to do, default is 0 which splits all the items. + </description> + </method> <method name="rstrip"> <return type="String"> </return> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 76d94fbfbc..ee9b7383e5 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -99,6 +99,8 @@ </argument> <argument index="2" name="can_be_hidden" type="bool" default="true"> </argument> + <argument index="3" name="wrap_index" type="int" default="0"> + </argument> <description> </description> </method> @@ -384,7 +386,7 @@ <member name="v_scroll_speed" type="float" setter="set_v_scroll_speed" getter="get_v_scroll_speed"> If [code]true[/code], enables text wrapping when it goes beyond he edge of what is visible. </member> - <member name="wrap_lines" type="bool" setter="set_wrap" getter="is_wrapping"> + <member name="wrap_enabled" type="bool" setter="set_wrap_enabled" getter="is_wrap_enabled"> </member> </members> <signals> diff --git a/doc/classes/TextureRect.xml b/doc/classes/TextureRect.xml index 7a4208ccea..95afc5d281 100644 --- a/doc/classes/TextureRect.xml +++ b/doc/classes/TextureRect.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="TextureRect" inherits="Control" category="Core" version="3.1"> <brief_description> - Draws a sprite or a texture inside a User Interface. The texture can tile or not. + Control for drawing textures. </brief_description> <description> - Use TextureRect to draw icons and sprites in your User Interfaces. To create panels and menu boxes, take a look at [NinePatchFrame]. Its Stretch Mode property controls the texture's scale and placement. It can scale, tile and stay centered inside its bounding rectangle. TextureRect is one of the 5 most common nodes to create game UI. + Used to draw icons and sprites in a user interface. The texture's placement can be controlled with the [member stretch_mode] property. It can scale, tile, or stay centered inside its bounding rectangle. </description> <tutorials> </tutorials> @@ -14,10 +14,10 @@ </methods> <members> <member name="expand" type="bool" setter="set_expand" getter="has_expand"> - If [code]true[/code], the texture scales to fit its bounding rectangle. Default value: [code]false[/code]. + If [code]true[/code] the texture scales to fit its bounding rectangle. Default value: [code]false[/code]. </member> <member name="stretch_mode" type="int" setter="set_stretch_mode" getter="get_stretch_mode" enum="TextureRect.StretchMode"> - Controls the texture's behavior when you resize the node's bounding rectangle. Set it to one of the [code]STRETCH_*[/code] constants. See the constants to learn more. + Controls the texture's behavior when resizing the node's bounding rectangle. See [enum StretchMode]. </member> <member name="texture" type="Texture" setter="set_texture" getter="get_texture"> The node's [Texture] resource. diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index ec67370c79..656063771d 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -7,7 +7,7 @@ Node for 2D tile-based maps. Tilemaps use a [TileSet] which contain a list of tiles (textures plus optional collision, navigation, and/or occluder shapes) which are used to create grid-based maps. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/2d/using_tilemaps.html + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/using_tilemaps.html</link> </tutorials> <demos> </demos> @@ -16,14 +16,14 @@ <return type="void"> </return> <description> - Clear all cells. + Clears all cells. </description> </method> <method name="fix_invalid_tiles"> <return type="void"> </return> <description> - Clear cells that does not exist in the tileset. + Clears cells that do not exist in the tileset. </description> </method> <method name="get_cell" qualifiers="const"> @@ -34,7 +34,7 @@ <argument index="1" name="y" type="int"> </argument> <description> - Return the tile index of the referenced cell. + Returns the tile index of the given cell. </description> </method> <method name="get_cellv" qualifiers="const"> @@ -43,7 +43,7 @@ <argument index="0" name="position" type="Vector2"> </argument> <description> - Return the tile index of the cell referenced by a Vector2. + Returns the tile index of the cell given by a Vector2. </description> </method> <method name="get_collision_layer_bit" qualifiers="const"> @@ -52,6 +52,7 @@ <argument index="0" name="bit" type="int"> </argument> <description> + Returns [code]true[/code] if the given collision layer bit is set. </description> </method> <method name="get_collision_mask_bit" qualifiers="const"> @@ -60,13 +61,14 @@ <argument index="0" name="bit" type="int"> </argument> <description> + Returns [code]true[/code] if the given collision mask bit is set. </description> </method> <method name="get_used_cells" qualifiers="const"> <return type="Array"> </return> <description> - Return an array of all cells containing a tile from the tileset (i.e. a tile index different from -1). + Returns an array of all cells containing a tile from the tileset (i.e. a tile index different from [code]-1[/code]). </description> </method> <method name="get_used_cells_by_id" qualifiers="const"> @@ -75,12 +77,14 @@ <argument index="0" name="id" type="int"> </argument> <description> + Returns an array of all cells with the given tile id. </description> </method> <method name="get_used_rect"> <return type="Rect2"> </return> <description> + Returns a rectangle enclosing the used (non-empty) tiles of the map. </description> </method> <method name="is_cell_transposed" qualifiers="const"> @@ -91,7 +95,7 @@ <argument index="1" name="y" type="int"> </argument> <description> - Return whether the referenced cell is transposed, i.e. the X and Y axes are swapped (mirroring with regard to the (1,1) vector). + Returns [code]true[/code] if the given cell is transposed, i.e. the x and y axes are swapped. </description> </method> <method name="is_cell_x_flipped" qualifiers="const"> @@ -102,7 +106,7 @@ <argument index="1" name="y" type="int"> </argument> <description> - Return whether the referenced cell is flipped over the X axis. + Returns [code]true[/code] if the given cell is flipped in the x axis. </description> </method> <method name="is_cell_y_flipped" qualifiers="const"> @@ -113,7 +117,7 @@ <argument index="1" name="y" type="int"> </argument> <description> - Return whether the referenced cell is flipped over the Y axis. + Returns [code]true[/code] if the given cell is flipped in the y axis. </description> </method> <method name="map_to_world" qualifiers="const"> @@ -124,8 +128,8 @@ <argument index="1" name="ignore_half_ofs" type="bool" default="false"> </argument> <description> - Return the absolute world position corresponding to the tilemap (grid-based) coordinates given as an argument. - Optionally, the tilemap's potential half offset can be ignored. + Returns the global position corresponding to the given tilemap (grid-based) coordinates. + Optionally, the tilemap's half offset can be ignored. </description> </method> <method name="set_cell"> @@ -146,9 +150,9 @@ <argument index="6" name="autotile_coord" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> - Set the tile index for the cell referenced by its grid-based X and Y coordinates. - A tile index of -1 clears the cell. - Optionally, the tile can also be flipped over the X and Y coordinates, transposed, or be given autotile coordinates. + Sets the tile index for the cell given by a Vector2. + An index of [code]-1[/code] clears the cell. + Optionally, the tile can also be flipped, transposed, or given autotile coordinates. </description> </method> <method name="set_cellv"> @@ -165,9 +169,9 @@ <argument index="4" name="transpose" type="bool" default="false"> </argument> <description> - Set the tile index for the cell referenced by a Vector2 of grid-based coordinates. - A tile index of -1 clears the cell. - Optionally, the tile can also be flipped over the X and Y axes or transposed. + Sets the tile index for the given cell. + An index of [code]-1[/code] clears the cell. + Optionally, the tile can also be flipped or transposed. </description> </method> <method name="set_collision_layer_bit"> @@ -178,7 +182,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> - Set any collision layer to be [code]true[/code] or [code]false[/code]. + Sets the given collision layer bit. </description> </method> <method name="set_collision_mask_bit"> @@ -189,6 +193,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> + Sets the given collision mask bit. </description> </method> <method name="update_bitmask_area"> @@ -197,7 +202,7 @@ <argument index="0" name="position" type="Vector2"> </argument> <description> - Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates. + Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based x and y coordinates. </description> </method> <method name="update_bitmask_region"> @@ -208,8 +213,8 @@ <argument index="1" name="end" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> - Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates). - Calling with invalid (or missing) parameters applies autotiling rules for the entire TileMap. + Applies autotiling rules to the cells in the given region (specified by grid-based x and y coordinates). + Calling with invalid (or missing) parameters applies autotiling rules for the entire tilemap. </description> </method> <method name="world_to_map" qualifiers="const"> @@ -218,7 +223,7 @@ <argument index="0" name="world_position" type="Vector2"> </argument> <description> - Return the tilemap (grid-based) coordinates corresponding to the absolute world position given as an argument. + Returns the tilemap (grid-based) coordinatescorresponding to the given global position. </description> </method> </methods> diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index 4e218f5595..bdf8634a6c 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -262,6 +262,14 @@ <description> </description> </method> + <method name="tile_get_z_index" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </method> <method name="tile_set_light_occluder"> <return type="void"> </return> @@ -428,11 +436,23 @@ <description> </description> </method> + <method name="tile_set_z_index"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="z_index" type="int"> + </argument> + <description> + </description> + </method> </methods> <constants> <constant name="BITMASK_2X2" value="0" enum="BitmaskMode"> </constant> - <constant name="BITMASK_3X3" value="1" enum="BitmaskMode"> + <constant name="BITMASK_3X3_MINIMAL" value="1" enum="BitmaskMode"> + </constant> + <constant name="BITMASK_3X3" value="2" enum="BitmaskMode"> </constant> <constant name="BIND_TOPLEFT" value="1" enum="AutotileBindings"> </constant> diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml index c51a52d911..d1c8722901 100644 --- a/doc/classes/Timer.xml +++ b/doc/classes/Timer.xml @@ -24,7 +24,7 @@ <argument index="0" name="time_sec" type="float" default="-1"> </argument> <description> - Starts the timer. Sets [code]wait_time[/code] to [code]time_sec[/code] if [code]time_sec[/code] > 0. This also resets the remaining time to [code]wait_time[/code]. + Starts the timer. Sets [code]wait_time[/code] to [code]time_sec[/code] if [code]time_sec[/code] > 0. This also resets the remaining time to [code]wait_time[/code]. Note: this method will not resume a paused timer. See [method set_paused]. </description> </method> diff --git a/doc/classes/ToolButton.xml b/doc/classes/ToolButton.xml index 1dbfd63010..d8db95a854 100644 --- a/doc/classes/ToolButton.xml +++ b/doc/classes/ToolButton.xml @@ -5,7 +5,6 @@ </brief_description> <description> This is a helper class to generate a flat [Button] (see [method Button.set_flat]), creating a ToolButton is equivalent to: - [codeblock] var btn = Button.new() btn.set_flat(true) diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml index 4567f1681c..0dd8038b36 100644 --- a/doc/classes/Transform.xml +++ b/doc/classes/Transform.xml @@ -7,8 +7,8 @@ Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a [Basis] "basis" and an [Vector3] "origin". It is similar to a 3x4 matrix. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/math/index.html - http://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html + <link>http://docs.godotengine.org/en/3.0/tutorials/math/index.html</link> + <link>http://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index 6448b26972..57e0f2825a 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -308,7 +308,7 @@ <argument index="0" name="child" type="Object"> </argument> <description> - Removes the child TreeItem at index [code]index[/code]. + Removes the given child TreeItem. </description> </method> <method name="select"> diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml index 95405cc4f6..d82694d328 100644 --- a/doc/classes/Tween.xml +++ b/doc/classes/Tween.xml @@ -181,6 +181,12 @@ Returns [code]true[/code] if any tweens are currently running. Note that this method doesn't consider tweens that have ended. </description> </method> + <method name="is_stopped" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> <method name="remove"> <return type="bool"> </return> @@ -340,7 +346,7 @@ </methods> <members> <member name="playback_process_mode" type="int" setter="set_tween_process_mode" getter="get_tween_process_mode" enum="Tween.TweenProcessMode"> - The tween's animation process thread. See [enum TweenProcessMode]. Default value: [enum TWEEN_PROCESS_IDLE]. + The tween's animation process thread. See [enum TweenProcessMode]. Default value: [enum TWEEN_PROCESS_IDLE]. </member> <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale"> The tween's speed multiplier. For example, set it to [code]1.0[/code] for normal speed, [code]2.0[/code] for two times normal speed, or [code]0.5[/code] for half of the normal speed. A value of [code]0[/code] pauses the animation, but see also [method set_active] or [method stop_all] for this. diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 5ffe807606..6ffeddf5c1 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Vector2" category="Built-In Types" version="3.1"> <brief_description> - Vector used for 2D Math. + Vector used for 2D math. </brief_description> <description> - 2-element structure that can be used to represent positions in 2d-space, or any other pair of numeric values. + 2-element structure that can be used to represent positions in 2d space or any other pair of numeric values. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/math/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/math/index.html</link> </tutorials> <demos> </demos> @@ -34,8 +34,8 @@ <return type="float"> </return> <description> - Returns the result of atan2 when called with the Vector's x and y as parameters (Math::atan2(x,y)). - Be aware that it therefore returns an angle oriented clockwise with regard to the (0, 1) unit vector, and not an angle oriented counter-clockwise with regard to the (1, 0) unit vector (which would be the typical trigonometric representation of the angle when calling Math::atan2(y,x)). + Returns the vector's angle in radians with respect to the x-axis, or [code](1, 0)[/code] vector. + Equivalent to the result of atan2 when called with the vector's x and y as parameters: [code]atan2(x, y)[/code]. </description> </method> <method name="angle_to"> @@ -60,7 +60,7 @@ <return type="float"> </return> <description> - Returns the ratio of X to Y. + Returns the ratio of x to y. </description> </method> <method name="bounce"> @@ -69,7 +69,14 @@ <argument index="0" name="n" type="Vector2"> </argument> <description> - Bounce returns the vector "bounced off" from the given plane, specified by its normal vector. + Returns the vector "bounced off" from a plane defined by the given normal. + </description> + </method> + <method name="ceil"> + <return type="Vector2"> + </return> + <description> + Returns the vector with all components rounded up. </description> </method> <method name="clamped"> @@ -87,7 +94,7 @@ <argument index="0" name="with" type="Vector2"> </argument> <description> - Returns the 2-dimensional analog of the cross product with the given Vector2. + Returns the 2 dimensional analog of the cross product with the given vector. </description> </method> <method name="cubic_interpolate"> @@ -102,7 +109,7 @@ <argument index="3" name="t" type="float"> </argument> <description> - Cubicly interpolates between this Vector and "b", using "pre_a" and "post_b" as handles, and returning the result at position "t". "t" should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + Cubicly interpolates between this vector and [code]b[/code] using [code]pre_a[/code] and [code]post_b[/code] as handles, and returns the result at position [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], or a percentage of how far along the interpolation is. </description> </method> <method name="distance_squared_to"> @@ -111,7 +118,7 @@ <argument index="0" name="to" type="Vector2"> </argument> <description> - Returns the squared distance to vector "b". Prefer this function over "distance_to" if you need to sort vectors or need the squared distance for some formula. + Returns the squared distance to vector [code]b[/code]. Prefer this function over [method distance_to] if you need to sort vectors or need the squared distance for some formula. </description> </method> <method name="distance_to"> @@ -120,7 +127,7 @@ <argument index="0" name="to" type="Vector2"> </argument> <description> - Returns the distance to vector "b". + Returns the distance to vector [code]b[/code]. </description> </method> <method name="dot"> @@ -129,35 +136,35 @@ <argument index="0" name="with" type="Vector2"> </argument> <description> - Returns the dot product with vector "b". + Returns the dot product with vector [code]b[/code]. </description> </method> <method name="floor"> <return type="Vector2"> </return> <description> - Remove the fractional part of x and y. + Returns the vector with all components rounded down. </description> </method> <method name="is_normalized"> <return type="bool"> </return> <description> - Returns whether the vector is normalized or not. + Returns [code]true[/code] if the vector is normalized. </description> </method> <method name="length"> <return type="float"> </return> <description> - Returns the length of the vector. + Returns the vector's length. </description> </method> <method name="length_squared"> <return type="float"> </return> <description> - Returns the squared length of the vector. Prefer this function over "length" if you need to sort vectors or need the squared length for some formula. + Returns the vector's length squared. Prefer this function over [member length] if you need to sort vectors or need the squared length for some formula. </description> </method> <method name="linear_interpolate"> @@ -168,14 +175,14 @@ <argument index="1" name="t" type="float"> </argument> <description> - Returns the result of the linear interpolation between this vector and "b", by amount "t". "t" should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + Returns the result of the linear interpolation between this vector and [code]b[/code] by amount [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], a percentage of how far along the interpolation is. </description> </method> <method name="normalized"> <return type="Vector2"> </return> <description> - Returns a normalized vector to unit length. + Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code]. </description> </method> <method name="reflect"> @@ -184,7 +191,7 @@ <argument index="0" name="n" type="Vector2"> </argument> <description> - Reflects the vector along the given plane, specified by its normal vector. + Returns the vector reflected from a plane defined by the given normal. </description> </method> <method name="rotated"> @@ -193,7 +200,26 @@ <argument index="0" name="phi" type="float"> </argument> <description> - Rotates the vector by "phi" radians. + Returns the vector rotated by [code]phi[/code] radians. + </description> + </method> + <method name="round"> + <return type="Vector2"> + </return> + <description> + Returns the vector with all components rounded to the nearest integer, with halfway cases rounded away from zero. + </description> + </method> + <method name="slerp"> + <return type="Vector2"> + </return> + <argument index="0" name="b" type="Vector2"> + </argument> + <argument index="1" name="t" type="float"> + </argument> + <description> + Returns the result of SLERP between this vector and "b", by amount "t". "t" should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + Both vectors need to be normalized. </description> </method> <method name="slide"> @@ -202,7 +228,7 @@ <argument index="0" name="n" type="Vector2"> </argument> <description> - Slide returns the component of the vector along the given plane, specified by its normal vector. + Returns the component of the vector along a plane defined by the given normal. </description> </method> <method name="snapped"> @@ -211,7 +237,7 @@ <argument index="0" name="by" type="Vector2"> </argument> <description> - Snaps the vector to a grid with the given size. + Returns the vector snapped to a grid with the given size. </description> </method> <method name="tangent"> @@ -224,10 +250,10 @@ </methods> <members> <member name="x" type="float" setter="" getter=""> - X component of the vector. + The vector's x component. </member> <member name="y" type="float" setter="" getter=""> - Y component of the vector. + The vector's y component. </member> </members> <constants> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 940d4dd6cf..62a480166a 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -7,7 +7,7 @@ Vector3 is one of the core classes of the engine, and includes several built-in helper functions to perform basic vector math operations. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/math/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/math/index.html</link> </tutorials> <demos> </demos> @@ -38,7 +38,7 @@ <argument index="0" name="to" type="Vector3"> </argument> <description> - Returns the vector's minimum angle to the vector [code]to[/code]. + Returns the minimum angle to the given vector. </description> </method> <method name="bounce"> @@ -47,7 +47,7 @@ <argument index="0" name="n" type="Vector3"> </argument> <description> - Bounce returns the vector "bounced off" from the given plane, specified by its normal vector. + Returns the vector "bounced off" from a plane defined by the given normal. </description> </method> <method name="ceil"> @@ -87,7 +87,7 @@ <argument index="0" name="b" type="Vector3"> </argument> <description> - Returns the squared distance to [code]b[/code]. Prefer this function over distance_to if you need to sort vectors or need the squared distance for some formula. + Returns the squared distance to [code]b[/code]. Prefer this function over [method distance_to] if you need to sort vectors or need the squared distance for some formula. </description> </method> <method name="distance_to"> @@ -96,7 +96,7 @@ <argument index="0" name="b" type="Vector3"> </argument> <description> - Returns the distance to b. + Returns the distance to [code]b[/code]. </description> </method> <method name="dot"> @@ -105,7 +105,7 @@ <argument index="0" name="b" type="Vector3"> </argument> <description> - Returns the dot product with b. + Returns the dot product with [code]b[/code]. </description> </method> <method name="floor"> @@ -119,28 +119,28 @@ <return type="Vector3"> </return> <description> - Returns the inverse of the vector. This is the same as Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z ) + Returns the inverse of the vector. This is the same as [code]Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )[/code]. </description> </method> <method name="is_normalized"> <return type="bool"> </return> <description> - Returns whether the vector is normalized or not. + Returns [code]true[/code] if the vector is normalized. </description> </method> <method name="length"> <return type="float"> </return> <description> - Returns the length of the vector. + Returns the vector's length. </description> </method> <method name="length_squared"> <return type="float"> </return> <description> - Returns the length of the vector, squared. Prefer this function over "length" if you need to sort vectors or need the squared length for some formula. + Returns the vector's length squared. Prefer this function over [method length] if you need to sort vectors or need the squared length for some formula. </description> </method> <method name="linear_interpolate"> @@ -151,28 +151,28 @@ <argument index="1" name="t" type="float"> </argument> <description> - Linearly interpolates the vector to a given one (b), by the given amount (t). (t) should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + Returns the result of the linear interpolation between this vector and [code]b[/code] by amount [code]t[/code]. [code]t[/code] is in the range of [code]0.0 - 1.0[/code], a percentage of how far along the interpolation is. </description> </method> <method name="max_axis"> <return type="int"> </return> <description> - Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the largest. + Returns the axis of the vector's largest value. See [code]AXIS_*[/code] constants. </description> </method> <method name="min_axis"> <return type="int"> </return> <description> - Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the smallest. + Returns the axis of the vector's smallest value. See [code]AXIS_*[/code] constants. </description> </method> <method name="normalized"> <return type="Vector3"> </return> <description> - Returns a copy of the normalized vector to unit length. This is the same as v / v.length(). + Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code]. </description> </method> <method name="outer"> @@ -181,7 +181,7 @@ <argument index="0" name="b" type="Vector3"> </argument> <description> - Returns the outer product with b. + Returns the outer product with [code]b[/code]. </description> </method> <method name="reflect"> @@ -190,7 +190,7 @@ <argument index="0" name="n" type="Vector3"> </argument> <description> - Reflects the vector along the given plane, specified by its normal vector. + Returns the vector reflected from a plane defined by the given normal. </description> </method> <method name="rotated"> @@ -201,7 +201,26 @@ <argument index="1" name="phi" type="float"> </argument> <description> - Rotates the vector around some axis by phi radians. The axis must be a normalized vector. + Rotates the vector around a given axis by [code]phi[/code] radians. The axis must be a normalized vector. + </description> + </method> + <method name="round"> + <return type="Vector3"> + </return> + <description> + Returns the vector with all components rounded to the nearest integer, with halfway cases rounded away from zero. + </description> + </method> + <method name="slerp"> + <return type="Vector3"> + </return> + <argument index="0" name="b" type="Vector3"> + </argument> + <argument index="1" name="t" type="float"> + </argument> + <description> + Returns the result of SLERP between this vector and "b", by amount "t". "t" should be a float of 0.0-1.0, a percentage of how far along the interpolation is. + Both vectors need to be normalized. </description> </method> <method name="slide"> @@ -210,7 +229,7 @@ <argument index="0" name="n" type="Vector3"> </argument> <description> - Slide returns the component of the vector along the given plane, specified by its normal vector. + Returns the component of the vector along a plane defined by the given normal. </description> </method> <method name="snapped"> @@ -232,18 +251,18 @@ </methods> <members> <member name="x" type="float" setter="" getter=""> - X component of the vector. + The vector's x component. </member> <member name="y" type="float" setter="" getter=""> - Y component of the vector. + The vector's y component. </member> <member name="z" type="float" setter="" getter=""> - Z component of the vector. + The vector's z component. </member> </members> <constants> <constant name="AXIS_X" value="0"> - Enumerated value for the X axis. Returned by functions like max_axis or min_axis. + Enumerated value for the X axis. Returned by [method max_axis] and [method min_axis]. </constant> <constant name="AXIS_Y" value="1"> Enumerated value for the Y axis. diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml index d2639590a1..9ffa3aa52b 100644 --- a/doc/classes/VideoPlayer.xml +++ b/doc/classes/VideoPlayer.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VideoPlayer" inherits="Control" category="Core" version="3.1"> <brief_description> - Control to play video files. + Control for playing video streams. </brief_description> <description> - This control has the ability to play video streams. The only format accepted is the OGV Theora, so any other format must be converted before using in a project. + Control node for playing video streams. Supported formats are WebM and OGV Theora. </description> <tutorials> </tutorials> @@ -15,51 +15,56 @@ <return type="String"> </return> <description> - Get the name of the video stream. + Returns the video stream's name. </description> </method> <method name="get_video_texture"> <return type="Texture"> </return> <description> - Get the current frame of the video as a [Texture]. + Returns the current frame as a [Texture]. </description> </method> <method name="is_playing" qualifiers="const"> <return type="bool"> </return> <description> - Get whether or not the video is playing. + Returns [code]true[/code] if the video is playing. </description> </method> <method name="play"> <return type="void"> </return> <description> - Start the video playback. + Starts the video playback. </description> </method> <method name="stop"> <return type="void"> </return> <description> - Stop the video playback. + Stops the video playback. </description> </method> </methods> <members> <member name="audio_track" type="int" setter="set_audio_track" getter="get_audio_track"> + The embedded audio track to play. </member> <member name="autoplay" type="bool" setter="set_autoplay" getter="has_autoplay"> + If [code]true[/code] playback starts when the scene loads. Default value: [code]false[/code]. </member> <member name="buffering_msec" type="int" setter="set_buffering_msec" getter="get_buffering_msec"> - The amount of milliseconds to store in buffer while playing. + Amount of time in milliseconds to store in buffer while playing. </member> <member name="bus" type="String" setter="set_bus" getter="get_bus"> + Audio bus to use for sound playback. </member> <member name="expand" type="bool" setter="set_expand" getter="has_expand"> + If [code]true[/code] the video scales to the control size. Default value: [code]true[/code]. </member> <member name="paused" type="bool" setter="set_paused" getter="is_paused"> + If [code]true[/code] the video is paused. </member> <member name="stream" type="VideoStream" setter="set_stream" getter="get_stream"> </member> @@ -67,14 +72,16 @@ The current position of the stream, in seconds. </member> <member name="volume" type="float" setter="set_volume" getter="get_volume"> - The volume of the audio track as a linear value. + Audio volume as a linear value. </member> <member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db"> + Audio volume in dB. </member> </members> <signals> <signal name="finished"> <description> + Emitted when playback is finished. </description> </signal> </signals> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 4878f7d932..af0712d357 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -6,14 +6,14 @@ <description> A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera 3D nodes will render on it too. Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports. - If a viewport is a child of a [Control], it will automatically take up its same rect and position, otherwise they must be set manually. + If a viewport is a child of a [ViewportContainer], it will automatically take up its size, otherwise it must be set manually. Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it. Also, viewports can be assigned to different screens in case the devices have multiple screens. Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html - http://docs.godotengine.org/en/3.0/tutorials/viewports/index.html + <link>http://docs.godotengine.org/en/3.0/tutorials/2d/2d_transforms.html</link> + <link>http://docs.godotengine.org/en/3.0/tutorials/viewports/index.html</link> </tutorials> <demos> </demos> @@ -276,7 +276,7 @@ Do not update the render target. </constant> <constant name="UPDATE_ONCE" value="1" enum="UpdateMode"> - Update the render target once, then switch to [code]UPDATE_DISABLED[/code] + Update the render target once, then switch to [code]UPDATE_DISABLED[/code]. </constant> <constant name="UPDATE_WHEN_VISIBLE" value="2" enum="UpdateMode"> Update the render target only when it is visible. This is the default value. @@ -329,6 +329,7 @@ Objects are displayed without light information. </constant> <constant name="DEBUG_DRAW_OVERDRAW" value="2" enum="DebugDraw"> + Objected are displayed semi-transparent with additive blending so you can see where they intersect. </constant> <constant name="DEBUG_DRAW_WIREFRAME" value="3" enum="DebugDraw"> Objects are displayed in wireframe style. @@ -353,10 +354,13 @@ <constant name="USAGE_3D_NO_EFFECTS" value="3" enum="Usage"> </constant> <constant name="CLEAR_MODE_ALWAYS" value="0" enum="ClearMode"> + Always clear the render target before drawing. </constant> <constant name="CLEAR_MODE_NEVER" value="1" enum="ClearMode"> + Never clear the render target. </constant> <constant name="CLEAR_MODE_ONLY_NEXT_FRAME" value="2" enum="ClearMode"> + Clear the render target next frame, then switch to [code]CLEAR_MODE_NEVER[/code]. </constant> </constants> </class> diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml index 83ffc6bcfd..67f1e09c75 100644 --- a/doc/classes/ViewportTexture.xml +++ b/doc/classes/ViewportTexture.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ViewportTexture" inherits="Texture" category="Core" version="3.1"> <brief_description> + Texture which displays the content of a [Viewport]. </brief_description> <description> + Displays the content of a [Viewport] node as a dynamic [Texture]. This can be used to mix controls, 2D, and 3D elements in the same scene. + To create a ViewportTexture in code, use the [method Viewport.get_texture] method on the target viewport. </description> <tutorials> </tutorials> @@ -12,6 +15,7 @@ </methods> <members> <member name="viewport_path" type="NodePath" setter="set_viewport_path_in_scene" getter="get_viewport_path_in_scene"> + The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture. </member> </members> <constants> diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index baebddf3e0..893db84640 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -388,14 +388,17 @@ </argument> <argument index="4" name="uvs" type="PoolVector2Array" default="PoolVector2Array( )"> </argument> - <argument index="5" name="texture" type="RID"> + <argument index="5" name="bones" type="PoolIntArray" default="PoolIntArray( )"> </argument> - <argument index="6" name="count" type="int" default="-1"> + <argument index="6" name="weights" type="PoolRealArray" default="PoolRealArray( )"> </argument> - <argument index="7" name="normal_map" type="RID"> + <argument index="7" name="texture" type="RID"> + </argument> + <argument index="8" name="count" type="int" default="-1"> + </argument> + <argument index="9" name="normal_map" type="RID"> </argument> <description> - Adds a triangle array to the [CanvasItem]'s draw commands. </description> </method> <method name="canvas_item_clear"> @@ -3330,6 +3333,32 @@ Sets the texture's image data. If it's a CubeMap, it sets the image data at a cube side. </description> </method> + <method name="texture_set_data_partial"> + <return type="void"> + </return> + <argument index="0" name="texture" type="RID"> + </argument> + <argument index="1" name="image" type="Image"> + </argument> + <argument index="2" name="src_x" type="int"> + </argument> + <argument index="3" name="src_y" type="int"> + </argument> + <argument index="4" name="src_w" type="int"> + </argument> + <argument index="5" name="src_h" type="int"> + </argument> + <argument index="6" name="dst_x" type="int"> + </argument> + <argument index="7" name="dst_y" type="int"> + </argument> + <argument index="8" name="dst_mip" type="int"> + </argument> + <argument index="9" name="cube_side" type="int" enum="VisualServer.CubeMapSide" default="0"> + </argument> + <description> + </description> + </method> <method name="texture_set_flags"> <return type="void"> </return> diff --git a/doc/classes/WebSocketClient.xml b/doc/classes/WebSocketClient.xml deleted file mode 100644 index 496baa5787..0000000000 --- a/doc/classes/WebSocketClient.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketClient" inherits="WebSocketMultiplayerPeer" category="Core" version="3.1"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <demos> - </demos> - <methods> - <method name="connect_to_url"> - <return type="int" enum="Error"> - </return> - <argument index="0" name="url" type="String"> - </argument> - <argument index="1" name="protocols" type="PoolStringArray" default="PoolStringArray( )"> - </argument> - <argument index="2" name="gd_mp_api" type="bool" default="false"> - </argument> - <description> - </description> - </method> - <method name="disconnect_from_host"> - <return type="void"> - </return> - <description> - </description> - </method> - </methods> - <members> - <member name="verify_ssl" type="bool" setter="set_verify_ssl_enabled" getter="is_verify_ssl_enabled"> - </member> - </members> - <signals> - <signal name="connection_closed"> - <description> - </description> - </signal> - <signal name="connection_error"> - <description> - </description> - </signal> - <signal name="connection_established"> - <argument index="0" name="protocol" type="String"> - </argument> - <description> - </description> - </signal> - <signal name="data_received"> - <description> - </description> - </signal> - </signals> - <constants> - </constants> -</class> diff --git a/doc/classes/WebSocketMultiplayerPeer.xml b/doc/classes/WebSocketMultiplayerPeer.xml deleted file mode 100644 index a1014350f5..0000000000 --- a/doc/classes/WebSocketMultiplayerPeer.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketMultiplayerPeer" inherits="NetworkedMultiplayerPeer" category="Core" version="3.1"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <demos> - </demos> - <methods> - <method name="get_peer" qualifiers="const"> - <return type="WebSocketPeer"> - </return> - <argument index="0" name="peer_id" type="int"> - </argument> - <description> - </description> - </method> - </methods> - <signals> - <signal name="peer_packet"> - <argument index="0" name="peer_source" type="int"> - </argument> - <description> - </description> - </signal> - </signals> - <constants> - </constants> -</class> diff --git a/doc/classes/WebSocketPeer.xml b/doc/classes/WebSocketPeer.xml deleted file mode 100644 index 276249e65a..0000000000 --- a/doc/classes/WebSocketPeer.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketPeer" inherits="PacketPeer" category="Core" version="3.1"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <demos> - </demos> - <methods> - <method name="close"> - <return type="void"> - </return> - <description> - </description> - </method> - <method name="get_write_mode" qualifiers="const"> - <return type="int" enum="WebSocketPeer.WriteMode"> - </return> - <description> - </description> - </method> - <method name="is_connected_to_host" qualifiers="const"> - <return type="bool"> - </return> - <description> - </description> - </method> - <method name="set_write_mode"> - <return type="void"> - </return> - <argument index="0" name="mode" type="int" enum="WebSocketPeer.WriteMode"> - </argument> - <description> - </description> - </method> - <method name="was_string_packet" qualifiers="const"> - <return type="bool"> - </return> - <description> - </description> - </method> - </methods> - <constants> - <constant name="WRITE_MODE_TEXT" value="0" enum="WriteMode"> - </constant> - <constant name="WRITE_MODE_BINARY" value="1" enum="WriteMode"> - </constant> - </constants> -</class> diff --git a/doc/classes/WebSocketServer.xml b/doc/classes/WebSocketServer.xml deleted file mode 100644 index 9a7108952f..0000000000 --- a/doc/classes/WebSocketServer.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketServer" inherits="WebSocketMultiplayerPeer" category="Core" version="3.1"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <demos> - </demos> - <methods> - <method name="has_peer" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - </description> - </method> - <method name="is_listening" qualifiers="const"> - <return type="bool"> - </return> - <description> - </description> - </method> - <method name="listen"> - <return type="int" enum="Error"> - </return> - <argument index="0" name="port" type="int"> - </argument> - <argument index="1" name="protocols" type="PoolStringArray" default="PoolStringArray( )"> - </argument> - <argument index="2" name="gd_mp_api" type="bool" default="false"> - </argument> - <description> - </description> - </method> - <method name="stop"> - <return type="void"> - </return> - <description> - </description> - </method> - </methods> - <signals> - <signal name="client_connected"> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="protocol" type="String"> - </argument> - <description> - </description> - </signal> - <signal name="client_disconnected"> - <argument index="0" name="id" type="int"> - </argument> - <description> - </description> - </signal> - <signal name="data_received"> - <argument index="0" name="id" type="int"> - </argument> - <description> - </description> - </signal> - </signals> - <constants> - </constants> -</class> diff --git a/doc/classes/World.xml b/doc/classes/World.xml index 9fc0e139b5..540848e40a 100644 --- a/doc/classes/World.xml +++ b/doc/classes/World.xml @@ -7,7 +7,7 @@ Class that has everything pertaining to a world. A physics space, a visual scenario and a sound space. Spatial nodes register their resources into the current world. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/World2D.xml b/doc/classes/World2D.xml index 5f6a5b8ad4..780cdd181a 100644 --- a/doc/classes/World2D.xml +++ b/doc/classes/World2D.xml @@ -7,7 +7,7 @@ Class that has everything pertaining to a 2D world. A physics space, a visual scenario and a sound space. 2D nodes register their resources into the current 2D world. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html + <link>http://docs.godotengine.org/en/3.0/tutorials/physics/ray-casting.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/WorldEnvironment.xml b/doc/classes/WorldEnvironment.xml index 422ca3a558..e68ad2800e 100644 --- a/doc/classes/WorldEnvironment.xml +++ b/doc/classes/WorldEnvironment.xml @@ -9,7 +9,7 @@ The [code]WorldEnvironment[/code] allows the user to specify default lighting parameters (e.g. ambient lighting), various post-processing effects (e.g. SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, skybox). Usually, these are added in order to improve the realism/color balance of the scene. </description> <tutorials> - http://docs.godotengine.org/en/3.0/tutorials/3d/environment_and_post_processing.html + <link>http://docs.godotengine.org/en/3.0/tutorials/3d/environment_and_post_processing.html</link> </tutorials> <demos> </demos> diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py index 8074ce45ea..93ad823d42 100644..100755 --- a/doc/tools/makerst.py +++ b/doc/tools/makerst.py @@ -4,11 +4,15 @@ import codecs import sys import os +import re import xml.etree.ElementTree as ET input_list = [] cur_file = "" +# http(s)://docs.godotengine.org/<langcode>/<tag>/path/to/page.html(#fragment-tag) +godot_docs_pattern = re.compile('^http(?:s)?:\/\/docs\.godotengine\.org\/(?:[a-zA-Z0-9\.\-_]*)\/(?:[a-zA-Z0-9\.\-_]*)\/(.*)\.html(#.*)?$') + for arg in sys.argv[1:]: if arg.endswith(os.sep): arg = arg[:-1] @@ -106,6 +110,7 @@ def make_class_list(class_list, columns): f.close() + def rstize_text(text, cclass): # Linebreak + tabs in the XML should become two line breaks unless in a "codeblock" pos = 0 @@ -154,9 +159,19 @@ def rstize_text(text, cclass): text = pre_text + "\n\n" + post_text pos += 2 + next_brac_pos = text.find('[') + + # Escape \ character, otherwise it ends up as an escape character in rst + pos = 0 + while True: + pos = text.find('\\', pos, next_brac_pos) + if pos == -1: + break + text = text[:pos] + "\\\\" + text[pos + 1:] + pos += 2 + # Escape * character to avoid interpreting it as emphasis pos = 0 - next_brac_pos = text.find('['); while True: pos = text.find('*', pos, next_brac_pos) if pos == -1: @@ -258,15 +273,17 @@ def rstize_text(text, cclass): elif cmd == 'code': tag_text = '``' inside_code = True + elif cmd.startswith('enum '): + tag_text = make_enum(cmd[5:]) else: tag_text = make_type(tag_text) escape_post = True # Properly escape things like `[Node]s` - if escape_post and post_text and post_text[0].isalnum(): # not punctuation, escape + if escape_post and post_text and post_text[0].isalnum(): # not punctuation, escape post_text = '\ ' + post_text - next_brac_pos = post_text.find('[',0) + next_brac_pos = post_text.find('[', 0) iter_pos = 0 while not inside_code: iter_pos = post_text.find('*', iter_pos, next_brac_pos) @@ -286,7 +303,6 @@ def rstize_text(text, cclass): else: iter_pos += 1 - text = pre_text + tag_text + post_text pos = len(pre_text) + len(tag_text) @@ -299,16 +315,27 @@ def make_type(t): return ':ref:`' + t + '<class_' + t.lower() + '>`' return t + def make_enum(t): global class_names p = t.find(".") + # Global enums such as Error are relative to @GlobalScope. if p >= 0: c = t[0:p] - e = t[p+1:] - if c in class_names: - return ':ref:`' + e + '<enum_' + c.lower() + '_' + e.lower() + '>`' + e = t[p + 1:] + # Variant enums live in GlobalScope but still use periods. + if c == "Variant": + c = "@GlobalScope" + e = "Variant." + e + else: + # Things in GlobalScope don't have a period. + c = "@GlobalScope" + e = t + if c in class_names: + return ':ref:`' + e + '<enum_' + c.lower() + '_' + e.lower() + '>`' return t + def make_method( f, name, @@ -340,7 +367,10 @@ def make_method( if not event: if -1 in mdata['argidx']: - t += make_type(mdata[-1].attrib['type']) + if 'enum' in mdata[-1].attrib: + t += make_enum(mdata[-1].attrib['enum']) + else: + t += make_type(mdata[-1].attrib['type']) else: t += 'void' t += ' ' @@ -362,7 +392,10 @@ def make_method( else: s += ' ' - s += make_type(arg.attrib['type']) + if 'enum' in arg.attrib: + s += make_enum(arg.attrib['enum']) + else: + s += make_type(arg.attrib['type']) if 'name' in arg.attrib: s += ' ' + arg.attrib['name'] else: @@ -559,6 +592,32 @@ def make_rst_class(node): f.write(make_heading('Description', '-')) f.write(rstize_text(descr.text.strip(), name) + "\n\n") + global godot_docs_pattern + tutorials = node.find('tutorials') + if tutorials != None and len(tutorials) > 0: + f.write(make_heading('Tutorials', '-')) + for t in tutorials: + link = t.text.strip() + match = godot_docs_pattern.search(link); + if match: + groups = match.groups() + if match.lastindex == 2: + # Doc reference with fragment identifier: emit direct link to section with reference to page, for example: + # `#calling-javascript-from-script in Exporting For Web` + f.write("- `" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n") + # Commented out alternative: Instead just emit: + # `Subsection in Exporting For Web` + # f.write("- `Subsection <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n") + elif match.lastindex == 1: + # Doc reference, for example: + # `Math` + f.write("- :doc:`../" + groups[0] + "`\n") + else: + # External link, for example: + # `http://enet.bespin.org/usergroup0.html` + f.write("- `" + link + " <" + link + ">`_\n") + f.write("\n") + methods = node.find('methods') if methods != None and len(list(methods)) > 0: f.write(make_heading('Member Function Description', '-')) |