Age | Commit message (Collapse) | Author |
|
Add Geometry::line_intersects_line_2d()
|
|
Now both structs (Vector2 & Vector3) have round, floor & ceil methods.
(see #18603)
|
|
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html
These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
|
|
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis.
Added various missing functions and constructors.
Should close #17968.
|
|
|
|
Fixes https://github.com/godotengine/godot/issues/18025
|
|
Fix is_point_in_triangle function
|
|
|
|
Update wrap functions
|
|
|
|
|
|
|
|
|
|
The ear clipping algorithm used to triangulate polygons has a slightly too conservative point-in-triangle test which can, in some configurations prevent it from finding a possible tessellation. Relaxing the test by considering that points exactly on edges don't belong the triangle fixes the issue. Changing the semantic of the test is safe because no other code makes use of it. A more detailed explanation can be found in issue #16395.
Fixes #16395.
|
|
|
|
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
|
|
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
|
|
More exact picking for canvas editor
|
|
Restore the behavior of Spatial rotations recently changed in c1153f5.
|
|
Happy new year to the wonderful Godot community!
|
|
Fix Rect2::distance_to() not returning 0
|
|
That change was borne out of a confusion regarding the meaning of "local" in #14569.
Affine transformations in Spatial simply correspond to affine operations of its Transform. Such operations take place in a coordinate system that is defined by the parent Spatial. When there is no parent, they correspond to operations in the global coordinate system.
This coordinate system, which is relative to the parent, has been referred to as the local coordinate system in the docs so far, but this sloppy language has apparently confused some users, making them think that the local coordinate system refers to the one whose axes are "painted" on the Spatial node itself.
To avoid such conceptual conflations and misunderstandings in the future, the parent-relative local system is now referred to as "parent-local", and the object-relative local system is called "object-local" in the docs.
This commit adds the functionality "requested" in #14569, not by changing how rotate/scale/translate works, but by adding new rotate_object_local, scale_object_local and translate_object_local functions. Also, for completeness, there is now global_scale.
This commit also updates another part of the docs regarding the rotation property of Spatial, which also leads to confusion among some users.
|
|
|
|
|
|
Inline some very common Vector2 operations
|
|
#14569
|
|
|
|
|
|
|
|
|
|
Rect2: add function returning same rect with positive w and h
|
|
|
|
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
|
|
|
|
|
|
Fixes #12973.
|
|
|
|
It had been missed in d09160a8b67fdc60e8108962c4e9bd4c0bc7f13e and broke compilation
for those platforms.
Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
|
|
|
|
Added new Wrap functions for numbers
|
|
Fix inertia tensor update & Generic6DOFJoint & Simplify Basis::get_euler()
|
|
|
|
|
|
Added snapping to spatial drag and drop.
|
|
|
|
|
|
|
|
Verbose and Platform-specific implementation for is_nan
|
|
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
|
|
|