Age | Commit message (Collapse) | Author |
|
This PR implements range iterators in the base containers (Vector, Map, List, Pair Set).
Given several of these data structures will be replaced by more efficient versions, having a common iterator API will make this simpler.
Iterating can be done as follows (examples):
```C++
//Vector<String>
for(const String& I: vector) {
}
//List<String>
for(const String& I: list) {
}
//Map<String,int>
for(const KeyValue<String,int>&I : map) {
print_line("key: "+I.key+" value: "+itos(I.value));
}
//if intending to write the elements, reference can be used
//Map<String,int>
for(KeyValue<String,int>& I: map) {
I.value = 25;
//this will fail because key is always const
//I.key = "hello"
}
```
The containers are (for now) not STL compatible, since this would mean changing how they work internally (STL uses a special head/tail allocation for end(), while Godot Map/Set/List do not).
The idea is to change the Godot versions to be more compatible with STL, but this will happen after conversion to new iterators have taken place.
|
|
|
|
|
|
Add a root Node3D automatically if absent when adding preview sun and sky
|
|
Use the Unicode multiplication symbol for the viewport size display
|
|
This makes for a smoother prototyping process compared to displaying
an error message.
|
|
Fix warning message spam when a VoxelGI node is selected in the editor
|
|
Support for anisotropy in VoxelGI was removed during its development
due to the high cost. This was a leftover from anisotropy support.
|
|
|
|
Allows to implement VCS plugins via C++ modules without affecting
the existing script instance mechanism.
|
|
Added 'Select Current' option when user is prompted to select main scene after clicking play
|
|
after clicking play
|
|
shortcuts
|
|
Remove search results limit in FileSystem dock
|
|
Add numpad emulation in 3D viewport
|
|
Allow using the 3D editor's View menu while previewing a camera
|
|
Fixes some problems introduced by #49917
* Tree used minimum size as a stretch ratio, so it forced a minimum size of 1.
* Minimum size redone, stretch ratio moved to a separate setting
* Fitting to contents was enforced, this is more intuitive, but in many situations this is undesired.
* Added a clip content option for situations where fit to contents does not apply.
* Icon would scroll with the item, making it invislbe if the item is too long.
* Made icon always appear to the right (or left if RTL is enabled) of the visible item space.
|
|
Minor cleanup of the "New Script" dialog
|
|
|
|
|
|
* Fixed and redone the process to obtain render information from a viewport
* Some stats, such as material changes are too difficult to guess on Vulkan, were removed.
* Separated visible and shadow stats, which causes confusion.
* Texture, buffer and general video memory can be queried now.
* Fixed the performance metrics too.
|
|
|
|
|
|
Also use const more often.
|
|
Clean up RenderingServer and its bindings
|
|
* Rewrote bindings for RenderingServer.
* They are now all up to date.
* Several unused methods and deprecated features were cleaned up.
|
|
This is already allowed when using cinematic preview, but not
when previewing a Camera3D the usual way.
Many operations from the View menu still work while previewing
a camera, such as switching between debug draw modes and toggling
information panes.
|
|
Script editor: Rename 'Clone Down' to 'Duplicate Selection'
|
|
Add keyboard shortcuts for grouping and locking nodes, change grid toggle
|
|
Add right-to-left layout support for `EditorSpinSlider`.
|
|
- Locking nodes can now be done by pressing Ctrl + L, and unlocking with
Ctrl + Shift + L.
- Grouping nodes is now done by pressing Ctrl + G, and ungrouping with
Ctrl + Shift + G (similar to Inkscape).
- Toggling the grid is now done by pressing the `#` key
(also similar to Inkscape). This change was needed as Ctrl + G
now groups selected nodes.
Different shortcuts are used for the lock/unlock and group/ungroup
actions, so that the shortcuts are idempotent.
|
|
|
|
Added r_ prefix for reference arguments that can be modified.
|
|
Deprecate ImmediateGeometry
|
|
* Removed entirely from RenderingServer.
* Replaced by ImmediateMesh resource.
* ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future.
* Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4).
* RootMotionView works again.
* Polygon3D editor works again.
|
|
Fix editor suffixes and degrees conversion
|
|
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:
* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
|
|
Make contents of "Create Script" dialog expand with the window size
|
|
|
|
* Editor 2D viewport now uses embedded subwindows (windows no longer pop up)
* Restored the ability to disable 3D on the 2D viewport (makes 3D not display on 2D when there is a camera on the scene)
|
|
Fix "Filter Files" shortcut by merging duplicate functions
|
|
|
|
(cherry picked from commit 30bb133e01d2a1ba61fcd1b27a2ce17aa46aff3a)
|
|
NodePath properly updated in the editor in more cases when nodes are moved or renamed
|
|
Add "Suggest a Feature" to the help dialog.
|
|
Fixes #36670.
|
|
Rename `is_a_parent_of()` to `is_ancestor_of()`
|
|
EditorLog filter buttons are now enabled/on by default
|
|
|
|
|