Scaling the depth was the wrong solution for the KinematicBody jitter
because it causes jitter with RigidBody. Instead scale the margin that
is ignored to allow KinematicBody to still pick up the ray shape in the
kinematic test when the shape is just at margin distance from another
one. This solution does not cause jitter with either KinematicBody or
RigidBody.
They had been reserved for future implementation, but we now have the
`match` CF keyword which does the same and more.
According to @reduz `do` was even added by mistake when copying from
the shader language parser, it was never intended to add support for
`do`... `while` loops, as the syntax would be awkward in GDScript,
and the added sugar is not worth it.
Fixes#25787.
We've been defaulting to WASAPI since 3.0 and it's superior to RtAudio
in all aspects.
Obsoletes and closes#25503.
Also enable WINMIDI on MinGW, this had been missed initially.
Fix os_windows.cpp and crash_handler_windows.cpp which had weird
dependencies on RtAudio.h's includes (ugh).
Also enhance Control/Label documentation about tooltips and mouse filter,
as it took me a while to understand why Labels didn't show tooltips.
Closes#26082.
We need to consume the trailer part and final CRLF after last chunk
as per RFC 7230 section 4.1:
```
chunked-body = *chunk
last-chunk
trailer-part
CRLF
```
We do not return the trailer part, just consume it allowing following
requests to work as expected when using keep alive.
mbedtls_ssl_read cannot be called with a NULL buffer even if len is 0,
as those are passed to memcpy and compilers doesn't like that.
Always pass a single byte (still len 0 so nothing is actually copied)
This property returns an instance of the singleton.
The purpose of this is to allow using methods from the base class like 'Connect'.
Since all Godot singletons inherit Object, the type of the returned instance is Godot.Object.
- Added code handling non-compound collision to recover_from_penetration_ray()
which is now needed due to the optimization avoiding the use of compound
collisions when only a single collision shape is used.
- Removed arbitrary margin applied in the collision algorithm of RayShapes
which causes jittered movement. For lack of a better replacement and for
lack of any explanation on why it has been introduced, it's now using the
shape's margin property instead which is small enough to not show visible
jitter.
- Tried to get rid of inconsistent uses of the collision margin.
- Removed hack from GodotDeepPenetrationContactResultCallback::addContactPoint
for RayShape collision as it's no longer needed as the collision algorithm
of RayShapes correctly calculates the contact normal for a while now.
Fixes#25227.
Much in the way that TextureProgress was truncating the last segment
of the nine slice when the value wasn't close to the end, perform
similar work on the beginning segment. This fixes the beginning segment
always being drawn, sometimes in the incorrect location.