Marcel Admiraal
41d85ed5a9
Trigger RigidBodyBullet space override updates when Area properties change.
2020-09-27 17:20:15 +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
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
Rémi Verschelde
dcd1151d77
Enforce use of bool literals instead of integers
...
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1f6f364a56
Port member initialization from constructor to declaration (C++11)
...
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.
Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Rémi Verschelde
94721f5ab8
Revert "Renamed plane's d to distance"
...
This reverts commit ec7b481170
.
This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde
69de7ce38c
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
...
Part of #33027 .
2020-05-10 13:13:54 +02:00
Rémi Verschelde
e956e80c1f
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
...
Part of #33027 , also discussed in #29848 .
Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Marcus Elg
ec7b481170
Renamed plane's d to distance
2020-05-10 12:12:51 +02:00
PouleyKetchoupp
9353a2bbd1
Better damping implementation for Bullet rigid bodies
...
Apply old method for linear & angular damping in Bullet, in order to
make it easier to tweak and consistent with Godot Physics.
2020-04-27 18:24:33 +02:00
PouleyKetchoupp
3e7db60d56
Update to bullet master (2.90)
2020-04-27 11:37:47 +02:00
Rémi Verschelde
0ef8bcac4d
DocData: Skip unexposed classes
...
Properly expose classes that we actually want accessible.
2020-04-20 12:51:10 +02:00
PouleyKetchoupp
30b184cb06
Fix set_sleep_state in Bullet body direct state
...
It was inverted, it should set the body to be active when sleep is disabled.
2020-04-14 11:39:34 +02:00
lupoDharkael
95a1400a2a
Replace NULL with nullptr
2020-04-02 13:38:00 +02:00
Rémi Verschelde
5f11e15571
Merge pull request #37504 from qarmin/out_of_bound_cursor
...
Fix array out of bounds access caused by uninitialised variables
2020-04-02 13:07:55 +02:00
Marcel Admiraal
ff90327146
Enable Bullet DEBUG on debug builds.
2020-04-01 18:37:52 +01:00