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
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
Andrea Catania
a2b5e7971a
Added BulletPhysics APIs to return internal objects and fixed a typo.
2020-06-24 09:09:50 +02:00
Andrea Catania
7709a83493
Optimized physics object spawn time and optimized shape usage when the shape is not scaled
2020-06-24 08:54:11 +02:00
Rémi Verschelde
10d2fa4210
Merge pull request #39747 from nekomatata/fix-crash-space-query
...
Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queries
2020-06-22 10:46:39 +02:00
PouleyKetchoupp
8b0232bf29
Fix crashes with invalid shapes in BulletPhysicsDirectSpaceState queries
2020-06-22 10:22:11 +02:00
Rémi Verschelde
c59be89273
Merge pull request #34236 from madmiraal/enable-bullet-debug
...
Enable Bullet DEBUG on debug builds.
2020-06-21 18:41:42 +02:00
Marcel Admiraal
8ffe905c45
Check for motion in cast_motion() before doing Bullet convexSweepTest().
...
Also ensure that default closest_safe and closest_unsafe values are
defined in cast_motion() and before cast_motion() is called.
2020-06-21 16:20:26 +01:00
Aaron Franke
ba27deef06
Refactor physics force and impulse code
2020-06-02 23:18:59 -04:00
Rémi Verschelde
e67339eeca
Merge pull request #39085 from madmiraal/fix-39059
...
Correct Bullet's default Area angular damp value.
2020-05-29 12:10:47 +02:00
Andrii Doroshenko (Xrayez)
69d5de632e
Split Geometry
singleton into Geometry2D
and Geometry3D
...
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Marcel Admiraal
ddcc2a0360
Correct Bullet's default Area angular damp value.
2020-05-27 11:57:48 +01:00
Rémi Verschelde
ca3192d18a
Style: Fix unnecessary semicolons that confused clang-format
2020-05-19 11:24:58 +02:00
Rémi Verschelde
0ee0fa42e6
Style: Enforce braces around if blocks and loops
...
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96
Style: Enforce separation line between function definitions
...
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
-o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
-o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```
This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.
This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.
Part of #33027 .
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
...
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.
This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.
There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).
Part of #33027 .
2020-05-14 16:54:55 +02:00