Age | Commit message (Collapse) | Author |
|
[Net] Refactor RPCs, remove RSETs
|
|
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.
|
|
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.
|
|
|
|
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
|
|
|
|
|
|
And fix various bogus bindings following previous PRs.
|
|
The code to copy node properties to the new node never worked, so there is no reason to keep the useless bits in there
|
|
|
|
|
|
CanvasItem, Theme and modified controls documentation.
|
|
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.)
|
|
Includes:
* MarginContainer
* NavigationPolygon
* Node
* NodePath
* OS
* PackedByteArray
* PackedScene
* PacketPeerUDP
* PCKPacker
* Performance
* PhysicsShapeQueryParameters2D
* PhysicsShapeQueryParameters3D
* PrimitiveMesh
* ProjectSettings
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
|
|
|
|
|
|
|
|
Made get_child support negative indexes
|
|
|
|
This makes them display in a nicer way in the editor help.
(The title will display instead of the full URL.)
|
|
Mention performance caveats about `find_node()` and `find_parent()`
|
|
See https://github.com/godotengine/godot-proposals/issues/1303.
|
|
|
|
- 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.
|
|
This closes #39489.
|
|
Fixes: #19642
|
|
|
|
Improve shortcut formatting in docs
|
|
`Type[]` typed arrays will link to `Type`, as it's likely the most
interesting information for the user.
And sync classref with current source.
|
|
|
|
|
|
|
|
Minor fix in Node class documentation
|
|
This closes https://github.com/godotengine/godot-docs/issues/2730.
|
|
The name of the property responsible for physics fps is fixed:
this is `Engine.iterations_per_second`, not `Engine.target_fps`.
|
|
|
|
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.
The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.
Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.
So long, OpenGL driver bugs!
|
|
|
|
We already removed it from the online docs with #35132.
Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.
We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
|
|
- Add some missing descriptions.
- Add links to tutorials for ARVR and AnimationTree.
- Style fixes.
- Engine changes:
* Make `AnimationNodeTransition.input_<number>` properties internal
so that they don't appear in the docs. They still appear in the
inspector based on the actual number of inputs requested.
* Drop unimplemented `CPUParticles.flatness`. It's only used for 3D
particles in `ParticlesMaterial`, and thus only relevant for
`CPUParticles3D`.
|
|
Resolves #34739.
|
|
This closes #34531.
|
|
|
|
|
|
Clarify get_node vs get_node_or_null.
|
|
This closes #33660.
|
|
This method can be used to generate custom node warnings by script.
Node::_get_configuration_warning was already exposed to generate custom warnings, but it wasn't fully usable without being able to notify the scene tree when the warning needs to appear or change.
|
|
Notify for app pause and resume events on Android
|
|
resumed on Android devices.
|
|
Fixes #2771. It is confusing to say get_node will "raise an error" if
the node does not exist, as this phrase is used elsewhere in the godot
docs (e.g. at several points in the GDScript overview) to indicate
something that will completely stop execution. Saying it logs an error
is more accurate.
|