Commit Graph

41 Commits

Author SHA1 Message Date
Hugo Locurcio 413689559c
Always register the Smooth Trimesh Collision project setting
This ensures the project setting never disappears from the editor,
even if the current physics engine is GodotPhysics.

This also adds documentation for the Smooth Trimesh Collision
project setting.
2022-03-02 18:50:21 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde 140350d767
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
2021-05-05 15:02:01 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde 3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde 49646383f1
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 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
Marcel Admiraal 5692bb4c81 Ensure Bullet HeightMapShape3D data width and depth are at least 2.
(cherry picked from commit 236857c92a)
2020-07-28 00:42:32 +02:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Robin Hübner 8aeade74db Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in rest of 'modules/' 2019-08-12 10:15:54 +02:00
Rémi Verschelde c38d9180df
Revert "Revert "Implemented terrain raycast acceleration"" 2019-05-16 10:18:48 +02:00
Rémi Verschelde 458827efc2
Revert "Implemented terrain raycast acceleration" 2019-04-23 13:56:23 +02:00
Hein-Pieter van Braam 4575769115
Merge pull request #25543 from Zylann/optimize_bullet_heightfield_raycast2
Implemented terrain raycast acceleration
2019-04-23 06:25:15 +03:00
Marc Gilleron cdcdba704b Fix wrong heights data used to compute min and max heights 2019-04-04 21:22:18 +01:00
Marc Gilleron bd9f92cdf8 Implemented terrain raycast acceleration using Bresenham traversal and 1 level of chunks 2019-02-01 14:57:17 +01:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde de4d7a785e Fix size in HeightMapShapeBullet::set_data 2018-12-27 10:29:25 +01:00
Rémi Verschelde 286f52c70a
Merge pull request #20745 from Zylann/heightmap_from_image
Allow to create a heightmap collision shape from an image
2018-12-09 23:08:51 +01:00
Andrea Catania 7d681274f8 Improved code that handles collision shapes, fixes #21945 2018-10-06 16:50:10 +02:00
Andrea Catania 5328dcb7bb Improved trimesh stability 2018-10-05 15:15:54 +02:00
Andrea Catania 88967e4001 Fixing trimesh precision 2018-09-06 18:53:03 +02:00
Andrea Catania 9a67a07a2c Fixed crash if convex has 0 vertices 2018-08-29 17:34:26 +02:00
Rémi Verschelde 912131fe03
Merge pull request #20101 from panzergame/shape_margin
Expose bullet shape margin to UI.
2018-08-21 16:17:11 +02:00
Tristan Porteries e5bfa98d0f Expose bullet shape margin to UI.
The margin value is exposed into the UI for shape ressource.
This value can be modified through set_margin and get from get_margin
or by using the property margin. Each time the margin is modified
the associated collision shape is recreated and the margin value is
used in ShapeBullet::prepare.
2018-08-16 16:58:15 +02:00
Marc Gilleron 6cf4f62f2b Allow to create a heightmap collision shape from an image 2018-08-05 19:43:47 +01:00
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
muiroc 0a36e974da added cylinder shape support 2018-07-01 11:16:54 +02:00
Rémi Verschelde e1b9c98032
Merge pull request #17806 from Zylann/fix_heightmap_shape_size_check
Make heightmap shape usable in PhysicsServer
2018-04-05 13:29:57 +02:00
Alexander Alekseev b569251110 Fix of a possible memory leak: ConcavePolygonShapeBullet::setup was able to exit without releasing the 'shapeInterface' pointer. 2018-04-02 09:29:34 +03:00
Marc Gilleron a66e1af168 Make heightmap shape usable from PhysicsServer
- Fixed bad size check
- Fixed bad member initialization
- Removed unused cell_size (Bullet expects us to use localScaling)
- Accept precomputed min/max height, will be calculated if not provided
2018-03-28 20:33:51 +02:00
Andrea Catania ffc3ef8677 Improved ray shape (2D and 3D) by addiing the possibility to act as regular shape 2018-02-19 20:59:57 +01:00
Rémi Verschelde 9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
AndreaCatania c507a4988d Removed useless error print on bullet shapes 2018-01-08 16:49:04 +01:00
AndreaCatania 50c99370d2 Fixed Bullet collision shapes scale 2018-01-08 16:44:33 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde f8b58784bc
Merge pull request #13257 from AndreaCatania/master
Fixed kinematic movement stuck, Changed how shape scale works.
2018-01-04 15:26:23 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
AndreaCatania f4b96cc0a9 Fixed kinematic movement stuck, Changed how shape scale works, Optimized 2017-12-23 18:23:12 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
AndreaCatania 0a0800ebec Removed shape margin 2017-11-23 14:42:28 +01:00
AndreaCatania fb4871c919 Bullet physics engine implementation
This is a bullet wrapper that allows Godot to use Bullet physics and benefit about all features.
Also it support all specific Godot physics functionality like multi shape body, areas, RayShape, etc..
It improve the Joints, Trimesh shape, and add support to soft body even if Godot is not yet ready to it.
2017-11-04 20:52:59 +01:00