lawnjelly
50c5ed4876
Make acos and asin safe
...
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.
The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 08:34:34 +01:00
Rémi Verschelde
0f444f101a
Merge pull request #76661 from bonjorno7/hsl
...
Add API for HSL conversion
2023-05-09 19:28:35 +02:00
bonjorno7
0b7fd664c1
Add API for HSL conversion
...
Math ported pretty much 1:1 from https://en.wikipedia.org/wiki/HSL_and_HSV
Style doesn't match the existing HSV code exactly, but should be close enough.
2023-05-09 17:43:10 +02:00
Clay John
610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
...
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00
VolTer
6b84e258d2
Use String.repeat() in more places
2023-05-01 02:27:46 +02:00
Danil Alexeev
76ee3d4f31
Allow negative coordinates in AStarGrid2D
2023-04-26 09:29:33 +03:00
Aaron Franke
290b09b36c
Expose determinant
in Transform2D, rename internal method
2023-04-22 13:44:14 -05:00
Danil Alexeev
36bedd341a
Fix misuses of error macros
2023-04-18 10:20:48 +03:00
VolTer
846f9e106c
Optimize 2D Delaunay and make it more readable
...
Co-authored-by: Dimitri Tabatadze <tabatadzedima@protonmail.com>
2023-04-09 00:52:15 +02:00
Yuri Rubinsky
d11bb866ff
Fix randfn to prevent generating of nan values
2023-03-03 16:43:48 +03:00
Rémi Verschelde
491ded1898
Minor typo and docs URL fixes
2023-02-28 13:38:01 +01:00
lawnjelly
f42a837e92
BVH - fix lockguards for multithread mode
...
Due to a lack of variable name, the BVH lock guards lifetimes previously did not cover the whole function call.
This is fixed, and the warning message for contention is removed as multithread mode seems to be desired in production in 4.x.
2023-02-20 15:15:18 +00:00
clayjohn
5a800e68f1
Bias octahedral tangent y axis to avoid errors around 0
2023-02-13 19:24:14 -08:00
Rémi Verschelde
8f46656ae4
Merge pull request #72316 from 0xafbf/component-wise-minmax
...
Added component-wise `min` and `max` functions for vectors
2023-02-11 22:05:12 +01:00
Andrés Botero
a90e151b2a
Added component-wise min
and max
functions for vectors
2023-02-11 15:03:11 -05:00
Rémi Verschelde
f011d8ca9c
Math: Prevent division by zero in posmod
...
Fixes #43932 .
Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
2023-02-11 20:44:45 +01:00
Silc Renew
1459b9c24c
Fix scaled_orthogonal() & subgizmo global scaling
2023-02-04 00:46:04 +09:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list
2023-02-01 12:11:36 +01:00
Rémi Verschelde
394bb0ee2b
Fix various typos with codespell
...
Finally do the childs -> children rename too.
2023-02-01 08:45:41 +01:00
Aaron Franke
5f3d3722b2
Add support for interpolating skewed transforms
2023-01-28 18:28:42 -06:00
Yuri Rubinsky
0f8f0ab126
Merge pull request #72170 from Chaosus/astar_fix
2023-01-27 18:52:22 +03:00
Rémi Verschelde
f0e3c3f4c3
Merge pull request #72168 from RandomShaper/sensible_lock_return
...
Booleanize various sync primitives' wait & locking methods
2023-01-27 15:40:43 +01:00
Yuri Rubinsky
cc0a243ce0
Enchance the performance of AStar by using a LocalVector(2)
2023-01-27 16:28:11 +03:00
Pedro J. Estébanez
f630940591
Booleanize various sync primitives' wait & locking methods
2023-01-27 11:15:30 +01:00
bitsawer
8c25bcdb84
Fix range loop iteration regressions
2023-01-26 00:14:39 +02:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell
2023-01-23 11:02:20 +01:00
Rémi Verschelde
5726bf578d
Merge pull request #71676 from vnen/gdscript-unicode-identifiers
...
Add support for Unicode identifiers in GDScript and Expression
2023-01-23 10:24:33 +01:00
Yuri Rubinsky
078600a3c4
Enchance the performance of AStar
by using a LocalVector
2023-01-22 12:04:41 +03:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
George Marques
86ee5f39c4
Add support for Unicode identifiers in Expression class
2023-01-21 13:39:42 -03:00
kobewi
c0083e431b
Cleanup unused engine code v2
2023-01-19 13:02:18 +01:00
Raul Santos
7560340ef6
Rename center
method to get_center
in Plane.
2023-01-15 17:18:50 +01:00
Yuri Rubinsky
6640eb8065
Fix error in AstarGrid2D::get_id_path
2023-01-08 10:34:33 +03:00
Yuri Rubinsky
4a45c76737
Fix jumping in AStarGrid2D
when DIAGONAL_MODE_NEVER
is enabled
2023-01-06 13:40:24 +03:00
Rémi Verschelde
e5f6e03490
Merge pull request #70547 from TokageItLab/pingpong-wrap
...
Fix pingpong-loop with `loop_wrap` is not working & clean-up cubic interpolation key retrieve process
2023-01-06 00:10:18 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Yuri Rubinsky
b28571ca3e
Optimize wrapf
function a bit
2023-01-01 23:17:29 +03:00
Silc Renew
8745c206c4
Fix pingpong with loop wrap is not working
2022-12-25 18:16:38 +09:00
Yuri Rubinsky
16efd0b0fc
Divide AStarGrid2D::default_heuristic
into two different heuristics
2022-12-24 09:31:02 +03:00
Rémi Verschelde
186f6f0d87
Merge pull request #70403 from rburing/fix_edge_map_capacity
...
Fix edge map capacity in convex hull computer
2022-12-21 18:29:38 +01:00
Ricardo Buring
e0e45e013e
Fix edge map capacity in convex hull computer
...
The desired capacity could be less than the default, so reserve would
error.
2022-12-21 17:12:36 +01:00
Yuri Rubinsky
0bcbf8e00d
Add get_point_position
method to AStarGrid2D
2022-12-20 23:21:38 +03:00
Yuri Rubinsky
8c478dcec9
Restore weight scale for AStarGrid2D
(partially)
2022-12-20 12:22:32 +03:00
bruvzg
53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables.
2022-12-15 23:16:02 +02:00
Hei
cc245ff8a6
Fix "p_zfar" to "p_znear" in Projection.create_orthogonal
...
Was confused why it always gave inf:s.
2022-12-15 19:03:33 +02:00
Rémi Verschelde
4a8b725bc9
Merge pull request #68386 from MewPurPur/snappedi-snappedf
...
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-24 18:54:49 +01:00
Silc Renew
b217c41d36
Refactor interpolating functions in some classes to use Math class
2022-11-24 20:31:43 +09:00
Yaohua Xiong
f9fa182abc
Refactor Curve3D::_bake() method
...
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization.
Other changes are:
1. Add an bezier_derivative() method for Vector3, Vector2, and Math;
2. Add an tesselate_even_length() method to Curve3D, which tesselate bezier curve to even length segments adaptively;
3. Cache the tangent vectors in baked_tangent_vector_cache;
2022-11-24 10:52:06 +08:00
VolTer
e26f0906f2
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-19 06:18:55 +01:00
Andy Maloney
cb6cffbfd9
Static analysis: remove "break" after "return"
...
Changes as requested to keep in sync with godotengine/godot-cpp#929
2022-11-18 17:57:33 -05:00