muiroc
14a227e9e7
fixed godotphysics sat dispatch table
2018-08-05 00:02:14 +02:00
Rémi Verschelde
03e11c13bf
Add check to clang 6.0 compiler bug workaround
...
Extending on b68222e4e7
to ensure that it still
has the exact same behaviour as the previous code, as discussed with @hpvb.
2018-07-26 17:25:16 +02:00
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
Rémi Verschelde
f778bd8e69
Merge pull request #20404 from TigerCaldwell/master
...
Ensured consistency between RigidBody, PhysicsDirectBodyState, PhysicsServers and their 2D counterparts
2018-07-25 08:25:34 +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
Wilson E. Alvarez
a22e746bc3
Removed unnecessary assignments
2018-07-24 09:51:03 +02:00
AndreaCatania
17ebbfb56d
Implemented Soft body
...
- Soft Body Physics node
- Soft Body Rendering
- Soft body Editor
- Soft body importer
2018-07-23 20:50:23 +02:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
...
Physics material
2018-07-23 07:37:03 -03:00
Juan Linietsky
2b9902db06
-Fix disable_3d flag
...
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-21 17:26:49 -03:00
muiroc
0a36e974da
added cylinder shape support
2018-07-01 11:16:54 +02:00
bruvzg
b68222e4e7
Workaround for clang 6 bug.
2018-05-14 18:11:26 +03:00
AndreaCatania
5f66734d2d
Implemented physics material
...
Hidden a function
Fixed travis static check
2018-05-11 03:23:09 +02:00
Rémi Verschelde
bf7ca623a6
Fix Coverity reports of uninitialized scalar variable
...
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html
These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Juan Linietsky
10448063c4
Merge pull request #17594 from ivodopiviz/float-overflow
...
Changed debug max distance to avoid overflow
2018-04-08 09:14:29 -03:00
Marcelo Fernandez
9042ef3836
Fix missing const in CapsuleShapeSW::get_area
2018-03-21 23:58:40 -03:00
Ivan Vodopiviz
55f79f2e80
Changed debug max distance to avoid overflow
...
Changed it to roughly sqrt(FLT_MAX), it's a little less to account for float inaccuracies.
Fixes #1835
2018-03-17 23:32:07 +01:00
Rémi Verschelde
497a4e9e25
Merge pull request #16757 from AndreaCatania/kinpush
...
Improved kinematic body, Now can move rigid body
2018-02-20 15:41:10 +01:00
Andrea Catania
6ed392f47a
Improved kinematic body 2D and 3D, Now can move rigid body
2018-02-20 12:43:47 +01:00
Rémi Verschelde
b2aeb02e7d
Merge pull request #16530 from AndreaCatania/rays
...
Improved ray shape (2D and 3D) by addiing the possibility to act as r…
2018-02-19 22:15:49 +01: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
be67f2e4ba
Merge pull request #16751 from AndreaCatania/moreAPIs
...
Added Physics state APIs
2018-02-19 20:22:18 +01:00
Artem Varaksa
d35e486228
Clean up some bad words from code comments
2018-02-17 16:00:39 +03:00
Andrea Catania
a930797c31
Added Physics state APIs
2018-02-16 17:48:07 +01:00
Andrea Catania
a42765dada
Added physics API in order to enable/disable collisions between rigidbody attached to a joint with bullet physics bullet
...
Fixes #16424
2018-02-05 18:54:07 +01:00
Paolo Perkovic
08d4bfacaf
Fix inconsistencies and typos in argument names
2018-02-01 16:47:20 +01:00
Lee Pugh
ac26bf0fb4
Expose PhysicsDirectBodyState.get_contact_impulse
2018-01-12 15:27:45 -06: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
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +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
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
AndreaCatania
d6e413bb9c
Removed type_mask and fixed some variable name
2017-11-21 22:56:40 +01:00
Ferenc Arn
d28763a4c1
Rename Rect3 to AABB.
...
Fixes #12973 .
2017-11-17 11:01:41 -05:00
Eric Rybicki
bd5df84199
Allow double-axis lock in RigidBody and KinematicBody
2017-11-10 22:33:54 +01:00
Juan Linietsky
19b1ff0fc5
Disabled filter clip by default and made it optional, fixes #12368 , likely others too
2017-11-10 09:22:25 -03:00
Juan Linietsky
50a9bd4e23
Merge pull request #12713 from AndreaCatania/master
...
Rewritten kinematic system
2017-11-09 16:08:58 -03:00
Rémi Verschelde
0095d642c7
Merge pull request #11379 from m4nu3lf/feature/no_bias_overrotation
...
Avoid bias over rotation in contact resolution
2017-11-08 08:19:28 +01:00
AndreaCatania
10f879bf88
Rewritten kinematic system
2017-11-07 15:22:09 +01:00
Rémi Verschelde
cb3f594b14
Merge pull request #11249 from m4nu3lf/bugfix/get_euler
...
Fix inertia tensor update & Generic6DOFJoint & Simplify Basis::get_euler()
2017-10-31 23:03:01 +01:00
Rémi Verschelde
24b3733f3b
Merge pull request #10770 from RandomShaper/fix-joints
...
Fix joints collision exceptions, plus a bit more
2017-10-31 23:02:37 +01:00
Pedro J. Estébanez
7b12ae39f2
Rename RayCasts collision_layer to collision_mask
...
The point is that `RayCast`s are checked against objects' `collision_layer`(s), but they themselves are considered no to _belong_ to any layer. Therefore, the correct name for their property is `collision_mask`, rather than `collision_layer`.
Only renaming is needed since the behavior was already the right one, only that it wasn't matching what users would expect from the name and description of the property.
Fixes #7589 , where it's also discussed.
2017-10-21 22:17:47 +02:00
Grosskopf
f8c7d32987
Added documentation for 3D Joints, the 2D Pin Joint, and the Physicsservers, also a minor bugfix in the 3D Pinjoint.
2017-10-14 22:17:26 +02:00
Rémi Verschelde
8e9b99fe59
Merge pull request #11702 from AndreaCatania/bodyDS
...
Added new API to get body direct state
2017-10-09 11:01:36 +02:00
AndreaCatania
4537977d6d
Renamed fixed_process to physics_process
2017-09-30 16:19:07 +02:00
AndreaCatania
c56c67db39
Added new API to get body direct state
2017-09-29 17:33:30 +02:00
m4nu3lf
0cb8d3ccbf
Fix wrong index in get_euler_xyz and wrong get_euler in G6DF Joint
2017-09-22 20:06:23 +01:00
m4nu3lf
d4452e3a65
Fix Inertia tensor update & Generic 6DOF Joint
2017-09-22 20:05:02 +01:00
letheed
5ad9be4c24
Rename pos to position in user facing methods and variables
...
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
2017-09-20 13:11:10 +02:00
m4nu3lf
650d5630af
Avoid bias overrotation in contact resolution
2017-09-18 18:31:58 +01:00
Wilson E. Alvarez
072e379ffe
Renamed function arguments to keep them consistent between declaration and implementation
2017-09-14 13:49:15 -04:00
Rémi Verschelde
6ec9383706
Merge pull request #11125 from zavb074/master
...
Removed code that flips normal if facing away from test direction
2017-09-13 19:33:01 +02:00
Rémi Verschelde
aabbd00284
Merge pull request #10908 from hpvb/fix-unused-variables
...
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Pedro J. Estébanez
fbeb27b01d
Remove joint freeing logic from physics servers
...
Since joint resources are created by joint nodes and also they take care of freeing them, the physics server doesn't need to free bodies' joints explicitly.
The logic for clearing the constraints map/set is still relevant as there may be collision pairs and in their case its the server itself the one creating them and therefore releasing them.
2017-09-09 21:45:22 +02:00
Lewis
b11e145ddc
Removed code that flips normal if facing away from test direction
2017-09-09 20:08:35 +01:00
Hein-Pieter van Braam
b2a38854fd
Fix unused variable warnings
...
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam
67a706fc1b
Fix various assorted warnings
...
Fix various warnings that don't have enough instances to merit
individual commits. Also fixes a potential bug in audio_server.cpp.
2017-09-08 14:57:48 +02:00
Juan Linietsky
adde89e8b1
-Added an optimization so physics shapes are configured later, speeds up grid map loading and editing
2017-09-03 14:54:15 -03:00
Hein-Pieter van Braam
9c63ab99f0
Fix use of unitialized variables
...
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde
7ad14e7a3e
Dead code tells no tales
2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f
Use HTTPS URL for Godot's website in the headers
2017-08-27 14:16:55 +02:00
Wilson E. Alvarez
7a07895920
Added/Fixed null pointer checks
2017-08-26 16:58:47 -04:00
Wilson E. Alvarez
738d2ab969
Removed unnecessary assignments
2017-08-21 15:15:55 -04:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Rémi Verschelde
035d74f54a
Rename cull_AABB to cull_aabb
...
Part of #8830 .
2017-08-16 17:01:05 +02:00
Bojidar Marinov
fe1c3349e5
Fix freeze on close of game using 2D physics introduced by #9832
...
Additionally, port the fix to 3D physics, just in case
2017-08-08 23:17:11 +03:00
Indah Sylvia
5ae78fdf6a
Makes all Godot API's methods Lower Case
2017-08-07 18:24:35 +07:00
Pedro J. Estébanez
7264716e86
Improve cleanup of physics constraints
...
Don't abort the loop when one is already released
Remove warning on already-released constraint
Clean up area's contraints as well
Clear the constraint data as well
Do the cleanup as soon as the space changes
2017-08-01 01:39:40 +02:00
Pedro J. Estébanez
ac2c5e8dcd
Add missing initializers
2017-07-25 04:45:01 +02:00
Pedro J. Estébanez
bc1d58c50d
Extend check for same space to all 2D/3D bodies/shapes
2017-07-25 04:45:01 +02:00
Pedro J. Estébanez
fa1049b46b
Fix early-accepting area-area match when masks don't match
2017-07-25 04:45:01 +02:00
Poommetee Ketson
c7c65ca6ba
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-22 18:14:08 +07:00
Juan Linietsky
25678b1876
-Renamed GlobalConfig to ProjectSettings, makes more sense.
...
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Juan Linietsky
2e73be99d8
Lots of work on Audio & Physics engine:
...
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
dotquixote
23f10c31de
ConeTwistJoint: Initialize 'm_angularOnly'.
2017-06-26 09:17:19 +02:00
Poommetee Ketson
6c44fff508
Refactor layer_mask to collision_layer
2017-06-14 10:58:34 +07:00
alexholly
935f730170
renamed all Rect3.pos to Rect3.position
2017-06-09 15:54:02 +02:00
Rémi Verschelde
c8aea60324
Improve documentation of thirdparty code snippets
2017-05-07 11:42:37 +02:00
Rémi Verschelde
5ae1e172da
Merge pull request #8277 from tagcup/math_checks
...
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Ferenc Arn
9a37ff1e34
Added various functions basic math classes. Also enabled math checks only for debug builds.
...
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
Rémi Verschelde
debeee56f7
Fix typos in source code using codespell
...
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Rémi Verschelde
5dbf1809c6
A Whole New World (clang-format edition)
...
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde
45438e9918
Style: prevent bogus macro formatting by clang-format
...
Also prevent formatting of thirdparty snippet
2017-03-05 16:29:53 +01:00
Rémi Verschelde
a1cbe8e22b
Merge pull request #7878 from RebelliousX/else
...
Bunch of missing `else` statements and general logic
2017-02-28 23:03:10 +01:00
Saracen
5e938f0001
Inf and NaN support added to GDScript.
2017-02-28 21:52:33 +00:00
Thaer Razeq
f50488a361
Various fixes detected using PVS-Studio static analyzer.
...
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06:00
Rémi Verschelde
f13e87e257
Merge pull request #7802 from tagcup/physics_64bit
...
Use real_t as floating point type in physics code.
2017-02-26 20:10:54 +01:00
Juan Linietsky
de0045cf1b
-renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
...
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
Ferenc Arn
eae94ba1c8
Use real_t as floating point type in physics code.
...
This is a continuation of an on-going work for 64-bit floating point builds, started in PR #7528 . Covers physics, physics/joints and physics_2d code.
Also removed matrixToEulerXYZ function in favor of Basis::get_euler.
2017-02-13 17:42:02 -06:00
m4nu3lf
0d9b53ce5e
Fixed property setter in G6DOF joint
2017-02-03 21:23:23 +00:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +01:00
Rémi Verschelde
3890256fc5
Style: Cleanups, added headers, renamed files
...
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.
Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Rémi Verschelde
e0faf8a51b
Style: Cosmetic fixes to play nice with clang-format
2017-01-15 16:42:17 +01:00
Juan Linietsky
52e2a1e98d
fixed to 2D physics, makes it work again
2017-01-15 09:50:27 -03:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
bc26f90581
Type renames:
...
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
710692278d
Merge pull request #7426 from m4nu3lf/bugfix/physics
...
Fixed inertia tensor computation and center of mass
2017-01-10 22:27:32 -03:00
m4nu3lf
2e38b32e0f
Fixed inertia tensor computation and center of mass
2017-01-09 00:13:54 +00:00