The 'pos' variable passed to get_color() and get_offset() can be
negative if the color ramp itself is empty. This causes a lookup in an
empty position in the color Vector which leads to a crash.
We add a check so we never do a lookup in the color Vector if the
gradient is empty.
This fixes#10501
(cherry picked from commit 67b9d6eef2)
- Change get_rect_region to return UV region instead of pixel rect
- Fixed atlas texture Sprite3D Y offsets being applied in the wrong direction and fixed Flip not adjusting the geometry.
- Changed get_rect_region name to get_rect_region_uv_rect
This backports the work in #7815 and the subsequent fixes in #8393
The following program now works as expected in this branch in both
release_debug and debug mode:
```gdscript
print(sqrt(-1))
print(sqrt(-1))
var simple1=asin(10.0)
var simple2=acos(10.0)
print(simple1)
print(simple2)
```
And successfully prints -nan 4 times
This fixes#9580 and fixes#8925
These include:
* generate_tangents()
* add_to_format()
* create_from()
* append_from()
Reordered and grouped the bindings to match the header for improved readability.
Removed commented out `generate_flat_normals()` method which wasn't present
in the header.
Fixes#9946
(cherry picked from commit aa1165a3f5)
clang-format does not handle that well *at all*.
For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
(cherry picked from commit 40323407df)
Serialize dictionaries adding newlines between key-value pairs
Serialize group lists also with newlines in between
Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders)
Bonus:
Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file.
This PR is back-compat; won't break the load of existing files.
Cherry-picked from 7dbb1c0571
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
(cherry picked from commit c7bc44d5ad)
Adds a method to the Curve2D and Curve3D classes to easily clear the curve.
So you don't have to remove each point manually.
(cherry picked from commit e741da869a)
Done with `autopep8 --select=E7`, fixes:
- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
The text format definition needs to stay in `scene/` as it relies
on other scene components, and `core/` must stay self-contained.
This reverts commits a5e27503fd
and 1492fd8460.