This adds a new project setting (`physics/common/enable_pause_aware_picking`). It's disabled by default.
When enabled, it changes the way 2D & 3D physics picking behaves in relation to pause:
- When pause is set, every collision object that is hovered or captured (3D only) is released from that condition, getting the relevant mouse-exit callback., unless its pause mode makes it immune from pause.
- During the pause. picking only considers collision objects immune from pause, sending input events and enter/exit callbacks to them as expected.
- When pause is left, nothing happens. This is a big difference with the classic behavior, which at this point would process all the input events that have been queued against the current state of the 2D/3D world (in other words, checking them against the current position of the objects instead of those at the time of the events).
Like the Tween cheatsheet or Color constants cheatsheet, this references
a "cheatsheet" image from the documentation repository.
(cherry picked from commit 200f1cf015)
This can be used to print thread IDs in logs. This can make it easier
to debug multi-threaded applications.
Co-authored-by: Khaos <khaos@khaos-coders.org>
(cherry picked from commit 35b046ddf7)
This is how I would expect it to work, but the docs didn't clarify, so I
had to check the source just to make sure I wasn't responsible for
freeing the timer:
d39f6386ce/scene/main/scene_tree.cpp (L473)
(cherry picked from commit 6e7e4f82ec)
The RichTextLabel class is inconsistent in how it updates the
visible_characters and percent_visible properties when either is changed.
To keep both properties consistent, update percent_visible when setting the
visible_characters property.
For both properties, when setting one, notify change for the other.
Docs updated for member set_visible_characters on RichTextLabel class.
(cherry picked from commit 463e2002ab)
- Fix Embree runtime when using MinGW (patch by @RandomShaper).
- Fix baking of lightmaps on GridMaps.
- Fix some GLSL errors.
- Fix overflow in the number of shader variants (GLES2).
The description for audio_track_set_key_stream referenced a parameter called offset, which is not a parameter for that method. The description now references the correct parameter, stream.
(cherry picked from commit 81dc9be973)
Complete rewrite of spatial partitioning using a bounding volume hierarchy rather than octree.
Switchable in project settings between using octree or BVH for rendering and physics.
3.2 version of b5107715f1.
`get_seed()` still returns the previous state and not the initial seed,
because users may rely on this behavior for resetting the state in 3.2.
Documented this is going to be fixed in 4.0.
Co-authored-by: MidZik <matt.idzik1@gmail.com>
This allows the user to query the AnimationNodeStateMachinePlayback's current
play position and total length of current animation state. These methods are currently
used in the editor plugin, but can also be useful for querying general playback state
information.
Added documentation for AnimationNodeStateMachinePlayback's `get_current_play_position`
(cherry picked from commit 674fb52f52)
See #36285 which mistakenly added documentation for the whole C++ API, while
some of it is meant to be and stay private as it's not exposed to scripts.
The access modifiers and method prefix were not used properly.
Cleanup code, and rename wrong `group_name` parameters to `method`, as it's a
method name which is being broadcast.
This is a very old class from pre-open source days, chances are that it was
just forgotten and not meant to be kept as is and undocumented.
(cherry picked from commit 79ba70f7ee)
Image::resize_to_po2() now takes an optional p_interpolation parameter
that it passes directly to resize() with default value INTERPOLATE_BILINEAR.
GLES2: call resize_to_po2() with interpolate argument
Call resize_to_po2() in GLES2 rasterizer storage with either
INTERPOLATE_BILINEAR or INTERPOLATE_NEAREST depending on TEXTURE_FLAG_FILTER.
This avoids filtering issues with non power of two pixel art textures.
See #44379
- Fixes Godot physics failing when the cast Shape is inside of, or
already colliding with another Shape.
- Fixes Bullet physics failing when there is no motion.
- Ensures Godot and Bullet physics behave the same.
- Updates the documentation to exclude the caveats for the failures and
differences.
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.)
(cherry picked from commit a655de89e3)
I verified this experimentally. I added a point at roughly (1,0,0), and
dragged a handle back to the origin. The result was:
```
get_point_position: (0.991079, 0, -0.000069)
get_point_in: (0.993409, 0, 0)
get_point_out: (-0.993409, 0, 0)
```
(cherry picked from commit c6093ae612)
- Mention Lua-style syntax.
- Make the code samples self-contained.
- Mention caveat with `const` (also in Array).
- Clarify the description of `size()`.
This closes https://github.com/godotengine/godot-docs/issues/4272.
(cherry picked from commit 5325de4e6b)