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
GodotBody3D::_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).
This can be used to improve 3D shadow rendering quality at little
performance cost. Unlike the existing Hard setting which is limited
to variable shadow blur only, it works with both fixed blur and
variable blur.
Proper logic for changing physics state when disabled and disabled mode
is changed (it was unnecessarily making calls to re-initialize physics).
Extra error handling in soft body implementations to avoid crashes with
invalid mesh.
Update collision_object_3d.cpp
2d modified and UINT32 usage
Proper uINT32max usage
Change the unreacheable return value of shape_find_owner()
This reverts commit 5be98b81428169ba2dd5baecd00f1adfd9260e5c, reversing
changes made to efa3ff6b95.
Change the unreacheable return value of shape_find_owner()
changed from 0 to uint32_max"
This reverts commit c143bb099af2666454f82428a57f2721af60a84d.
Revert "changed from 0 to uint32_max""
This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65.
Revert "changed from 0 to uint32_max"
This reverts commit c143bb099af2666454f82428a57f2721af60a84d.
Revert "Revert "changed from 0 to uint32_max"""
This reverts commit c81d1073ec21b4cde4684a6dbd595f3359283bad.
Revert "changed from 0 to uint32_max"
This reverts commit c143bb099af2666454f82428a57f2721af60a84d.
Revert "changed from 0 to uint32_max""
This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65.
Revert "Revert "changed from 0 to uint32_max"""
This reverts commit 6dbd972aa5c4580d4f6270ead6c66eea18617f29.
Revert "changed from 0 to uint32_max""
This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65.
Revert "Revert "changed from 0 to uint32_max"""
This reverts commit b769ac2d11ad12f02a388d9dad17519f81d9c3b6.
Revert "Revert "Revert "changed from 0 to uint32_max""""
This reverts commit 1e8d84f7ec12da01c3153e08bb8609cf2c6fd58a.
Revert "Revert "Revert "Revert "changed from 0 to uint32_max"""""
This reverts commit 0dc17abefad6d540c18bba7b4df9d8c04e090d0c.
Change the unreacheable return value of shape_find_owner()
That removal was correct, but triggered a bug in our messy-as-heck main.cpp
detection logic for editor/project manager/project/command line tool...
Fixing this is for another day.
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.
This currently reduces the size of the editor binary by 17% on Linux.
The list will be synced manually every now and then.
(cherry picked from commit 8425c58991)