Rémi Verschelde
ef93fec789
Merge pull request #15643 from organicpencil/bullet_contact_impulse
...
Expose PhysicsDirectBodyState.get_contact_impulse
2018-07-26 15:36:37 +02: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
Tiger Caldwell
40c7716586
Modified RigidBody, PhysicsDirectBodyState, PhysicsServer, and their respective 2D counterparts to be more consistent and to include more useful methods.
...
RigidBody:
- Added add_central_force
- Added add_force
- Added add_torque
- Added apply_central_impulse
RigidBody2D:
- Added add_central_force
- Added add_torque
- Added apply_central_impulse
- Added apply_torque_impulse
PhysicsDirectBodyState:
- Added apply_central_impulse
Physics2DDirectBodyState:
- Added add_central_force
- Added add_force
- Added add_torque
- Added apply_central_impulse
- Added apply_impulse
- Added apply_torque_impulse
PhysicsServer:
- Added body_add_force
- Added body_add_torque
- Added body_add_central_force
- Added body_apply_central_impulse
Physics2DServer:
- Added body_add_torque
- Added body_add_central_force
- Added body_apply_central_impulse
- Added body_apply_torque_impulse
Also fixed some small bugs along the way
2018-07-24 05:00:56 -04:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
...
Physics material
2018-07-23 07:37:03 -03:00
muiroc
0a36e974da
added cylinder shape support
2018-07-01 11:16:54 +02:00
AndreaCatania
5f66734d2d
Implemented physics material
...
Hidden a function
Fixed travis static check
2018-05-11 03:23:09 +02:00
Andrea Catania
e1e78a51aa
Implemented Bullet method omit forces
2018-02-27 08:41:17 +01:00
Andrea Catania
a930797c31
Added Physics state APIs
2018-02-16 17:48:07 +01:00
Neil Moore
5fb8a6a6c2
Fixes gravity calculation for kinematic bodies in Bullet
2018-02-13 19:14:10 -05:00
Mariano Suligoy
d090856560
attemp to fix #15743
2018-01-21 14:23:30 -03: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
Lee Pugh
ac26bf0fb4
Expose PhysicsDirectBodyState.get_contact_impulse
2018-01-12 15:27:45 -06: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
AndreaCatania
0f5c87bfa4
Fixed dispatch callback
2017-12-23 12:36:51 +01:00
AndreaCatania
aea1b2e6c3
Fixed rigidbody sleping, Fixes #13952
2017-12-23 05:13:39 +01:00
Rémi Verschelde
dfb3634c34
Merge pull request #13836 from AndreaCatania/scale
...
Fixed bullet scale on get_transform and joints
2017-12-11 10:35:09 +01:00
AndreaCatania
5dee44bbc1
Implemented physics linear and angular lock
2017-12-10 17:21:14 +01:00
Rémi Verschelde
25b36f18d3
Merge pull request #12756 from Stratos695/master
...
Allowing double-axis lock in RigidBody & KinematicBody (Fixes #12500 )
2017-12-09 13:01:41 +01:00
AndreaCatania
5cfc98cace
Fixed bullet get_transform scale
2017-12-08 16:46:41 +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
967854f8e9
Set gravity on change body mode
...
Fixes #13140
2017-11-21 18:31:43 +01:00
Eric Rybicki
bd5df84199
Allow double-axis lock in RigidBody and KinematicBody
2017-11-10 22:33:54 +01:00
AndreaCatania
10f879bf88
Rewritten kinematic system
2017-11-07 15:22:09 +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