This prevents errors when encountering options which have been defined in newer
versions of clang-format, and are invalid in the YAML for the old version.
Bump minimum supported clang-format version to 12 (where `--Wno-error=unknown`
was added).
Use clang-format 12 on CI (13 is not available yet on the Ubuntu 20.04 images).
(cherry picked from commit 55d05565d0)
Disable minimum amount of spaces in comment prefix for now, as it otherwise
modifies the whole codebase. That's something we probably want to use as it
matches our convention, but we should look into fully converting these
comments to our style guide at the same time.
(cherry picked from commit 63544c3a9d)
this commit makes godot executable to return zero exit code
once a valid script is passed via --script during --check-only
(cherry picked from commit 75ae3164a4)
* Changed another instance of ERR_FAIL_COND in the same file to
ERR_FAIL_NULL_MSG instead.
* Checked for potential access of the viewport pointer elsewhere in same
file.
Fixes#54098
(cherry picked from commit 497b00a937)
Changing the collision layer of a sleeping body was not triggering area
updates correctly.
Bodies need to be active for collision to be checked against already
overlapping bodies and areas.
Neighbors need to be activated too in order to handle the case where a
static body is modified (it can't be activated directly but paired
bodies need to check their collision again).
In 3D, moved the call to wakeup() from the physics server to
BodySW::_shapes_changed to make it consistent with 2D and also handle
the case where shapes are modified (_shapes_changed is called in both
this case and collision layer changes).
The BVH implementation is not checking collision layers on existing
pairs on move like other physics broadphases do.
This is solved by adding a new call to trigger pair callbacks again so
the physics engine can check layers again (specific to the BVH version,
other broadphase implementations just trigger a move like before).
Add new error type to BakeError to signalise that there is no root node to
start baking from.
Document the new error type, as well as BAKE_ERROR_NO_LIGHTMAPPER.
When switching the mesh at runtime, the physics server wasn't properly
updated with the new mesh. Now we keep track of the soft body mesh to
make sure everything is properly initialized on pre-draw.
Also cleaned a few things around private methods.
This reduces the size of the editor binaries significantly, as we otherwise
embed all WIP translations, including ones with very low completion ratios,
and end up paying for the size of all `msgid`s for each locale.
Cf. https://github.com/godotengine/godot-proposals/issues/3421 for details.
The thresholds used are:
- 30% for the editor interface (should already include most common strings
while more obscure ones like UndoRedo action names might be untranslated).
- 10% for the class reference: this is a HUGE resource and 10% is already
a lot of useful content, especially if focused on the most used APIs.
For 3.x, we also exclude languages that require complex text layout support
to be displayed properly.
This currently reduces the size of the editor binary by 17% on Linux.
The list will be synced manually every now and then.