diff options
134 files changed, 839 insertions, 460 deletions
diff --git a/CODEOWNERS b/.github/CODEOWNERS index 399fca03e8..399fca03e8 100644 --- a/CODEOWNERS +++ b/.github/CODEOWNERS diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000000..0820ab175d --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +patreon: godotengine +custom: https://godotengine.org/donate diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 1ca0b3694c..1ca0b3694c 100644 --- a/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md diff --git a/core/error_list.h b/core/error_list.h index 304861da4e..dc5a5e68dd 100644 --- a/core/error_list.h +++ b/core/error_list.h @@ -39,7 +39,7 @@ */ enum Error { - OK, + OK, // (0) FAILED, ///< Generic fail error ERR_UNAVAILABLE, ///< What is requested is unsupported/unavailable ERR_UNCONFIGURED, ///< The object being used hasn't been properly set up yet @@ -69,12 +69,12 @@ enum Error { ERR_CONNECTION_ERROR, ERR_CANT_ACQUIRE_RESOURCE, ERR_CANT_FORK, - ERR_INVALID_DATA, ///< Data passed is invalid (30) + ERR_INVALID_DATA, ///< Data passed is invalid (30) ERR_INVALID_PARAMETER, ///< Parameter passed is invalid ERR_ALREADY_EXISTS, ///< When adding, item already exists - ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, it item does not exist + ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, if item does not exist ERR_DATABASE_CANT_READ, ///< database is full - ERR_DATABASE_CANT_WRITE, ///< database is full (35) + ERR_DATABASE_CANT_WRITE, ///< database is full (35) ERR_COMPILATION_FAILED, ERR_METHOD_NOT_FOUND, ERR_LINK_FAILED, diff --git a/core/global_constants.cpp b/core/global_constants.cpp index 671b3c545b..5bfdc8ab8f 100644 --- a/core/global_constants.cpp +++ b/core/global_constants.cpp @@ -486,47 +486,55 @@ void register_global_constants() { // error list - BIND_GLOBAL_ENUM_CONSTANT(OK); - BIND_GLOBAL_ENUM_CONSTANT(FAILED); ///< Generic fail error - BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAVAILABLE); ///< What is requested is unsupported/unavailable - BIND_GLOBAL_ENUM_CONSTANT(ERR_UNCONFIGURED); ///< The object being used hasn't been properly set up yet - BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAUTHORIZED); ///< Missing credentials for requested resource - BIND_GLOBAL_ENUM_CONSTANT(ERR_PARAMETER_RANGE_ERROR); ///< Parameter given out of range - BIND_GLOBAL_ENUM_CONSTANT(ERR_OUT_OF_MEMORY); ///< Out of memory + BIND_GLOBAL_ENUM_CONSTANT(OK); // (0) + BIND_GLOBAL_ENUM_CONSTANT(FAILED); + BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAVAILABLE); + BIND_GLOBAL_ENUM_CONSTANT(ERR_UNCONFIGURED); + BIND_GLOBAL_ENUM_CONSTANT(ERR_UNAUTHORIZED); + BIND_GLOBAL_ENUM_CONSTANT(ERR_PARAMETER_RANGE_ERROR); // (5) + BIND_GLOBAL_ENUM_CONSTANT(ERR_OUT_OF_MEMORY); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_NOT_FOUND); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_BAD_DRIVE); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_BAD_PATH); - BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_NO_PERMISSION); + BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_NO_PERMISSION); // (10) BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_ALREADY_IN_USE); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CANT_OPEN); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CANT_WRITE); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CANT_READ); - BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_UNRECOGNIZED); + BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_UNRECOGNIZED); // (15) BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_CORRUPT); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_MISSING_DEPENDENCIES); BIND_GLOBAL_ENUM_CONSTANT(ERR_FILE_EOF); - BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_OPEN); ///< Can't open a resource/socket/file - BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_CREATE); - BIND_GLOBAL_ENUM_CONSTANT(ERR_PARSE_ERROR); + BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_OPEN); + BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_CREATE); // (20) BIND_GLOBAL_ENUM_CONSTANT(ERR_QUERY_FAILED); BIND_GLOBAL_ENUM_CONSTANT(ERR_ALREADY_IN_USE); - BIND_GLOBAL_ENUM_CONSTANT(ERR_LOCKED); ///< resource is locked + BIND_GLOBAL_ENUM_CONSTANT(ERR_LOCKED); BIND_GLOBAL_ENUM_CONSTANT(ERR_TIMEOUT); + BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_CONNECT); // (25) + BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_RESOLVE); + BIND_GLOBAL_ENUM_CONSTANT(ERR_CONNECTION_ERROR); BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_ACQUIRE_RESOURCE); - BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_DATA); ///< Data passed is invalid - BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_PARAMETER); ///< Parameter passed is invalid - BIND_GLOBAL_ENUM_CONSTANT(ERR_ALREADY_EXISTS); ///< When adding ), item already exists - BIND_GLOBAL_ENUM_CONSTANT(ERR_DOES_NOT_EXIST); ///< When retrieving/erasing ), it item does not exist - BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_READ); ///< database is full - BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_WRITE); ///< database is full + BIND_GLOBAL_ENUM_CONSTANT(ERR_CANT_FORK); + BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_DATA); // (30) + BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_PARAMETER); + BIND_GLOBAL_ENUM_CONSTANT(ERR_ALREADY_EXISTS); + BIND_GLOBAL_ENUM_CONSTANT(ERR_DOES_NOT_EXIST); + BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_READ); + BIND_GLOBAL_ENUM_CONSTANT(ERR_DATABASE_CANT_WRITE); // (35) BIND_GLOBAL_ENUM_CONSTANT(ERR_COMPILATION_FAILED); BIND_GLOBAL_ENUM_CONSTANT(ERR_METHOD_NOT_FOUND); BIND_GLOBAL_ENUM_CONSTANT(ERR_LINK_FAILED); BIND_GLOBAL_ENUM_CONSTANT(ERR_SCRIPT_FAILED); - BIND_GLOBAL_ENUM_CONSTANT(ERR_CYCLIC_LINK); + BIND_GLOBAL_ENUM_CONSTANT(ERR_CYCLIC_LINK); // (40) + BIND_GLOBAL_ENUM_CONSTANT(ERR_INVALID_DECLARATION); + BIND_GLOBAL_ENUM_CONSTANT(ERR_DUPLICATE_SYMBOL); + BIND_GLOBAL_ENUM_CONSTANT(ERR_PARSE_ERROR); BIND_GLOBAL_ENUM_CONSTANT(ERR_BUSY); - BIND_GLOBAL_ENUM_CONSTANT(ERR_HELP); ///< user requested help!! - BIND_GLOBAL_ENUM_CONSTANT(ERR_BUG); ///< a bug in the software certainly happened ), due to a double check failing or unexpected behavior. + BIND_GLOBAL_ENUM_CONSTANT(ERR_SKIP); // (45) + BIND_GLOBAL_ENUM_CONSTANT(ERR_HELP); + BIND_GLOBAL_ENUM_CONSTANT(ERR_BUG); + BIND_GLOBAL_ENUM_CONSTANT(ERR_PRINTER_ON_FIRE); BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_NONE); BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_RANGE); diff --git a/core/object.cpp b/core/object.cpp index 5dbf36940e..ee512ff23c 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -1684,7 +1684,7 @@ void Object::clear_internal_resource_paths() { void Object::_bind_methods() { ClassDB::bind_method(D_METHOD("get_class"), &Object::get_class); - ClassDB::bind_method(D_METHOD("is_class", "type"), &Object::is_class); + ClassDB::bind_method(D_METHOD("is_class", "class"), &Object::is_class); ClassDB::bind_method(D_METHOD("set", "property", "value"), &Object::_set_bind); ClassDB::bind_method(D_METHOD("get", "property"), &Object::_get_bind); ClassDB::bind_method(D_METHOD("set_indexed", "property", "value"), &Object::_set_indexed_bind); @@ -1704,14 +1704,8 @@ void Object::_bind_methods() { ClassDB::bind_method(D_METHOD("has_meta", "name"), &Object::has_meta); ClassDB::bind_method(D_METHOD("get_meta_list"), &Object::_get_meta_list_bind); - //todo reimplement this per language so all 5 arguments can be called - - //ClassDB::bind_method(D_METHOD("call","method","arg1","arg2","arg3","arg4"),&Object::_call_bind,DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant())); - //ClassDB::bind_method(D_METHOD("call_deferred","method","arg1","arg2","arg3","arg4"),&Object::_call_deferred_bind,DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant()),DEFVAL(Variant())); - ClassDB::bind_method(D_METHOD("add_user_signal", "signal", "arguments"), &Object::_add_user_signal, DEFVAL(Array())); ClassDB::bind_method(D_METHOD("has_user_signal", "signal"), &Object::_has_user_signal); - //ClassDB::bind_method(D_METHOD("emit_signal","signal","arguments"),&Object::_emit_signal,DEFVAL(Array())); { MethodInfo mi; diff --git a/core/os/main_loop.cpp b/core/os/main_loop.cpp index 895ce14ae9..9946ced2f3 100644 --- a/core/os/main_loop.cpp +++ b/core/os/main_loop.cpp @@ -44,9 +44,9 @@ void MainLoop::_bind_methods() { BIND_VMETHOD(MethodInfo("_input_event", PropertyInfo(Variant::OBJECT, "event", PROPERTY_HINT_RESOURCE_TYPE, "InputEvent"))); BIND_VMETHOD(MethodInfo("_input_text", PropertyInfo(Variant::STRING, "text"))); BIND_VMETHOD(MethodInfo("_initialize")); - BIND_VMETHOD(MethodInfo("_iteration", PropertyInfo(Variant::REAL, "delta"))); - BIND_VMETHOD(MethodInfo("_idle", PropertyInfo(Variant::REAL, "delta"))); - BIND_VMETHOD(MethodInfo("_drop_files", PropertyInfo(Variant::POOL_STRING_ARRAY, "files"), PropertyInfo(Variant::INT, "screen"))); + BIND_VMETHOD(MethodInfo(Variant::BOOL, "_iteration", PropertyInfo(Variant::REAL, "delta"))); + BIND_VMETHOD(MethodInfo(Variant::BOOL, "_idle", PropertyInfo(Variant::REAL, "delta"))); + BIND_VMETHOD(MethodInfo("_drop_files", PropertyInfo(Variant::POOL_STRING_ARRAY, "files"), PropertyInfo(Variant::INT, "from_screen"))); BIND_VMETHOD(MethodInfo("_finalize")); BIND_CONSTANT(NOTIFICATION_WM_MOUSE_ENTER); diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index d36a545c56..df98048a97 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -968,7 +968,7 @@ Joypad Button 15 </constant> <constant name="JOY_BUTTON_MAX" value="16" enum="JoystickList"> - Joypad Button 16 + Represents the maximum number of joystick buttons supported. </constant> <constant name="JOY_SONY_CIRCLE" value="1" enum="JoystickList"> DUALSHOCK circle button @@ -1090,6 +1090,7 @@ <constant name="JOY_AXIS_9" value="9" enum="JoystickList"> </constant> <constant name="JOY_AXIS_MAX" value="10" enum="JoystickList"> + Represents the maximum number of joystick axes supported. </constant> <constant name="JOY_ANALOG_LX" value="0" enum="JoystickList"> Joypad Left Stick Horizontal Axis @@ -1136,127 +1137,160 @@ <constant name="MIDI_MESSAGE_PITCH_BEND" value="14" enum="MidiMessageList"> </constant> <constant name="OK" value="0" enum="Error"> - Functions that return Error return OK when no error occurred. Most functions don't return errors and/or just print errors to STDOUT. + Methods that return [enum Error] return [constant OK] when no error occurred. Note that many functions don't return an error code but will print error messages to stdout. + Since [constant OK] has value 0, and all other failure codes are positive integers, it can also be used in boolean checks, e.g.: + [codeblock] + var err = method_that_returns_error() + if (err != OK): + print("Failure!) + # Or, equivalent: + if (err): + print("Still failing!) + [/codeblock] </constant> <constant name="FAILED" value="1" enum="Error"> Generic error. </constant> <constant name="ERR_UNAVAILABLE" value="2" enum="Error"> - Unavailable error + Unavailable error. </constant> <constant name="ERR_UNCONFIGURED" value="3" enum="Error"> - Unconfigured error + Unconfigured error. </constant> <constant name="ERR_UNAUTHORIZED" value="4" enum="Error"> - Unauthorized error + Unauthorized error. </constant> <constant name="ERR_PARAMETER_RANGE_ERROR" value="5" enum="Error"> - Parameter range error + Parameter range error. </constant> <constant name="ERR_OUT_OF_MEMORY" value="6" enum="Error"> - Out of memory (OOM) error + Out of memory (OOM) error. </constant> <constant name="ERR_FILE_NOT_FOUND" value="7" enum="Error"> - File: Not found error + File: Not found error. </constant> <constant name="ERR_FILE_BAD_DRIVE" value="8" enum="Error"> - File: Bad drive error + File: Bad drive error. </constant> <constant name="ERR_FILE_BAD_PATH" value="9" enum="Error"> - File: Bad path error + File: Bad path error. </constant> <constant name="ERR_FILE_NO_PERMISSION" value="10" enum="Error"> - File: No permission error + File: No permission error. </constant> <constant name="ERR_FILE_ALREADY_IN_USE" value="11" enum="Error"> - File: Already in use error + File: Already in use error. </constant> <constant name="ERR_FILE_CANT_OPEN" value="12" enum="Error"> - File: Can't open error + File: Can't open error. </constant> <constant name="ERR_FILE_CANT_WRITE" value="13" enum="Error"> - File: Can't write error + File: Can't write error. </constant> <constant name="ERR_FILE_CANT_READ" value="14" enum="Error"> - File: Can't read error + File: Can't read error. </constant> <constant name="ERR_FILE_UNRECOGNIZED" value="15" enum="Error"> - File: Unrecognized error + File: Unrecognized error. </constant> <constant name="ERR_FILE_CORRUPT" value="16" enum="Error"> - File: Corrupt error + File: Corrupt error. </constant> <constant name="ERR_FILE_MISSING_DEPENDENCIES" value="17" enum="Error"> - File: Missing dependencies error + File: Missing dependencies error. </constant> <constant name="ERR_FILE_EOF" value="18" enum="Error"> - File: End of file (EOF) error + File: End of file (EOF) error. </constant> <constant name="ERR_CANT_OPEN" value="19" enum="Error"> - Can't open error + Can't open error. </constant> <constant name="ERR_CANT_CREATE" value="20" enum="Error"> - Can't create error - </constant> - <constant name="ERR_PARSE_ERROR" value="43" enum="Error"> - Parse error + Can't create error. </constant> <constant name="ERR_QUERY_FAILED" value="21" enum="Error"> - Query failed error + Query failed error. </constant> <constant name="ERR_ALREADY_IN_USE" value="22" enum="Error"> - Already in use error + Already in use error. </constant> <constant name="ERR_LOCKED" value="23" enum="Error"> - Locked error + Locked error. </constant> <constant name="ERR_TIMEOUT" value="24" enum="Error"> - Timeout error + Timeout error. + </constant> + <constant name="ERR_CANT_CONNECT" value="25" enum="Error"> + Can't connect error. + </constant> + <constant name="ERR_CANT_RESOLVE" value="26" enum="Error"> + Can't resolve error. + </constant> + <constant name="ERR_CONNECTION_ERROR" value="27" enum="Error"> + Connection error. </constant> <constant name="ERR_CANT_ACQUIRE_RESOURCE" value="28" enum="Error"> - Can't acquire resource error + Can't acquire resource error. + </constant> + <constant name="ERR_CANT_FORK" value="29" enum="Error"> + Can't fork process error. </constant> <constant name="ERR_INVALID_DATA" value="30" enum="Error"> - Invalid data error + Invalid data error. </constant> <constant name="ERR_INVALID_PARAMETER" value="31" enum="Error"> - Invalid parameter error + Invalid parameter error. </constant> <constant name="ERR_ALREADY_EXISTS" value="32" enum="Error"> - Already exists error + Already exists error. </constant> <constant name="ERR_DOES_NOT_EXIST" value="33" enum="Error"> - Does not exist error + Does not exist error. </constant> <constant name="ERR_DATABASE_CANT_READ" value="34" enum="Error"> - Database: Read error + Database: Read error. </constant> <constant name="ERR_DATABASE_CANT_WRITE" value="35" enum="Error"> - Database: Write error + Database: Write error. </constant> <constant name="ERR_COMPILATION_FAILED" value="36" enum="Error"> - Compilation failed error + Compilation failed error. </constant> <constant name="ERR_METHOD_NOT_FOUND" value="37" enum="Error"> - Method not found error + Method not found error. </constant> <constant name="ERR_LINK_FAILED" value="38" enum="Error"> - Linking failed error + Linking failed error. </constant> <constant name="ERR_SCRIPT_FAILED" value="39" enum="Error"> - Script failed error + Script failed error. </constant> <constant name="ERR_CYCLIC_LINK" value="40" enum="Error"> - Cycling link (import cycle) error + Cycling link (import cycle) error. + </constant> + <constant name="ERR_INVALID_DECLARATION" value="41" enum="Error"> + Invalid declaration error. + </constant> + <constant name="ERR_DUPLICATE_SYMBOL" value="42" enum="Error"> + Duplicate symbol error. + </constant> + <constant name="ERR_PARSE_ERROR" value="43" enum="Error"> + Parse error. </constant> <constant name="ERR_BUSY" value="44" enum="Error"> - Busy error + Busy error. + </constant> + <constant name="ERR_SKIP" value="45" enum="Error"> + Skip error. </constant> <constant name="ERR_HELP" value="46" enum="Error"> - Help error + Help error. </constant> <constant name="ERR_BUG" value="47" enum="Error"> - Bug error + Bug error. + </constant> + <constant name="ERR_PRINTER_ON_FIRE" value="48" enum="Error"> + Printer on fire error. (This is an easter egg, no engine methods return this error code.) </constant> <constant name="PROPERTY_HINT_NONE" value="0" enum="PropertyHint"> No hint for edited property. @@ -1449,7 +1483,7 @@ Variable is of type [PoolColorArray]. </constant> <constant name="TYPE_MAX" value="27" enum="Variant.Type"> - Marker for end of type constants. + Represents the size of the [enum Variant.Type] enum. </constant> <constant name="OP_EQUAL" value="0" enum="Variant.Operator"> </constant> @@ -1502,6 +1536,7 @@ <constant name="OP_IN" value="24" enum="Variant.Operator"> </constant> <constant name="OP_MAX" value="25" enum="Variant.Operator"> + Represents the size of the [enum Variant.Operator] enum. </constant> </constants> </class> diff --git a/doc/classes/ARVRAnchor.xml b/doc/classes/ARVRAnchor.xml index 91f44151fa..ff2691f7a7 100644 --- a/doc/classes/ARVRAnchor.xml +++ b/doc/classes/ARVRAnchor.xml @@ -5,7 +5,7 @@ </brief_description> <description> The ARVR Anchor point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them. - This node is mapped to one of the anchors through its unique id. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the id and the nodes will simply remain on 0,0,0 until a plane is recognised. + This node is mapped to one of the anchors through its unique id. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the id and the nodes will simply remain on 0,0,0 until a plane is recognized. Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view. </description> <tutorials> diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml index 81722535c2..0c7de55329 100644 --- a/doc/classes/AStar.xml +++ b/doc/classes/AStar.xml @@ -5,7 +5,7 @@ </brief_description> <description> A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting an efficiently directed path between multiple points. It enjoys widespread use due to its performance and accuracy. Godot's A* implementation make use of vectors as points. - You must add points manually with [method AStar.add_point] and create segments manually with [method AStar.connect_points]. So you can test if there is a path between two points with the [method AStar.are_points_connected] function, get the list of existing ids in the found path with [method AStar.get_id_path], or the points list with [method AStar.get_point_path]. + You must add points manually with [method add_point] and create segments manually with [method connect_points]. So you can test if there is a path between two points with the [method are_points_connected] function, get the list of existing ids in the found path with [method get_id_path], or the points list with [method get_point_path]. </description> <tutorials> </tutorials> diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml index aeb44a789b..0ba3e7057e 100644 --- a/doc/classes/AnimationNodeStateMachineTransition.xml +++ b/doc/classes/AnimationNodeStateMachineTransition.xml @@ -16,7 +16,7 @@ [/codeblock] </member> <member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance"> - Turn on the transition automatically when this state is reached. This works best with [code]SWITCH_MODE_AT_END[/code]. + Turn on the transition automatically when this state is reached. This works best with [constant SWITCH_MODE_AT_END]. </member> <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled"> Don't use this transition during [method AnimationNodeStateMachinePlayback.travel] or [member auto_advance]. diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index ff91db2e28..3e2fad8a92 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -239,7 +239,7 @@ The position (in seconds) of the currently playing animation. </member> <member name="method_call_mode" type="int" setter="set_method_call_mode" getter="get_method_call_mode" enum="AnimationPlayer.AnimationMethodCallMode"> - The call mode to use for Call Method tracks. Default value: [code]ANIMATION_METHOD_CALL_DEFERRED[/code]. + The call mode to use for Call Method tracks. Default value: [constant ANIMATION_METHOD_CALL_DEFERRED]. </member> <member name="playback_active" type="bool" setter="set_active" getter="is_active"> If [code]true[/code], updates animations in response to process-related notifications. Default value: [code]true[/code]. @@ -248,7 +248,7 @@ The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision. Default value: [code]0[/code]. </member> <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationPlayer.AnimationProcessMode"> - The process notification in which to update animations. Default value: [code]ANIMATION_PROCESS_IDLE[/code]. + The process notification in which to update animations. Default value: [constant ANIMATION_PROCESS_IDLE]. </member> <member name="playback_speed" type="float" setter="set_speed_scale" getter="get_speed_scale"> The speed scaling ratio. For instance, if this value is 1 then the animation plays at normal speed. If it's 0.5 then it plays at half speed. If it's 2 then it plays at double speed. Default value: [code]1[/code]. diff --git a/doc/classes/AnimationTreePlayer.xml b/doc/classes/AnimationTreePlayer.xml index 818565e0dc..179dc5577b 100644 --- a/doc/classes/AnimationTreePlayer.xml +++ b/doc/classes/AnimationTreePlayer.xml @@ -616,7 +616,7 @@ Once set, Animation nodes can be added to the AnimationTreePlayer. </member> <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationTreePlayer.AnimationProcessMode"> - The thread in which to update animations. Default value: [code]ANIMATION_PROCESS_IDLE[/code]. + The thread in which to update animations. Default value: [constant ANIMATION_PROCESS_IDLE]. </member> </members> <constants> diff --git a/doc/classes/Area.xml b/doc/classes/Area.xml index d40376414f..17d9678f64 100644 --- a/doc/classes/Area.xml +++ b/doc/classes/Area.xml @@ -136,7 +136,7 @@ The degree to which this area's reverb is a uniform effect. Ranges from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision. </member> <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area.SpaceOverride"> - Override mode for gravity and damping calculations within this area. See [enum Area.SpaceOverride] for possible values. + Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values. </member> </members> <signals> diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml index 4771a976b5..c287f2b6f5 100644 --- a/doc/classes/Area2D.xml +++ b/doc/classes/Area2D.xml @@ -124,7 +124,7 @@ The area's priority. Higher priority areas are processed first. Default value: 0. </member> <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area2D.SpaceOverride"> - Override mode for gravity and damping calculations within this area. See [enum Area2D.SpaceOverride] for possible values. + Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values. </member> </members> <signals> diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml index d44e3c54c9..19fe833334 100644 --- a/doc/classes/ArrayMesh.xml +++ b/doc/classes/ArrayMesh.xml @@ -48,7 +48,7 @@ <description> Creates a new surface. Surfaces are created to be rendered using a "primitive", which may be PRIMITIVE_POINTS, PRIMITIVE_LINES, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN. See [Mesh] for details. (As a note, when using indices, it is recommended to only use points, lines or triangles). [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface. - The [code]arrays[/code] argument is an array of arrays. See [enum ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [code]ARRAY_INDEX[/code] if it is used. + The [code]arrays[/code] argument is an array of arrays. See [enum ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [constant ARRAY_INDEX] if it is used. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data, and the index array defines the order of the vertices. Godot uses clockwise winding order for front faces of triangle primitive modes. </description> @@ -225,6 +225,7 @@ For triangles, the index array is interpreted as triples, referring to the vertices of each triangle. For lines, the index array is in pairs indicating the start and end of each line. </constant> <constant name="ARRAY_MAX" value="9" enum="ArrayType"> + Represents the size of the [enum ArrayType] enum. </constant> <constant name="ARRAY_FORMAT_VERTEX" value="1" enum="ArrayFormat"> Array format will include vertices (mandatory). diff --git a/doc/classes/AudioEffectDistortion.xml b/doc/classes/AudioEffectDistortion.xml index 4393f942f0..cf02a8fb6d 100644 --- a/doc/classes/AudioEffectDistortion.xml +++ b/doc/classes/AudioEffectDistortion.xml @@ -20,7 +20,7 @@ High-pass filter. Frequencies higher than this value will not be affected by the distortion. Value can range from 1 to 20000. Default value: [code]16000[/code]. </member> <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="AudioEffectDistortion.Mode"> - Distortion type. Default value: [code]MODE_CLIP[/code]. + Distortion type. Default value: [constant MODE_CLIP]. </member> <member name="post_gain" type="float" setter="set_post_gain" getter="get_post_gain"> Increases or decreases the volume after the effect. Value can range from -80 to 24. Default value: [code]0[/code]. diff --git a/doc/classes/AudioEffectPitchShift.xml b/doc/classes/AudioEffectPitchShift.xml index 8c22afb40f..271e1a2a4c 100644 --- a/doc/classes/AudioEffectPitchShift.xml +++ b/doc/classes/AudioEffectPitchShift.xml @@ -32,6 +32,7 @@ <constant name="FFT_SIZE_4096" value="4" enum="FFT_Size"> </constant> <constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size"> + Represents the size of the [enum FFT_Size] enum. </constant> </constants> </class> diff --git a/doc/classes/AudioEffectSpectrumAnalyzer.xml b/doc/classes/AudioEffectSpectrumAnalyzer.xml index 8a71991437..21d74a8fb0 100644 --- a/doc/classes/AudioEffectSpectrumAnalyzer.xml +++ b/doc/classes/AudioEffectSpectrumAnalyzer.xml @@ -28,6 +28,7 @@ <constant name="FFT_SIZE_4096" value="4" enum="FFT_Size"> </constant> <constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size"> + Represents the size of the [enum FFT_Size] enum. </constant> </constants> </class> diff --git a/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml b/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml index f4620f9905..ca068d572d 100644 --- a/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml +++ b/doc/classes/AudioEffectSpectrumAnalyzerInstance.xml @@ -22,8 +22,10 @@ </methods> <constants> <constant name="MAGNITUDE_AVERAGE" value="0" enum="MagnitudeMode"> + Use the average value as magnitude. </constant> <constant name="MAGNITUDE_MAX" value="1" enum="MagnitudeMode"> + Use the maximum value as magnitude. </constant> </constants> </class> diff --git a/doc/classes/BackBufferCopy.xml b/doc/classes/BackBufferCopy.xml index 65e8774c59..1ee4f08a38 100644 --- a/doc/classes/BackBufferCopy.xml +++ b/doc/classes/BackBufferCopy.xml @@ -12,10 +12,10 @@ </methods> <members> <member name="copy_mode" type="int" setter="set_copy_mode" getter="get_copy_mode" enum="BackBufferCopy.CopyMode"> - Buffer mode. See [code]COPY_MODE_*[/code] constants. + Buffer mode. See [enum CopyMode] constants. </member> <member name="rect" type="Rect2" setter="set_rect" getter="get_rect"> - The area covered by the BackBufferCopy. Only used if [code]copy_mode[/code] is [code]COPY_MODE_RECT[/code]. + The area covered by the BackBufferCopy. Only used if [member copy_mode] is [constant COPY_MODE_RECT]. </member> </members> <constants> diff --git a/doc/classes/Camera.xml b/doc/classes/Camera.xml index cc869d28a2..b7d983afa2 100644 --- a/doc/classes/Camera.xml +++ b/doc/classes/Camera.xml @@ -168,7 +168,7 @@ If [code]true[/code], the ancestor [Viewport] is currently using this Camera. Default value: [code]false[/code]. </member> <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="Camera.DopplerTracking"> - If not [code]DOPPLER_TRACKING_DISABLED[/code] this Camera will simulate the Doppler effect for objects changed in particular [code]_process[/code] methods. Default value: [code]DOPPLER_TRACKING_DISABLED[/code]. + If not [constant DOPPLER_TRACKING_DISABLED] this Camera will simulate the Doppler effect for objects changed in particular [code]_process[/code] methods. Default value: [constant DOPPLER_TRACKING_DISABLED]. </member> <member name="environment" type="Environment" setter="set_environment" getter="get_environment"> The [Environment] to use for this Camera. @@ -185,13 +185,13 @@ The horizontal (X) offset of the Camera viewport. </member> <member name="keep_aspect" type="int" setter="set_keep_aspect_mode" getter="get_keep_aspect_mode" enum="Camera.KeepAspect"> - The axis to lock during [member fov]/[member size] adjustments. Can be either [code]KEEP_WIDTH[/code] or [code]KEEP_HEIGHT[/code]. + The axis to lock during [member fov]/[member size] adjustments. Can be either [constant KEEP_WIDTH] or [constant KEEP_HEIGHT]. </member> <member name="near" type="float" setter="set_znear" getter="get_znear"> The distance to the near culling boundary for this Camera relative to its local z-axis. </member> <member name="projection" type="int" setter="set_projection" getter="get_projection" enum="Camera.Projection"> - The camera's projection mode. In [code]PROJECTION_PERSPECTIVE[/code] mode, objects' z-distance from the camera's local space scales their perceived size. + The camera's projection mode. In [constant PROJECTION_PERSPECTIVE] mode, objects' z-distance from the camera's local space scales their perceived size. </member> <member name="size" type="float" setter="set_size" getter="get_size"> The camera's size measured as 1/2 the width or height. Only applicable in orthogonal mode. Since [member keep_aspect] locks on axis, [code]size[/code] sets the other axis' size length. diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml index 3d609fa965..b0c514affc 100644 --- a/doc/classes/CollisionPolygon2D.xml +++ b/doc/classes/CollisionPolygon2D.xml @@ -12,7 +12,7 @@ </methods> <members> <member name="build_mode" type="int" setter="set_build_mode" getter="get_build_mode" enum="CollisionPolygon2D.BuildMode"> - Collision build mode. Use one of the [code]BUILD_*[/code] constants. Default value: [code]BUILD_SOLIDS[/code]. + Collision build mode. Use one of the [code]BUILD_*[/code] constants. Default value: [constant BUILD_SOLIDS]. </member> <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled"> If [code]true[/code], no collisions will be detected. diff --git a/doc/classes/ConeTwistJoint.xml b/doc/classes/ConeTwistJoint.xml index cd2289d715..28dee22b7f 100644 --- a/doc/classes/ConeTwistJoint.xml +++ b/doc/classes/ConeTwistJoint.xml @@ -25,9 +25,9 @@ </member> <member name="swing_span" type="float" setter="_set_swing_span" getter="_get_swing_span"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. - The swing span defines, how much rotation will not get corrected allong the swing axis. + The swing span defines, how much rotation will not get corrected along the swing axis. Could be defined as looseness in the [ConeTwistJoint]. - If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code]. + If below 0.05, this behavior is locked. Default value: [code]PI/4[/code]. </member> <member name="twist_span" type="float" setter="_set_twist_span" getter="_get_twist_span"> Twist is the rotation around the twist axis, this value defined how far the joint can twist. @@ -37,9 +37,9 @@ <constants> <constant name="PARAM_SWING_SPAN" value="0" enum="Param"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. - The swing span defines, how much rotation will not get corrected allong the swing axis. + The swing span defines, how much rotation will not get corrected along the swing axis. Could be defined as looseness in the [ConeTwistJoint]. - If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code]. + If below 0.05, this behavior is locked. Default value: [code]PI/4[/code]. </constant> <constant name="PARAM_TWIST_SPAN" value="1" enum="Param"> Twist is the rotation around the twist axis, this value defined how far the joint can twist. @@ -56,7 +56,7 @@ Defines, how fast the swing- and twist-speed-difference on both sides gets synced. </constant> <constant name="PARAM_MAX" value="5" enum="Param"> - End flag of PARAM_* constants, used internally. + Represents the size of the [enum Param] enum. </constant> </constants> </class> diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml index 68831a886a..b65f3c5609 100644 --- a/doc/classes/ConfigFile.xml +++ b/doc/classes/ConfigFile.xml @@ -94,7 +94,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Loads the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object which the method was called on. Returns one of the [code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [code]OK[/code]. + Loads the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object which the method was called on. Returns one of the [constant OK], [constant FAILED] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [constant OK]. </description> </method> <method name="save"> @@ -103,7 +103,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the [code]OK[/code], [code]FAILED[/code] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [code]OK[/code]. + Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the [constant OK], [constant FAILED] or [code]ERR_*[/code] constants listed in [@GlobalScope]. If the load was successful, the return value is [constant OK]. </description> </method> <method name="set_value"> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index fea706987c..d2c6b02e6e 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -645,16 +645,16 @@ </methods> <members> <member name="anchor_bottom" type="float" setter="_set_anchor" getter="get_anchor"> - Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [code]ANCHOR_BEGIN[/code]. + Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [constant ANCHOR_BEGIN]. </member> <member name="anchor_left" type="float" setter="_set_anchor" getter="get_anchor"> - Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.Default value: [code]ANCHOR_BEGIN[/code]. + Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience.Default value: [constant ANCHOR_BEGIN]. </member> <member name="anchor_right" type="float" setter="_set_anchor" getter="get_anchor"> - Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [code]ANCHOR_BEGIN[/code]. + Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [constant ANCHOR_BEGIN]. </member> <member name="anchor_top" type="float" setter="_set_anchor" getter="get_anchor"> - Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [code]ANCHOR_BEGIN[/code]. + Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use one of the [code]ANCHOR_*[/code] constants for convenience. Default value: [constant ANCHOR_BEGIN]. </member> <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode"> The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals. @@ -739,7 +739,7 @@ Tells the parent [Container] nodes how they should resize and place the node on the X axis. Use one of the [code]SIZE_*[/code] constants to change the flags. See the constants to learn what each does. </member> <member name="size_flags_stretch_ratio" type="float" setter="set_stretch_ratio" getter="get_stretch_ratio"> - If the node and at least one of its neighbours uses the [code]SIZE_EXPAND[/code] size flag, the parent [Container] will let it take more or less space depending on this property. If this node has a stretch ratio of 2 and its neighbour a ratio of 1, this node will take two thirds of the available space. + If the node and at least one of its neighbours uses the [constant SIZE_EXPAND] size flag, the parent [Container] will let it take more or less space depending on this property. If this node has a stretch ratio of 2 and its neighbour a ratio of 1, this node will take two thirds of the available space. </member> <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags"> Tells the parent [Container] nodes how they should resize and place the node on the Y axis. Use one of the [code]SIZE_*[/code] constants to change the flags. See the constants to learn what each does. @@ -871,16 +871,16 @@ Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically. </constant> <constant name="CURSOR_FDIAGSIZE" value="12" enum="CursorShape"> - Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of [code]CURSOR_BDIAGSIZE[/code]. It tells the user they can resize the window or the panel both horizontally and vertically. + Show the system's window resize mouse cursor when the user hovers the node. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of [constant CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel both horizontally and vertically. </constant> <constant name="CURSOR_MOVE" value="13" enum="CursorShape"> Show the system's move mouse cursor when the user hovers the node. It shows 2 double-headed arrows at a 90 degree angle. It tells the user they can move a UI element freely. </constant> <constant name="CURSOR_VSPLIT" value="14" enum="CursorShape"> - Show the system's vertical split mouse cursor when the user hovers the node. On Windows, it's the same as [code]CURSOR_VSIZE[/code]. + Show the system's vertical split mouse cursor when the user hovers the node. On Windows, it's the same as [constant CURSOR_VSIZE]. </constant> <constant name="CURSOR_HSPLIT" value="15" enum="CursorShape"> - Show the system's horizontal split mouse cursor when the user hovers the node. On Windows, it's the same as [code]CURSOR_HSIZE[/code]. + Show the system's horizontal split mouse cursor when the user hovers the node. On Windows, it's the same as [constant CURSOR_HSIZE]. </constant> <constant name="CURSOR_HELP" value="16" enum="CursorShape"> Show the system's help mouse cursor when the user hovers the node, a question mark. diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml index 20afb03048..f7af2c159f 100644 --- a/doc/classes/Curve.xml +++ b/doc/classes/Curve.xml @@ -23,7 +23,7 @@ <argument index="4" name="right_mode" type="int" enum="Curve.TangentMode" default="0"> </argument> <description> - Adds a point to the curve. For each side, if the [code]*_mode[/code] is [code]TANGENT_LINEAR[/code], the [code]*_tangent[/code] angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is set to [code]TANGENT_FREE[/code]. + Adds a point to the curve. For each side, if the [code]*_mode[/code] is [constant TANGENT_LINEAR], the [code]*_tangent[/code] angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is set to [constant TANGENT_FREE]. </description> </method> <method name="bake"> diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml index 7fda8aaa93..2966e2f8c0 100644 --- a/doc/classes/Curve3D.xml +++ b/doc/classes/Curve3D.xml @@ -246,7 +246,7 @@ 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. This is used when a [member PathFollow.rotation_mode] is set to [code]ROTATION_ORIENTED[/code], see [PathFollow] for details. Changing it forces the cache to be recomputed. + If [code]true[/code], the curve will bake up vectors used for orientation. This is used when [member PathFollow.rotation_mode] is set to [constant PathFollow.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed. </member> </members> <constants> diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml index 54aac33652..9c33b4fc0e 100644 --- a/doc/classes/Directory.xml +++ b/doc/classes/Directory.xml @@ -126,7 +126,7 @@ <argument index="1" name="skip_hidden" type="bool" default="false"> </argument> <description> - Initialise the stream used to list all files and directories using the [method get_next] function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with [method list_dir_end]. + Initialize the stream used to list all files and directories using the [method get_next] function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with [method list_dir_end]. If you pass [code]skip_navigational[/code], then [code].[/code] and [code]..[/code] would be filtered out. If you pass [code]skip_hidden[/code], then hidden files would be filtered out. </description> diff --git a/doc/classes/EditorFeatureProfile.xml b/doc/classes/EditorFeatureProfile.xml index 410b71a43e..21da9fd454 100644 --- a/doc/classes/EditorFeatureProfile.xml +++ b/doc/classes/EditorFeatureProfile.xml @@ -124,6 +124,7 @@ <constant name="FEATURE_FILESYSTEM_DOCK" value="6" enum="Feature"> </constant> <constant name="FEATURE_MAX" value="7" enum="Feature"> + Represents the size of the [enum Feature] enum. </constant> </constants> </class> diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml index c3f38e9e20..e66596412b 100644 --- a/doc/classes/EditorImportPlugin.xml +++ b/doc/classes/EditorImportPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.2"> +<class name="EditorImportPlugin" inherits="ResourceImporter" category="Core" version="3.2"> <brief_description> Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type. </brief_description> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 3d91bff0aa..36d6e38be9 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -292,7 +292,7 @@ <argument index="0" name="object" type="Object"> </argument> <description> - Implement this function if your plugin edits a specific type of object (Resource or Node). If you return [code]true[/code], then you will get the functions [method EditorPlugin.edit] and [method EditorPlugin.make_visible] called when the editor requests them. If you have declared the methods [method forward_canvas_gui_input] and [method forward_spatial_gui_input] these will be called too. + Implement this function if your plugin edits a specific type of object (Resource or Node). If you return [code]true[/code], then you will get the functions [method edit] and [method make_visible] called when the editor requests them. If you have declared the methods [method forward_canvas_gui_input] and [method forward_spatial_gui_input] these will be called too. </description> </method> <method name="has_main_screen" qualifiers="virtual"> @@ -455,7 +455,7 @@ <argument index="0" name="state" type="Dictionary"> </argument> <description> - Restore the state saved by [method EditorPlugin.get_state]. + Restore the state saved by [method get_state]. </description> </method> <method name="set_window_layout" qualifiers="virtual"> @@ -464,7 +464,7 @@ <argument index="0" name="layout" type="ConfigFile"> </argument> <description> - Restore the plugin GUI layout saved by [method EditorPlugin.get_window_layout]. + Restore the plugin GUI layout saved by [method get_window_layout]. </description> </method> <method name="update_overlays" qualifiers="const"> @@ -546,6 +546,7 @@ <constant name="DOCK_SLOT_RIGHT_BR" value="7" enum="DockSlot"> </constant> <constant name="DOCK_SLOT_MAX" value="8" enum="DockSlot"> + Represents the size of the [enum DockSlot] enum. </constant> </constants> </class> diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index eb94447529..72993103e8 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -273,7 +273,7 @@ Display a camera feed in the background. </constant> <constant name="BG_MAX" value="7" enum="BGMode"> - Helper constant keeping track of the enum's size, has no direct usage in API calls. + Represents the size of the [enum BGMode] enum. </constant> <constant name="GLOW_BLEND_MODE_ADDITIVE" value="0" enum="GlowBlendMode"> Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources. diff --git a/doc/classes/Expression.xml b/doc/classes/Expression.xml index 464ed44ecd..f85413b8b4 100644 --- a/doc/classes/Expression.xml +++ b/doc/classes/Expression.xml @@ -62,7 +62,7 @@ <argument index="1" name="input_names" type="PoolStringArray" default="PoolStringArray( )"> </argument> <description> - Parses the expression and returns a [enum @GlobalScope.Error]. + Parses the expression and returns an [enum Error] code. You can optionally specify names of variables that may appear in the expression with [code]input_names[/code], so that you can bind them when it gets executed. </description> </method> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index 32fa628bbf..42fee8df17 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -115,7 +115,7 @@ <return type="int" enum="Error"> </return> <description> - Returns the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [enum @GlobalScope.Error]. + Returns the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [enum Error]. </description> </method> <method name="get_float" qualifiers="const"> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index 908c017ac9..f8df356da2 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -74,7 +74,7 @@ Set dialog to open or save mode, changes selection behavior. See enum [code]Mode[/code] constants. </member> <member name="mode_overrides_title" type="bool" setter="set_mode_overrides_title" getter="is_mode_overriding_title"> - If [code]true[/code], changing the [code]Mode[/code] property will set the window title accordingly (e.g. setting mode to [code]MODE_OPEN_FILE[/code] will change the window title to "Open a File"). + If [code]true[/code], changing the [code]Mode[/code] property will set the window title accordingly (e.g. setting mode to [constant MODE_OPEN_FILE] will change the window title to "Open a File"). </member> <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files"> If [code]true[/code], the dialog will show hidden files. diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml index e42d3ed2c4..84cd446ea2 100644 --- a/doc/classes/GIProbe.xml +++ b/doc/classes/GIProbe.xml @@ -57,6 +57,7 @@ <constant name="SUBDIV_512" value="3" enum="Subdiv"> </constant> <constant name="SUBDIV_MAX" value="4" enum="Subdiv"> + Represents the size of the [enum Subdiv] enum. </constant> </constants> </class> diff --git a/doc/classes/Generic6DOFJoint.xml b/doc/classes/Generic6DOFJoint.xml index 53cece21fa..52888e9587 100644 --- a/doc/classes/Generic6DOFJoint.xml +++ b/doc/classes/Generic6DOFJoint.xml @@ -293,7 +293,7 @@ Maximum acceleration for the motor at the axes. </constant> <constant name="PARAM_MAX" value="22" enum="Param"> - End flag of PARAM_* constants, used internally. + Represents the size of the [enum Param] enum. </constant> <constant name="FLAG_ENABLE_LINEAR_LIMIT" value="0" enum="Flag"> If [code]set[/code] there is linear motion possible within the given limits. @@ -311,7 +311,7 @@ <constant name="FLAG_ENABLE_LINEAR_MOTOR" value="5" enum="Flag"> </constant> <constant name="FLAG_MAX" value="6" enum="Flag"> - End flag of FLAG_* constants, used internally. + Represents the size of the [enum Flag] enum. </constant> </constants> </class> diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml index 6fb4341b3c..002b224d6f 100644 --- a/doc/classes/Geometry.xml +++ b/doc/classes/Geometry.xml @@ -67,8 +67,8 @@ <argument index="1" name="polygon_b" type="PoolVector2Array"> </argument> <description> - Clips [code]polygon_a[/code] against [code]polygon_b[/code] and returns an array of clipped polygons. This performs [code]OPERATION_DIFFERENCE[/code] between polygons. Returns an empty array if [code]polygon_b[/code] completely overlaps [code]polygon_a[/code]. - If [code]polygon_b[/code] is enclosed by [code]polygon_a[/code], returns an outer polygon (boundary) and inner polygon (hole) which could be distiguished by calling [method is_polygon_clockwise]. + Clips [code]polygon_a[/code] against [code]polygon_b[/code] and returns an array of clipped polygons. This performs [constant OPERATION_DIFFERENCE] between polygons. Returns an empty array if [code]polygon_b[/code] completely overlaps [code]polygon_a[/code]. + If [code]polygon_b[/code] is enclosed by [code]polygon_a[/code], returns an outer polygon (boundary) and inner polygon (hole) which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="clip_polyline_with_polygon_2d"> @@ -79,7 +79,7 @@ <argument index="1" name="polygon" type="PoolVector2Array"> </argument> <description> - Clips [code]polyline[/code] against [code]polygon[/code] and returns an array of clipped polylines. This performs [code]OPERATION_DIFFERENCE[/code] between the polyline and the polygon. This operation can be thought of as cutting a line with a closed shape. + Clips [code]polyline[/code] against [code]polygon[/code] and returns an array of clipped polylines. This performs [constant OPERATION_DIFFERENCE] between the polyline and the polygon. This operation can be thought of as cutting a line with a closed shape. </description> </method> <method name="convex_hull_2d"> @@ -99,8 +99,8 @@ <argument index="1" name="polygon_b" type="PoolVector2Array"> </argument> <description> - Mutually excludes common area defined by intersection of [code]polygon_a[/code] and [code]polygon_b[/code] (see [method intersect_polygons_2d]) and returns an array of excluded polygons. This performs [code]OPERATION_XOR[/code] between polygons. In other words, returns all but common area between polygons. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise]. + Mutually excludes common area defined by intersection of [code]polygon_a[/code] and [code]polygon_b[/code] (see [method intersect_polygons_2d]) and returns an array of excluded polygons. This performs [constant OPERATION_XOR] between polygons. In other words, returns all but common area between polygons. + The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="get_closest_point_to_segment"> @@ -201,8 +201,8 @@ <argument index="1" name="polygon_b" type="PoolVector2Array"> </argument> <description> - Intersects [code]polygon_a[/code] with [code]polygon_b[/code] and returns an array of intersected polygons. This performs [code]OPERATION_INTERSECTION[/code] between polygons. In other words, returns common area shared by polygons. Returns an empty array if no intersection occurs. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise]. + Intersects [code]polygon_a[/code] with [code]polygon_b[/code] and returns an array of intersected polygons. This performs [constant OPERATION_INTERSECTION] between polygons. In other words, returns common area shared by polygons. Returns an empty array if no intersection occurs. + The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="intersect_polyline_with_polygon_2d"> @@ -213,7 +213,7 @@ <argument index="1" name="polygon" type="PoolVector2Array"> </argument> <description> - Intersects [code]polyline[/code] with [code]polygon[/code] and returns an array of intersected polylines. This performs [code]OPERATION_INTERSECTION[/code] between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape. + Intersects [code]polyline[/code] with [code]polygon[/code] and returns an array of intersected polylines. This performs [constant OPERATION_INTERSECTION] between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape. </description> </method> <method name="is_point_in_polygon"> @@ -268,8 +268,8 @@ <argument index="1" name="polygon_b" type="PoolVector2Array"> </argument> <description> - Merges (combines) [code]polygon_a[/code] and [code]polygon_b[/code] and returns an array of merged polygons. This performs [code]OPERATION_UNION[/code] between polygons. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise]. + Merges (combines) [code]polygon_a[/code] and [code]polygon_b[/code] and returns an array of merged polygons. This performs [constant OPERATION_UNION] between polygons. + The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="offset_polygon_2d"> @@ -283,8 +283,8 @@ </argument> <description> Inflates or deflates [code]polygon[/code] by [code]delta[/code] units (pixels). If [code]delta[/code] is positive, makes the polygon grow outward. If [code]delta[/code] is negative, shrinks the polygon inward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. Returns an empty array if [code]delta[/code] is negative and the absolute value of it approximately exceeds the minimum bounding rectangle dimensions of the polygon. - Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum Geometry.PolyJoinType]. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise]. + Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType]. + The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="offset_polyline_2d"> @@ -300,9 +300,9 @@ </argument> <description> Inflates or deflates [code]polyline[/code] by [code]delta[/code] units (pixels), producing polygons. If [code]delta[/code] is positive, makes the polyline grow outward. Returns an array of polygons because inflating/deflating may result in multiple discrete polygons. If [code]delta[/code] is negative, returns an empty array. - Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum Geometry.PolyJoinType]. - Each polygon's endpoints will be rounded as determined by [code]end_type[/code], see [enum Geometry.PolyEndType]. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise]. + Each polygon's vertices will be rounded as determined by [code]join_type[/code], see [enum PolyJoinType]. + Each polygon's endpoints will be rounded as determined by [code]end_type[/code], see [enum PolyEndType]. + The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="point_is_inside_triangle" qualifiers="const"> diff --git a/doc/classes/GeometryInstance.xml b/doc/classes/GeometryInstance.xml index 674f786149..22135a048e 100644 --- a/doc/classes/GeometryInstance.xml +++ b/doc/classes/GeometryInstance.xml @@ -15,13 +15,13 @@ <argument index="0" name="aabb" type="AABB"> </argument> <description> - Overrides the bounding box of this node with a custom one. To remove it, set an AABB with all fields set to zero. + Overrides the bounding box of this node with a custom one. To remove it, set an [AABB] with all fields set to zero. </description> </method> </methods> <members> <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance.ShadowCastingSetting"> - The selected shadow casting flag. See SHADOW_CASTING_SETTING_* constants for values. + The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values. </member> <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin"> The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box. @@ -40,7 +40,7 @@ </member> <member name="material_override" type="Material" setter="set_material_override" getter="get_material_override"> The material override for the whole geometry. - If there is a material in material_override, it will be used instead of any material set in any material slot of the mesh. + If there is a material in [code]material_override[/code], it will be used instead of any material set in any material slot of the mesh. </member> <member name="use_in_baked_light" type="bool" setter="set_flag" getter="get_flag"> If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] and/or any other form of baked lighting. @@ -64,9 +64,12 @@ </constant> <constant name="FLAG_USE_BAKED_LIGHT" value="0" enum="Flags"> Will allow the GeometryInstance to be used when baking lights using a [GIProbe] and/or any other form of baked lighting. - Added documentation for GeometryInstance and VisualInstance + </constant> + <constant name="FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="1" enum="Flags"> + Unused in this class, exposed for consistency with [enum VisualServer.InstanceFlags]. </constant> <constant name="FLAG_MAX" value="2" enum="Flags"> + Represents the size of the [enum Flags] enum. </constant> </constants> </class> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index db186eab35..034a64a3fa 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -211,6 +211,17 @@ Signal sent to the GraphEdit when the connection between 'from_slot' slot of 'from' GraphNode and 'to_slot' slot of 'to' GraphNode is attempted to be created. </description> </signal> + <signal name="connection_from_empty"> + <argument index="0" name="to" type="String"> + </argument> + <argument index="1" name="to_slot" type="int"> + </argument> + <argument index="2" name="release_position" type="Vector2"> + </argument> + <description> + Signal sent when user dragging connection from input port into empty space of the graph. + </description> + </signal> <signal name="connection_to_empty"> <argument index="0" name="from" type="String"> </argument> @@ -219,6 +230,7 @@ <argument index="2" name="release_position" type="Vector2"> </argument> <description> + Signal sent when user dragging connection from output port into empty space of the graph. </description> </signal> <signal name="delete_nodes_request"> diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 8ae0120a34..325e6ca48e 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -193,7 +193,7 @@ HTTP POST method. The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. This is often used for forms and submitting data or uploading files. </constant> <constant name="METHOD_PUT" value="3" enum="Method"> - HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of [code]POST[/code] as "create or update" and [code]PUT[/code] as "update", although many services tend to not make a clear distinction or change their meaning). + HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of POST as "create or update" and PUT as "update", although many services tend to not make a clear distinction or change their meaning). </constant> <constant name="METHOD_DELETE" value="4" enum="Method"> HTTP DELETE method. The DELETE method requests to delete the specified resource. @@ -211,7 +211,7 @@ HTTP PATCH method. The PATCH method is used to apply partial modifications to a resource. </constant> <constant name="METHOD_MAX" value="9" enum="Method"> - Marker for end of [code]METHOD_*[/code] enum. Not used. + Represents the size of the [enum Method] enum. </constant> <constant name="STATUS_DISCONNECTED" value="0" enum="Status"> Status: Disconnected from the server. diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml index 3dccc8e741..58833bd84b 100644 --- a/doc/classes/HTTPRequest.xml +++ b/doc/classes/HTTPRequest.xml @@ -54,7 +54,7 @@ </argument> <description> Creates request on the underlying [HTTPClient]. If there is no configuration errors, it tries to connect using [method HTTPClient.connect_to_host] and passes parameters onto [method HTTPClient.request]. - Returns [code]OK[/code] if request is successfully created. (Does not imply that the server has responded), [code]ERR_UNCONFIGURED[/code] if not in the tree, [code]ERR_BUSY[/code] if still processing previous request, [code]ERR_INVALID_PARAMETER[/code] if given string is not a valid URL format, or [code]ERR_CANT_CONNECT[/code] if not using thread and the [HTTPClient] cannot connect to host. + Returns [constant OK] if request is successfully created. (Does not imply that the server has responded), [constant ERR_UNCONFIGURED] if not in the tree, [constant ERR_BUSY] if still processing previous request, [constant ERR_INVALID_PARAMETER] if given string is not a valid URL format, or [constant ERR_CANT_CONNECT] if not using thread and the [HTTPClient] cannot connect to host. </description> </method> </methods> diff --git a/doc/classes/HingeJoint.xml b/doc/classes/HingeJoint.xml index 79df64f226..2fde885ee8 100644 --- a/doc/classes/HingeJoint.xml +++ b/doc/classes/HingeJoint.xml @@ -66,7 +66,7 @@ Maximum acceleration for the motor. </constant> <constant name="PARAM_MAX" value="8" enum="Param"> - End flag of PARAM_* constants, used internally. + Represents the size of the [enum Param] enum. </constant> <constant name="FLAG_USE_LIMIT" value="0" enum="Flag"> If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects. @@ -75,7 +75,7 @@ When activated, a motor turns the hinge. </constant> <constant name="FLAG_MAX" value="2" enum="Flag"> - End flag of FLAG_* constants, used internally. + Represents the size of the [enum Flag] enum. </constant> </constants> </class> diff --git a/doc/classes/IP.xml b/doc/classes/IP.xml index 65b1700333..1d64ee1085 100644 --- a/doc/classes/IP.xml +++ b/doc/classes/IP.xml @@ -105,10 +105,10 @@ DNS hostname resolver status: Error. </constant> <constant name="RESOLVER_MAX_QUERIES" value="32"> - Maximum number of concurrent DNS resolver queries allowed, [code]RESOLVER_INVALID_ID[/code] is returned if exceeded. + Maximum number of concurrent DNS resolver queries allowed, [constant RESOLVER_INVALID_ID] is returned if exceeded. </constant> <constant name="RESOLVER_INVALID_ID" value="-1"> - Invalid ID constant. Returned if [code]RESOLVER_MAX_QUERIES[/code] is exceeded. + Invalid ID constant. Returned if [constant RESOLVER_MAX_QUERIES] is exceeded. </constant> <constant name="TYPE_NONE" value="0" enum="Type"> Address type: None. diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index 75434b031e..f2b6ddc7e9 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -590,6 +590,7 @@ Ericsson Texture Compression format 2 variant RGB8_PUNCHTHROUGH_ALPHA1, which compresses RGBA data to make alpha either fully transparent or fully opaque. Note that when creating an [ImageTexture], an sRGB to linear color space conversion is performed. </constant> <constant name="FORMAT_MAX" value="37" enum="Format"> + Represents the size of the [enum Format] enum. </constant> <constant name="INTERPOLATE_NEAREST" value="0" enum="Interpolation"> </constant> @@ -599,7 +600,7 @@ </constant> <constant name="INTERPOLATE_TRILINEAR" value="3" enum="Interpolation"> Performs bilinear separately on the two most suited mipmap levels, then linearly interpolates between them. - It's slower than [code]INTERPOLATE_BILINEAR[/code], but produces higher quality results, with much less aliasing artifacts. + It's slower than [constant INTERPOLATE_BILINEAR], but produces higher quality results, with much less aliasing artifacts. If the image does not have mipmaps, they will be generated and used internally, but no mipmaps will be generated on the resulting image. (Note that if you intend to scale multiple copies of the original image, it's better to call [code]generate_mipmaps[/code] on it in advance, to avoid wasting processing power in generating them again and again.) On the other hand, if the image already has mipmaps, they will be used, and a new set will be generated for the resulting image. </constant> diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml index e5a8fee767..00a3c5c614 100644 --- a/doc/classes/ImageTexture.xml +++ b/doc/classes/ImageTexture.xml @@ -73,7 +73,7 @@ </methods> <members> <member name="lossy_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality"> - The storage quality for [code]STORAGE_COMPRESS_LOSSY[/code]. + The storage quality for [constant STORAGE_COMPRESS_LOSSY]. </member> <member name="storage" type="int" setter="set_storage" getter="get_storage" enum="ImageTexture.Storage"> The storage type (raw, lossy, or compressed). diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index 9c41e4bf1d..1c2826ee57 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -316,7 +316,7 @@ <argument index="0" name="shape" type="int" enum="Input.CursorShape" default="0"> </argument> <description> - Sets the default cursor shape to be used in the viewport instead of [code]CURSOR_ARROW[/code]. + Sets the default cursor shape to be used in the viewport instead of [constant CURSOR_ARROW]. Note that if you want to change the default cursor shape for [Control]'s nodes, use [member Control.mouse_default_cursor_shape] instead. </description> </method> @@ -413,7 +413,7 @@ Wait cursor. Indicates that the application is busy performing an operation. </constant> <constant name="CURSOR_BUSY" value="5" enum="CursorShape"> - Busy cursor. See [code]CURSOR_WAIT[/code]. + Busy cursor. See [constant CURSOR_WAIT]. </constant> <constant name="CURSOR_DRAG" value="6" enum="CursorShape"> Drag cursor. Usually displayed when dragging something. @@ -434,16 +434,16 @@ Window resize mouse cursor. The cursor is a double headed arrow that goes from the bottom left to the top right. It tells the user they can resize the window or the panel both horizontally and vertically. </constant> <constant name="CURSOR_FDIAGSIZE" value="12" enum="CursorShape"> - Window resize mouse cursor. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of [code]CURSOR_BDIAGSIZE[/code]. It tells the user they can resize the window or the panel both horizontally and vertically. + Window resize mouse cursor. The cursor is a double headed arrow that goes from the top left to the bottom right, the opposite of [constant CURSOR_BDIAGSIZE]. It tells the user they can resize the window or the panel both horizontally and vertically. </constant> <constant name="CURSOR_MOVE" value="13" enum="CursorShape"> Move cursor. Indicates that something can be moved. </constant> <constant name="CURSOR_VSPLIT" value="14" enum="CursorShape"> - Vertical split mouse cursor. On Windows, it's the same as [code]CURSOR_VSIZE[/code]. + Vertical split mouse cursor. On Windows, it's the same as [constant CURSOR_VSIZE]. </constant> <constant name="CURSOR_HSPLIT" value="15" enum="CursorShape"> - Horizontal split mouse cursor. On Windows, it's the same as [code]CURSOR_HSIZE[/code]. + Horizontal split mouse cursor. On Windows, it's the same as [constant CURSOR_HSIZE]. </constant> <constant name="CURSOR_HELP" value="16" enum="CursorShape"> Help cursor. Usually a question mark. diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml index 934597d0c6..335506867f 100644 --- a/doc/classes/InputEvent.xml +++ b/doc/classes/InputEvent.xml @@ -49,7 +49,7 @@ <argument index="0" name="action" type="String"> </argument> <description> - Returns [code]true[/code] if the given action is being pressed (and is not an echo event for KEY events). Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code]. + Returns [code]true[/code] if the given action is being pressed (and is not an echo event for [InputEventKey] events). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag]. </description> </method> <method name="is_action_released" qualifiers="const"> @@ -58,28 +58,28 @@ <argument index="0" name="action" type="String"> </argument> <description> - Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code]. + Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag]. </description> </method> <method name="is_action_type" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if this input event's type is one of the [InputEvent] constants. + Returns [code]true[/code] if this input event's type is one that can be assigned to an input action. </description> </method> <method name="is_echo" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if this input event is an echo event (only for events of type KEY). + Returns [code]true[/code] if this input event is an echo event (only for events of type [InputEventKey]). </description> </method> <method name="is_pressed" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if this input event is pressed. Not relevant for the event types [code]MOUSE_MOTION[/code], [code]SCREEN_DRAG[/code] or [code]NONE[/code]. + Returns [code]true[/code] if this input event is pressed. Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag]. </description> </method> <method name="shortcut_match" qualifiers="const"> diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml index de120446fb..9ea9ff7bef 100644 --- a/doc/classes/InputEventWithModifiers.xml +++ b/doc/classes/InputEventWithModifiers.xml @@ -4,7 +4,7 @@ Base class for keys events with modifiers. </brief_description> <description> - Contains keys events information with modifiers support like [code]SHIFT[/code] or [code]ALT[/code]. See [method Node._input]. + Contains keys events information with modifiers support like [code]Shift[/code] or [code]Alt[/code]. See [method Node._input]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html</link> @@ -13,19 +13,19 @@ </methods> <members> <member name="alt" type="bool" setter="set_alt" getter="get_alt"> - State of the Alt modifier. + State of the [code]Alt[/code] modifier. </member> <member name="command" type="bool" setter="set_command" getter="get_command"> - State of the Command modifier. + State of the [code]Command[/code] modifier. </member> <member name="control" type="bool" setter="set_control" getter="get_control"> - State of the Ctrl modifier. + State of the [code]Ctrl[/code] modifier. </member> <member name="meta" type="bool" setter="set_metakey" getter="get_metakey"> - State of the Meta modifier. + State of the [code]Meta[/code] modifier. </member> <member name="shift" type="bool" setter="set_shift" getter="get_shift"> - State of the Shift modifier. + State of the [code]Shift[/code] modifier. </member> </members> <constants> diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml index ecbc07ba72..05eb44b2f1 100644 --- a/doc/classes/Light.xml +++ b/doc/classes/Light.xml @@ -83,6 +83,7 @@ <constant name="PARAM_SHADOW_BIAS_SPLIT_SCALE" value="14" enum="Param"> </constant> <constant name="PARAM_MAX" value="15" enum="Param"> + Represents the size of the [enum Param] enum. </constant> <constant name="BAKE_DISABLED" value="0" enum="BakeMode"> Light is ignored when baking. Note: hiding a light does [i]not[/i] affect baking. diff --git a/doc/classes/Light2D.xml b/doc/classes/Light2D.xml index a487fdf2fe..a83b48da88 100644 --- a/doc/classes/Light2D.xml +++ b/doc/classes/Light2D.xml @@ -43,7 +43,7 @@ Minimum layer value of objects that are affected by the Light2D. Default value: [code]0[/code]. </member> <member name="range_z_max" type="int" setter="set_z_range_max" getter="get_z_range_max"> - Maximum [code]Z[/code] value of objects that are affected by the Light2D. Default value: [code]1024[/code]. + Maximum [code]z[/code] value of objects that are affected by the Light2D. Default value: [code]1024[/code]. </member> <member name="range_z_min" type="int" setter="set_z_range_min" getter="get_z_range_min"> Minimum [code]z[/code] value of objects that are affected by the Light2D. Default value: [code]-1024[/code]. @@ -58,7 +58,7 @@ If [code]true[/code], the Light2D will cast shadows. Default value: [code]false[/code]. </member> <member name="shadow_filter" type="int" setter="set_shadow_filter" getter="get_shadow_filter" enum="Light2D.ShadowFilter"> - Shadow filter type. Use [enum Light2D.ShadowFilter] constants as values. Default value: [code]SHADOW_FILTER_NONE[/code]. + Shadow filter type. Use [enum ShadowFilter] constants as values. Default value: [constant SHADOW_FILTER_NONE]. </member> <member name="shadow_filter_smooth" type="float" setter="set_shadow_smooth" getter="get_shadow_smooth"> Smoothing value for shadows. @@ -78,7 +78,7 @@ </members> <constants> <constant name="MODE_ADD" value="0" enum="Mode"> - Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behaviour of a light. + Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light. </constant> <constant name="MODE_SUB" value="1" enum="Mode"> Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect. diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml index c55760767a..8a13e044f0 100644 --- a/doc/classes/Line2D.xml +++ b/doc/classes/Line2D.xml @@ -67,13 +67,13 @@ </methods> <members> <member name="begin_cap_mode" type="int" setter="set_begin_cap_mode" getter="get_begin_cap_mode" enum="Line2D.LineCapMode"> - Controls the style of the line's first point. Use [code]LINE_CAP_*[/code] constants. Default value: [code]LINE_CAP_NONE[/code]. + Controls the style of the line's first point. Use [code]LINE_CAP_*[/code] constants. Default value: [constant LINE_CAP_NONE]. </member> <member name="default_color" type="Color" setter="set_default_color" getter="get_default_color"> The line's color. Will not be used if a gradient is set. </member> <member name="end_cap_mode" type="int" setter="set_end_cap_mode" getter="get_end_cap_mode" enum="Line2D.LineCapMode"> - Controls the style of the line's last point. Use [code]LINE_CAP_*[/code] constants. Default value: [code]LINE_CAP_NONE[/code]. + Controls the style of the line's last point. Use [code]LINE_CAP_*[/code] constants. Default value: [constant LINE_CAP_NONE]. </member> <member name="gradient" type="Gradient" setter="set_gradient" getter="get_gradient"> The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set. @@ -88,13 +88,13 @@ The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round. </member> <member name="sharp_limit" type="float" setter="set_sharp_limit" getter="get_sharp_limit"> - The direction difference in radians between vector points. This value is only used if [code]joint mode[/code] is set to [code]LINE_JOINT_SHARP[/code]. + The direction difference in radians between vector points. This value is only used if [code]joint mode[/code] is set to [constant LINE_JOINT_SHARP]. </member> <member name="texture" type="Texture" setter="set_texture" getter="get_texture"> The texture used for the line's texture. Uses [code]texture_mode[/code] for drawing style. </member> <member name="texture_mode" type="int" setter="set_texture_mode" getter="get_texture_mode" enum="Line2D.LineTextureMode"> - The style to render the [code]texture[/code] on the line. Use [code]LINE_TEXTURE_*[/code] constants. Default value: [code]LINE_TEXTURE_NONE[/code]. + The style to render the [code]texture[/code] on the line. Use [code]LINE_TEXTURE_*[/code] constants. Default value: [constant LINE_TEXTURE_NONE]. </member> <member name="width" type="float" setter="set_width" getter="get_width"> The line's width. diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 333f6a3671..44043a5a16 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -108,7 +108,7 @@ If [code]true[/code], the [LineEdit] width will increase to stay longer than the [member text]. It will [b]not[/b] compress if the [member text] is shortened. </member> <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode"> - Defines how the [LineEdit] can grab focus (Keyboard and mouse, only keyboard, or none). See [enum Control.FocusMode] in [Control] for details. + Defines how the [LineEdit] can grab focus (Keyboard and mouse, only keyboard, or none). See [enum Control.FocusMode] for details. </member> <member name="max_length" type="int" setter="set_max_length" getter="get_max_length"> Maximum amount of characters that can be entered inside the [LineEdit]. If [code]0[/code], there is no limit. @@ -181,6 +181,7 @@ Reverse the last undo action. </constant> <constant name="MENU_MAX" value="7" enum="MenuItems"> + Represents the size of the [enum MenuItems] enum. </constant> </constants> <theme_items> diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml index 324ee72b8e..312b2ff692 100644 --- a/doc/classes/MainLoop.xml +++ b/doc/classes/MainLoop.xml @@ -1,10 +1,44 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="MainLoop" inherits="Object" category="Core" version="3.2"> <brief_description> - Main loop is the abstract main loop base class. + Abstract base class for the game's main loop. </brief_description> <description> - Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a [MainLoop] has to be provided to OS, else the application will exit. This happens automatically (and a [SceneTree] is created), unless a main [Script] is supplied, which may or not create and return a [MainLoop]. + [MainLoop] is the abstract base class for a Godot project's game loop. It in inherited by [SceneTree], which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own [MainLoop] subclass instead of the scene tree. + Upon application start, a [MainLoop] implementation has to be provided to the OS, or the application will exit. This happens automatically (and a [SceneTree] is created) unless a main [Script] is provided from the command line (with e.g. [code]godot -s my_loop.gd[/code], which should then be a [MainLoop] implementation. + Here is an example script implementing a simple [MainLoop]: + [codeblock] + extends MainLoop + + var time_elapsed = 0 + var keys_typed = [] + var quit = false + + func _initialize(): + print("Initialized:") + print(" Starting time: %s" % str(time_elapsed)) + + func _idle(delta): + time_elapsed += delta + # Return true to end the main loop + return quit + + func _input_event(event): + # Record keys + if event is InputEventKey and event.pressed and !event.echo: + keys_typed.append(OS.get_scancode_string(event.scancode)) + # Quit on Escape press + if event.scancode == KEY_ESCAPE: + quit = true + # Quit on any mouse click + if event is InputEventMouseButton: + quit = true + + func _finalize(): + print("Finalized:") + print(" End time: %s" % str(time_elapsed)) + print(" Keys typed: %s" % var2str(keys_typed)) + [/codeblock] </description> <tutorials> </tutorials> @@ -14,9 +48,10 @@ </return> <argument index="0" name="files" type="PoolStringArray"> </argument> - <argument index="1" name="screen" type="int"> + <argument index="1" name="from_screen" type="int"> </argument> <description> + Called when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated. </description> </method> <method name="_finalize" qualifiers="virtual"> @@ -27,12 +62,13 @@ </description> </method> <method name="_idle" qualifiers="virtual"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="delta" type="float"> </argument> <description> - Called each idle frame with time since last call as an only argument. + Called each idle frame with the time since the last idle frame as argument (in seconds). Equivalent to [method Node._process]. + If implemented, the method must return a boolean value. [code]true[/code] ends the main loop, while [code]false[/code] lets it proceed to the next frame. </description> </method> <method name="_initialize" qualifiers="virtual"> @@ -48,6 +84,7 @@ <argument index="0" name="event" type="InputEvent"> </argument> <description> + Called whenever an [InputEvent] is received by the main loop. </description> </method> <method name="_input_text" qualifiers="virtual"> @@ -56,20 +93,24 @@ <argument index="0" name="text" type="String"> </argument> <description> + Deprecated callback, does not do anything. Use [method _input_event] to parse text input. Will be removed in Godot 4.0. </description> </method> <method name="_iteration" qualifiers="virtual"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="delta" type="float"> </argument> <description> + Called each physics frame with the time since the last physics frame as argument (in seconds). Equivalent to [method Node._physics_process]. + If implemented, the method must return a boolean value. [code]true[/code] ends the main loop, while [code]false[/code] lets it proceed to the next frame. </description> </method> <method name="finish"> <return type="void"> </return> <description> + Should not be called manually, override [method _finalize] instead. Will be removed in Godot 4.0. </description> </method> <method name="idle"> @@ -78,12 +119,14 @@ <argument index="0" name="delta" type="float"> </argument> <description> + Should not be called manually, override [method _idle] instead. Will be removed in Godot 4.0. </description> </method> <method name="init"> <return type="void"> </return> <description> + Should not be called manually, override [method _initialize] instead. Will be removed in Godot 4.0. </description> </method> <method name="input_event"> @@ -92,6 +135,7 @@ <argument index="0" name="event" type="InputEvent"> </argument> <description> + Should not be called manually, override [method _input_event] instead. Will be removed in Godot 4.0. </description> </method> <method name="input_text"> @@ -100,6 +144,7 @@ <argument index="0" name="text" type="String"> </argument> <description> + Should not be called manually, override [method _input_text] instead. Will be removed in Godot 4.0. </description> </method> <method name="iteration"> @@ -108,33 +153,57 @@ <argument index="0" name="delta" type="float"> </argument> <description> + Should not be called manually, override [method _iteration] instead. Will be removed in Godot 4.0. </description> </method> </methods> <constants> <constant name="NOTIFICATION_WM_MOUSE_ENTER" value="1002"> + Notification received from the OS when the mouse enters the game window. + Implemented on desktop and web platforms. </constant> <constant name="NOTIFICATION_WM_MOUSE_EXIT" value="1003"> + Notification received from the OS when the mouse leaves the game window. + Implemented on desktop and web platforms. </constant> <constant name="NOTIFICATION_WM_FOCUS_IN" value="1004"> + Notification received from the OS when the game window is focused. + Implemented on all platforms. </constant> <constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005"> + Notification received from the OS when the game window is unfocused. + Implemented on all platforms. </constant> <constant name="NOTIFICATION_WM_QUIT_REQUEST" value="1006"> + Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4). + Implemented on desktop platforms. </constant> <constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007"> + Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android). + Specific to the Android platform. </constant> <constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="1008"> + Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus). + No supported platforms currently send this notification. </constant> <constant name="NOTIFICATION_OS_MEMORY_WARNING" value="1009"> + Notification received from the OS when the application is exceeding its allocated memory. + Specific to the iOS platform. </constant> <constant name="NOTIFICATION_TRANSLATION_CHANGED" value="1010"> + Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like [method Object.tr]. </constant> <constant name="NOTIFICATION_WM_ABOUT" value="1011"> + Notification received from the OS when a request for "About" information is sent. + Specific to the macOS platform. </constant> <constant name="NOTIFICATION_CRASH" value="1012"> + Notification received from Godot's crash handler when the engine is about to crash. + Implemented on desktop platforms if the crash handler is enabled. </constant> <constant name="NOTIFICATION_OS_IME_UPDATE" value="1013"> + Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string). + Specific to the macOS platform. </constant> </constants> </class> diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml index 848a43e6c4..22da012022 100644 --- a/doc/classes/Material.xml +++ b/doc/classes/Material.xml @@ -18,8 +18,10 @@ </members> <constants> <constant name="RENDER_PRIORITY_MAX" value="127"> + Maximum value for the [member render_priority] parameter. </constant> <constant name="RENDER_PRIORITY_MIN" value="-128"> + Minimum value for the [member render_priority] parameter. </constant> </constants> </class> diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index 048e7074f1..d2911fd299 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -194,6 +194,7 @@ Array of indices. </constant> <constant name="ARRAY_MAX" value="9" enum="ArrayType"> + Represents the size of the [enum ArrayType] enum. </constant> </constants> </class> diff --git a/doc/classes/MeshDataTool.xml b/doc/classes/MeshDataTool.xml index eeb251c8c7..5cee9915ff 100644 --- a/doc/classes/MeshDataTool.xml +++ b/doc/classes/MeshDataTool.xml @@ -46,7 +46,7 @@ </argument> <description> Uses specified surface of given [Mesh] to populate data for MeshDataTool. - Requires [Mesh] with primitive type [code]PRIMITIVE_TRIANGLES[/code]. + Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES]. </description> </method> <method name="get_edge_count" qualifiers="const"> @@ -139,8 +139,8 @@ <return type="int"> </return> <description> - Returns format of [Mesh]. Format is an integer made up of [Mesh] format flags combined together. For example, a mesh containing both vertices and normals would return a format of [code]3[/code] because [code]ARRAY_FORMAT_VERTEX[/code] is [code]1[/code] and [code]ARRAY_FORMAT_NORMAL[/code] is [code]2[/code]. - For list of format flags see [ArrayMesh]. + Returns format of [Mesh]. Format is an integer made up of [Mesh] format flags combined together. For example, a mesh containing both vertices and normals would return a format of [code]3[/code] because [constant ArrayMesh.ARRAY_FORMAT_VERTEX] is [code]1[/code] and [constant ArrayMesh.ARRAY_FORMAT_NORMAL] is [code]2[/code]. + For list of format flags see [enum ArrayMesh.ArrayFormat]. </description> </method> <method name="get_material" qualifiers="const"> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index 7b5794bbfc..b67d83efec 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -152,19 +152,19 @@ 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 puppets for this node. Analogous to the [code]puppet[/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_SLAVE" value="3" enum="RPCMode"> - Deprecated. Use [code]RPC_MODE_PUPPET[/code] instead. Analogous to the [code]slave[/code] keyword. + Deprecated. Use [constant RPC_MODE_PUPPET] instead. Analogous to the [code]slave[/code] keyword. </constant> <constant name="RPC_MODE_REMOTESYNC" value="4" enum="RPCMode"> - Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Analogous to the [code]remotesync[/code] keyword. + Behave like [constant RPC_MODE_REMOTE] but also make the call or property change locally. Analogous to the [code]remotesync[/code] keyword. </constant> <constant name="RPC_MODE_SYNC" value="4" enum="RPCMode"> - Deprecated. Use [code]RPC_MODE_REMOTESYNC[/code] instead. Analogous to the [code]sync[/code] keyword. + Deprecated. Use [constant RPC_MODE_REMOTESYNC] instead. Analogous to the [code]sync[/code] keyword. </constant> <constant name="RPC_MODE_MASTERSYNC" value="5" 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. + Behave like [constant RPC_MODE_MASTER] but also make the call or property change locally. Analogous to the [code]mastersync[/code] keyword. </constant> <constant name="RPC_MODE_PUPPETSYNC" value="6" enum="RPCMode"> - Behave like [code]RPC_MODE_PUPPET[/code] but also make the call or property change locally. Analogous to the [code]puppetsync[/code] keyword. + Behave like [constant RPC_MODE_PUPPET] but also make the call or property change locally. Analogous to the [code]puppetsync[/code] keyword. </constant> </constants> </class> diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml index 73c0a53f59..2f41e100fc 100644 --- a/doc/classes/Mutex.xml +++ b/doc/classes/Mutex.xml @@ -20,7 +20,7 @@ <return type="int" enum="Error"> </return> <description> - Try locking this [Mutex], does not block. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. + Try locking this [Mutex], does not block. Returns [constant OK] on success, [constant ERR_BUSY] otherwise. </description> </method> <method name="unlock"> diff --git a/doc/classes/NetworkedMultiplayerPeer.xml b/doc/classes/NetworkedMultiplayerPeer.xml index e5cadb6ffe..ac84c32b5e 100644 --- a/doc/classes/NetworkedMultiplayerPeer.xml +++ b/doc/classes/NetworkedMultiplayerPeer.xml @@ -45,7 +45,7 @@ </argument> <description> 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] + The [code]id[/code] can be one of: [constant TARGET_PEER_BROADCAST] to send to all connected peers, [constant TARGET_PEER_SERVER] 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: [constant TARGET_PEER_BROADCAST] </description> </method> </methods> @@ -90,10 +90,10 @@ </signals> <constants> <constant name="TRANSFER_MODE_UNRELIABLE" value="0" enum="TransferMode"> - Packets are not acknowledged, no resend attempts are made for lost packets. Packets may arrive in any order. Potentially faster than [code]TRANSFER_MODE_UNRELIABLE_ORDERED[/code]. Use for non-critical data, and always consider whether the order matters. + Packets are not acknowledged, no resend attempts are made for lost packets. Packets may arrive in any order. Potentially faster than [constant TRANSFER_MODE_UNRELIABLE_ORDERED]. Use for non-critical data, and always consider whether the order matters. </constant> <constant name="TRANSFER_MODE_UNRELIABLE_ORDERED" value="1" enum="TransferMode"> - Packets are not acknowledged, no resend attempts are made for lost packets. Packets are received in the order they were sent in. Potentially faster than [code]TRANSFER_MODE_RELIABLE[/code]. Use for non-critical data or data that would be outdated if received late due to resend attempt(s) anyway, for example movement and positional data. + Packets are not acknowledged, no resend attempts are made for lost packets. Packets are received in the order they were sent in. Potentially faster than [constant TRANSFER_MODE_RELIABLE]. Use for non-critical data or data that would be outdated if received late due to resend attempt(s) anyway, for example movement and positional data. </constant> <constant name="TRANSFER_MODE_RELIABLE" value="2" enum="TransferMode"> Packets must be received and resend attempts should be made until the packets are acknowledged. Packets must be received in the order they were sent in. Most reliable transfer mode, but potentially slowest due to the overhead. Use for critical data that must be transmitted and arrive in order, for example an ability being triggered or a chat message. Consider carefully if the information really is critical, and use sparingly. diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index e8b43ead85..6df207b2cd 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -6,8 +6,8 @@ <description> Nodes are Godot's building blocks. They can be assigned as the child of another node, resulting in a tree arrangement. A given node can contain any number of nodes as children with the requirement that all siblings (direct children of a node) should have unique names. A tree of nodes is called a [i]scene[/i]. Scenes can be saved to the disk and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of Godot projects. - [b]Scene tree:[/b] The [SceneTree] contains the active tree of nodes. When a node is added to the scene tree, it receives the NOTIFICATION_ENTER_TREE notification and its [method _enter_tree] callback is triggered. Child nodes are always added [i]after[/i] their parent node, i.e. the [method _enter_tree] callback of a parent node will be triggered before its child's. - Once all nodes have been added in the scene tree, they receive the NOTIFICATION_READY notification and their respective [method _ready] callbacks are triggered. For groups of nodes, the [method _ready] callback is called in reverse order, starting with the children and moving up to the parent nodes. + [b]Scene tree:[/b] The [SceneTree] contains the active tree of nodes. When a node is added to the scene tree, it receives the [constant NOTIFICATION_ENTER_TREE] notification and its [method _enter_tree] callback is triggered. Child nodes are always added [i]after[/i] their parent node, i.e. the [method _enter_tree] callback of a parent node will be triggered before its child's. + Once all nodes have been added in the scene tree, they receive the [constant NOTIFICATION_READY] notification and their respective [method _ready] callbacks are triggered. For groups of nodes, the [method _ready] callback is called in reverse order, starting with the children and moving up to the parent nodes. This means that when adding a node to the scene tree, the following order will be used for the callbacks: [method _enter_tree] of the parent, [method _enter_tree] of the children, [method _ready] of the children and finally [method _ready] of the parent (recursively for the entire scene tree). [b]Processing:[/b] Nodes can override the "process" state, so that they receive a callback on each frame requesting them to process (do something). Normal processing (callback [method _process], toggled with [method set_process]) happens as fast as possible and is dependent on the frame rate, so the processing time [i]delta[/i] is passed as an argument. Physics processing (callback [method _physics_process], toggled with [method set_physics_process]) happens a fixed number of times per second (60 by default) and is useful for code related to the physics engine. Nodes can also process input events. When present, the [method _input] function will be called for each input that the program receives. In many cases, this can be overkill (unless used for simple projects), and the [method _unhandled_input] function might be preferred; it is called when the input event was not handled by anyone else (typically, GUI [Control] nodes), ensuring that the node only receives the events that were meant for it. @@ -25,7 +25,7 @@ </return> <description> Called when the node enters the [SceneTree] (e.g. upon instancing, scene changing, or after calling [method add_child] in a script). If the node has children, its [method _enter_tree] callback will be called first, and then that of the children. - Corresponds to the NOTIFICATION_ENTER_TREE notification in [method Object._notification]. + Corresponds to the [constant NOTIFICATION_ENTER_TREE] notification in [method Object._notification]. </description> </method> <method name="_exit_tree" qualifiers="virtual"> @@ -33,7 +33,7 @@ </return> <description> Called when the node is about to leave the [SceneTree] (e.g. upon freeing, scene changing, or after calling [method remove_child] in a script). If the node has children, its [method _exit_tree] callback will be called last, after all its children have left the tree. - Corresponds to the NOTIFICATION_EXIT_TREE notification in [method Object._notification] and signal [signal tree_exiting]. To get notified when the node has already left the active tree, connect to the [signal tree_exited] + Corresponds to the [constant NOTIFICATION_EXIT_TREE] notification in [method Object._notification] and signal [signal tree_exiting]. To get notified when the node has already left the active tree, connect to the [signal tree_exited] </description> </method> <method name="_get_configuration_warning" qualifiers="virtual"> @@ -64,7 +64,7 @@ <description> Called during the physics processing step of the main loop. Physics processing means that the frame rate is synced to the physics, i.e. the [code]delta[/code] variable should be constant. It is only called if physics processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_physics_process]. - Corresponds to the NOTIFICATION_PHYSICS_PROCESS notification in [method Object._notification]. + Corresponds to the [constant NOTIFICATION_PHYSICS_PROCESS] notification in [method Object._notification]. </description> </method> <method name="_process" qualifiers="virtual"> @@ -75,7 +75,7 @@ <description> Called during the processing step of the main loop. Processing happens at every frame and as fast as possible, so the [code]delta[/code] time since the previous frame is not constant. It is only called if processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process]. - Corresponds to the NOTIFICATION_PROCESS notification in [method Object._notification]. + Corresponds to the [constant NOTIFICATION_PROCESS] notification in [method Object._notification]. </description> </method> <method name="_ready" qualifiers="virtual"> @@ -83,7 +83,7 @@ </return> <description> Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their [method _ready] callbacks get triggered first, and the parent node will receive the ready notification afterwards. - Corresponds to the NOTIFICATION_READY notification in [method Object._notification]. See also the [code]onready[/code] keyword for variables. + Corresponds to the [constant NOTIFICATION_READY] notification in [method Object._notification]. See also the [code]onready[/code] keyword for variables. Usually used for initialization. For even earlier initialization, [method Object._init] may be used. Also see [method _enter_tree]. </description> </method> @@ -120,7 +120,7 @@ </argument> <description> Adds a child node. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node. - Setting "legible_unique_name" [code]true[/code] creates child nodes with human-readable names, based on the name of the node being instanced instead of its type. + Setting [code]legible_unique_name[/code] to [code]true[/code] creates child nodes with human-readable names, based on the name of the node being instanced instead of its type. </description> </method> <method name="add_child_below_node"> @@ -134,7 +134,7 @@ </argument> <description> Adds a child node. The child is placed below the given node in the list of children. - Setting "legible_unique_name" [code]true[/code] creates child nodes with human-readable names, based on the name of the node being instanced instead of its type. + Setting [code]legible_unique_name[/code] to [code]true[/code] creates child nodes with human-readable names, based on the name of the node being instanced instead of its type. </description> </method> <method name="add_to_group"> @@ -146,7 +146,7 @@ </argument> <description> Adds the node to a group. Groups are helpers to name and organize a subset of nodes, for example "enemies" or "collectables". A node can be in any number of groups. Nodes can be assigned a group at any time, but will not be added until they are inside the scene tree (see [method is_inside_tree]). See notes in the description, and the group methods in [SceneTree]. - [code]persistent[/code] option is used when packing node to [PackedScene] and saving to file. Non-persistent groups aren't stored. + The [code]persistent[/code] option is used when packing node to [PackedScene] and saving to file. Non-persistent groups aren't stored. </description> </method> <method name="can_process" qualifiers="const"> @@ -163,7 +163,7 @@ </argument> <description> Duplicates the node, returning a new node. - You can fine-tune the behavior using the [code]flags[/code] (see [enum Node.DuplicateFlags]). + You can fine-tune the behavior using the [code]flags[/code] (see [enum DuplicateFlags]). </description> </method> <method name="find_node" qualifiers="const"> @@ -314,7 +314,7 @@ <return type="float"> </return> <description> - Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed in [OS]. + Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.target_fps]. </description> </method> <method name="get_position_in_parent" qualifiers="const"> @@ -475,7 +475,7 @@ <argument index="1" name="to_position" type="int"> </argument> <description> - Moves a child node to a different position (order) amongst the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful. + Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful. </description> </method> <method name="print_stray_nodes"> @@ -525,7 +525,7 @@ <argument index="2" name="parent_first" type="bool" default="false"> </argument> <description> - Calls the given method (if present) with the arguments given in [code]args[/code] on this node and recursively on all its children. If the parent_first argument is [code]true[/code] then the method will be called on the current node first, then on all children. If it is [code]false[/code] then the children will be called first. + Calls the given method (if present) with the arguments given in [code]args[/code] on this node and recursively on all its children. If the [code]parent_first[/code] argument is [code]true[/code] then the method will be called on the current node first, then on all children. If it is [code]false[/code] then the children will be called first. </description> </method> <method name="propagate_notification"> @@ -534,7 +534,7 @@ <argument index="0" name="what" type="int"> </argument> <description> - Notifies the current node and all its children recursively by calling notification() on all of them. + Notifies the current node and all its children recursively by calling [method Object.notification] on all of them. </description> </method> <method name="queue_free"> @@ -730,7 +730,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a NOTIFICATION_PHYSICS_PROCESS at a fixed (usually 60 fps, see [OS] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored. + Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a [constant NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine.target_fps] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored. </description> </method> <method name="set_physics_process_internal"> @@ -739,7 +739,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] 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 behavior. </description> </method> <method name="set_process"> @@ -748,7 +748,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Enables or disables processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS on every drawn frame (and the [method _process] callback will be called if exists). Enabled automatically if [method _process] is overridden. Any calls to this before [method _ready] will be ignored. + Enables or disables processing. When a node is being processed, it will receive a [constant NOTIFICATION_PROCESS] on every drawn frame (and the [method _process] callback will be called if exists). Enabled automatically if [method _process] is overridden. Any calls to this before [method _ready] will be ignored. </description> </method> <method name="set_process_input"> @@ -766,7 +766,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] 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 behavior. </description> </method> <method name="set_process_priority"> @@ -775,6 +775,7 @@ <argument index="0" name="priority" type="int"> </argument> <description> + Sets the node's priority in the execution order of the enabled processing callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes with a higher process priority will have their processing callbacks executed first. </description> </method> <method name="set_process_unhandled_input"> @@ -878,7 +879,7 @@ Notification received every frame when the process flag is set (see [method set_process]). </constant> <constant name="NOTIFICATION_PARENTED" value="18"> - Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the Scene Tree. + Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the [SceneTree]. </constant> <constant name="NOTIFICATION_UNPARENTED" value="19"> Notification received when a node is unparented (parent removed it from the list of children). @@ -902,32 +903,54 @@ Notification received every frame when the internal physics process flag is set (see [method set_physics_process_internal]). </constant> <constant name="NOTIFICATION_WM_MOUSE_ENTER" value="1002"> + Notification received from the OS when the mouse enters the game window. + Implemented on desktop and web platforms. </constant> <constant name="NOTIFICATION_WM_MOUSE_EXIT" value="1003"> + Notification received from the OS when the mouse leaves the game window. + Implemented on desktop and web platforms. </constant> <constant name="NOTIFICATION_WM_FOCUS_IN" value="1004"> + Notification received from the OS when the game window is focused. + Implemented on all platforms. </constant> <constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005"> + Notification received from the OS when the game window is unfocused. + Implemented on all platforms. </constant> <constant name="NOTIFICATION_WM_QUIT_REQUEST" value="1006"> + Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4). + Implemented on desktop platforms. </constant> <constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007"> + Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android). + Specific to the Android platform. </constant> <constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="1008"> + Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus). + No supported platforms currently send this notification. </constant> <constant name="NOTIFICATION_OS_MEMORY_WARNING" value="1009"> + Notification received from the OS when the application is exceeding its allocated memory. + Specific to the iOS platform. </constant> <constant name="NOTIFICATION_TRANSLATION_CHANGED" value="1010"> Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like [method Object.tr]. </constant> <constant name="NOTIFICATION_WM_ABOUT" value="1011"> + Notification received from the OS when a request for "About" information is sent. + Specific to the macOS platform. </constant> <constant name="NOTIFICATION_CRASH" value="1012"> + Notification received from Godot's crash handler when the engine is about to crash. + Implemented on desktop platforms if the crash handler is enabled. </constant> <constant name="NOTIFICATION_OS_IME_UPDATE" value="1013"> + Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string). + Specific to the macOS platform. </constant> <constant name="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. + Inherits pause mode from the node's parent. For the root node, it is equivalent to [constant PAUSE_MODE_STOP]. Default. </constant> <constant name="PAUSE_MODE_STOP" value="1" enum="PauseMode"> Stop processing when the [SceneTree] is paused. diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index 2879a83efb..67f12813cc 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -47,6 +47,7 @@ # This will be parsed as a node path to the 'x' component of the 'position' property in the current node var property_path = node_path.get_as_property_path() print(property_path) # :position:x + [/codeblock] </description> </method> <method name="get_concatenated_subnames"> @@ -80,7 +81,7 @@ </return> <description> Get the number of node names which make up the path. Subnames (see [method get_subname_count]) are not included. - For example, [code]"Path2D/PathFollow2D/Sprite"[code] has 3 names. + For example, [code]"Path2D/PathFollow2D/Sprite"[/code] has 3 names. </description> </method> <method name="get_subname"> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 3292438851..f6e2f47a42 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -102,7 +102,7 @@ <description> 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', ['-w', '3', 'godotengine.org'], false)[/code] will resolve to [code]ping -w 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. + This method has slightly different behavior 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. @@ -163,7 +163,7 @@ <return type="int" enum="OS.VideoDriver"> </return> <description> - Returns the currently used video driver, using one of the values from [enum OS.VideoDriver]. + Returns the currently used video driver, using one of the values from [enum VideoDriver]. </description> </method> <method name="get_date" qualifiers="const"> @@ -222,7 +222,7 @@ </return> <description> Returns IME cursor position (currently edited portion of the string) relative to the characters in the composition string. - [code]NOTIFICATION_OS_IME_UPDATE[/code] is sent to the application to notify it of changes to the IME cursor position. + [constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME cursor position. </description> </method> <method name="get_ime_text" qualifiers="const"> @@ -230,7 +230,7 @@ </return> <description> Returns IME intermediate composition string. - [code]NOTIFICATION_OS_IME_UPDATE[/code] is sent to the application to notify it of changes to the IME composition string. + [constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME composition string. </description> </method> <method name="get_latin_keyboard_variant" qualifiers="const"> @@ -280,7 +280,7 @@ <return type="int" enum="OS.PowerState"> </return> <description> - Returns the current state of the device regarding battery and power. See [code]POWERSTATE_*[/code] constants. + Returns the current state of the device regarding battery and power. See [enum PowerState] constants. </description> </method> <method name="get_process_id" qualifiers="const"> @@ -380,7 +380,7 @@ <argument index="0" name="dir" type="int" enum="OS.SystemDir"> </argument> <description> - Returns the actual path to commonly used folders across different platforms. Available locations are specified in [enum OS.SystemDir]. + Returns the actual path to commonly used folders across different platforms. Available locations are specified in [enum SystemDir]. </description> </method> <method name="get_system_time_msecs" qualifiers="const"> @@ -477,7 +477,7 @@ <argument index="0" name="driver" type="int" enum="OS.VideoDriver"> </argument> <description> - Returns the name of the video driver matching the given [code]driver[/code] index. This index is a value from [enum OS.VideoDriver], and you can use [method get_current_video_driver] to get the current backend's index. + Returns the name of the video driver matching the given [code]driver[/code] index. This index is a value from [enum VideoDriver], and you can use [method get_current_video_driver] to get the current backend's index. </description> </method> <method name="get_virtual_keyboard_height"> diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index a1fba1ac8d..7b262d80c7 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -9,7 +9,7 @@ Objects do not manage memory. If a class inherits from Object, you will have to delete instances of it manually. To do so, call the [method free] method from your script or delete the instance from C++. Some classes that extend Object add memory management. This is the case of [Reference], which counts references and deletes itself automatically when no longer referenced. [Node], another fundamental type, deletes all its children when freed from memory. Objects export properties, which are mainly useful for storage and editing, but not really so much in programming. Properties are exported in [method _get_property_list] and handled in [method _get] and [method _set]. However, scripting languages and C++ have simpler means to export them. - Objects also receive notifications. Notifications are a simple way to notify the object about simple events, so they can all be handled together. See [method _notification]. + Objects also receive notifications. Notifications are a simple way to notify the object about different events, so they can all be handled together. See [method _notification]. </description> <tutorials> </tutorials> @@ -20,6 +20,7 @@ <argument index="0" name="property" type="String"> </argument> <description> + Virtual method which can be overridden to customize the return value of [method get]. Returns the given property. Returns [code]null[/code] if the [code]property[/code] does not exist. </description> </method> @@ -27,14 +28,16 @@ <return type="Array"> </return> <description> - Returns the object's property list as an [Array] of dictionaries. Dictionaries must contain: name:String, type:int (see TYPE_* enum in [@GlobalScope]) and optionally: hint:int (see PROPERTY_HINT_* in [@GlobalScope]), hint_string:String, usage:int (see PROPERTY_USAGE_* in [@GlobalScope]). + Virtual method which can be overridden to customize the return value of [method get_property_list]. + Returns the object's property list as an [Array] of dictionaries. + Each property's [Dictionary] must contain at least [code]name: String[/code] and [code]type: int[/code] (see [enum Variant.Type]) entries. Optionally, it can also include [code]hint: int[/code] (see [enum PropertyHint]), [code]hint_string: String[/code], and [code]usage: int[/code] (see [enum PropertyUsageFlags]). </description> </method> <method name="_init" qualifiers="virtual"> <return type="void"> </return> <description> - The virtual method called upon initialization. + Called when the object is initialized. </description> </method> <method name="_notification" qualifiers="virtual"> @@ -43,7 +46,7 @@ <argument index="0" name="what" type="int"> </argument> <description> - Notify the object internally using an ID. + Called whenever the object receives a notification, which is identified in [code]what[/code] by a constant. The base [Object] has two constants [constant NOTIFICATION_POSTINITIALIZE] and [constant NOTIFICATION_PREDELETE], but subclasses such as [Node] define a lot more notifications which are also received by this method. </description> </method> <method name="_set" qualifiers="virtual"> @@ -54,6 +57,7 @@ <argument index="1" name="value" type="Variant"> </argument> <description> + Virtual method which can be overridden to customize the return value of [method set]. Sets a property. Returns [code]true[/code] if the [code]property[/code] exists. </description> </method> @@ -61,8 +65,8 @@ <return type="String"> </return> <description> + Virtual method which can be overridden to customize the return value of [method to_string], and thus the object's representation where it is converted to a string, e.g. with [code]print(obj)[/code]. Returns a [String] representing the object. Default is [code]"[ClassName:RID]"[/code]. - Override this method to customize the [String] representation of the object when it's being converted to a string, for example: [code]print(obj)[/code]. </description> </method> <method name="add_user_signal"> @@ -73,7 +77,7 @@ <argument index="1" name="arguments" type="Array" default="[ ]"> </argument> <description> - Adds a user-defined [code]signal[/code]. Arguments are optional, but can be added as an [Array] of dictionaries, each containing "name" and "type" (from [@GlobalScope] TYPE_*). + Adds a user-defined [code]signal[/code]. Arguments are optional, but can be added as an [Array] of dictionaries, each containing [code]name: String[/code] and [code]type: int[/code] (see [enum Variant.Type]) entries. </description> </method> <method name="call" qualifiers="vararg"> @@ -82,7 +86,10 @@ <argument index="0" name="method" type="String"> </argument> <description> - Calls the [code]method[/code] on the object and returns a result. Pass parameters as a comma separated list. + Calls the [code]method[/code] on the object and returns the result. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example: + [codeblock] + call("set", "position", Vector2(42.0, 0.0)) + [/codeblock] </description> </method> <method name="call_deferred" qualifiers="vararg"> @@ -91,7 +98,10 @@ <argument index="0" name="method" type="String"> </argument> <description> - Calls the [code]method[/code] on the object during idle time and returns a result. Pass parameters as a comma separated list. + Calls the [code]method[/code] on the object during idle time and returns the result. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example: + [codeblock] + call_deferred("set", "position", Vector2(42.0, 0.0)) + [/codeblock] </description> </method> <method name="callv"> @@ -102,14 +112,17 @@ <argument index="1" name="arg_array" type="Array"> </argument> <description> - Calls the [code]method[/code] on the object and returns a result. Pass parameters as an [Array]. + Calls the [code]method[/code] on the object and returns the result. Contrarily to [method call], this method does not support a variable number of arguments but expected all parameters passed via a single [Array]. + [codeblock] + callv("set", [ "position", Vector2(42.0, 0.0) ]) + [/codeblock] </description> </method> <method name="can_translate_messages" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the object can translate strings. + Returns [code]true[/code] if the object can translate strings. See [method set_message_translation] and [method tr]. </description> </method> <method name="connect"> @@ -126,9 +139,15 @@ <argument index="4" name="flags" type="int" default="0"> </argument> <description> - Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/code] object. Pass optional [code]binds[/code] to the call. Use [code]flags[/code] to set deferred or one shot connections. See [code]CONNECT_*[/code] constants. - A [code]signal[/code] can only be connected once to a [code]method[/code]. It will throw an error if already connected. To avoid this, first, use [method is_connected] to check for existing connections. + Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/code] object. Pass optional [code]binds[/code] to the call as an [Array] of parameters. Use [code]flags[/code] to set deferred or one shot connections. See [enum ConnectFlags] constants. + A [code]signal[/code] can only be connected once to a [code]method[/code]. It will throw an error if already connected, unless the signal was connected with [constant CONNECT_REFERENCE_COUNTED]. To avoid this, first, use [method is_connected] to check for existing connections. If the [code]target[/code] is destroyed in the game's lifecycle, the connection will be lost. + Examples: + [codeblock] + connect("pressed", self, "_on_Button_pressed") # BaseButton signal + connect("text_entered", self, "_on_LineEdit_text_entered") # LineEdit signal + connect("hit", self, "_on_Player_hit", [ weapon_type, damage ]) # User-defined signal + [/codeblock] </description> </method> <method name="disconnect"> @@ -151,14 +170,18 @@ <argument index="0" name="signal" type="String"> </argument> <description> - Emits the given [code]signal[/code]. + Emits the given [code]signal[/code]. The signal must exist, so it should be a built-in signal of this class or one of its parent classes, or a user-defined signal. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example: + [codeblock] + emit_signal("hit", weapon_type, damage) + emit_signal("game_over") + [/codeblock] </description> </method> <method name="free"> <return type="void"> </return> <description> - Deletes the object from memory. + Deletes the object from memory. Any pre-existing reference to the freed object will now return [code]null[/code]. </description> </method> <method name="get" qualifiers="const"> @@ -167,7 +190,7 @@ <argument index="0" name="property" type="String"> </argument> <description> - Returns a [Variant] for a [code]property[/code]. + Returns the [Variant] value of the given [code]property[/code]. </description> </method> <method name="get_class" qualifiers="const"> @@ -182,10 +205,10 @@ </return> <description> Returns an [Array] of dictionaries with information about signals that are connected to the object. - Inside each [Dictionary] there are 3 fields: - - "source" is a reference to signal emitter. - - "signal_name" is name of connected signal. - - "method_name" is a name of method to which signal is connected. + Each [Dictionary] contains three String entries: + - [code]source[/code] is a reference to the signal emitter. + - [code]signal_name[/code] is the name of the connected signal. + - [code]method_name[/code] is the name of the method to which the signal is connected. </description> </method> <method name="get_indexed" qualifiers="const"> @@ -194,8 +217,7 @@ <argument index="0" name="property" type="NodePath"> </argument> <description> - Get indexed object property by String. - Property indices get accessed with colon separation, for example: [code]position:x[/code] + Get the object's property indexed by the given [NodePath]. The node path should be relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Examples: [code]"position:x"[/code] or [code]"material:next_pass:blend_mode"[/code]. </description> </method> <method name="get_instance_id" qualifiers="const"> @@ -212,7 +234,7 @@ <argument index="0" name="name" type="String"> </argument> <description> - Returns the object's metadata for the given [code]name[/code]. + Returns the object's metadata entry for the given [code]name[/code]. </description> </method> <method name="get_meta_list" qualifiers="const"> @@ -233,14 +255,15 @@ <return type="Array"> </return> <description> - Returns the list of properties as an [Array] of dictionaries. Dictionaries contain: name:String, type:int (see TYPE_* enum in [@GlobalScope]) and optionally: hint:int (see PROPERTY_HINT_* in [@GlobalScope]), hint_string:String, usage:int (see PROPERTY_USAGE_* in [@GlobalScope]). + Returns the object's property list as an [Array] of dictionaries. + Each property's [Dictionary] contain at least [code]name: String[/code] and [code]type: int[/code] (see [enum Variant.Type]) entries. Optionally, it can also include [code]hint: int[/code] (see [enum PropertyHint]), [code]hint_string: String[/code], and [code]usage: int[/code] (see [enum PropertyUsageFlags]). </description> </method> <method name="get_script" qualifiers="const"> <return type="Reference"> </return> <description> - Returns the object's [Script] or [code]null[/code] if one doesn't exist. + Returns the object's [Script] instance, or [code]null[/code] if none is assigned. </description> </method> <method name="get_signal_connection_list" qualifiers="const"> @@ -265,7 +288,7 @@ <argument index="0" name="name" type="String"> </argument> <description> - Returns [code]true[/code] if a metadata is found with the given [code]name[/code]. + Returns [code]true[/code] if a metadata entry is found with the given [code]name[/code]. </description> </method> <method name="has_method" qualifiers="const"> @@ -296,10 +319,10 @@ <method name="is_class" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="type" type="String"> + <argument index="0" name="class" type="String"> </argument> <description> - Returns [code]true[/code] if the object inherits from the given [code]type[/code]. + Returns [code]true[/code] if the object inherits from the given [code]class[/code]. </description> </method> <method name="is_connected" qualifiers="const"> @@ -319,7 +342,7 @@ <return type="bool"> </return> <description> - Returns [code]true[/code] if the [code]queue_free[/code] method was called for the object. + Returns [code]true[/code] if the [method Node.queue_free] method was called for the object. </description> </method> <method name="notification"> @@ -330,13 +353,15 @@ <argument index="1" name="reversed" type="bool" default="false"> </argument> <description> - Notify the object of something. + Send a given notification to the object, which will also trigger a call to the [method _notification] method of all classes that the object inherits from. + If [code]reversed[/code] is [code]true[/code], [method _notification] is called first on the object's own class, and then up to its successive parent classes. If [code]reversed[/code] is [code]false[/code], [method _notification] is called first on the highest ancestor ([Object] itself), and then down to its successive inheriting classes. </description> </method> <method name="property_list_changed_notify"> <return type="void"> </return> <description> + Notify the editor that the property list has changed, so that editor plugins can take the new values into account. Does nothing on export builds. </description> </method> <method name="remove_meta"> @@ -345,6 +370,7 @@ <argument index="0" name="name" type="String"> </argument> <description> + Removes a given entry from the object's metadata. </description> </method> <method name="set"> @@ -355,7 +381,7 @@ <argument index="1" name="value" type="Variant"> </argument> <description> - Set property into the object. + Assigns a new value to the given property. If the [code]property[/code] does not exist, nothing will happen. </description> </method> <method name="set_block_signals"> @@ -375,7 +401,7 @@ <argument index="1" name="value" type="Variant"> </argument> <description> - Set property into the object, after the current frame's physics step. This is equivalent to calling [method set] via [method call_deferred], i.e. [code]call_deferred("set", [property, value])[/code]. + Assigns a new value to the given property, after the current frame's physics step. This is equivalent to calling [method set] via [method call_deferred], i.e. [code]call_deferred("set", property, value)[/code]. </description> </method> <method name="set_indexed"> @@ -386,6 +412,12 @@ <argument index="1" name="value" type="Variant"> </argument> <description> + Assigns a new value to the property identified by the [NodePath]. The node path should be relative to the current object and can use the colon character ([code]:[/code]) to access nested properties. Example: + [codeblock] + set_indexed("position", Vector2(42, 0)) + set_indexed("position:y", -10) + print(position) # (42, -10) + [/codeblock] </description> </method> <method name="set_message_translation"> @@ -394,7 +426,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Define whether the object can translate strings (with calls to [method tr]). Default is [code]true[/code]. + Defines whether the object can translate strings (with calls to [method tr]). Default is [code]true[/code]. </description> </method> <method name="set_meta"> @@ -405,7 +437,7 @@ <argument index="1" name="value" type="Variant"> </argument> <description> - Set a metadata into the object. Metadata is serialized. Metadata can be [i]anything[/i]. + Adds or changes a given entry in the object's metadata. Metadata are serialized, and can take any [Variant] value. </description> </method> <method name="set_script"> @@ -414,7 +446,7 @@ <argument index="0" name="script" type="Reference"> </argument> <description> - Set a script into the object, scripts extend the object functionality. + Assigns a script to the object. Each object can have a single script assigned to it, which are used to extend its functionality. </description> </method> <method name="to_string"> @@ -431,14 +463,15 @@ <argument index="0" name="message" type="String"> </argument> <description> - Translate a message. Only works if message translation is enabled (which it is by default). See [method set_message_translation]. + Translates a message using translation catalogs configured in the Project Settings. + Only works if message translation is enabled (which it is by default), otherwise it returns the [code]message[/code] unchanged. See [method set_message_translation]. </description> </method> </methods> <signals> <signal name="script_changed"> <description> - Emitted whenever the script of the Object is changed. + Emitted whenever the object's script is changed. </description> </signal> </signals> @@ -459,6 +492,7 @@ One shot connections disconnect themselves after emission. </constant> <constant name="CONNECT_REFERENCE_COUNTED" value="8" enum="ConnectFlags"> + Connect a signal as reference counted. This means that a given signal can be connected several times to the same target, and will only be fully disconnected once no references are left. </constant> </constants> </class> diff --git a/doc/classes/OccluderPolygon2D.xml b/doc/classes/OccluderPolygon2D.xml index f1d7d55cb9..a52d51fa7d 100644 --- a/doc/classes/OccluderPolygon2D.xml +++ b/doc/classes/OccluderPolygon2D.xml @@ -12,10 +12,10 @@ </methods> <members> <member name="closed" type="bool" setter="set_closed" getter="is_closed"> - If [code]true[/code], closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction. Default value [code]true[/code]. + If [code]true[/code], closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction. Default value: [code]true[/code]. </member> <member name="cull_mode" type="int" setter="set_cull_mode" getter="get_cull_mode" enum="OccluderPolygon2D.CullMode"> - Set the direction of the occlusion culling when not [code]CULL_DISABLED[/code]. Default value [code]DISABLED[/code]. + Set the direction of the occlusion culling or disable it. Default value: [constant CULL_DISABLED]. </member> <member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon"> A [Vector2] array with the index for polygon's vertices positions. Note that the returned value is a copy of the underlying array, rather than a reference. diff --git a/doc/classes/PackedScene.xml b/doc/classes/PackedScene.xml index 777e5221ed..7827571178 100644 --- a/doc/classes/PackedScene.xml +++ b/doc/classes/PackedScene.xml @@ -50,7 +50,7 @@ <argument index="0" name="edit_state" type="int" enum="PackedScene.GenEditState" default="0"> </argument> <description> - Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers [Node]'s [code]NOTIFICATION_INSTANCED[/code] notification on the root node. + Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers a [constant Node.NOTIFICATION_INSTANCED] notification on the root node. </description> </method> <method name="pack"> diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml index a29b621406..d7e939ba31 100644 --- a/doc/classes/Particles.xml +++ b/doc/classes/Particles.xml @@ -31,7 +31,7 @@ Number of particles to emit. </member> <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles.DrawOrder"> - Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [code]DRAW_ORDER_INDEX[/code]. + Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [constant DRAW_ORDER_INDEX]. </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. diff --git a/doc/classes/Particles2D.xml b/doc/classes/Particles2D.xml index 78114e985d..a874e8f6a0 100644 --- a/doc/classes/Particles2D.xml +++ b/doc/classes/Particles2D.xml @@ -31,7 +31,7 @@ Number of particles emitted in one emission cycle. </member> <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles2D.DrawOrder"> - Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [code]DRAW_ORDER_INDEX[/code]. + Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [constant DRAW_ORDER_INDEX]. </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]. diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml index cb06593bc2..00862e5672 100644 --- a/doc/classes/ParticlesMaterial.xml +++ b/doc/classes/ParticlesMaterial.xml @@ -67,25 +67,25 @@ Damping randomness ratio. Default value: [code]0[/code]. </member> <member name="emission_box_extents" type="Vector3" setter="set_emission_box_extents" getter="get_emission_box_extents"> - The box's extents if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_BOX[/code]. + The box's extents if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_BOX]. </member> <member name="emission_color_texture" type="Texture" setter="set_emission_color_texture" getter="get_emission_color_texture"> Particle color will be modulated by color determined by sampling this texture at the same point as the [member emission_point_texture]. </member> <member name="emission_normal_texture" type="Texture" setter="set_emission_normal_texture" getter="get_emission_normal_texture"> - Particle velocity and rotation will be set by sampling this texture at the same point as the [member emission_point_texture]. Used only in [code]EMISSION_SHAPE_DIRECTED[/code]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar. + Particle velocity and rotation will be set by sampling this texture at the same point as the [member emission_point_texture]. Used only in [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar. </member> <member name="emission_point_count" type="int" setter="set_emission_point_count" getter="get_emission_point_count"> - The number of emission points if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_POINTS[/code] or [code]EMISSION_SHAPE_DIRECTED_POINTS[/code]. + The number of emission points if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> <member name="emission_point_texture" type="Texture" setter="set_emission_point_texture" getter="get_emission_point_texture"> - Particles will be emitted at positions determined by sampling this texture at a random position. Used with [code]EMISSION_SHAPE_POINTS[/code] and [code]EMISSION_SHAPE_DIRECTED_POINTS[/code]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar. + Particles will be emitted at positions determined by sampling this texture at a random position. Used with [constant EMISSION_SHAPE_POINTS] and [constant EMISSION_SHAPE_DIRECTED_POINTS]. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar. </member> <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="ParticlesMaterial.EmissionShape"> - Particles will be emitted inside this region. Use [code]EMISSION_SHAPE_*[/code] constants for values. Default value: [code]EMISSION_SHAPE_POINT[/code]. + Particles will be emitted inside this region. Use [code]EMISSION_SHAPE_*[/code] constants for values. Default value: [constant EMISSION_SHAPE_POINT]. </member> <member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius"> - The sphere's radius if [code]emission_shape[/code] is set to [code]EMISSION_SHAPE_SPHERE[/code]. + The sphere's radius if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_SPHERE]. </member> <member name="flag_align_y" type="bool" setter="set_flag" getter="get_flag"> Align y-axis of particle with the direction of its velocity. diff --git a/doc/classes/Path.xml b/doc/classes/Path.xml index 1b553dbc02..12ae8fd3d5 100644 --- a/doc/classes/Path.xml +++ b/doc/classes/Path.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Path" inherits="Spatial" category="Core" version="3.2"> <brief_description> - Container for a [Curve3D]. + Contains a [Curve3D] path for [PathFollow] nodes to follow. </brief_description> <description> - This class is a container/Node-ification of a [Curve3D], so it can have [Spatial] properties and [Node] info. + Can have [PathFollow] child nodes moving along the [Curve3D]. See [PathFollow] for more information on the usage. + Note that the path is considered as relative to the moved nodes (children of [PathFollow]). As such, the curve should usually start with a zero vector [code](0, 0, 0)[/code]. </description> <tutorials> </tutorials> @@ -12,11 +13,13 @@ </methods> <members> <member name="curve" type="Curve3D" setter="set_curve" getter="get_curve"> + A [Curve3D] describing the path. </member> </members> <signals> <signal name="curve_changed"> <description> + Emitted when the [member curve] changes. </description> </signal> </signals> diff --git a/doc/classes/Path2D.xml b/doc/classes/Path2D.xml index ce15b3eab2..a50df96bda 100644 --- a/doc/classes/Path2D.xml +++ b/doc/classes/Path2D.xml @@ -4,8 +4,8 @@ Contains a [Curve2D] path for [PathFollow2D] nodes to follow. </brief_description> <description> - Can have [PathFollow2D] child-nodes moving along the [Curve2D]. See [PathFollow2D] for more information on this usage. - Note that the path is considered as relative to the moved nodes (children of [PathFollow2D]) - usually the curve should start with a zero vector (0, 0). + Can have [PathFollow2D] child nodes moving along the [Curve2D]. See [PathFollow2D] for more information on the usage. + Note that the path is considered as relative to the moved nodes (children of [PathFollow2D]). As such, the curve should usually start with a zero vector [code](0, 0)[/code]. </description> <tutorials> </tutorials> diff --git a/doc/classes/PathFollow.xml b/doc/classes/PathFollow.xml index ba27ca04eb..f0b238eb1d 100644 --- a/doc/classes/PathFollow.xml +++ b/doc/classes/PathFollow.xml @@ -27,7 +27,7 @@ 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="rotation_mode" type="int" setter="set_rotation_mode" getter="get_rotation_mode" enum="PathFollow.RotationMode"> - Allows or forbids rotation on one or more axes, depending on the constants being used. + Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used. </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. diff --git a/doc/classes/Performance.xml b/doc/classes/Performance.xml index 3860511615..3bcc001a2b 100644 --- a/doc/classes/Performance.xml +++ b/doc/classes/Performance.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Performance" inherits="Object" category="Core" version="3.2"> <brief_description> - Exposes performance related data. + Exposes performance-related data. </brief_description> <description> This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS. These are the same as the values displayed in the [i]Monitor[/i] tab in the editor's [i]Debugger[/i] panel. By using the [method get_monitor] method of this class, you can access this data from your code. Note that a few of these monitors are only available in debug mode and will always return 0 when used in a release build. @@ -16,7 +16,7 @@ <argument index="0" name="monitor" type="int" enum="Performance.Monitor"> </argument> <description> - Returns the value of one of the available monitors. You should provide one of this class's constants as the argument, like this: + Returns the value of one of the available monitors. You should provide one of the [enum Monitor] constants as the argument, like this: [codeblock] print(Performance.get_monitor(Performance.TIME_FPS)) # Prints the FPS to the console [/codeblock] @@ -25,13 +25,13 @@ </methods> <constants> <constant name="TIME_FPS" value="0" enum="Monitor"> - Frames per second. + Number of frames per second. </constant> <constant name="TIME_PROCESS" value="1" enum="Monitor"> - Time it took to complete one frame. + Time it took to complete one frame, in seconds. </constant> <constant name="TIME_PHYSICS_PROCESS" value="2" enum="Monitor"> - Time it took to complete one physics frame. + Time it took to complete one physics frame, in seconds. </constant> <constant name="MEMORY_STATIC" value="3" enum="Monitor"> Static memory currently used, in bytes. Not available in release builds. @@ -58,6 +58,7 @@ Number of nodes currently instanced in the scene tree. This also includes the root node. </constant> <constant name="OBJECT_ORPHAN_NODE_COUNT" value="11" enum="Monitor"> + Number of orphan nodes, i.e. nodes which are not parented to a node of the scene tree. </constant> <constant name="RENDER_OBJECTS_IN_FRAME" value="12" enum="Monitor"> 3D objects drawn per frame. @@ -78,15 +79,16 @@ Draw calls per frame. 3D only. </constant> <constant name="RENDER_VIDEO_MEM_USED" value="18" enum="Monitor"> - Video memory used. Includes both texture and vertex memory. + The amount of video memory used, i.e. texture and vertex memory combined. </constant> <constant name="RENDER_TEXTURE_MEM_USED" value="19" enum="Monitor"> - Texture memory used. + The amount of texture memory used. </constant> <constant name="RENDER_VERTEX_MEM_USED" value="20" enum="Monitor"> - Vertex memory used. + The amount of vertex memory used. </constant> <constant name="RENDER_USAGE_VIDEO_MEM_TOTAL" value="21" enum="Monitor"> + Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0. </constant> <constant name="PHYSICS_2D_ACTIVE_OBJECTS" value="22" enum="Monitor"> Number of active [RigidBody2D] nodes in the game. @@ -107,8 +109,10 @@ Number of islands in the 3D physics engine. </constant> <constant name="AUDIO_OUTPUT_LATENCY" value="28" enum="Monitor"> + Output latency of the [AudioServer]. </constant> <constant name="MONITOR_MAX" value="29" enum="Monitor"> + Represents the size of the [enum Monitor] enum. </constant> </constants> </class> diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/Physics2DServer.xml index 172420e4ca..de4a8c233e 100644 --- a/doc/classes/Physics2DServer.xml +++ b/doc/classes/Physics2DServer.xml @@ -86,7 +86,7 @@ <argument index="1" name="param" type="int" enum="Physics2DServer.AreaParameter"> </argument> <description> - Returns an area parameter value. A list of available parameters is on the AREA_PARAM_* constants. + Returns an area parameter value. See [enum AreaParameter] for a list of available parameters. </description> </method> <method name="area_get_shape" qualifiers="const"> @@ -230,7 +230,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Sets the value for an area parameter. A list of available parameters is on the AREA_PARAM_* constants. + Sets the value for an area parameter. See [enum AreaParameter] for a list of available parameters. </description> </method> <method name="area_set_shape"> @@ -291,7 +291,7 @@ <argument index="1" name="mode" type="int" enum="Physics2DServer.AreaSpaceOverrideMode"> </argument> <description> - Sets the space override mode for the area. The modes are described in the constants AREA_SPACE_OVERRIDE_*. + Sets the space override mode for the area. See [enum AreaSpaceOverrideMode] for a list of available modes. </description> </method> <method name="area_set_transform"> @@ -431,7 +431,7 @@ <return type="RID"> </return> <description> - Creates a physics body. The first parameter can be any value from constants BODY_MODE*, for the type of body created. Additionally, the body can be created in sleeping state to save processing time. + Creates a physics body. </description> </method> <method name="body_get_canvas_instance_id" qualifiers="const"> @@ -513,7 +513,7 @@ <argument index="1" name="param" type="int" enum="Physics2DServer.BodyParameter"> </argument> <description> - Returns the value of a body parameter. A list of available parameters is on the BODY_PARAM_* constants. + Returns the value of a body parameter. See [enum BodyParameter] for a list of available parameters. </description> </method> <method name="body_get_shape" qualifiers="const"> @@ -650,7 +650,7 @@ <argument index="1" name="mode" type="int" enum="Physics2DServer.CCDMode"> </argument> <description> - Sets the continuous collision detection mode from any of the CCD_MODE_* constants. + Sets the continuous collision detection mode using one of the [enum CCDMode] constants. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided. </description> </method> @@ -688,7 +688,7 @@ <argument index="1" name="mode" type="int" enum="Physics2DServer.BodyMode"> </argument> <description> - Sets the body mode, from one of the constants BODY_MODE*. + Sets the body mode using one of the [enum BodyMode] constants. </description> </method> <method name="body_set_omit_force_integration"> @@ -712,7 +712,7 @@ <argument index="2" name="value" type="float"> </argument> <description> - Sets a body parameter. A list of available parameters is on the BODY_PARAM_* constants. + Sets a body parameter. See [enum BodyParameter] for a list of available parameters. </description> </method> <method name="body_set_shape"> @@ -803,7 +803,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Sets a body state (see BODY_STATE* constants). + Sets a body state using one of the [enum BodyState] constants. </description> </method> <method name="body_test_motion"> @@ -885,7 +885,7 @@ <argument index="2" name="value" type="float"> </argument> <description> - Sets a damped spring joint parameter. Parameters are explained in the DAMPED_STRING* constants. + Sets a damped spring joint parameter. See [enum DampedStringParam] for a list of available parameters. </description> </method> <method name="free_rid"> @@ -903,7 +903,7 @@ <argument index="0" name="process_info" type="int" enum="Physics2DServer.ProcessInfo"> </argument> <description> - Returns information about the current state of the 2D physics engine. The states are listed under the INFO_* constants. + Returns information about the current state of the 2D physics engine. See [enum ProcessInfo] for a list of available states. </description> </method> <method name="groove_joint_create"> @@ -920,7 +920,7 @@ <argument index="4" name="body_b" type="RID"> </argument> <description> - Creates a groove joint between two bodies. If not specified, the bodyies are assumed to be the joint itself. + Creates a groove joint between two bodies. If not specified, the bodies are assumed to be the joint itself. </description> </method> <method name="joint_get_param" qualifiers="const"> @@ -940,7 +940,7 @@ <argument index="0" name="joint" type="RID"> </argument> <description> - Returns the type of a joint (see JOINT_* constants). + Returns the type of a joint (see [enum JointType]). </description> </method> <method name="joint_set_param"> @@ -953,7 +953,7 @@ <argument index="2" name="value" type="float"> </argument> <description> - Sets a joint parameter. Parameters are explained in the JOINT_PARAM* constants. + Sets a joint parameter. See [enum JointParam] for a list of available parameters. </description> </method> <method name="line_shape_create"> @@ -1017,7 +1017,7 @@ <argument index="0" name="shape" type="RID"> </argument> <description> - Returns the type of shape (see SHAPE_* constants). + Returns the type of shape (see [enum ShapeType]). </description> </method> <method name="shape_set_data"> @@ -1088,7 +1088,7 @@ <argument index="2" name="value" type="float"> </argument> <description> - Sets the value for a space parameter. A list of available parameters is on the SPACE_PARAM_* constants. + Sets the value for a space parameter. See [enum SpaceParameter] for a list of available parameters. </description> </method> </methods> @@ -1215,7 +1215,7 @@ Constant to set/get a body's angular dampening factor. </constant> <constant name="BODY_PARAM_MAX" value="7" enum="BodyParameter"> - This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0. + Represents the size of the [enum BodyParameter] enum. </constant> <constant name="BODY_STATE_TRANSFORM" value="0" enum="BodyState"> Constant to set/get the current transform matrix of the body. diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml index 78a6ed8ac0..77536e2b5b 100644 --- a/doc/classes/PhysicsServer.xml +++ b/doc/classes/PhysicsServer.xml @@ -910,7 +910,7 @@ <argument index="0" name="process_info" type="int" enum="PhysicsServer.ProcessInfo"> </argument> <description> - Returns an Info defined by the [enum PhysicsServer.ProcessInfo] input given. + Returns an Info defined by the [enum ProcessInfo] input given. </description> </method> <method name="hinge_joint_get_flag" qualifiers="const"> @@ -1384,13 +1384,13 @@ The amount of damping of the rotation across axes orthogonal to the slider. </constant> <constant name="SLIDER_JOINT_MAX" value="22" enum="SliderJointParam"> - End flag of SLIDER_JOINT_* constants, used internally. + Represents the size of the [enum SliderJointParam] enum. </constant> <constant name="CONE_TWIST_JOINT_SWING_SPAN" value="0" enum="ConeTwistJointParam"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. The swing span defines, how much rotation will not get corrected allong the swing axis. Could be defined as looseness in the [ConeTwistJoint]. - If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code]. + If below 0.05, this behavior is locked. Default value: [code]PI/4[/code]. </constant> <constant name="CONE_TWIST_JOINT_TWIST_SPAN" value="1" enum="ConeTwistJointParam"> Twist is the rotation around the twist axis, this value defined how far the joint can twist. @@ -1566,7 +1566,7 @@ Constant to set/get a body's angular dampening factor. </constant> <constant name="BODY_PARAM_MAX" value="6" enum="BodyParameter"> - This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0. + Represents the size of the [enum BodyParameter] enum. </constant> <constant name="BODY_STATE_TRANSFORM" value="0" enum="BodyState"> Constant to set/get the current transform matrix of the body. diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml index 97ad1efa93..68deb5aff4 100644 --- a/doc/classes/ProceduralSky.xml +++ b/doc/classes/ProceduralSky.xml @@ -46,7 +46,7 @@ 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] + 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. @@ -58,7 +58,7 @@ 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. + Size of [Texture] that the ProceduralSky will generate. The size is set using [enum TextureSize]. </member> </members> <constants> @@ -73,6 +73,7 @@ <constant name="TEXTURE_SIZE_4096" value="4" enum="TextureSize"> </constant> <constant name="TEXTURE_SIZE_MAX" value="5" enum="TextureSize"> + Represents the size of the [enum TextureSize] enum. </constant> </constants> </class> diff --git a/doc/classes/Reference.xml b/doc/classes/Reference.xml index bc24483367..9e6c403873 100644 --- a/doc/classes/Reference.xml +++ b/doc/classes/Reference.xml @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Reference" inherits="Object" category="Core" version="3.2"> <brief_description> - Base class for anything that keeps a reference count. + Base class for reference-counted objects. </brief_description> <description> - Base class for anything that keeps a reference count. Resource and many other helper objects inherit this. References keep an internal reference counter so they are only released when no longer in use. + Base class for any object that keeps a reference count. [Resource] and many other helper objects inherit this class. + References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with [method Object.free]. + In the vast majority of use cases, instantiating and using [Reference]-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused. </description> <tutorials> </tutorials> @@ -13,20 +15,24 @@ <return type="bool"> </return> <description> + Initializes the internal reference counter. Use this only if you really know what you are doing. + Returns whether the initialization was successful. </description> </method> <method name="reference"> <return type="bool"> </return> <description> - Increase the internal reference counter. Use this only if you really know what you are doing. + Increments the internal reference counter. Use this only if you really know what you are doing. + Returns whether the increment was successful. </description> </method> <method name="unreference"> <return type="bool"> </return> <description> - Decrease the internal reference counter. Use this only if you really know what you are doing. + Decrements the internal reference counter. Use this only if you really know what you are doing. + Returns whether the decrement was successful. </description> </method> </methods> diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml index acd608de6a..d2315275b1 100644 --- a/doc/classes/Resource.xml +++ b/doc/classes/Resource.xml @@ -72,6 +72,7 @@ <signals> <signal name="changed"> <description> + Emitted whenever the resource changes. </description> </signal> </signals> diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml index f62191413a..ef44a826b9 100644 --- a/doc/classes/ResourceFormatLoader.xml +++ b/doc/classes/ResourceFormatLoader.xml @@ -55,7 +55,7 @@ <argument index="1" name="original_path" type="String"> </argument> <description> - Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, [code]original_path[/code] will target the source file. Returns a [Resource] object on success, or an [enum @GlobalScope.Error] constant in case of failure. + Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, [code]original_path[/code] will target the source file. Returns a [Resource] object on success, or an [enum Error] constant in case of failure. </description> </method> <method name="rename_dependencies" qualifiers="virtual"> @@ -67,7 +67,7 @@ </argument> <description> If implemented, renames dependencies within the given resource and saves it. [code]renames[/code] is a dictionary [code]{ String => String }[/code] mapping old dependency paths to new paths. - Returns [constant @GlobalScope.OK] on success, or an [enum @GlobalScope.Error] constant in case of failure. + Returns [constant OK] on success, or an [enum Error] constant in case of failure. </description> </method> </methods> diff --git a/doc/classes/ResourceFormatSaver.xml b/doc/classes/ResourceFormatSaver.xml index c40f614aa2..5ad5ab49b1 100644 --- a/doc/classes/ResourceFormatSaver.xml +++ b/doc/classes/ResourceFormatSaver.xml @@ -39,7 +39,7 @@ </argument> <description> Saves the given resource object to a file at the target [code]path[/code]. [code]flags[/code] is a bitmask composed with [enum ResourceSaver.SaverFlags] constants. - Returns [constant @GlobalScope.OK] on success, or an [enum @GlobalScope.Error] constant in case of failure. + Returns [constant OK] on success, or an [enum Error] constant in case of failure. </description> </method> </methods> diff --git a/doc/classes/ResourceImporter.xml b/doc/classes/ResourceImporter.xml new file mode 100644 index 0000000000..e0c0aa9a47 --- /dev/null +++ b/doc/classes/ResourceImporter.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="ResourceImporter" inherits="Reference" category="Core" version="3.2"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/ResourceInteractiveLoader.xml b/doc/classes/ResourceInteractiveLoader.xml index 9d5a52deb2..3c09959ff7 100644 --- a/doc/classes/ResourceInteractiveLoader.xml +++ b/doc/classes/ResourceInteractiveLoader.xml @@ -35,9 +35,9 @@ </return> <description> Polls the loading operation, i.e. loads a data chunk up to the next stage. - Returns [constant @GlobalScope.OK] if the poll is successful but the load operation has not finished yet (intermediate stage). This means [method poll] will have to be called again until the last stage is completed. - Returns [constant @GlobalScope.ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource]. - Returns another [enum @GlobalScope.Error] code if the poll has failed. + Returns [constant OK] if the poll is successful but the load operation has not finished yet (intermediate stage). This means [method poll] will have to be called again until the last stage is completed. + Returns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource]. + Returns another [enum Error] code if the poll has failed. </description> </method> <method name="wait"> @@ -45,8 +45,8 @@ </return> <description> Polls the loading operation successively until the resource is completely loaded or a [method poll] fails. - Returns [constant @GlobalScope.ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource]. - Returns another [enum @GlobalScope.Error] code if a poll has failed, aborting the operation. + Returns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource]. + Returns another [enum Error] code if a poll has failed, aborting the operation. </description> </method> </methods> diff --git a/doc/classes/ResourceSaver.xml b/doc/classes/ResourceSaver.xml index 778ba4293f..57d5bfae2f 100644 --- a/doc/classes/ResourceSaver.xml +++ b/doc/classes/ResourceSaver.xml @@ -31,7 +31,7 @@ <description> Saves a resource to disk to the given path, using a [ResourceFormatSaver] that recognizes the resource object. The [code]flags[/code] bitmask can be specified to customize the save behavior. - Returns [constant @GlobalScope.OK] on success. + Returns [constant OK] on success. </description> </method> </methods> diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index c8dd7821a3..a097e2076f 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -35,7 +35,7 @@ <argument index="0" name="bbcode" type="String"> </argument> <description> - Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns the result of the parsing, [code]OK[/code] if successful. + Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns the result of the parsing, [constant OK] if successful. </description> </method> <method name="clear"> @@ -93,7 +93,7 @@ <argument index="0" name="bbcode" type="String"> </argument> <description> - The assignment version of [method append_bbcode]. Clears the tag stack and inserts the new content. Returns [code]OK[/code] if parses [code]bbcode[/code] successfully. + The assignment version of [method append_bbcode]. Clears the tag stack and inserts the new content. Returns [constant OK] if parses [code]bbcode[/code] successfully. </description> </method> <method name="pop"> diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index 9a1802b515..3fdc367cc5 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -138,8 +138,8 @@ The maximum number of contacts to report. Default value: [code]0[/code]. </member> <member name="continuous_cd" type="int" setter="set_continuous_collision_detection_mode" getter="get_continuous_collision_detection_mode" enum="RigidBody2D.CCDMode"> - Continuous collision detection mode. Default value: [code]CCD_MODE_DISABLED[/code]. - Continuous collision detection tries to predict where a moving body will collide instead of moving it and correcting its movement after collision. Continuous collision detection is slower, but more precise and misses fewer collisions with small, fast-moving objects. Raycasting and shapecasting methods are available. See [code]CCD_MODE_[/code] constants for details. + Continuous collision detection mode. Default value: [constant CCD_MODE_DISABLED]. + Continuous collision detection tries to predict where a moving body will collide instead of moving it and correcting its movement after collision. Continuous collision detection is slower, but more precise and misses fewer collisions with small, fast-moving objects. Raycasting and shapecasting methods are available. See [enum CCDMode] for details. </member> <member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator"> If [code]true[/code], internal force integration is disabled for this body. Aside from collision response, the body will only move as determined by the [method _integrate_forces] function. @@ -163,7 +163,7 @@ The body's mass. Default value: [code]1[/code]. </member> <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody2D.Mode"> - The body's mode. See [code]MODE_*[/code] constants. Default value: [code]MODE_RIGID[/code]. + The body's mode. See [code]MODE_*[/code] constants. Default value: [constant MODE_RIGID]. </member> <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override"> </member> @@ -229,7 +229,7 @@ Static mode. The body behaves like a [StaticBody2D] and does not move. </constant> <constant name="MODE_CHARACTER" value="2" enum="Mode"> - Character mode. Similar to [code]MODE_RIGID[/code], but the body can not rotate. + Character mode. Similar to [constant MODE_RIGID], but the body can not rotate. </constant> <constant name="MODE_KINEMATIC" value="3" enum="Mode"> Kinematic mode. The body behaves like a [KinematicBody2D], and must be moved by code. diff --git a/doc/classes/SceneState.xml b/doc/classes/SceneState.xml index 34a28b5d1c..8cbc582bf5 100644 --- a/doc/classes/SceneState.xml +++ b/doc/classes/SceneState.xml @@ -5,6 +5,7 @@ </brief_description> <description> Maintains a list of resources, nodes, exported, and overridden properties, and built-in scripts associated with a scene. + This class cannot be instantiated directly, it is retrieved for a given scene as the result of [method PackedScene.get_state]. </description> <tutorials> </tutorials> @@ -23,6 +24,7 @@ </return> <description> Returns the number of signal connections in the scene. + The [code]idx[/code] argument used to query connection metadata in other [code]get_connection_*[/code] methods in the interval [code][0, get_connection_count() - 1][/code]. </description> </method> <method name="get_connection_flags" qualifiers="const"> @@ -31,7 +33,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the flags for the signal at [code]idx[/code]. See [Object]'s [code]CONNECT_*[/code] flags. + Returns the connection flags for the signal at [code]idx[/code]. See [enum Object.ConnectFlags] constants. </description> </method> <method name="get_connection_method" qualifiers="const"> @@ -75,6 +77,7 @@ </return> <description> Returns the number of nodes in the scene. + The [code]idx[/code] argument used to query node data in other [code]get_node_*[/code] methods in the interval [code][0, get_node_count() - 1][/code]. </description> </method> <method name="get_node_groups" qualifiers="const"> @@ -92,6 +95,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> + Returns the node's index, which is its position relative to its siblings. This is only relevant and saved in scenes for cases where new nodes are added to an instanced or inherited scene among siblings from the base scene. Despite the name, this index is not related to the [code]idx[/code] argument used here and in other methods. </description> </method> <method name="get_node_instance" qualifiers="const"> @@ -100,7 +104,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the scene for the node at [code]idx[/code] or [code]null[/code] if the node is not an instance. + Returns a [PackedScene] for the node at [code]idx[/code] (i.e. the whole branch starting at this node, with its child nodes and resources), or [code]null[/code] if the node is not an instance. </description> </method> <method name="get_node_instance_placeholder" qualifiers="const"> @@ -139,6 +143,7 @@ </argument> <description> Returns the path to the node at [code]idx[/code]. + If [code]for_parent[/code] is [code]true[/code], returns the path of the [code]idx[/code] node's parent instead. </description> </method> <method name="get_node_property_count" qualifiers="const"> @@ -148,6 +153,7 @@ </argument> <description> Returns the number of exported or overridden properties for the node at [code]idx[/code]. + The [code]prop_idx[/code] argument used to query node property data in other [code]get_node_property_*[/code] methods in the interval [code][0, get_node_property_count() - 1][/code]. </description> </method> <method name="get_node_property_name" qualifiers="const"> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index a236d776c7..25c129d1d4 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SceneTree" inherits="MainLoop" category="Core" version="3.2"> <brief_description> - SceneTree manages a hierarchy of nodes. + Manages the game loop via a hierarchy of nodes. </brief_description> <description> - As one of the most important classes, the [SceneTree] 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. + As one of the most important classes, the [SceneTree] 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. + [SceneTree] is the default [MainLoop] implementation used by scenes, and is thus in charge of the game loop. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/getting_started/step_by_step/scene_tree.html</link> @@ -41,7 +43,8 @@ <argument index="0" name="path" type="String"> </argument> <description> - Changes to the scene at the given [code]path[/code]. + Changes the running scene to the one at the given [code]path[/code], after loading it into a [PackedScene] and creating a new instance. + Returns [constant OK] on success, [constant ERR_CANT_OPEN] if the [code]path[/code] cannot be loaded into a [PackedScene], or [constant ERR_CANT_CREATE] if that scene cannot be instantiated. </description> </method> <method name="change_scene_to"> @@ -50,7 +53,8 @@ <argument index="0" name="packed_scene" type="PackedScene"> </argument> <description> - Changes to the given [PackedScene]. + Changes the running scene to a new instance of the given [PackedScene]. + Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene cannot be instantiated. </description> </method> <method name="create_timer"> @@ -61,7 +65,7 @@ <argument index="1" name="pause_mode_process" type="bool" default="true"> </argument> <description> - Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this SceneTree. If [code]pause_mode_process[/code] is set to [code]false[/code], pausing the SceneTree will also pause the timer. + Returns a [SceneTreeTimer] which will [signal SceneTreeTimer.timeout] after the given time in seconds elapsed in this [SceneTree]. If [code]pause_mode_process[/code] is set to [code]false[/code], pausing the [SceneTree] will also pause the timer. Commonly used to create a one-shot delay timer as in the following example: [codeblock] func some_function(): @@ -75,28 +79,28 @@ <return type="int"> </return> <description> - Returns the current frame, i.e. number of frames since the application started. + Returns the current frame number, i.e. the total frame count since the application started. </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 SceneTree's [member network_peer]. + Returns the peer IDs of all connected peers of this [SceneTree]'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 SceneTree's [member network_peer]. + Returns the unique peer ID of this [SceneTree]'s [member network_peer]. </description> </method> <method name="get_node_count" qualifiers="const"> <return type="int"> </return> <description> - Returns the number of nodes in this SceneTree. + Returns the number of nodes in this [SceneTree]. </description> </method> <method name="get_nodes_in_group"> @@ -105,7 +109,7 @@ <argument index="0" name="group" type="String"> </argument> <description> - Returns all nodes assigned to the given group. + Returns a list of all nodes assigned to the given group. </description> </method> <method name="get_rpc_sender_id" qualifiers="const"> @@ -135,14 +139,14 @@ <return type="bool"> </return> <description> - Returns [code]true[/code] if the most recent InputEvent was marked as handled with [method set_input_as_handled]. + Returns [code]true[/code] if the most recent [InputEvent] was marked as handled with [method set_input_as_handled]. </description> </method> <method name="is_network_server" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if this SceneTree's [member network_peer] is in server mode (listening for connections). + Returns [code]true[/code] if this [SceneTree]'s [member network_peer] is in server mode (listening for connections). </description> </method> <method name="notify_group"> @@ -190,6 +194,7 @@ </return> <description> Reloads the currently active scene. + Returns an [enum Error] code as described in [method change_scene], with the addition of [constant ERR_UNCONFIGURED] if no [member current_scene] was defined yet. </description> </method> <method name="set_auto_accept_quit"> @@ -198,7 +203,7 @@ <argument index="0" name="enabled" type="bool"> </argument> <description> - If [code]true[/code], the application automatically accepts quitting. + If [code]true[/code], the application automatically accepts quitting. Defaults to [code]true[/code]. </description> </method> <method name="set_group"> @@ -233,7 +238,7 @@ <return type="void"> </return> <description> - Marks the most recent input event as handled. + Marks the most recent [InputEvent] as handled. </description> </method> <method name="set_quit_on_go_back"> @@ -242,7 +247,7 @@ <argument index="0" name="enabled" type="bool"> </argument> <description> - If [code]true[/code], the application quits automatically on going back (e.g. on Android). + If [code]true[/code], the application quits automatically on going back (e.g. on Android). Defaults to [code]true[/code]. </description> </method> <method name="set_screen_stretch"> @@ -257,7 +262,7 @@ <argument index="3" name="shrink" type="float" default="1"> </argument> <description> - Configures screen stretching to the given [enum StretchMode], [enum StretchAspect], minimum size and [code]shrink[/code]. + Configures screen stretching to the given [enum StretchMode], [enum StretchAspect], minimum size and [code]shrink[/code] ratio. </description> </method> </methods> @@ -266,34 +271,34 @@ The current scene. </member> <member name="debug_collisions_hint" type="bool" setter="set_debug_collisions_hint" getter="is_debugging_collisions_hint"> + If [code]true[/code], collision shapes will be visible when running the game from the editor for debugging purposes. </member> <member name="debug_navigation_hint" type="bool" setter="set_debug_navigation_hint" getter="is_debugging_navigation_hint"> + If [code]true[/code], navigation polygons will be visible when running the game from the editor for debugging purposes. </member> <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" type="MultiplayerAPI" setter="set_multiplayer" getter="get_multiplayer"> - The default [MultiplayerAPI] instance for this SceneTree. + 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]. + If [code]true[/code] (default value), 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] protection 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 puppet. 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. + 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 puppet. 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. </member> <member name="paused" type="bool" setter="set_pause" getter="is_paused"> - If [code]true[/code], the SceneTree is paused. - Doing so will have the following behavior: - * 2D and 3D physics will be stopped. - * _process and _physics_process will not be called anymore in nodes. - * _input and _input_event will not be called anymore either. + If [code]true[/code], the [SceneTree] is paused. Doing so will have the following behavior: + - 2D and 3D physics will be stopped. + - [method Node._process], [method Node._physics_process] and [method Node._input] will not be called anymore in nodes. </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 SceneTree's [member network_peer] refuses new incoming connections. + If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new incoming connections. </member> <member name="root" type="Viewport" setter="" getter="get_root"> - The SceneTree's [Viewport]. + The [SceneTree]'s root [Viewport]. </member> <member name="use_font_oversampling" type="bool" setter="set_use_font_oversampling" getter="is_using_font_oversampling"> If [code]true[/code], font oversampling is used. @@ -302,12 +307,12 @@ <signals> <signal name="connected_to_server"> <description> - Emitted whenever this SceneTree's [member network_peer] successfully connected to a server. Only emitted on clients. + Emitted whenever this [SceneTree]'s [member network_peer] successfully connected to a server. Only emitted on clients. </description> </signal> <signal name="connection_failed"> <description> - Emitted whenever this SceneTree's [member network_peer] fails to establish a connection to a server. Only emitted on clients. + Emitted whenever this [SceneTree]'s [member network_peer] fails to establish a connection to a server. Only emitted on clients. </description> </signal> <signal name="files_dropped"> @@ -316,33 +321,33 @@ <argument index="1" name="screen" type="int"> </argument> <description> - Emitted whenever files are drag-and-dropped onto the window. + Emitted when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated. </description> </signal> <signal name="idle_frame"> <description> - Emitted immediately before [method Node._process] is called on every node in the SceneTree. + Emitted immediately before [method Node._process] is called on every node in the [SceneTree]. </description> </signal> <signal name="network_peer_connected"> <argument index="0" name="id" type="int"> </argument> <description> - Emitted whenever this SceneTree'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). + Emitted whenever this [SceneTree]'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 SceneTree's [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server. + Emitted whenever this [SceneTree]'s [member network_peer] disconnects from a peer. Clients get notified when other clients disconnect from the same server. </description> </signal> <signal name="node_added"> <argument index="0" name="node" type="Node"> </argument> <description> - Emitted whenever a node is added to the SceneTree. + Emitted whenever a node is added to the [SceneTree]. </description> </signal> <signal name="node_configuration_warning_changed"> @@ -356,18 +361,19 @@ <argument index="0" name="node" type="Node"> </argument> <description> - Emitted whenever a node is removed from the SceneTree. + Emitted whenever a node is removed from the [SceneTree]. </description> </signal> <signal name="node_renamed"> <argument index="0" name="node" type="Node"> </argument> <description> + Emitted whenever a node is renamed. </description> </signal> <signal name="physics_frame"> <description> - Emitted immediately before [method Node._physics_process] is called on every node in the SceneTree. + Emitted immediately before [method Node._physics_process] is called on every node in the [SceneTree]. </description> </signal> <signal name="screen_resized"> @@ -377,12 +383,12 @@ </signal> <signal name="server_disconnected"> <description> - Emitted whenever this SceneTree's [member network_peer] disconnected from server. Only emitted on clients. + Emitted whenever this [SceneTree]'s [member network_peer] disconnected from server. Only emitted on clients. </description> </signal> <signal name="tree_changed"> <description> - Emitted whenever the SceneTree hierarchy changed (children being moved or renamed, etc.). + Emitted whenever the [SceneTree] hierarchy changed (children being moved or renamed, etc.). </description> </signal> </signals> diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml index dadb445d4b..412913807d 100644 --- a/doc/classes/Semaphore.xml +++ b/doc/classes/Semaphore.xml @@ -13,14 +13,14 @@ <return type="int" enum="Error"> </return> <description> - Lowers the [Semaphore], allowing one more thread in. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. + Lowers the [Semaphore], allowing one more thread in. Returns [constant OK] on success, [constant ERR_BUSY] otherwise. </description> </method> <method name="wait"> <return type="int" enum="Error"> </return> <description> - Tries to wait for the [Semaphore], if its value is zero, blocks until non-zero. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. + Tries to wait for the [Semaphore], if its value is zero, blocks until non-zero. Returns [constant OK] on success, [constant ERR_BUSY] otherwise. </description> </method> </methods> diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml index 668fb6bafa..b14351ee28 100644 --- a/doc/classes/Shader.xml +++ b/doc/classes/Shader.xml @@ -22,7 +22,7 @@ <return type="int" enum="Shader.Mode"> </return> <description> - Returns the shader mode for the shader, either [code]MODE_CANVAS_ITEM[/code], [code]MODE_SPATIAL[/code] or [code]MODE_PARTICLES[/code] + Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], [constant MODE_SPATIAL] or [constant MODE_PARTICLES] </description> </method> <method name="has_param" qualifiers="const"> diff --git a/doc/classes/Sky.xml b/doc/classes/Sky.xml index ffd8c3fdee..a5e065203e 100644 --- a/doc/classes/Sky.xml +++ b/doc/classes/Sky.xml @@ -12,9 +12,9 @@ </methods> <members> <member name="radiance_size" type="int" setter="set_radiance_size" getter="get_radiance_size" enum="Sky.RadianceSize"> - The Sky's radiance map size. - The higher the radiance map size, the more detailed the lighting from the Sky will be. - See RADIANCE_SIZE_* constants for values. Default size is RADIANCE_SIZE_512. + The [Sky]'s radiance map size. + The higher the radiance map size, the more detailed the lighting from the [Sky] will be. + See [enum RadianceSize] constants for values. Default size is [constant RADIANCE_SIZE_512]. </member> </members> <constants> @@ -40,7 +40,7 @@ Radiance texture size is 2048x2048 pixels. </constant> <constant name="RADIANCE_SIZE_MAX" value="7" enum="RadianceSize"> - Radiance texture size is the largest size it can be. + Represents the size of the [enum RadianceSize] enum. </constant> </constants> </class> diff --git a/doc/classes/SliderJoint.xml b/doc/classes/SliderJoint.xml index 997930eaa3..75406df39f 100644 --- a/doc/classes/SliderJoint.xml +++ b/doc/classes/SliderJoint.xml @@ -149,7 +149,7 @@ The amount of damping of the rotation across axes orthogonal to the slider. </constant> <constant name="PARAM_MAX" value="22" enum="Param"> - End flag of PARAM_* constants, used internally. + Represents the size of the [enum Param] enum. </constant> </constants> </class> diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml index 9d1761ba9f..f4c0134471 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Spatial.xml @@ -329,7 +329,7 @@ <constants> <constant name="NOTIFICATION_TRANSFORM_CHANGED" value="2000"> Spatial nodes receives this notification when their global transform changes. This means that either the current or a parent node changed its transform. - In order for [code]NOTIFICATION_TRANSFORM_CHANGED[/code] to work, users first need to ask for it, with [method set_notify_transform]. + In order for [constant NOTIFICATION_TRANSFORM_CHANGED] to work, users first need to ask for it, with [method set_notify_transform]. </constant> <constant name="NOTIFICATION_ENTER_WORLD" value="41"> Spatial nodes receives this notification when they are registered to new [World] resource. diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml index f0df5fac4a..45d92aa0c3 100644 --- a/doc/classes/SpatialMaterial.xml +++ b/doc/classes/SpatialMaterial.xml @@ -295,6 +295,7 @@ <constant name="TEXTURE_DETAIL_NORMAL" value="15" enum="TextureParam"> </constant> <constant name="TEXTURE_MAX" value="16" enum="TextureParam"> + Represents the size of the [enum TextureParam] enum. </constant> <constant name="DETAIL_UV_1" value="0" enum="DetailUV"> </constant> @@ -325,6 +326,7 @@ <constant name="FEATURE_DETAIL" value="11" enum="Feature"> </constant> <constant name="FEATURE_MAX" value="12" enum="Feature"> + Represents the size of the [enum Feature] enum. </constant> <constant name="BLEND_MODE_MIX" value="0" enum="BlendMode"> Default blend mode. @@ -395,6 +397,7 @@ <constant name="FLAG_USE_SHADOW_TO_OPACITY" value="18" enum="Flags"> </constant> <constant name="FLAG_MAX" value="19" enum="Flags"> + Represents the size of the [enum Flags] enum. </constant> <constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode"> Default diffuse scattering algorithm. diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml index 50e00fe333..237a8c9d12 100644 --- a/doc/classes/SpriteBase3D.xml +++ b/doc/classes/SpriteBase3D.xml @@ -70,7 +70,7 @@ If set, texture can be seen from the back as well, if not, it is invisible when looking at it from behind. </constant> <constant name="FLAG_MAX" value="3" enum="DrawFlags"> - Used internally to mark the end of the Flags section. + Represents the size of the [enum DrawFlags] enum. </constant> <constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode"> </constant> diff --git a/doc/classes/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml index 0edea42521..49c6272606 100644 --- a/doc/classes/StreamPeerTCP.xml +++ b/doc/classes/StreamPeerTCP.xml @@ -17,7 +17,7 @@ <argument index="1" name="port" type="int"> </argument> <description> - Connect to the specified host:port pair. A hostname will be resolved if valid. Returns [code]OK[/code] on success or [code]FAILED[/code] on failure. + Connect to the specified host:port pair. A hostname will be resolved if valid. Returns [constant OK] on success or [constant FAILED] on failure. </description> </method> <method name="disconnect_from_host"> @@ -45,7 +45,7 @@ <return type="int" enum="StreamPeerTCP.Status"> </return> <description> - Returns the status of the connection, see [enum StreamPeerTCP.Status]. + Returns the status of the connection, see [enum Status]. </description> </method> <method name="is_connected_to_host" qualifiers="const"> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index e97f9995ee..ef8db3ca77 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -90,7 +90,7 @@ </argument> <description> Insert a triangle fan made of array data into [Mesh] being constructed. - Requires primitive type be set to [code]PRIMITIVE_TRIANGLES[/code]. + Requires primitive type be set to [constant Mesh.PRIMITIVE_TRIANGLES]. </description> </method> <method name="add_uv"> @@ -148,7 +148,7 @@ <argument index="0" name="primitive" type="int" enum="Mesh.PrimitiveType"> </argument> <description> - Called before adding any Vertices. Takes the primitive type as an argument (e.g. Mesh.PRIMITIVE_TRIANGLES). + Called before adding any Vertices. Takes the primitive type as an argument (e.g. [constant Mesh.PRIMITIVE_TRIANGLES]). </description> </method> <method name="clear"> @@ -212,8 +212,8 @@ </argument> <description> Generates normals from Vertices so you do not have to do it manually. - Setting "flip" [code]true[/code] inverts resulting normals. - Requires primitive type to be set to [code]PRIMITIVE_TRIANGLES[/code]. + Setting [code]flip[/code] to [code]true[/code] inverts the resulting normals. + Requires primitive type to be set to [constant Mesh.PRIMITIVE_TRIANGLES]. </description> </method> <method name="generate_tangents"> diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index 8c7d657b4a..b1105f231d 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -234,6 +234,7 @@ Align the tabs to the right. </constant> <constant name="ALIGN_MAX" value="3" enum="TabAlign"> + Represents the size of the [enum TabAlign] enum. </constant> <constant name="CLOSE_BUTTON_SHOW_NEVER" value="0" enum="CloseButtonDisplayPolicy"> </constant> @@ -242,6 +243,7 @@ <constant name="CLOSE_BUTTON_SHOW_ALWAYS" value="2" enum="CloseButtonDisplayPolicy"> </constant> <constant name="CLOSE_BUTTON_MAX" value="3" enum="CloseButtonDisplayPolicy"> + Represents the size of the [enum CloseButtonDisplayPolicy] enum. </constant> </constants> <theme_items> diff --git a/doc/classes/TextureProgress.xml b/doc/classes/TextureProgress.xml index ae306c6862..3bbc05dfe7 100644 --- a/doc/classes/TextureProgress.xml +++ b/doc/classes/TextureProgress.xml @@ -18,14 +18,14 @@ If [code]true[/code], Godot treats the bar's textures like [NinePatchRect]. Use [code]stretch_margin_*[/code], like [member stretch_margin_bottom], to set up the nine patch's 3x3 grid. Default value: [code]false[/code]. </member> <member name="radial_center_offset" type="Vector2" setter="set_radial_center_offset" getter="get_radial_center_offset"> - Offsets [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. + Offsets [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. </member> <member name="radial_fill_degrees" type="float" setter="set_fill_degrees" getter="get_fill_degrees"> - Upper limit for the fill of [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. When the node's [code]value[/code] is equal to its [code]max_value[/code], the texture fills up to this angle. + Upper limit for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its [code]max_value[/code], the texture fills up to this angle. See [member Range.value], [member Range.max_value]. </member> <member name="radial_initial_angle" type="float" setter="set_radial_initial_angle" getter="get_radial_initial_angle"> - Starting angle for the fill of [member texture_progress] if [member fill_mode] is [code]FILL_CLOCKWISE[/code] or [code]FILL_COUNTER_CLOCKWISE[/code]. When the node's [code]value[/code] is equal to its [code]min_value[/code], the texture doesn't show up at all. When the [code]value[/code] increases, the texture fills and tends towards [member radial_fill_degrees]. + Starting angle for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its [code]min_value[/code], the texture doesn't show up at all. When the [code]value[/code] increases, the texture fills and tends towards [member radial_fill_degrees]. </member> <member name="stretch_margin_bottom" type="int" setter="set_stretch_margin" getter="get_stretch_margin"> The height of the 9-patch's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders. diff --git a/doc/classes/TextureRect.xml b/doc/classes/TextureRect.xml index 829105d561..b0b786a722 100644 --- a/doc/classes/TextureRect.xml +++ b/doc/classes/TextureRect.xml @@ -29,7 +29,7 @@ </members> <constants> <constant name="STRETCH_SCALE_ON_EXPAND" value="0" enum="StretchMode"> - Scale to fit the node's bounding rectangle, only if [code]expand[/code] is [code]true[/code]. Default [code]stretch_mode[/code], for backwards compatibility. Until you set [code]expand[/code] to [code]true[/code], the texture will behave like [code]STRETCH_KEEP[/code]. + Scale to fit the node's bounding rectangle, only if [code]expand[/code] is [code]true[/code]. Default [code]stretch_mode[/code], for backwards compatibility. Until you set [code]expand[/code] to [code]true[/code], the texture will behave like [constant STRETCH_KEEP]. </constant> <constant name="STRETCH_SCALE" value="1" enum="StretchMode"> Scale to fit the node's bounding rectangle. diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index f29a7990ed..d5e2fd31f8 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -64,7 +64,7 @@ </argument> <description> Returns the bitmask of the subtile from an autotile given its coordinates. - The value is the sum of the values in [enum TileSet.AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right). + The value is the sum of the values in [enum AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right). </description> </method> <method name="autotile_get_bitmask_mode" qualifiers="const"> @@ -73,7 +73,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the [enum TileSet.BitmaskMode] of the autotile. + Returns the [enum BitmaskMode] of the autotile. </description> </method> <method name="autotile_get_icon_coordinate" qualifiers="const"> @@ -160,7 +160,7 @@ </argument> <description> Sets the bitmask of the subtile from an autotile given its coordinates. - The value is the sum of the values in [enum TileSet.AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right). + The value is the sum of the values in [enum AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right). </description> </method> <method name="autotile_set_bitmask_mode"> @@ -171,7 +171,7 @@ <argument index="1" name="mode" type="int" enum="TileSet.BitmaskMode"> </argument> <description> - Sets the [enum TileSet.BitmaskMode] of the autotile. + Sets the [enum BitmaskMode] of the autotile. </description> </method> <method name="autotile_set_icon_coordinate"> @@ -503,7 +503,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns the tile's [enum TileSet.TileMode]. + Returns the tile's [enum TileMode]. </description> </method> <method name="tile_get_z_index" qualifiers="const"> @@ -719,7 +719,7 @@ <argument index="1" name="tilemode" type="int" enum="TileSet.TileMode"> </argument> <description> - Sets the tile's [enum TileSet.TileMode]. + Sets the tile's [enum TileMode]. </description> </method> <method name="tile_set_z_index"> diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 0272efeecb..aa287b1ed0 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -92,7 +92,7 @@ <argument index="0" name="position" type="Vector2"> </argument> <description> - If [member drop_mode_flags] includes [code]DROP_MODE_INBETWEEN[/code], returns -1 if [code]position[/code] is the upper part of a tree item at that position, 1 for the lower part, and additionally 0 for the middle part if [member drop_mode_flags] includes [code]DROP_MODE_ON_ITEM[/code]. + If [member drop_mode_flags] includes [constant DROP_MODE_INBETWEEN], returns -1 if [code]position[/code] is the upper part of a tree item at that position, 1 for the lower part, and additionally 0 for the middle part if [member drop_mode_flags] includes [constant DROP_MODE_ON_ITEM]. Otherwise, returns 0. If there are no tree item at [code]position[/code], returns -100. </description> </method> @@ -228,7 +228,7 @@ The amount of columns. </member> <member name="drop_mode_flags" type="int" setter="set_drop_mode_flags" getter="get_drop_mode_flags"> - The drop mode as an OR combination of flags. See [code]DROP_MODE_*[/code] constants. Once dropping is done, reverts to [code]DROP_MODE_DISABLED[/code]. Setting this during [method Control.can_drop_data] is recommended. + The drop mode as an OR combination of flags. See [code]DROP_MODE_*[/code] constants. Once dropping is done, reverts to [constant DROP_MODE_DISABLED]. Setting this during [method Control.can_drop_data] is recommended. </member> <member name="hide_folding" type="bool" setter="set_hide_folding" getter="is_folding_hidden"> If [code]true[/code], the folding arrow is hidden. @@ -268,7 +268,7 @@ <argument index="0" name="arrow_clicked" type="bool"> </argument> <description> - Emitted when a cell with the [code]CELL_MODE_CUSTOM[/code] is clicked to be edited. + Emitted when a cell with the [constant TreeItem.CELL_MODE_CUSTOM] is clicked to be edited. </description> </signal> <signal name="empty_rmb"> @@ -335,7 +335,7 @@ <argument index="2" name="selected" type="bool"> </argument> <description> - Emitted instead of [code]item_selected[/code] when [code]select_mode[/code] is [code]SELECT_MULTI[/code]. + Emitted instead of [code]item_selected[/code] when [code]select_mode[/code] is [constant SELECT_MULTI]. </description> </signal> <signal name="nothing_selected"> diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml index d121fdc125..ff1413cb94 100644 --- a/doc/classes/Tween.xml +++ b/doc/classes/Tween.xml @@ -14,7 +14,7 @@ tween.start() [/codeblock] Many methods require a property name, such as "position" above. You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using "property:component" (eg. [code]position:x[/code]), where it would only apply to that particular component. - Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [code]http://easings.net/[/code] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [code]EASE_IN_OUT[/code], and use the one that looks best. + Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [code]http://easings.net/[/code] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [constant EASE_IN_OUT], and use the one that looks best. </description> <tutorials> </tutorials> diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml index b6e458b43f..71da4c684c 100644 --- a/doc/classes/UndoRedo.xml +++ b/doc/classes/UndoRedo.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="UndoRedo" inherits="Object" category="Core" version="3.2"> <brief_description> - Helper to manage UndoRedo in the editor or custom tools. + Helper to manage undo/redo operations in the editor or custom tools. </brief_description> <description> - Helper to manage UndoRedo in the editor or custom tools. It works by registering methods and property changes inside 'actions'. + Helper to manage undo/redo operations in the editor or custom tools. It works by registering methods and property changes inside 'actions'. Common behavior is to create an action, then add do/undo calls to functions or property changes, then committing the action. - Here's an example on how to add an action to Godot editor's own 'undoredo': + Here's an example on how to add an action to the Godot editor's own [UndoRedo], from a plugin: [codeblock] var undo_redo = get_undo_redo() # Method of EditorPlugin. @@ -137,7 +137,7 @@ <return type="int"> </return> <description> - Get the version, each time a new action is committed, the version number of the UndoRedo is increased automatically. + Get the version, each time a new action is committed, the version number of the [UndoRedo] is increased automatically. This is useful mostly to check if something changed from a saved version. </description> </method> @@ -145,7 +145,7 @@ <return type="bool"> </return> <description> - Returns [code]true[/code] if an 'redo' action is available. + Returns [code]true[/code] if a 'redo' action is available. </description> </method> <method name="has_undo"> @@ -159,20 +159,21 @@ <return type="bool"> </return> <description> + Returns [code]true[/code] if the [UndoRedo] is currently committing the action, i.e. running its 'do' method or property change (see [method commit_action]). </description> </method> <method name="redo"> <return type="bool"> </return> <description> - Redo last action. + Redo the last action. </description> </method> <method name="undo"> <return type="bool"> </return> <description> - Undo last action. + Undo the last action. </description> </method> </methods> @@ -185,10 +186,10 @@ </signals> <constants> <constant name="MERGE_DISABLE" value="0" enum="MergeMode"> - Makes [code]do[/code]/[code]undo[/code] operations stay in separate actions. + Makes 'do'/'undo' operations stay in separate actions. </constant> <constant name="MERGE_ENDS" value="1" enum="MergeMode"> - Makes so that the action's [code]do[/code] operation is from the first action created and the [code]undo[/code] operation is from the last subsequent action with the same name. + Makes so that the action's 'do' operation is from the first action created and the 'undo' operation is from the last subsequent action with the same name. </constant> <constant name="MERGE_ALL" value="2" enum="MergeMode"> Makes subsequent actions with the same name be merged into one. diff --git a/doc/classes/VehicleBody.xml b/doc/classes/VehicleBody.xml index ab821aafdc..f5b26e4f11 100644 --- a/doc/classes/VehicleBody.xml +++ b/doc/classes/VehicleBody.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VehicleBody" inherits="RigidBody" category="Core" version="3.2"> <brief_description> - Physics body that simulates the behaviour of a car. + Physics body that simulates the behavior of a car. </brief_description> <description> This nodes implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a [CollisionShape] for the main body of your vehicle and add [VehicleWheel] nodes for the wheels. You should also add a [MeshInstance] to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the [member brake], [member engine_force], and [member steering] properties and not change the position or orientation of this node directly. diff --git a/doc/classes/VehicleWheel.xml b/doc/classes/VehicleWheel.xml index 0bc0e351e4..eee72db48e 100644 --- a/doc/classes/VehicleWheel.xml +++ b/doc/classes/VehicleWheel.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VehicleWheel" inherits="Spatial" category="Core" version="3.2"> <brief_description> - Physics object that simulates the behaviour of a wheel. + Physics object that simulates the behavior of a wheel. </brief_description> <description> - This node needs to be used as a child node of [VehicleBody] and simulates the behaviour of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface. + This node needs to be used as a child node of [VehicleBody] and simulates the behavior of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface. </description> <tutorials> </tutorials> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 53e66cee74..caaaf662dc 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -222,7 +222,7 @@ The canvas transform of the viewport, useful for changing the on-screen positions of all child [CanvasItem]s. This is relative to the global canvas transform of the viewport. </member> <member name="debug_draw" type="int" setter="set_debug_draw" getter="get_debug_draw" enum="Viewport.DebugDraw"> - The overlay mode for test rendered geometry in debug purposes. Default value: [code]DEBUG_DRAW_DISABLED[/code]. + The overlay mode for test rendered geometry in debug purposes. Default value: [constant DEBUG_DRAW_DISABLED]. </member> <member name="disable_3d" type="bool" setter="set_disable_3d" getter="is_3d_disabled"> If [code]true[/code], the viewport will disable 3D rendering. For actual disabling use [code]usage[/code]. Default value: [code]false[/code]. @@ -245,7 +245,7 @@ If [code]true[/code], the result after 3D rendering will not have a linear to sRGB color conversion applied. This is important when the viewport is used as a render target where the result is used as a texture on a 3D object rendered in another viewport. It is also important if the viewport is used to create data that is not color based (noise, heightmaps, pickmaps, etc.). Do not enable this when the viewport is used as a texture on a 2D object or if the viewport is your final output. </member> <member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA"> - The multisample anti-aliasing mode. Default value: [code]MSAA_DISABLED[/code]. + The multisample anti-aliasing mode. Default value: [constant MSAA_DISABLED]. </member> <member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world"> If [code]true[/code], the viewport will use [World] defined in [code]world[/code] property. Default value: [code]false[/code]. @@ -257,10 +257,10 @@ If [code]true[/code], renders the Viewport directly to the screen instead of to the root viewport. Only available in GLES2. This is a low-level optimization and should not be used in most cases. If used, reading from the Viewport or from [code]SCREEN_TEXTURE[/code] becomes unavailable. For more information see [method VisualServer.viewport_set_render_direct_to_screen]. Default value: [code]false[/code]. </member> <member name="render_target_clear_mode" type="int" setter="set_clear_mode" getter="get_clear_mode" enum="Viewport.ClearMode"> - The clear mode when viewport used as a render target. Default value: [code]CLEAR_MODE_ALWAYS[/code]. + The clear mode when viewport used as a render target. Default value: [constant CLEAR_MODE_ALWAYS]. </member> <member name="render_target_update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="Viewport.UpdateMode"> - The update mode when viewport used as a render target. Default value: [code]UPDATE_WHEN_VISIBLE[/code]. + The update mode when viewport used as a render target. Default value: [constant UPDATE_WHEN_VISIBLE]. </member> <member name="render_target_v_flip" type="bool" setter="set_vflip" getter="get_vflip"> If [code]true[/code], the result of rendering will be flipped vertically. Default value: [code]false[/code]. @@ -308,7 +308,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 [constant UPDATE_DISABLED]. </constant> <constant name="UPDATE_WHEN_VISIBLE" value="2" enum="UpdateMode"> Update the render target only when it is visible. This is the default value. @@ -331,7 +331,7 @@ <constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_1024" value="6" enum="ShadowAtlasQuadrantSubdiv"> </constant> <constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_MAX" value="7" enum="ShadowAtlasQuadrantSubdiv"> - Enum limiter. Do not use it directly. + Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum. </constant> <constant name="RENDER_INFO_OBJECTS_IN_FRAME" value="0" enum="RenderInfo"> Amount of objects in frame. @@ -352,7 +352,7 @@ Amount of draw calls in frame. </constant> <constant name="RENDER_INFO_MAX" value="6" enum="RenderInfo"> - Enum limiter. Do not use it directly. + Represents the size of the [enum RenderInfo] enum. </constant> <constant name="DEBUG_DRAW_DISABLED" value="0" enum="DebugDraw"> Objects are displayed normally. @@ -392,7 +392,7 @@ 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]. + Clear the render target next frame, then switch to [constant CLEAR_MODE_NEVER]. </constant> </constants> </class> diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler.xml index 910ca033d1..4b33d1ebce 100644 --- a/doc/classes/VisibilityEnabler.xml +++ b/doc/classes/VisibilityEnabler.xml @@ -26,6 +26,7 @@ This enabler will freeze [RigidBody] nodes. </constant> <constant name="ENABLER_MAX" value="2" enum="Enabler"> + Represents the size of the [enum Enabler] enum. </constant> </constants> </class> diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml index 3943eca7f5..b3d41d1fce 100644 --- a/doc/classes/VisibilityEnabler2D.xml +++ b/doc/classes/VisibilityEnabler2D.xml @@ -49,6 +49,7 @@ <constant name="ENABLER_PAUSE_ANIMATED_SPRITES" value="5" enum="Enabler"> </constant> <constant name="ENABLER_MAX" value="6" enum="Enabler"> + Represents the size of the [enum Enabler] enum. </constant> </constants> </class> diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index 10b96f1d60..565d8b3ae0 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -1951,7 +1951,7 @@ <argument index="2" name="scenario" type="RID"> </argument> <description> - Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDscript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query. + Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query. Warning: this function is primarily intended for editor usage. For in-game use cases, prefer physics collision. </description> </method> @@ -3710,7 +3710,7 @@ <argument index="1" name="clear_mode" type="int" enum="VisualServer.ViewportClearMode"> </argument> <description> - Sets the clear mode of a viewport. See [enum VisualServer.ViewportClearMode] for options. + Sets the clear mode of a viewport. See [enum ViewportClearMode] for options. </description> </method> <method name="viewport_set_debug_draw"> @@ -3721,7 +3721,7 @@ <argument index="1" name="draw" type="int" enum="VisualServer.ViewportDebugDraw"> </argument> <description> - Sets the debug draw mode of a viewport. See [enum VisualServer.ViewportDebugDraw] for options. + Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for options. </description> </method> <method name="viewport_set_disable_3d"> @@ -4020,7 +4020,7 @@ Shader is a particle shader. </constant> <constant name="SHADER_MAX" value="3" enum="ShaderMode"> - Marks maximum of the shader types array. used internally. + Represents the size of the [enum ShaderMode] enum. </constant> <constant name="ARRAY_VERTEX" value="0" enum="ArrayType"> Array is a vertex array. @@ -4050,7 +4050,7 @@ Array is index array. </constant> <constant name="ARRAY_MAX" value="9" enum="ArrayType"> - Marks the maximum of the array types. Used internally. + Represents the size of the [enum ArrayType] enum. </constant> <constant name="ARRAY_FORMAT_VERTEX" value="1" enum="ArrayFormat"> Flag used to mark a vertex array. @@ -4135,7 +4135,7 @@ Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle). </constant> <constant name="PRIMITIVE_MAX" value="7" enum="PrimitiveType"> - Marks the primitive types endpoint. used internally. + Represents the size of the [enum PrimitiveType] enum. </constant> <constant name="BLEND_SHAPE_MODE_NORMALIZED" value="0" enum="BlendShapeMode"> </constant> @@ -4186,7 +4186,7 @@ <constant name="LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE" value="14" enum="LightParam"> </constant> <constant name="LIGHT_PARAM_MAX" value="15" enum="LightParam"> - The light parameters endpoint. Used internally. + Represents the size of the [enum LightParam] enum. </constant> <constant name="LIGHT_OMNI_SHADOW_DUAL_PARABOLOID" value="0" enum="LightOmniShadowMode"> </constant> @@ -4221,7 +4221,7 @@ The viewport is never cleared before drawing. </constant> <constant name="VIEWPORT_CLEAR_ONLY_NEXT_FRAME" value="2" enum="ViewportClearMode"> - The viewport is cleared once, then the clear mode is set to [code]VIEWPORT_CLEAR_NEVER[/code]. + The viewport is cleared once, then the clear mode is set to [constant VIEWPORT_CLEAR_NEVER]. </constant> <constant name="VIEWPORT_MSAA_DISABLED" value="0" enum="ViewportMSAA"> Multisample antialiasing is disabled. @@ -4263,7 +4263,7 @@ <constant name="VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME" value="5" enum="ViewportRenderInfo"> </constant> <constant name="VIEWPORT_RENDER_INFO_MAX" value="6" enum="ViewportRenderInfo"> - Marks end of VIEWPORT_RENDER_INFO* constants. Used internally. + Represents the size of the [enum ViewportRenderInfo] enum. </constant> <constant name="VIEWPORT_DEBUG_DRAW_DISABLED" value="0" enum="ViewportDebugDraw"> Debug draw is disabled. Default setting. @@ -4310,7 +4310,7 @@ <constant name="INSTANCE_LIGHTMAP_CAPTURE" value="8" enum="InstanceType"> </constant> <constant name="INSTANCE_MAX" value="9" enum="InstanceType"> - The max value for INSTANCE_* constants, used internally. + Represents the size of the [enum InstanceType] enum. </constant> <constant name="INSTANCE_GEOMETRY_MASK" value="30" enum="InstanceType"> A combination of the flags of geometry instances (mesh, multimesh, immediate and particles). @@ -4320,6 +4320,7 @@ <constant name="INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="1" enum="InstanceFlags"> </constant> <constant name="INSTANCE_FLAG_MAX" value="2" enum="InstanceFlags"> + Represents the size of the [enum InstanceFlags] enum. </constant> <constant name="SHADOW_CASTING_SETTING_OFF" value="0" enum="ShadowCastingSetting"> </constant> @@ -4390,9 +4391,10 @@ The amount of draw calls in frame. </constant> <constant name="INFO_USAGE_VIDEO_MEM_TOTAL" value="6" enum="RenderInfo"> + Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0. </constant> <constant name="INFO_VIDEO_MEM_USED" value="7" enum="RenderInfo"> - The amount of vertex memory and texture memory used. + The amount of video memory used, i.e. texture and vertex memory combined. </constant> <constant name="INFO_TEXTURE_MEM_USED" value="8" enum="RenderInfo"> The amount of texture memory used. @@ -4443,6 +4445,7 @@ <constant name="ENV_BG_KEEP" value="5" enum="EnvironmentBG"> </constant> <constant name="ENV_BG_MAX" value="7" enum="EnvironmentBG"> + Represents the size of the [enum EnvironmentBG] enum. </constant> <constant name="ENV_DOF_BLUR_QUALITY_LOW" value="0" enum="EnvironmentDOFBlurQuality"> </constant> diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml index 6d5f53d992..0c9292930d 100644 --- a/doc/classes/VisualShader.xml +++ b/doc/classes/VisualShader.xml @@ -194,6 +194,7 @@ <constant name="TYPE_LIGHT" value="2" enum="Type"> </constant> <constant name="TYPE_MAX" value="3" enum="Type"> + Represents the size of the [enum Type] enum. </constant> <constant name="NODE_ID_INVALID" value="-1"> </constant> diff --git a/doc/classes/XMLParser.xml b/doc/classes/XMLParser.xml index a11e95db79..55dfb5d489 100644 --- a/doc/classes/XMLParser.xml +++ b/doc/classes/XMLParser.xml @@ -70,7 +70,7 @@ <return type="String"> </return> <description> - Get the name of the current element node. This will raise an error if the current node type is not [code]NODE_ELEMENT[/code] nor [code]NODE_ELEMENT_END[/code] + Get the name of the current element node. This will raise an error if the current node type is not [constant NODE_ELEMENT] nor [constant NODE_ELEMENT_END] </description> </method> <method name="get_node_offset" qualifiers="const"> diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 6ae3e2132a..e0e9d4af52 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -3611,7 +3611,8 @@ void CanvasItemEditor::_update_scrollbars() { bool constrain_editor_view = bool(EditorSettings::get_singleton()->get("editors/2d/constrain_editor_view")); if (canvas_item_rect.size.height <= (local_rect.size.y / zoom)) { - if (constrain_editor_view && ABS(begin.y - previous_update_view_offset.y) < ABS(begin.y - view_offset.y)) { + float centered = -(size.y / 2) / zoom + screen_rect.y / 2; + if (constrain_editor_view && ABS(centered - previous_update_view_offset.y) < ABS(centered - view_offset.y)) { view_offset.y = previous_update_view_offset.y; } @@ -3631,7 +3632,8 @@ void CanvasItemEditor::_update_scrollbars() { } if (canvas_item_rect.size.width <= (local_rect.size.x / zoom)) { - if (constrain_editor_view && ABS(begin.x - previous_update_view_offset.x) < ABS(begin.x - view_offset.x)) { + float centered = -(size.x / 2) / zoom + screen_rect.x / 2; + if (constrain_editor_view && ABS(centered - previous_update_view_offset.x) < ABS(centered - view_offset.x)) { view_offset.x = previous_update_view_offset.x; } diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index ddf49aa9ea..b4200d5662 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -1238,6 +1238,30 @@ void VisualShaderEditor::_add_node(int p_idx, int p_op_idx) { undo_redo->add_do_method(expr, "set_size", Size2(250 * EDSCALE, 150 * EDSCALE)); } + if (to_node != -1 && to_slot != -1) { + if (vsnode->get_output_port_count() > 0) { + + int _from_node = id_to_use; + int _from_slot = 0; + + if (visual_shader->is_port_types_compatible(vsnode->get_output_port_type(_from_slot), visual_shader->get_node(type, to_node)->get_input_port_type(to_slot))) { + undo_redo->add_do_method(visual_shader.ptr(), "connect_nodes", type, _from_node, _from_slot, to_node, to_slot); + undo_redo->add_undo_method(visual_shader.ptr(), "disconnect_nodes", type, _from_node, _from_slot, to_node, to_slot); + } + } + } else if (from_node != -1 && from_slot != -1) { + if (vsnode->get_input_port_count() > 0) { + + int _to_node = id_to_use; + int _to_slot = 0; + + if (visual_shader->is_port_types_compatible(visual_shader->get_node(type, from_node)->get_output_port_type(from_slot), vsnode->get_input_port_type(_to_slot))) { + undo_redo->add_do_method(visual_shader.ptr(), "connect_nodes", type, from_node, from_slot, _to_node, _to_slot); + undo_redo->add_undo_method(visual_shader.ptr(), "disconnect_nodes", type, from_node, from_slot, _to_node, _to_slot); + } + } + } + undo_redo->add_do_method(this, "_update_graph"); undo_redo->add_undo_method(this, "_update_graph"); undo_redo->commit_action(); @@ -1307,6 +1331,15 @@ void VisualShaderEditor::_disconnection_request(const String &p_from, int p_from } void VisualShaderEditor::_connection_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_position) { + from_node = p_from.to_int(); + from_slot = p_from_slot; + _show_members_dialog(true); +} + +void VisualShaderEditor::_connection_from_empty(const String &p_to, int p_to_slot, const Vector2 &p_release_position) { + to_node = p_to.to_int(); + to_slot = p_to_slot; + _show_members_dialog(true); } void VisualShaderEditor::_delete_request(int which) { @@ -1372,8 +1405,6 @@ void VisualShaderEditor::_graph_gui_input(const Ref<InputEvent> p_event) { void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos) { - members_dialog->popup(); - if (at_mouse_pos) { saved_node_pos_dirty = true; saved_node_pos = graph->get_local_mouse_position(); @@ -1382,6 +1413,7 @@ void VisualShaderEditor::_show_members_dialog(bool at_mouse_pos) { members_dialog->popup(); members_dialog->set_position(gpos); } else { + members_dialog->popup(); saved_node_pos_dirty = false; members_dialog->set_position(graph->get_global_position() + Point2(5 * EDSCALE, 65 * EDSCALE)); } @@ -1698,6 +1730,13 @@ void VisualShaderEditor::_member_create() { } } +void VisualShaderEditor::_member_cancel() { + to_node = -1; + to_slot = -1; + from_node = -1; + from_slot = -1; +} + void VisualShaderEditor::_tools_menu_option(int p_idx) { TreeItem *category = members->get_root()->get_children(); @@ -1809,6 +1848,7 @@ void VisualShaderEditor::_bind_methods() { ClassDB::bind_method("_edit_port_default_input", &VisualShaderEditor::_edit_port_default_input); ClassDB::bind_method("_port_edited", &VisualShaderEditor::_port_edited); ClassDB::bind_method("_connection_to_empty", &VisualShaderEditor::_connection_to_empty); + ClassDB::bind_method("_connection_from_empty", &VisualShaderEditor::_connection_from_empty); ClassDB::bind_method("_line_edit_focus_out", &VisualShaderEditor::_line_edit_focus_out); ClassDB::bind_method("_line_edit_changed", &VisualShaderEditor::_line_edit_changed); ClassDB::bind_method("_port_name_focus_out", &VisualShaderEditor::_port_name_focus_out); @@ -1840,6 +1880,7 @@ void VisualShaderEditor::_bind_methods() { ClassDB::bind_method("_member_selected", &VisualShaderEditor::_member_selected); ClassDB::bind_method("_member_unselected", &VisualShaderEditor::_member_unselected); ClassDB::bind_method("_member_create", &VisualShaderEditor::_member_create); + ClassDB::bind_method("_member_cancel", &VisualShaderEditor::_member_cancel); } VisualShaderEditor *VisualShaderEditor::singleton = NULL; @@ -1852,6 +1893,11 @@ VisualShaderEditor::VisualShaderEditor() { saved_node_pos = Point2(0, 0); ShaderLanguage::get_keyword_list(&keyword_list); + to_node = -1; + to_slot = -1; + from_node = -1; + from_slot = -1; + graph = memnew(GraphEdit); add_child(graph); graph->set_drag_forwarding(this); @@ -1868,6 +1914,8 @@ VisualShaderEditor::VisualShaderEditor() { graph->connect("duplicate_nodes_request", this, "_duplicate_nodes"); graph->connect("delete_nodes_request", this, "_on_nodes_delete"); graph->connect("gui_input", this, "_graph_gui_input"); + graph->connect("connection_to_empty", this, "_connection_to_empty"); + graph->connect("connection_from_empty", this, "_connection_from_empty"); graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_SCALAR); graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_VECTOR); graph->add_valid_connection_type(VisualShaderNode::PORT_TYPE_SCALAR, VisualShaderNode::PORT_TYPE_BOOLEAN); @@ -1953,6 +2001,7 @@ VisualShaderEditor::VisualShaderEditor() { members_dialog->get_ok()->set_disabled(true); members_dialog->set_resizable(true); members_dialog->set_as_minsize(); + members_dialog->connect("hide", this, "_member_cancel"); add_child(members_dialog); alert = memnew(AcceptDialog); diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h index e89814df3d..49a7a21ea7 100644 --- a/editor/plugins/visual_shader_editor_plugin.h +++ b/editor/plugins/visual_shader_editor_plugin.h @@ -160,7 +160,13 @@ class VisualShaderEditor : public VBoxContainer { void _edit_port_default_input(Object *p_button, int p_node, int p_port); void _port_edited(); + int to_node; + int to_slot; + int from_node; + int from_slot; + void _connection_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_position); + void _connection_from_empty(const String &p_to, int p_to_slot, const Vector2 &p_release_position); void _line_edit_changed(const String &p_text, Object *line_edit, int p_node_id); void _line_edit_focus_out(Object *line_edit, int p_node_id); @@ -199,6 +205,7 @@ class VisualShaderEditor : public VBoxContainer { void _member_selected(); void _member_unselected(); void _member_create(); + void _member_cancel(); Variant get_drag_data_fw(const Point2 &p_point, Control *p_from); bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const; diff --git a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml index d3d1e58b7b..187e8d349d 100644 --- a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml +++ b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml @@ -34,7 +34,7 @@ <argument index="4" name="client_port" type="int" default="0"> </argument> <description> - Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain name (e.g. [code]www.example.com[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]192.168.1.1[/code]). The [code]port[/code] is the port the server is listening on. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [code]OK[/code] if a client was created, [code]ERR_ALREADY_IN_USE[/code] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [code]ERR_CANT_CREATE[/code] if the client could not be created. If [code]client_port[/code] is specified, the client will also listen to the given port, this is useful in some NAT traversal technique. + Create client that connects to a server at [code]address[/code] using specified [code]port[/code]. The given address needs to be either a fully qualified domain name (e.g. [code]www.example.com[/code]) or an IP address in IPv4 or IPv6 format (e.g. [code]192.168.1.1[/code]). The [code]port[/code] is the port the server is listening on. The [code]in_bandwidth[/code] and [code]out_bandwidth[/code] parameters can be used to limit the incoming and outgoing bandwidth to the given number of bytes per second. The default of 0 means unlimited bandwidth. Note that ENet will strategically drop packets on specific sides of a connection between peers to ensure the peer's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time. Returns [constant OK] if a client was created, [constant ERR_ALREADY_IN_USE] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [constant ERR_CANT_CREATE] if the client could not be created. If [code]client_port[/code] is specified, the client will also listen to the given port, this is useful in some NAT traversal technique. </description> </method> <method name="create_server"> @@ -49,7 +49,7 @@ <argument index="3" name="out_bandwidth" type="int" default="0"> </argument> <description> - Create server that listens to connections via [code]port[/code]. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use [method set_bind_ip]. The default IP is the wildcard [code]*[/code], which listens on all available interfaces. [code]max_clients[/code] is the maximum number of clients that are allowed at once, any number up to 4096 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see [method create_client]. Returns [code]OK[/code] if a server was created, [code]ERR_ALREADY_IN_USE[/code] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [code]ERR_CANT_CREATE[/code] if the server could not be created. + Create server that listens to connections via [code]port[/code]. The port needs to be an available, unused port between 0 and 65535. Note that ports below 1024 are privileged and may require elevated permissions depending on the platform. To change the interface the server listens on, use [method set_bind_ip]. The default IP is the wildcard [code]*[/code], which listens on all available interfaces. [code]max_clients[/code] is the maximum number of clients that are allowed at once, any number up to 4096 may be used, although the achievable number of simultaneous clients may be far lower and depends on the application. For additional details on the bandwidth parameters, see [method create_client]. Returns [constant OK] if a server was created, [constant ERR_ALREADY_IN_USE] if this NetworkedMultiplayerEnet instance already has an open connection (in which case you need to call [method close_connection] first) or [constant ERR_CANT_CREATE] if the server could not be created. </description> </method> <method name="disconnect_peer"> @@ -107,7 +107,7 @@ </methods> <members> <member name="always_ordered" type="bool" setter="set_always_ordered" getter="is_always_ordered"> - Always use [code]TRANSFER_MODE_ORDERED[/code] in place of [code]TRANSFER_MODE_UNRELIABLE[/code]. This is the only way to use ordering with the RPC system. + Enforce ordered packets when using [constant NetworkedMultiplayerPeer.TRANSFER_MODE_UNRELIABLE] (thus behaving similarly to [constant NetworkedMultiplayerPeer.TRANSFER_MODE_UNRELIABLE_ORDERED]). This is the only way to use ordering with the RPC system. </member> <member name="channel_count" type="int" setter="set_channel_count" getter="get_channel_count"> The number of channels to be used by ENet. Default: [code]3[/code]. Channels are used to separate different kinds of data. In reliable or ordered mode, for example, the packet delivery order is ensured on a per channel basis. diff --git a/modules/gdnative/include/gdnative/gdnative.h b/modules/gdnative/include/gdnative/gdnative.h index 3c457bf5a7..884bcf60d2 100644 --- a/modules/gdnative/include/gdnative/gdnative.h +++ b/modules/gdnative/include/gdnative/gdnative.h @@ -67,7 +67,7 @@ extern "C" { ////// Error typedef enum { - GODOT_OK, + GODOT_OK, // (0) GODOT_FAILED, ///< Generic fail error GODOT_ERR_UNAVAILABLE, ///< What is requested is unsupported/unavailable GODOT_ERR_UNCONFIGURED, ///< The object being used hasn't been properly set up yet @@ -97,12 +97,12 @@ typedef enum { GODOT_ERR_CONNECTION_ERROR, GODOT_ERR_CANT_ACQUIRE_RESOURCE, GODOT_ERR_CANT_FORK, - GODOT_ERR_INVALID_DATA, ///< Data passed is invalid (30) + GODOT_ERR_INVALID_DATA, ///< Data passed is invalid (30) GODOT_ERR_INVALID_PARAMETER, ///< Parameter passed is invalid GODOT_ERR_ALREADY_EXISTS, ///< When adding, item already exists GODOT_ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, it item does not exist GODOT_ERR_DATABASE_CANT_READ, ///< database is full - GODOT_ERR_DATABASE_CANT_WRITE, ///< database is full (35) + GODOT_ERR_DATABASE_CANT_WRITE, ///< database is full (35) GODOT_ERR_COMPILATION_FAILED, GODOT_ERR_METHOD_NOT_FOUND, GODOT_ERR_LINK_FAILED, diff --git a/modules/upnp/doc_classes/UPNP.xml b/modules/upnp/doc_classes/UPNP.xml index 0516ea9d54..d3eb21e159 100644 --- a/modules/upnp/doc_classes/UPNP.xml +++ b/modules/upnp/doc_classes/UPNP.xml @@ -5,6 +5,17 @@ </brief_description> <description> Provides UPNP functionality to discover [UPNPDevice]s on the local network and execute commands on them, like managing port mappings (port forwarding) and querying the local and remote network IP address. Note that methods on this class are synchronous and block the calling thread. + To forward a specific port: + [codeblock] + const PORT = 7777 + var upnp = UPNP.new() + upnp.discover(2000, 2, "InternetGatewayDevice") + upnp.add_port_mapping(port) + [/codeblock] + To close a specific port (e.g. after you have finished using it): + [codeblock] + upnp.delete_port_mapping(port) + [/codeblock] </description> <tutorials> </tutorials> @@ -171,7 +182,7 @@ No port maps are available. May also be returned if port mapping functionality is not available. </constant> <constant name="UPNP_RESULT_CONFLICT_WITH_OTHER_MECHANISM" value="12" enum="UPNPResult"> - Conflict with other mechanism. May be returned instead of [code]UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING[/code] if a port mapping conflicts with an existing one. + Conflict with other mechanism. May be returned instead of [constant UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING] if a port mapping conflicts with an existing one. </constant> <constant name="UPNP_RESULT_CONFLICT_WITH_OTHER_MAPPING" value="13" enum="UPNPResult"> Conflict with an existing port mapping. diff --git a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml index 21e8a38c16..b88d2890e1 100644 --- a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +++ b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml @@ -194,26 +194,26 @@ Serialize a [Variant] to a string. </constant> <constant name="STR_TO_VAR" value="60" enum="BuiltinFunc"> - Deserialize a [Variant] from a string serialized using [code]VAR_TO_STR[/code]. + Deserialize a [Variant] from a string serialized using [constant VAR_TO_STR]. </constant> <constant name="VAR_TO_BYTES" value="61" enum="BuiltinFunc"> Serialize a [Variant] to a [PoolByteArray]. </constant> <constant name="BYTES_TO_VAR" value="62" enum="BuiltinFunc"> - Deserialize a [Variant] from a [PoolByteArray] serialized using [code]VAR_TO_BYTES[/code]. + Deserialize a [Variant] from a [PoolByteArray] serialized using [constant VAR_TO_BYTES]. </constant> <constant name="COLORN" value="63" enum="BuiltinFunc"> Return the [Color] with the given name and alpha ranging from 0 to 1. Note: names are defined in color_names.inc. </constant> <constant name="MATH_SMOOTHSTEP" value="64" enum="BuiltinFunc"> - Return a number smoothly interpolated between the first two inputs, based on the third input. Similar to [code]MATH_LERP[/code], but interpolates faster at the beginning and slower at the end. Using Hermite interpolation formula: + Return a number smoothly interpolated between the first two inputs, based on the third input. Similar to [constant MATH_LERP], but interpolates faster at the beginning and slower at the end. Using Hermite interpolation formula: [codeblock] var t = clamp((weight - from) / (to - from), 0.0, 1.0) return t * t * (3.0 - 2.0 * t) [/codeblock] </constant> <constant name="FUNC_MAX" value="65" enum="BuiltinFunc"> - The maximum value the [member function] property can have. + Represents the size of the [enum BuiltinFunc] enum. </constant> </constants> </class> diff --git a/modules/visual_script/doc_classes/VisualScriptClassConstant.xml b/modules/visual_script/doc_classes/VisualScriptClassConstant.xml index 6e48e7c416..7d83cd0203 100644 --- a/modules/visual_script/doc_classes/VisualScriptClassConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptClassConstant.xml @@ -4,7 +4,7 @@ Gets a constant from a given class. </brief_description> <description> - This node returns a constant from a given class, such as [constant @GlobalScope.TYPE_INT]. See the given class' documentation for available constants. + This node returns a constant from a given class, such as [constant TYPE_INT]. See the given class' documentation for available constants. [b]Input Ports:[/b] none [b]Output Ports:[/b] diff --git a/modules/visual_script/doc_classes/VisualScriptCustomNode.xml b/modules/visual_script/doc_classes/VisualScriptCustomNode.xml index 1ab9f807fb..cd3a663e81 100644 --- a/modules/visual_script/doc_classes/VisualScriptCustomNode.xml +++ b/modules/visual_script/doc_classes/VisualScriptCustomNode.xml @@ -125,7 +125,7 @@ Execute the custom node's logic, returning the index of the output sequence port to use or a [String] when there is an error. The [code]inputs[/code] array contains the values of the input ports. [code]outputs[/code] is an array whose indices should be set to the respective outputs. - The [code]start_mode[/code] is usually [code]START_MODE_BEGIN_SEQUENCE[/code], unless you have used the STEP_* constants. + The [code]start_mode[/code] is usually [constant START_MODE_BEGIN_SEQUENCE], unless you have used the STEP_* constants. [code]working_mem[/code] is an array which can be used to persist information between runs of the custom node. When returning, you can mask the returned value with one of the STEP_* constants. </description> diff --git a/modules/visual_script/doc_classes/VisualScriptMathConstant.xml b/modules/visual_script/doc_classes/VisualScriptMathConstant.xml index 430f9ee7d4..fb4e423f0e 100644 --- a/modules/visual_script/doc_classes/VisualScriptMathConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptMathConstant.xml @@ -45,6 +45,7 @@ Not a number: [code]nan[/code] </constant> <constant name="MATH_CONSTANT_MAX" value="8" enum="MathConstant"> + Represents the size of the [enum MathConstant] enum. </constant> </constants> </class> diff --git a/modules/webrtc/doc_classes/WebRTCDataChannel.xml b/modules/webrtc/doc_classes/WebRTCDataChannel.xml index 7cce97244d..6d600f6239 100644 --- a/modules/webrtc/doc_classes/WebRTCDataChannel.xml +++ b/modules/webrtc/doc_classes/WebRTCDataChannel.xml @@ -56,7 +56,7 @@ <return type="int" enum="WebRTCDataChannel.ChannelState"> </return> <description> - Returns the current state of this channel, see [enum WebRTCDataChannel.ChannelState]. + Returns the current state of this channel, see [enum ChannelState]. </description> </method> <method name="is_negotiated" qualifiers="const"> diff --git a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml index ae709877f4..4c2938d0db 100644 --- a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml +++ b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml @@ -7,7 +7,7 @@ A WebRTC connection between the local computer and a remote peer. Provides an interface to connect, maintain and monitor the connection. Setting up a WebRTC connection between two peers from now on) may not seem a trivial task, but it can be broken down into 3 main steps: - The peer that wants to initiate the connection ([code]A[/code] from now on) creates an offer and send it to the other peer ([code]B[/code] from now on). - - [code]B[/code] receives the offer, generate and answer, and sends it to [code]B[/code]). + - [code]B[/code] receives the offer, generate and answer, and sends it to [code]A[/code]). - [code]A[/code] and [code]B[/code] then generates and exchange ICE candidates with each other. After these steps, the connection should become connected. Keep on reading or look into the tutorial for more information. </description> @@ -68,7 +68,7 @@ </return> <description> Creates a new SDP offer to start a WebRTC connection with a remote peer. At least one [WebRTCDataChannel] must have been created before calling this method. - If this functions returns [code]OK[/code], [signal session_description_created] will be called when the session is ready to be sent. + If this functions returns [constant OK], [signal session_description_created] will be called when the session is ready to be sent. </description> </method> <method name="get_connection_state" qualifiers="const"> diff --git a/modules/websocket/doc_classes/WebSocketServer.xml b/modules/websocket/doc_classes/WebSocketServer.xml index 51945d410a..5c4647b1ce 100644 --- a/modules/websocket/doc_classes/WebSocketServer.xml +++ b/modules/websocket/doc_classes/WebSocketServer.xml @@ -71,7 +71,7 @@ Start listening on the given port. You can specify the desired subprotocols via the "protocols" array. If the list empty (default), "binary" will be used. If [code]true[/code] is passed as [code]gd_mp_api[/code], the server will behave like a network peer for the [MultiplayerAPI], connections from non Godot clients will not work, and [signal data_received] will not be emitted. - If [code]false[/code] is passed instead (default), you must call [PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], etc.), on the [WebSocketPeer] returned via [code]get_peer(ID)[/code] to communicate with the peer with given [code]ID[/code] (e.g. [code]get_peer(ID).get_available_packet_count[/code]). + If [code]false[/code] is passed instead (default), you must call [PacketPeer] functions ([code]put_packet[/code], [code]get_packet[/code], etc.), on the [WebSocketPeer] returned via [code]get_peer(id)[/code] to communicate with the peer with given [code]id[/code] (e.g. [code]get_peer(id).get_available_packet_count[/code]). </description> </method> <method name="stop"> diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp index fba1c26d1c..faa0a08d10 100644 --- a/scene/2d/cpu_particles_2d.cpp +++ b/scene/2d/cpu_particles_2d.cpp @@ -532,7 +532,8 @@ void CPUParticles2D::_particles_process(float p_delta) { time = Math::fmod(time, lifetime); cycle++; if (one_shot && cycle > 0) { - emitting = false; + set_emitting(false); + _change_notify(); } } diff --git a/scene/2d/particles_2d.cpp b/scene/2d/particles_2d.cpp index 823794c3ba..7759897420 100644 --- a/scene/2d/particles_2d.cpp +++ b/scene/2d/particles_2d.cpp @@ -41,6 +41,12 @@ void Particles2D::set_emitting(bool p_emitting) { VS::get_singleton()->particles_set_emitting(particles, p_emitting); + + if (p_emitting && one_shot) { + set_process_internal(true); + } else if (!p_emitting) { + set_process_internal(false); + } } void Particles2D::set_amount(int p_amount) { @@ -60,8 +66,16 @@ void Particles2D::set_one_shot(bool p_enable) { one_shot = p_enable; VS::get_singleton()->particles_set_one_shot(particles, one_shot); - if (!one_shot && is_emitting()) - VisualServer::get_singleton()->particles_restart(particles); + + if (is_emitting()) { + + set_process_internal(true); + if (!one_shot) + VisualServer::get_singleton()->particles_restart(particles); + } + + if (!one_shot) + set_process_internal(false); } void Particles2D::set_pre_process_time(float p_time) { @@ -314,6 +328,14 @@ void Particles2D::_notification(int p_what) { if (p_what == NOTIFICATION_TRANSFORM_CHANGED) { _update_particle_emission_transform(); } + + if (p_what == NOTIFICATION_INTERNAL_PROCESS) { + + if (one_shot && !is_emitting()) { + _change_notify(); + set_process_internal(false); + } + } } void Particles2D::_bind_methods() { diff --git a/scene/3d/cpu_particles.cpp b/scene/3d/cpu_particles.cpp index ee5d416930..6ede9c10ef 100644 --- a/scene/3d/cpu_particles.cpp +++ b/scene/3d/cpu_particles.cpp @@ -505,7 +505,8 @@ void CPUParticles::_particles_process(float p_delta) { time = Math::fmod(time, lifetime); cycle++; if (one_shot && cycle > 0) { - emitting = false; + set_emitting(false); + _change_notify(); } } diff --git a/scene/3d/particles.cpp b/scene/3d/particles.cpp index 949de110f5..2bcd0eaa46 100644 --- a/scene/3d/particles.cpp +++ b/scene/3d/particles.cpp @@ -47,6 +47,12 @@ PoolVector<Face3> Particles::get_faces(uint32_t p_usage_flags) const { void Particles::set_emitting(bool p_emitting) { VS::get_singleton()->particles_set_emitting(particles, p_emitting); + + if (p_emitting && one_shot) { + set_process_internal(true); + } else if (!p_emitting) { + set_process_internal(false); + } } void Particles::set_amount(int p_amount) { @@ -66,8 +72,16 @@ void Particles::set_one_shot(bool p_one_shot) { one_shot = p_one_shot; VS::get_singleton()->particles_set_one_shot(particles, one_shot); - if (!one_shot && is_emitting()) - VisualServer::get_singleton()->particles_restart(particles); + + if (is_emitting()) { + + set_process_internal(true); + if (!one_shot) + VisualServer::get_singleton()->particles_restart(particles); + } + + if (!one_shot) + set_process_internal(false); } void Particles::set_pre_process_time(float p_time) { @@ -307,6 +321,16 @@ void Particles::_notification(int p_what) { VS::get_singleton()->particles_set_speed_scale(particles, 0); } } + + // Use internal process when emitting and one_shot are on so that when + // the shot ends the editor can properly update + if (p_what == NOTIFICATION_INTERNAL_PROCESS) { + + if (one_shot && !is_emitting()) { + _change_notify(); + set_process_internal(false); + } + } } void Particles::_bind_methods() { diff --git a/scene/3d/visual_instance.cpp b/scene/3d/visual_instance.cpp index 99c86f0406..4bb4d18071 100644 --- a/scene/3d/visual_instance.cpp +++ b/scene/3d/visual_instance.cpp @@ -326,6 +326,7 @@ void GeometryInstance::_bind_methods() { BIND_ENUM_CONSTANT(SHADOW_CASTING_SETTING_SHADOWS_ONLY); BIND_ENUM_CONSTANT(FLAG_USE_BAKED_LIGHT); + BIND_ENUM_CONSTANT(FLAG_DRAW_NEXT_FRAME_IF_VISIBLE); BIND_ENUM_CONSTANT(FLAG_MAX); } diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index dabff08fea..f238aeb392 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -479,7 +479,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { connecting_color = gn->get_connection_input_color(j); connecting_target = false; connecting_to = pos; - just_disconnected = true; + just_disconnected = false; return; } @@ -550,11 +550,18 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) { emit_signal("connection_request", from, from_slot, to, to_slot); } else if (!just_disconnected) { + String from = connecting_from; int from_slot = connecting_index; Vector2 ofs = Vector2(mb->get_position().x, mb->get_position().y); - emit_signal("connection_to_empty", from, from_slot, ofs); + + if (!connecting_out) { + emit_signal("connection_from_empty", from, from_slot, ofs); + } else { + emit_signal("connection_to_empty", from, from_slot, ofs); + } } + connecting = false; top_layer->update(); update(); @@ -1292,6 +1299,7 @@ void GraphEdit::_bind_methods() { ADD_SIGNAL(MethodInfo("duplicate_nodes_request")); ADD_SIGNAL(MethodInfo("node_selected", PropertyInfo(Variant::OBJECT, "node", PROPERTY_HINT_RESOURCE_TYPE, "Node"))); ADD_SIGNAL(MethodInfo("connection_to_empty", PropertyInfo(Variant::STRING, "from"), PropertyInfo(Variant::INT, "from_slot"), PropertyInfo(Variant::VECTOR2, "release_position"))); + ADD_SIGNAL(MethodInfo("connection_from_empty", PropertyInfo(Variant::STRING, "to"), PropertyInfo(Variant::INT, "to_slot"), PropertyInfo(Variant::VECTOR2, "release_position"))); ADD_SIGNAL(MethodInfo("delete_nodes_request")); ADD_SIGNAL(MethodInfo("_begin_node_move")); ADD_SIGNAL(MethodInfo("_end_node_move")); diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index a3813f8fc6..7265c9b457 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -257,7 +257,7 @@ bool VisualShader::can_connect_nodes(Type p_type, int p_from_node, int p_from_po VisualShaderNode::PortType from_port_type = g->nodes[p_from_node].node->get_output_port_type(p_from_port); VisualShaderNode::PortType to_port_type = g->nodes[p_to_node].node->get_input_port_type(p_to_port); - if (MAX(0, from_port_type - 2) != (MAX(0, to_port_type - 2))) { + if (!is_port_types_compatible(from_port_type, to_port_type)) { return false; } @@ -271,6 +271,10 @@ bool VisualShader::can_connect_nodes(Type p_type, int p_from_node, int p_from_po return true; } +bool VisualShader::is_port_types_compatible(int p_a, int p_b) const { + return MAX(0, p_a - 2) == (MAX(0, p_b - 2)); +} + void VisualShader::connect_nodes_forced(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port) { ERR_FAIL_INDEX(p_type, TYPE_MAX); Graph *g = &graph[p_type]; @@ -295,8 +299,8 @@ Error VisualShader::connect_nodes(Type p_type, int p_from_node, int p_from_port, VisualShaderNode::PortType from_port_type = g->nodes[p_from_node].node->get_output_port_type(p_from_port); VisualShaderNode::PortType to_port_type = g->nodes[p_to_node].node->get_input_port_type(p_to_port); - if (MAX(0, from_port_type - 2) != (MAX(0, to_port_type - 2))) { - ERR_EXPLAIN("Incompatible port types (scalar/vec/bool with transform"); + if (!is_port_types_compatible(from_port_type, to_port_type)) { + ERR_EXPLAIN("Incompatible port types (scalar/vec/bool) with transform"); ERR_FAIL_V(ERR_INVALID_PARAMETER); return ERR_INVALID_PARAMETER; } diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h index a36776e701..83db51b1b0 100644 --- a/scene/resources/visual_shader.h +++ b/scene/resources/visual_shader.h @@ -138,6 +138,7 @@ public: Error connect_nodes(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port); void disconnect_nodes(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port); void connect_nodes_forced(Type p_type, int p_from_node, int p_from_port, int p_to_node, int p_to_port); + bool is_port_types_compatible(int p_a, int p_b) const; void rebuild(); void get_node_connections(Type p_type, List<Connection> *r_connections) const; diff --git a/servers/server_wrap_mt_common.h b/servers/server_wrap_mt_common.h index f0ab256374..a6f595d776 100644 --- a/servers/server_wrap_mt_common.h +++ b/servers/server_wrap_mt_common.h @@ -50,7 +50,7 @@ } \ void m_type##_free_cached_ids() { \ while (m_type##_id_pool.size()) { \ - free(m_type##_id_pool.front()->get()); \ + server_name->free(m_type##_id_pool.front()->get()); \ m_type##_id_pool.pop_front(); \ } \ } \ |