- Use `NOTIFICATION_ENTER`/`EXIT_WORLD` for `Area` (intead of `*_TREE`).
- Now both bodies' and areas' constraints are cleaned up.
- And now also that happens as soon as the space is set to null (i.e., when exiting the tree) instead of only at freeing time.
- When clearing constraints, the loop goes on to the next if the current is already released, instead of breaking.
- When one has been already released, no error is shown from now on, as it's something expected, since a pair (our kind of constraint of interest) can be freed by any of its involved collision objects and the other will try again.
- Implement index shifting (or marking as -1) for shapes indices in collision pairs shapes are removed.
- Standarize behavior of bodies and areas so that anything that invalidates a given pair gives the same result (collision mask, actual collision, etc); for instance, triggering area enter/exit signals.
- Add missing member initializations.
- Extend the new-space-equals-area/body-current-space test to every case.
- Fix 3D ray-casts early accepting Areas (skipping the mask check).
- Fix unpairing of large elements (2D's `BroadPhase2DHashGrid`).
Some of these prevent random crashes caused by constraints with dangling pointers to involved objects.
Fixes#8856.
Fixes#7589.
Fixes#6676.
And maybe others.
Now you have: extra, all (the default), moderate, no.
The old 'yes' option is still supported, but a warning will be printed and 'all' will be assumed.
The different options will translate to the following:
MSVC:
extra -> /Wall (implies /W4)
all -> /W3 + disable non-essential (*)
moderate -> /W2 + disable non-essential (*)
no -> /w
GCC/Clang:
extra -> -Wall -Wextra
all -> -Wall
moderate -> -Wall -Wno-unused
no -> -w
* = Truncations, narrowing conversions...: /wd4267 /wd4244 /wd4305 /wd4800
This is a necessary condition for finding optimal solutions.
This is achieved by simply requiring/ensuring that no weights are smaller than 1.
Fixes#8584.
(cherry picked from commit e4eb093c62)
The Tree node column/table form is missing the ability to
capture column title clicks easily.
Adding this functionality will give us the ability to
create functions such as sort by column, which is a common
table manipulation ability in games/apps.
https://godotengine.org/qa/7699
(cherry picked from commit 7b00ad22b9)
Uses the machine-readable debian/copyright standard to be explicit
about both the licenses and the corresponding copyright attributions
for Godot source files and thirdparty libraries bundled in the source
repository.
(cherry picked from commit e776a1ebb2)
There's been some inconsistency between the ProjectSettings and EditorSettings:
One would use "snake_case_properties", the other "Capitalized Properties".
This fixes that by also using capitalized properties for the project settings.
(It's actually the default, so the line setting it to false was just removed..)
Was there a strong reason for using snake_case here in the first place?
(cherry picked from commit 162068640b)
The Tree node has the ability to jump to a specific item by typing the first few chars of it's name.
But on selection ('item_activated' signal), it didn't clear the search string used for that. It was especially annoying in `FileDialog`s and has been bugging me for
ages :P
With this, you can traverse a directory structure in a FileDiag quickly with the keyboard (like you'd expect from pretty much any modern file browser) :)
(cherry picked from commit def41b9856)
Adds a tooltip parameter to `TreeItem::add_button()` and set a few tooltips in the Project settings and SceneTree dock.
(cherry picked from commit 29999942a2)
I changed the loop in #8502, turns out it fixed the error I was facing but introduced a new one. This fixes both
(cherry picked from commit 67886bab1e)