Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
The new default values are more usable in real world scenarios
when smooth fading of distant decals is desired for performance reasons.
The Decal distance fade property hints were adjusted based on the
GeometryInstance3D visibility range fade property hints. `or_greater`
was also added to allow specifying larger values if needed.
|
|
|
|
|
|
Fix TileSet not loading correctly when embedded in a scene
|
|
|
|
Implement shader uniform groups/subgroups
|
|
|
|
|
|
|
|
|
|
Fix initial value of TRS3DTrack cache in `AnimationPlayer`
|
|
not applied correctly.
|
|
Tree: Don't draw selection background of individual cells in Row mode
|
|
|
|
|
|
|
|
|
|
|
|
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
|
|
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
|
|
|
|
Change fog density range hint to be 0 to 1 with or_greater
|
|
Add error for invalid RichTextLabel.install_effect
|
|
|
|
Fix incorrect expression base in `AnimationNodeStateMachinePlayback::_check_advance_condition`
|
|
|
|
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
|
|
Implement BPM support in AudioStream files.
|
|
Based on #62896, only implements the BPM support part.
* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
|
|
|
|
|
|
|
|
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
|
|
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
|
|
|
|
This PR is a continuation of #50381 (which was implemented exactly a year ago!)
* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.
Obligatory Screen:
A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size
TODO:
* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.
In general this PR is a starting point for more contributors to improve and enhance this functionality.
|
|
winterpixelgames/master-allow-scroll-container-scroll-to-be-set-instantly
|
|
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
|
|
you can set scroll_container.scroll_vertical instantly after adding children to a scroll container.
|
|
`AnimationNodeStateMachinePlayback::_check_advance_condition`
|
|
|
|
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
|
|
|
|
|
|
|