Rafał Mikrut
f7209b459b
Initialize class/struct variables with default values in modules/
2021-02-08 10:57:18 +01:00
Aaron Franke
cb9fc117d1
Use real_t in physics code
2021-01-28 18:15:42 -05:00
Rémi Verschelde
011d201046
Merge pull request #43923 from madmiraal/fix-43588
...
Fix cast_motion sometimes failing
2021-01-14 20:44:19 +01:00
Marcel Admiraal
797a7fc6cc
Only remove Bullet's body constraints when removing body from space
2021-01-13 13:32:46 +00:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Marcel Admiraal
026aa4381d
Add signal to inform joint that body has exited tree
2020-12-31 16:19:57 +00:00
Rémi Verschelde
a04b9669e8
Merge pull request #42881 from madmiraal/fix-39767
...
Set Bullet collision shape index to zero when using a single shape or ConcavePolygonShape
2020-12-28 16:16:33 +01:00
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
Rémi Verschelde
33ad8c5048
Merge pull request #43898 from madmiraal/fix-43852
...
Remove any constraints connected to a Bullet body when removing it
2020-12-19 09:29:45 +01:00
Rémi Verschelde
c7b53c03ae
SCons: Add explicit dependencies on thirdparty code in cloned env
...
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.
So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).
This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-18 10:29:34 +01:00
Marcel Admiraal
9bc62bf449
Remove Generic6DOFJoint precision property
2020-12-15 10:14:48 +00:00
Marcel Admiraal
356a2b7235
Fix cast_motion sometimes failing
...
- Fixes Godot physics failing when the cast Shape is inside of, or
already colliding with another Shape.
- Fixes Bullet physics failing when there is no motion.
- Ensures Godot and Bullet physics behave the same.
- Updates the documentation to exclude the caveats for the failures and
differences.
2020-11-27 15:33:00 +00:00
Marcel Admiraal
6fe2206ec6
Remove any constraints connected to a Bullet body when removing it
2020-11-26 18:18:41 +00:00
PouleyKetchoupp
faca8b77aa
Fixed ccd enabled by default on Bullet bodies
...
It was due to main_shape_changed being called two times for each
added body. The first time it disables ccd, which sets the internal ccd
threshold to be 10000. The second time, it enables ccd again because
the internal threshold is > 0.
Bodies are now consistently set with a ccd threshold of 0 when ccd is
disabled.
This was causing crashing asserts in Bullet when adding bodies in some
scenarios, in btVector3::normalize():
btAssert(!fuzzyZero());
These crashes will still happen with ccd enabled.
2020-11-25 15:02:33 -07:00
Rémi Verschelde
d7176e9040
Merge pull request #42167 from madmiraal/fix-42108
...
Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.
2020-11-16 09:32:48 +01:00
reduz
127458ed17
Reorganized core/ directory, it was too fatty already
...
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Marcel Admiraal
7f26ce4486
Set Bullet collision shape index to zero when using a single shape
...
or ConcavePolygonShape3D.
2020-10-19 11:51:11 +01:00
reduz
ee06a70ea6
Refactor MethodBind to use variadic templates
...
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
Rémi Verschelde
5971a97a0c
Merge pull request #42649 from madmiraal/reapply-41806
...
Reapply -Avoid adding margin twice along capsule Y axis
2020-10-15 17:20:22 +02:00
Rémi Verschelde
4efcb4c442
Merge pull request #42592 from madmiraal/fix-42567
...
Initialise Bullet RigidBody friction to the expected value of 1.0
2020-10-13 09:51:53 +02:00
Marcel Admiraal
0e12a0c66a
Reapply -Avoid adding margin twice along capsule Y axis
...
Co-authored-by: Andrea Catania <info@andreacatania.com>
2020-10-08 16:22:38 +01:00
Andrea Catania
2e8cb8a9e2
Fixed #41040 in an alternative way now that #39726 is reverted
2020-10-08 13:10:48 +02:00
Andrea Catania
1829c67762
Revert "Optimized physics object spawn time and optimized shape usage when the shape is not scaled"
...
This reverts commit 7709a83493
.
2020-10-08 12:22:59 +02:00
Andrea Catania
8827e315d4
Revert "- Enhanced the flush mechanism by flushing only needed thing."
...
This reverts commit 8d0d6d6921
.
2020-10-08 12:16:12 +02:00
Marcel Admiraal
47431dbb8e
Initialise Bullet RigidBody friction to the expected value of 1.0
2020-10-06 09:10:05 +01:00
Duroxxigar
4834e14493
Updated getters and setters names for toplevel
2020-10-02 19:09:01 -04:00
Marcel Admiraal
5278e07095
Check entire basis column for zero size when unscaling Bullet basis.
2020-10-02 10:30:08 +01:00
Rémi Verschelde
0923a1f700
Merge pull request #41426 from madmiraal/fix-bullet-zero-scale
...
Check and correct for zero scaling when unscaling Bullet basis.
2020-09-20 09:24:50 +02:00
Marcel Admiraal
41209efa7f
Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.
2020-09-18 10:43:31 +01:00
Marcel Admiraal
7e73dd0b2e
Fix RigidBodyBullet areasWhereIam element shift.
2020-09-14 18:43:21 +01:00
Andrea Catania
53e42930d9
Avoid adding margin twice along capsule Y axis
2020-09-06 11:33:27 +02:00
Marcel Admiraal
4b14916288
Check and correct for zero scaling when unscaling Bullet basis.
2020-08-22 08:16:13 +01:00
Andrea Catania
6831da630f
Merge pull request #40989 from madmiraal/fix-40739
...
Reload Bullet space override modifier even when RigidBody is inactive.
2020-08-05 13:54:25 +02:00
Rafał Mikrut
ac1b2da96e
Fixes leak when creating bullet shape
2020-08-05 10:04:04 +02:00
Marcel Admiraal
3a05ca9c2b
Reload Bullet space override modifier even when RigidBody is inactive.
2020-08-03 11:39:16 +01:00
Rémi Verschelde
c845e20add
Revert "Allow Area2D and 3D mouse events without a collision layer"
...
This reverts commit 7eebb06b55
.
2020-07-27 22:45:01 +02:00
Rémi Verschelde
3e87022ecc
Merge pull request #40252 from AndreaCatania/flush
...
Improved Bullet Physics flush algorithm, Lazy collision filter reload, Shape reload regression fix.
2020-07-27 13:57:47 +02:00
Andrea Catania
8d0d6d6921
- Enhanced the flush mechanism by flushing only needed thing.
...
- Flushing Areas before anything else.
- Make sure to correctly fetch gravity when the integrate_forces function is used
- Lazy reload body when layer and mask changes
- Shapes are reloaded just before the physics step starts.
- Improved some other parts of the code.
- Added override keyword
- Using LocalVector
2020-07-27 08:25:47 +02:00
Marcel Admiraal
236857c92a
Ensure Bullet HeightMapShape3D data width and depth are at least 2.
2020-07-24 13:40:26 +01:00
Marcel Admiraal
ec92a26d08
Use difference in position to check whether motion in Bullet is too close
...
to zero.
2020-07-18 13:15:10 +01:00
volzhs
4e987f5ab9
Fix overlappingObjects vector crash
...
use clear_overlaps() instead of clearing overlappingObjects directly
2020-07-14 02:34:18 +09:00
Marcel Admiraal
2ea644fda4
Set isScratchedSpaceOverrideModificator to false when removing a
...
RigidBodyBullet from a space.
2020-07-12 07:46:14 +01:00
Rémi Verschelde
d0cea291d2
Merge pull request #40193 from KoBeWi/dem_pikks
...
Allow Area2D and 3D mouse events without collision layer
2020-07-11 00:26:56 +02:00
Marcel Admiraal
26fcf2b04c
Add override keywords.
2020-07-10 13:56:54 +01:00
Tomasz Chabora
7eebb06b55
Allow Area2D and 3D mouse events without a collision layer
...
Co-authored-by: madmiraal <madmiraal@users.noreply.github.com>
2020-07-10 13:23:20 +02:00
Marcel Admiraal
f31b2a1bba
Move Bullet physics query flush from Bullet space pre-tick callback to
...
Bullet physics flush_queries() as is done in Godot physics, and remove
the pre-tick callback.
2020-07-08 11:39:41 +01:00
Rémi Verschelde
bd3a468fc2
Merge pull request #39726 from AndreaCatania/add_body_impr_physics
...
Optimized physics object spawn time
2020-07-07 12:15:09 +02:00
Rémi Verschelde
480cb25961
Merge pull request #39735 from AndreaCatania/bullet_phy_add_api
...
Added BulletPhysics APIs to return internal objects.
2020-07-07 12:13:51 +02:00
Marcel Admiraal
a615d359e8
Clear a Bullet Area's overlappingObjects vector when removing an area
...
from a space.
2020-07-06 12:04:15 +01:00
Rémi Verschelde
67e4082b1e
Merge pull request #37350 from aaronfranke/force-impulse
...
Refactor physics force and impulse code to use (force, position) order
2020-07-02 18:39:16 +02:00