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
dc976cac57
Merge pull request #12678 from AndreaCatania/soft
...
Soft body
2018-07-23 16:04:32 -03: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
ec85fd554b
Fix issues with CPUParticles and related conversion from Particles. Closes #20126
2018-07-23 12:28:50 -03:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
...
Physics material
2018-07-23 07:37:03 -03:00
Juan Linietsky
43dc050947
Several improvements to editor inspector usability and style
2018-07-18 19:37:41 -03:00
Juan Linietsky
d1550b4a9b
Ability to disable scale in nodes, closes #19927
2018-07-18 13:48:09 -03:00
Rémi Verschelde
7c9f7452f4
Style: Format code with clang-format 6.0.1
2018-07-18 16:27:03 +02:00
Juan Linietsky
063a22851a
-Added support for raycast in KinematicBody2D
...
-Added support for snapping in KinematicBody2D
2018-07-16 20:04:07 -03:00
Marcelo Fernandez
087329074d
Improved stream paused fade code
2018-07-09 21:58:33 -03:00
Juan Linietsky
ea47359408
Add option to convert Particles to CPUParticles
2018-07-07 09:04:22 -03:00
Juan Linietsky
7dcaabaf19
Support for CPU based particles, which aids compatibility with OpenGL ES 2.0
2018-07-06 20:21:42 -03:00
Max Hilbrunner
ed61bdd2ae
Merge pull request #19646 from chanon/fix-audiostream-cant-set-null-stream
...
Fix can't set AudioStreamPlayer stream to null
2018-07-05 04:16:47 +02:00
Max Hilbrunner
6d0ade54c0
Merge pull request #19205 from marcelofg55/audio_stream_pause
...
Pause AudioStreamPlayer when SceneTree pauses
2018-07-03 17:23:53 +02:00
Max Hilbrunner
585a185e89
Merge pull request #19246 from xemjeff/physics
...
Hinge Joint Inspector - Change range for motor target velocity and params bias values
2018-07-03 16:49:10 +02:00
Andrea Catania
008e8266bb
Removed two skeleton parameter from compilation width no 3d
2018-07-02 07:35:43 +02:00
Rémi Verschelde
05cc7020c0
Merge pull request #19886 from AndreaCatania/no3d
...
Fixes #19845 no 3d Compilation issue
2018-07-01 13:39:14 +02:00
Andrea Catania
08009c75a2
Fixes #19845 no 3d Compilation issue
2018-07-01 12:39:24 +02:00
Andrea Catania
16cf262e34
Fixes #19648 Kinematic body move_and_slide compatibility issue
2018-07-01 11:38:13 +02:00
Juan Linietsky
eeab3502d5
Changes to how node paths are selected from property, allowing setting a hint.
2018-06-27 20:50:25 -03:00
Bastiaan Olij
c11735facf
Fight off some error spam in the editor
2018-06-24 11:54:08 +10:00
chanon
2bdac0a5d9
fix can't set AudioStreamPlayer stream to null
2018-06-22 15:00:57 +07:00
Rémi Verschelde
2fabb81318
Fix property hint for ReflectionProbe extents
2018-06-16 09:28:54 +02:00
Rémi Verschelde
8efbe9ed3d
Merge pull request #19487 from JFonS/better_3d_select
...
Improve 3D selection
2018-06-13 18:49:35 +02:00
JFonS
9cd1c20f6a
Polished 3D selection
2018-06-13 17:52:37 +02:00
clayjohn
fafa197ca5
updated some particlematerial properties
2018-06-10 11:15:02 -07:00
Marcelo Fernandez
c409fe0597
Pause AudioStreamPlayers when SceneTree pauses
2018-06-03 14:01:47 -03:00
Jeffs
bd29fec042
Issues #19203 and #19204
...
- Hinge Joint Inspector:
Motor target velocity range changed from [0,4096] to [-200,200] to allow for negative velocity and a reasonable range.
Params bias now allows a zero value to prevent the bullet message of not supporting a non-zero bias.
2018-05-29 09:03:20 -04:00
Juan Linietsky
c80ac06253
Merge pull request #18691 from Web-eWorks/atlasfixes
...
Fix Sprite3d using AtlasTexture... Again.
2018-05-27 12:55:42 -03:00
Bastiaan Olij
660bebec94
Check for 0 roll influence
2018-05-26 08:26:39 +10:00
danilo2205
dc639d334a
Up vector implementation and OrientedPathFollow.
2018-05-20 19:51:56 -03:00
Juan Linietsky
4b5227ff77
-Ability to open resources in the same window
...
-Plenty of fixes and improvements to new inspector
-Fixes that were needed to make inspector work better
2018-05-17 18:03:05 -03:00
Juan Linietsky
dfd1331690
Allow editing of some unbound properties when hinted (or no range hinted)
2018-05-16 09:13:41 -03:00
Juan Linietsky
005b69cf6e
-New inspector.
...
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)
-
2018-05-15 17:14:31 -03:00
Michael Alexsander Silva Dias
7f72d6476b
Fixed some warnings found with Cppcheck.
2018-05-14 02:14:56 -03:00
Hein-Pieter van Braam
3cfb9df325
Revert "Use fake audio playing property in editor"
2018-05-13 21:37:08 +02:00
Hein-Pieter van Braam
24dbe5e310
Merge pull request #17367 from ShyRed/audio_playing_
...
Use fake audio playing property in editor
2018-05-13 21:35:44 +02:00
AndreaCatania
5f66734d2d
Implemented physics material
...
Hidden a function
Fixed travis static check
2018-05-11 03:23:09 +02:00
Andrea Catania
5a0119f9e2
Improved API to active / deactive ragdoll
2018-05-10 21:05:00 +02:00
Marcelo Fernandez
e64bbcc429
Fix some enums missing its bind
2018-05-08 21:14:31 -03:00
Webster Sheets
4b545e3105
Fix AtlasTexture usage in Sprite3D.
...
Changes as requested in b484d5c
.
2018-05-08 11:22:56 -04:00
Rémi Verschelde
de9683b605
Merge pull request #17559 from simedis/joint_motors
...
Implemented interface for bullet linear motors
2018-05-08 10:23:41 +02:00
Juan Linietsky
6d46f73ec3
Merge pull request #11973 from AndreaCatania/ragdoll
...
Ragdoll - Physical bone node
2018-05-07 16:12:27 -03:00
AndreaCatania
9e57a07fb6
Implemented ragdoll
...
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
Implementing ragdoll
a
Implemented implicit hierarchy.
Improved
Added some physics properties
Added bone offset to preserve COM, partially fixed scaling
work in progress
WIP
wip
Implemented Joint Gizmos
Implemented pin joint joint
Implemented all joints
2018-05-07 21:03:16 +02:00
Juan Linietsky
b484d5c2d8
Revert "Fix Sprite3D's incorrect behavior when using AtlasTextures."
2018-05-07 15:44:27 -03:00
Rémi Verschelde
430e45c84a
Merge pull request #16359 from Noshyaar/convert
...
Particles: fix corrupted scene when saved after convert
2018-05-03 21:24:03 +02:00
Rémi Verschelde
76cc12d916
Merge pull request #18572 from bzztbomb/fix/project_local_ray_normal_virtual
...
Fix for ARVRCamera::project_local_ray_normal not getting called.
2018-05-03 21:06:59 +02:00
Brian Richardson
680a5cbb0b
Camera::project_local_ray_normal needs to be virtual so that ARVRCamera::project_local_ray_normal gets called.
2018-05-03 11:32:37 -07:00
Rémi Verschelde
b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
...
API hash fixes
2018-05-03 14:36:32 +02:00