summaryrefslogtreecommitdiff
path: root/doc/classes/Node.xml
AgeCommit message (Collapse)Author
2021-08-30[Net] Rename RPC "puppet" to "auth" (authority). Drop "master".Fabio Alessandrelli
This commit completely removes the RPC_MODE_MASTER ("master" keyword), and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword). This commit also renames the "Node.[get|set]_network_master" methods to "Node.[get|set]_network_authority". This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY. RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by any puppet peer on the master, while RPC_MODE_PUPPET meant that it would be callable by the master on any puppet. Beside proving to be very confusing to the user (referring to where it could be called instead of who can call it) the RPC_MODE_MASTER is quite useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with the exception that the network master cannot. While this could be useful to check in some case, in such a function you would anyway need to check in code who is the caller via get_rpc_sender_id(), so adding the check there for those rare cases does not warrants a dedicated mode.
2021-08-28Add support for internal nodeskobewi
2021-08-24Merge pull request #52000 from lyuma/set_editable_instanceJuan Linietsky
Make Node editable_instance methods available to GDScript
2021-08-23Make Node editable_instance methods available to GDScriptLyuma
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22Revert "Add Node processing and physics processing cumulative (as opposed to ↵Juan Linietsky
delta) time"
2021-08-17Add Node processing and physics processing cumulative (as opposed to delta) ↵Mohammad Khashashneh
time.
2021-08-11Rename `iterations_per_second` to `physics_ticks_per_second`Hugo Locurcio
This makes it clearer that this property is only about physics FPS, not rendering FPS. The `physics_fps` project setting was also renamed to `physics_ticks_per_second` for consistency.
2021-07-30doc: Use self-closing tags for `return` and `argument`Rémi Verschelde
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
2021-07-12[Net] Rename NetworkedMultiplayerENet to ENetMultiplayerPeer.Fabio Alessandrelli
2021-07-12[Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer.Fabio Alessandrelli
2021-07-12[Net] Remove most multiplayer hooks from SceneTree.Fabio Alessandrelli
Use `multiplayer` or `get_multiplayer()` instead of `get_tree()`.
2021-06-30Merge pull request #49834 from nekomatata/physics-disable-modesRémi Verschelde
Add support for controlling physics nodes' behavior when disabled
2021-06-30Add support for controlling physics nodes' behavior when disabledPouleyKetchoupp
New property disable_mode to set different behaviors: Remove: remove from physics simulation MakeStatic: change body mode to static (doesn't affect area and soft body) KeepActive: do nothing Extra change: Handle disable/enable node state with specific notifications, in order to differentiate global pause from disabled nodes.
2021-06-29Merge pull request #49719 from LightningAA/rename-node-is-ancestor-ofRémi Verschelde
Rename `is_a_parent_of()` to `is_ancestor_of()`
2021-06-21Rename `is_a_parent_of()` to `is_ancestor_of()`Lightning_A
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #41794 from KoBeWi/shiny_new_tweensRémi Verschelde
2021-06-19Complete rewrite of TweensTomasz Chabora
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
2021-06-18Better format arguments in variant parserMichael Alexsander Silva Dias
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-05New and improved IK system for Skeleton2DTwistedTwigleg
This PR and commit adds a new IK system for 2D with the Skeleton2D node that adds several new IK solvers, a way to control bones in a Skeleton2D node similar to that in Skeleton3D. It also adds additional changes and functionality. This work was sponsored by GSoC 2020 and TwistedTwigleg. Full list of changes: * Adds a SkeletonModifier2D resource * This resource is the base where all IK code is written and executed * Has a function for clamping angles, since it is so commonly used * Modifiers are unique when duplicated so it works with instancing * Adds a SkeletonModifierStack2D resource * This resource manages a series of SkeletonModification2Ds * This is what the Skeleton2D directly interfaces with to make IK possible * Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK * Each modification is in its own file * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together * Adds a PhysicalBone2D node * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node * Changes to Skeleton2D listed below: * Skeleton2D now holds a single SkeletonModificationStack2D for IK * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D * Changes to Bone2D listed below: * The default_length property has been changed to length. Length is the length of the bone to its child bone node * New bone_angle property, which is the angle the bone has to its first child bone node * Bone2D caches its transform when not modified by IK for IK interpolation purposes * Bone2D draws its own editor gizmo, though this is stated to change in the future * Changes to CanvasItemEditor listed below: * Bone2D gizmo drawing code removed * The 2D IK code is removed. Now Bone2D is the only bone system for 2D * Transform2D now has a looking_at function for rotating to face a position * Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE * These notifications only are called in the editor right before and after saving a scene * Needed for not saving the IK position when executing IK in the editor * Documentation for all the changes listed above.
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-04-19doc: Sync classref with current sourceRémi Verschelde
2021-04-11Use Array for node configuration warningsNathan Franke
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-03-19class reference proofreadingPaul Joannon
2021-02-19Update documentation for the new ProcessModeAaron Franke
2021-02-19doc: Sync classref with current sourceRémi Verschelde
And fix various bogus bindings following previous PRs.
2021-02-01Node::replace_by was not copying node properties - removed the dead code.nemerle
The code to copy node properties to the new node never worked, so there is no reason to keep the useless bits in there
2021-01-05Mention that the `delta` argument is in seconds in Node documentationHugo Locurcio
2021-01-05Specify order of drawing of Nodes in raise() descriptionMaganty Rushyendra
2020-11-26[Complex Text Layouts] Add TextServer documentation. Update Font, ↵bruvzg
CanvasItem, Theme and modified controls documentation.
2020-11-20doc: Warn about using Node internal processingRémi Verschelde
See #43689. Also 'fixed' some spelling for behavior in publicly visible strings. (Sorry en_GB, en_CA, en_AU, and more... Silicon Valley won the tech spelling war.)
2020-11-09Docs: Port Code Examples to C# (M, N, O, P, R)HaSa1002
Includes: * MarginContainer * NavigationPolygon * Node * NodePath * OS * PackedByteArray * PackedScene * PacketPeerUDP * PCKPacker * Performance * PhysicsShapeQueryParameters2D * PhysicsShapeQueryParameters3D * PrimitiveMesh * ProjectSettings Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-10-17Document that setting node name will remove @sTomasz Chabora
2020-10-01Link to demos from within the class referenceAaron Franke
2020-09-14Several documentation improvementsDanil Alexeev
2020-09-01Merge pull request #41505 from SekoiaTree/neg-get-childRémi Verschelde
Made get_child support negative indexes
2020-09-01Made get_child support negative indexes, with documentationSekoiaTree
2020-08-31Add link titles for all links in the class referenceHugo Locurcio
This makes them display in a nicer way in the editor help. (The title will display instead of the full URL.)
2020-08-31Merge pull request #41077 from Calinou/doc-find-node-find-parentRémi Verschelde
Mention performance caveats about `find_node()` and `find_parent()`
2020-08-29Mention performance caveats about `find_node()` and `find_parent()`Hugo Locurcio
See https://github.com/godotengine/godot-proposals/issues/1303.
2020-08-12Expose NOTIFICATION_POST_ENTER_TREETomasz Chabora
2020-07-01Environment: Refactor code for readability + moreRémi Verschelde
- Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
2020-06-12Clarify Node virtual methdods not being called if node is orphanHugo Locurcio
This closes #39489.
2020-05-15Replace 'add_child_below_node' with 'add_sibling' in NodeDominik 'dreamsComeTrue' Jasiński
Fixes: #19642
2020-05-09[DOCS] minor description changesChris Bradfield
2020-04-29Merge pull request #36960 from pycbouh/docs-improve-shortcutsRémi Verschelde
Improve shortcut formatting in docs
2020-04-24doc: Fix parsing typed arrays in makerst.pyRémi Verschelde
`Type[]` typed arrays will link to `Type`, as it's likely the most interesting information for the user. And sync classref with current source.