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
Rémi Verschelde
7c860a7d4f
Merge pull request #9832 from RandomShaper/port-physics-fixes
...
Port physics fixes
2017-08-01 22:23:59 +02: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
bc1d58c50d
Extend check for same space to all 2D/3D bodies/shapes
2017-07-25 04:45:01 +02:00
Pedro J. Estébanez
507b48179f
Fix 2D broadphase remove-while-iterating logic
2017-07-25 04:45:01 +02:00
Pedro J. Estébanez
b4129df96c
Fix crash in Space2DSW::test_body_motion()
...
Fixes #9692 .
2017-07-25 03:57:11 +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
bbada82f80
-Reorganized all properties of project settings (Sorry, Again).
...
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -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
Rémi Verschelde
e64b82ebfc
Some more typo fixes for "threshold"
...
Looks like @reduz really does not like that word.
2017-07-15 12:01:46 +02:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
Juan Linietsky
bc509ac7bd
Simplified 2D Kinematicbody.. 3D will wait a bit.
2017-06-24 12:34:29 -03:00
Juan Linietsky
6ba1e4677b
-Trigger shapes removed in 2D, they became obsolete long ago when areas could detect their own overlap
...
-Added ability to disable individual collisionshape/polygon
-Moved One Way Collision to shape, allowing more flexibility
-Changed internals of CollisionObject, shapes are generated from child nodes on the fly, not stored inside any longer.
-Modifying a CollisionPolygon2D on the fly now works, it can even be animated.
Will port this to 3D once well tested. Have fun!
2017-06-23 23:39:52 -03:00
Poommetee Ketson
6c44fff508
Refactor layer_mask to collision_layer
2017-06-14 10:58:34 +07:00
alexholly
a3c90b0293
renamed all Rect2.pos to Rect2.position
2017-06-04 02:09:17 +02:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02: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
Pedro J. Estébanez
32eb2cc61e
Complement KinematicBody2D fix
...
>> which was done at 5fc084c28e
2017-03-06 05:25:22 +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
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
Juan Linietsky
da11d6d9e8
Many fixes to make exported scenes work better, still buggy.
2017-02-15 08:34:02 -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
Ferenc Arn
6f4f9aa6de
Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
...
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
Rémi Verschelde
f44ee891be
Style: Fix statements ending with ';;'
2017-01-16 08:49:52 +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
6671670e81
Merge pull request #7445 from tagcup/2d_math_fixes
...
Various corrections in 2D math.
2017-01-10 22:25:45 -03:00
Ferenc Arn
f271591ac2
Various corrections in 2D math.
...
This is the follow up for the 2D changes mentioned in PR #6865 . It fixes various mistakes regarding the order of matrix indices, order of transformation operations, usage of atan2 function and ensures that the sense of rotation is compatible with a left-handed coordinate system with Y-axis pointing down (which flips the sense of rotations along the z-axis). Also replaced float with real_t, and tried to make use of Matrix32 methods rather than accessing its elements directly.
Affected code in the Godot code base is also fixed in this commit.
The user code using functions involving angles such as atan2, angle_to, get_rotation, set_rotation will need to be updated to conform with the new behavior. Furthermore, the sign of the rotation angles in existing 2D scene files need to be flipped as well.
2017-01-10 10:14:20 -06:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Juan Linietsky
0f7af4ea51
-Changed most project settings in the engine, so they have major and minor categories.
...
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky
118eed485e
ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
...
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
c7bc44d5ad
Welcome in 2017, dear changelog reader!
...
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
Done with `autopep8 --select=E2,W2`, fixes:
- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
1c6058a5bc
Merge pull request #6691 from Faless/expose_more_physics
...
Expose more 2D/3D physics options in project settings (#5029 )
2016-10-09 14:08:50 +02:00
Juan Linietsky
22d83bc9f6
Begining of GLES3 renderer:
...
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Fabio Alessandrelli
1d09c27ba4
Expose more 2D/3D physics options in project settings
2016-10-03 14:40:47 +02:00
Victor Seiji Hariki
e5edd50d62
Now ignoring remaining collision shapes.
2016-09-26 23:40:06 -03:00
anneomcl
aa5ade834c
Fix for #6158 . Converting Vector2 to Size2 for scaling functions.
2016-09-19 23:31:45 -07:00
Juan Linietsky
5fc084c28e
-Fixed issue in Kinematicbody2D
2016-09-01 12:03:55 -03:00
Juan Linietsky
fc70824f7c
More improvements to visual script..
...
fixed a bug of not saving when sub-nodes changed.
2016-08-31 17:58:51 -03:00
Rémi Verschelde
3725114a16
Merge pull request #5383 from Ovnuniarchos/OptimizeOneWay
...
Optimized one-way collision loops.
2016-07-18 16:37:50 +02:00
Rémi Verschelde
f40f360a2c
Remove unused variables (fourth pass) + dead code
...
Also fix a potential regression from 3fcb9b1ec1
.
2016-07-08 16:47:55 +02:00
Ovnuniarchos
b09b449615
Optimized one way collision loops.
2016-06-24 08:43:23 +02:00
Juan Linietsky
4b05181397
Fixed a stupid bug with segment-segment collision in SAT physics, closes #4801 , closes #4984
2016-06-18 18:32:10 -03:00
Juan Linietsky
b4b80625d1
Change hash grid in 2D physics to contemplate large objects as separate cases, to avoid huge memory and performance penalty. Fixes #4662
2016-06-18 17:21:53 -03:00
Rémi Verschelde
80727b6896
Drop empty .cpp files for header-only classes
...
Part of #5272
2016-06-18 20:00:08 +02:00
Rémi Verschelde
a7fc04626a
Add missing license headers in our source files ( #5255 )
...
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Juan Linietsky
a75f896338
First version of Profiler
...
It is now possible to profile GDScript as well as some parts of Godot
internals.
2016-05-21 21:18:16 -03:00
Josh Grams
a7b4127481
RigidBody2D (add_force, set_inertia): new methods.
2016-04-26 08:15:15 -04:00
Josh Grams
ffaced87a6
RigidBody2D: rename apply_impulse(pos) to offset.
2016-04-24 04:36:51 -04:00
Josh Grams
f7d31cec38
RigidBody2D: add and bind get_inertia() method.
...
You can't set this value very well, since it's automatically computed
from the mass and the collision shapes. But since the values are higher
than many people might suspect, so being able to read it helps estimate
the amount of torque you might need to apply.
2016-04-20 20:49:37 -04:00
Marc Gilleron
d239e6bc0e
Fixed #4163 (intersect_shape crashes on results limit)
2016-04-12 02:18:41 +02:00
Rémi Verschelde
b5f873c9d1
Merge pull request #3999 from neikeq/issues_3650_3990
...
Fix crash when resizing ConcavePolygonShape2D segments
2016-03-10 06:29:20 +01:00
Ignacio Etcheverry
3fc16d4025
Fix crash when resizing ConcavePolygonShape2D segments
2016-03-09 19:52:15 +01:00
Hubert Jarosz
4a4f247914
remove trailing whitespace
2016-03-09 00:00:52 +01:00
Biliogadafr
e8c5b41dd8
Physics2D: Allow to use 'intersect_point' with objects which is not 'pickable'
2016-02-01 04:30:16 +03:00
Juan Linietsky
d01f55a78e
Merge pull request #2698 from Faless/add_area_fix
...
Fix bug in Body(2D)SW::add_area
2016-01-23 23:07:23 -03:00
Juan Linietsky
0e71d49ef4
-Fix crash at exit due to unnecesary check in command queue, fixes #2034
...
-Fix memory corruption due to using wrong singleton in multithreaded physics, fixes #2760
2016-01-04 00:00:33 -03:00
Juan Linietsky
606729fa2d
physics state properly returns contact metadata, closes #1979
2016-01-03 20:23:44 -03:00
Juan Linietsky
27c47e09a1
skip the first integration in physics bodies, fixes #2213
2016-01-02 13:28:18 -03:00
Juan Linietsky
0ed864d876
properly removing unprocessed objects from physics islands fixes one way platforms for rigidbodies, closes #2345
2016-01-01 12:13:17 -03:00
George Marques
5be9ff7b67
Update copyright to 2016 in headers
2016-01-01 11:50:53 -02:00
Juan Linietsky
1e65c3c701
remove error print in area collision, should be a valid situation, closes #2463
2015-12-31 11:15:49 -03:00
Ovnuniarchos
89efebbf56
New and corrected are override modes.
2015-12-14 02:56:49 +01:00
Ovnuniarchos
43b2c9c7a4
Areas now calculate their dampenings the same way as their gravity.
2015-12-08 18:45:14 +01:00
Fabio Alessandrelli
1231c795de
Fix Body (and Body2D) add_area / remove_area when area have multiple shapes
2015-12-02 11:30:48 +01:00
Juan Linietsky
d3eb9e8c54
-remove Vector2.atan2() replaced by Vector2.angle(), fixes #2260
2015-11-19 10:41:20 -03:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
Juan Linietsky
a871fc9112
Merge pull request #2587 from eska014/fix-area2d-mask-matching
...
Fix Area/Area2D mask matching
2015-10-17 09:47:27 -03:00
Biliogadafr
2ffc90d8b4
Expose softness parameter of pin joint to the editor.
2015-10-10 23:28:05 +03:00
eska
13ff4bde65
Fix Area2D type mask matching
2015-10-09 21:54:16 +02:00
Juan Linietsky
83d9a692be
Ability to visually debug geometry visually:
...
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
2015-09-20 13:03:46 -03:00
Juan Linietsky
b0aa49accb
merged some stuff for okam
2015-09-03 23:24:55 -03:00
Juan Linietsky
2d8866574d
Added gravity scale, and linear/angular damp override to 3D physics.
2015-08-30 18:57:17 -03:00
Juan Linietsky
4613a3f2c0
small fixes
2015-06-30 11:59:00 -03:00
Juan Linietsky
5064cc5006
Merge pull request #1932 from Faless/gravity_distance_full
...
Calculate gravity based on distance from body to gravity point
2015-06-07 00:25:37 -03:00
Juan Linietsky
f62961aba3
-fix bug in animation editor
...
-fix crash bug in physics motion, closes #1993
2015-05-27 17:30:50 -03:00
Juan Linietsky
b1b7826ea7
oops, previous commit was not working
...
it is working now
2015-05-26 01:30:36 -03:00
Juan Linietsky
9df77d2765
ability to run 2D physics in a thread
...
also, 2D physics is now thread safe too.
see physics_2d/thread_model
2015-05-26 01:06:05 -03:00
Fabio Alessandrelli
590afbcac4
Calculate gravity based on distance from body to gravity point (2D)
2015-05-18 01:32:26 +00:00
Juan Linietsky
bbe9a37f1d
sleeping property now should work properly, fixes #1892
2015-05-16 17:54:36 -03:00
Juan Linietsky
32b1b472af
-improved one-way collision handling in both dynamic and character bodies for 2D, fixes #1854
2015-05-10 19:24:09 -03:00
Juan Linietsky
e7aa37fe75
improved kinematic motion, improved demos for kinematic motion
2015-05-03 22:37:10 -03:00
Juan Linietsky
767f71a35e
-Made one way collision work with 2D physics (rigidbody)
2015-05-03 18:18:21 -03:00
Juan Linietsky
af06843982
-new collision layer & mask system for 2D, for more flexible collision masking
2015-05-03 16:47:21 -03:00
Juan Linietsky
3bcb930e8a
properly wake up bodies when a parameter changes, fixes #1740
2015-04-26 16:20:00 -03:00
Juan Linietsky
f971ae32e1
casting line into physics on negative space now works properly, fixes #1726
2015-04-24 22:41:31 -03:00
Juan Linietsky
28c4afeb57
-Rewritten KinematicBody2D::move to MUCH more efficient code.
...
-KinematicBody2D::move now properly recognizes collision exceptions and masks, fixes #1649
-Removed object type masking for KinematicBody2D
-Added a test_motion() function to RigidBody2D, allowing simlar behavior to KinematicBody2D::move there.
2015-04-19 20:50:55 -03:00
Juan Linietsky
f92a1fd646
Merge pull request #1691 from Faless/area_combine_2d
...
Implement Area2D space_override_mode = COMBINE
2015-04-18 14:44:59 -03:00
Juan Linietsky
fdaa2920eb
Updated copyright year in all headers
2015-04-18 14:38:54 -03:00
Fabio Alessandrelli
e1bfbcfd42
Fix operator definition for AreaCMP
2015-04-14 16:46:52 +00:00
Fabio Alessandrelli
bad445066c
Implement Area2D space_override_mode combine
2015-04-14 16:33:52 +00:00
Juan Linietsky
e9f94ce8d2
fix area center of gravity
2015-03-22 15:11:36 -03:00