Adds fixed timestep interpolation to the visual server.
Switchable on and off with project setting.
This version does not add new API for set_transform etc, when nodes have the interpolated flag set they will always use interpolation.
The value is already clamped in the editor, but it wasn't being
clamped when the value was set via code. Values outside the [0.0; 1.0]
range can result in broken rendering.
The documentation was stating that the area mask affects where sounds
can be heard, which is not true. Instead, the area mask affects audio
bus redirection.
Thanks to Azedaxen on the Godot forums for providing this description :)
(cherry picked from commit ab1eaac315)
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
(cherry picked from commit 1bdb82c64e)
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950
(cherry picked from commit fbd9599b04)
Add more detail to the description for the warp_mouse_position method, clarifying that the vector is in screen coordinates and relative to an origin at the top of the game window.
(cherry picked from commit 3dc1fad262)
Most frames there will be no change in project settings, and it makes no sense to read settings every frame in case of changes, as a large number of string compares are involved.
This PR adds a signal to ProjectSettings that can be subscribed to in order to keep local settings up to date with ProjectSettings.
In addition a function `ProjectSettings::has_changes()` is provided for objects outside the signal system (e.g. Rasterizers).
Allows detecting when a new version of the progressive web app service
worker is waiting (i.e. an update is pending), along a function to force
the update and reload all clients.
- Prevent debug enforced use of ubershader on shaders not supporting it
- Use unsigned integer for ubershader flags
- Add project setting for disabling async shader compilation on mobile
- Stop sampling some textures through different kinds of samplers at the same time
The portal system introduced basic mesh merging functionality, this has wide ranging uses outside of the portal system.
For this reason, this PR binds the mesh merging functionality.
It also slightly modifies the calling from RoomManager to use a Vector of Node *, in order to allow binding of the function.
When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.
This can be fine on high power desktops but can be an annoyance on lower power machines.
This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.
An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:
* Continuous
* Update all changes
* Update vital changes
"capture_propagation" member documentation description was missing the second 'p' in "propagation". Fixed this minor typo
Also resubmitting pull request to 3.x branch as per @Calinou's recommendation.
Both AnimatedSprite2D and AnimatedSprite3D use a SpriteFrames resource, but the SpriteFrames
class description currently only lists being used with the 2D variant.
(cherry picked from commit 4391f6a5b5)
- Fixed missing "be" typo in MeshDataTool's get_face_edge function
- Corrected documentation to say negative values aren't valid
(cherry picked from commit bc9df365b0)
specify that multiple filetypes/extensions can be included in one filter within the
PackedStringArray, and provide an example
(cherry picked from commit 123cfb4759)
The `AudioEffectRecord` effect has no microphone capture-specific functionality--it can be used with any audio bus.
This patch attempts to clarify this fact (so people like me who want to capture audio output know they're in the right place) while still providing a pointer use of the effect with `AudioStreamMicrophone` for microphone capture.
(cherry picked from commit 022f49437b)
Notably:
* `Pool*Array.size()` and `Array.size()`.
* Shared methods of `Transform2D` and `Transform`.
* Shared methods of `Vector2` and `Vector3`.
This reduces the Deja Vu when translating the class reference :)
The description was probably copied from Vector3.reflect(), and
unfortunately did not match the 2D behaviour (where n is apparently the
direction vector of the symmetry line, not the normal).
(cherry picked from commit e1bf428cdc)