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.
|
|
Fix node list with Add Node Here
|
|
|
|
Add cache to ColorPicker for color presets
|
|
Fix a connection bug in visual shaders
|
|
Fix threaded update for textures
|
|
Tweak the GradientTexture property hint to follow CurveTexture
|
|
* Previews and other stuff now works again.
* Not the best solution, will have to be improved in the future usinc async queues where supported.
|
|
This prevents loading from the project metadata more than once,
significantly saving performance with nodes that have color pickers.
|
|
|
|
This prevents setting too large values and crashing the editor.
Very low values are also no longer allowed since they are generally
not detailed enough to represent complex gradients, leading to confusion.
|
|
[HTML5] Fix JavaScript string parsing with new interface.
|
|
Fix Command Queue Crash
|
|
Calinou/occluderinstance3d-add-node-configuration-warnings
Add node configuration warnings to OccluderInstance3D
|
|
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
|
|
Strings are UTF-8 encoded and should be parsed as such, while it was
being parsed as a C string before.
|
|
|
|
Add a root Node3D automatically if absent when adding preview sun and sky
|
|
Use the Unicode multiplication symbol for the viewport size display
|
|
Add AcceptDialog::remove_button method
|
|
Fix concave collision with backface collision disabled
|
|
Disabled backface collision is only applied on face separation axes,
because applying it also on edges and vertices was causing some contacts
to be wrongly disabled and contact points to be off.
|
|
This makes for a smoother prototyping process compared to displaying
an error message.
|
|
Unify material parameter update
|
|
Avoid using a nullptr root in Tree._range_click_timeout().
|
|
* Unifies how material parameters are updated.
* Single function, easier to maintain.
* Updates materials properly when textures change.
|
|
Queue the calls to GodotLib.key when Android virtual done is pressed
|
|
Fix warning message spam when a VoxelGI node is selected in the editor
|
|
Make `EditorVCSInterface` proxy functions virtual in C++
|
|
Remove Android onKeyMultiple override
|
|
Calinou/improve-node-configuration-warning-display
Format node configuration warnings as a bullet point list
|
|
Support for anisotropy in VoxelGI was removed during its development
due to the high cost. This was a leftover from anisotropy support.
|
|
Allow using ORMMaterial3D by using BaseMaterial3D as a resource hint
|
|
Fix: The ORMMaterial3D shader doesn't compile #50161
|
|
|
|
Allows to implement VCS plugins via C++ modules without affecting
the existing script instance mechanism.
|
|
LineEdit: Respect `max_length` by truncating text to append
|
|
This makes multiple warnings easier to distinguish from each other.
|
|
|
|
|
|
|
|
|
|
Replace single method anonymous classes with lambdas in Godot Java code
|
|
When appending text (either via `set_text()` or by pasting from clipboard),
if the input would make the `LineEdit` exceed its configured `max_length`,
the input text is truncated to fit. The discard part is passed as a parameter
in the `text_change_rejected` signal.
Fixes #33321.
Fixes #41278.
Also cleaned up unimplemented `max_chars` property in `TextEdit`.
Co-authored-by: Tony-Goat <70238376+Tony-Goat@users.noreply.github.com>
|
|
Added 'Select Current' option when user is prompted to select main scene after clicking play
|
|
|
|
after clicking play
|
|
Added EditorInspectorPlugin to aid in editing InputEvents in resources and shortcuts
|
|
Since class scoping should not be used for bindings as they might have
uninteded consequences in scripting.
|
|
Having the TileSet:: prefix has some unintended consequences in the
bindings, in particular in the extension API dump.
|