Commit graph

868 commits

Author SHA1 Message Date
JohnJLight 38d3bfe971 Made use of semicolons more consitent, fixed formatting 2019-06-19 15:24:31 +02:00
Rémi Verschelde 30cbe28677
Merge pull request #27310 from KoBeWi/angular_dank
Make angular_damp of new Area nodes match the global default
2019-06-19 15:00:44 +02:00
Jon Ring b2d433c4a8 Prevent VehicleBody contact damping from exceeding the baseline value when roll influence is very small.
When contact damping exceeds 1.0, the wheels will lose grip when the vehicle is not moving.
2019-06-18 17:40:49 -04:00
Hugo Locurcio c0b3e20ca7
Tweak some editor property hints to be more flexible and consistent
This partially addresses #19242.
2019-06-16 23:52:16 +02:00
Rémi Verschelde 9d3342545d
Merge pull request #29700 from clayjohn/cpuparticles_transform_bug
Fix CPU particles bug with local_coords and transform
2019-06-16 10:49:30 +02:00
clayjohn 52696e98b4 fix CPU particles bug with local_coords and transform 2019-06-14 13:22:19 -07:00
Rémi Verschelde 0b555fc70a
Merge pull request #29782 from JFonS/expose_camera_clip_offset
Expose ClippedCamera clip_offset
2019-06-14 18:31:47 +02:00
jfons 30b3591152 Expose ClippedCamera clip_offset 2019-06-14 17:39:13 +02:00
Rémi Verschelde 52dd0f8751 Implement missing orbit velocity for CPUParticles and CPUParticles2D
The relevant code was copied from (GPU) ParticlesMaterial but commented
out initially, and never ported.

Closes #29580.
2019-06-13 11:35:07 +02:00
Rémi Verschelde 5688cb40b2
Merge pull request #29589 from kbajno/master
Add in missing 'FLAG_DRAW_NEXT_FRAME_IF_VISIBLE' to Flag enun
2019-06-12 12:52:47 +02:00
Rémi Verschelde f160c81f68
Merge pull request #29696 from akien-mga/cpuparticles-randomness
CPUParticles: Do randomness ratio computations in phase instead of time
2019-06-12 10:54:02 +02:00
Rémi Verschelde fd66a45f32
Merge pull request #29685 from akien-mga/cpuparticles-tangential-accel
CPUParticles: Fix inconsistent tangential acceleration
2019-06-12 10:53:31 +02:00
Rémi Verschelde d0c2005da1 CPUParticles: Do randomness ratio computations in phase instead of time
The original shader code uses a phase (ratio from 0 to 1 for the particle
lifetime) for the randomness ratio computations, and this code was ported
over but converted to time computations.

The seeding/cycle logic was thus invalid, so we're going back to phase
for these computations, thus fixing the previous non-working time/emission
randomness property.

Part of #29692. Follow-up to #26859.
2019-06-11 23:40:56 +02:00
Rémi Verschelde 4043c8a8c9
Merge pull request #29678 from akien-mga/err-macros-semicolon
Fix error macro calls not ending with semicolon
2019-06-11 19:01:26 +02:00
Rémi Verschelde 9206bcabaa CPUParticles: Fix inconsistent tangential acceleration
The tangential acceleration for both CPUParticles2D and CPUParticles had been
badly converted from their GPU counterpart (ParticlesMaterial).
This fixes it and ensures that both GPU and CPU particles behave the same with
regard to tangential acceleration.
2019-06-11 18:56:07 +02:00
Rémi Verschelde 6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
kbajno c90fb3ec6c Add in missing 'FLAG_DRAW_NEXT_FRAME_IF_VISIBLE' to Flag enun 2019-06-07 15:21:07 -07:00
qarmin 3de3f87657 Fix ARVRAnchor and ARVRController error spam 2019-06-06 14:33:04 +02:00
Rémi Verschelde 77880d1b4d
Merge pull request #29299 from creikey/master
Check if parent is null before updating transform
2019-05-31 09:51:05 +02:00
Rémi Verschelde 62b868fd37
Merge pull request #26942 from RandomShaper/fix-vp-issues
Fix Viewport and Camera issues
2019-05-30 18:31:15 +02:00
Cameron Reikes 9f29c28918 Check if parent is null before updating trasnform
- parent being null means it's not a CollisionObject
2019-05-29 16:09:52 -07:00
Rémi Verschelde e9ca1a1299
Merge pull request #25520 from Zylann/expose_node_custom_aabb
Exposed custom AABB setter on GeometryInstance
2019-05-29 17:18:17 +02:00
Rémi Verschelde bbb1af91d8
Merge pull request #29251 from qarmin/some_uninitialised_values_fixes
Fix some unintialised variables
2019-05-28 22:29:02 +02:00
Rémi Verschelde 0e441e9a1a
Merge pull request #29248 from Cheeseness/camera_project_fix
Add a depth parameter to Camera::project_position()
2019-05-28 19:25:37 +02:00
qarmin 66a36ba474 Fix some unincialised variables 2019-05-28 19:12:19 +02:00
Cheeseness 6fe957de63 Add a depth parameter to Camera::project_position() 2019-05-29 02:04:50 +10:00
Rémi Verschelde b546591d1b
Merge pull request #27875 from Thource/vehicle_wheel-get_rpm
Added a get_rpm() function to VehicleWheel
2019-05-28 12:06:09 +02:00
Rémi Verschelde 4c77332e32
Merge pull request #29118 from JFonS/improve_navmesh_generation
Various improvements to NavigationMesh generation
2019-05-27 17:27:14 +02:00
Jummit ce2c45bde7 add get_camera_rid method 2019-05-27 16:05:27 +02:00
Hugo Locurcio 33fd5538d0
Tweak the particle animation node configuration warning message 2019-05-25 19:59:17 +02:00
Rémi Verschelde 7c73a741f3
Merge pull request #29125 from rodolforg/fix_spatial_look_at_affecting_scale
fix un-scaling in Spatial::look_at_from_position
2019-05-23 17:01:40 +02:00
Rodolfo Ribeiro Gomes 48e4d62554 fix un-scaling in Spatial::look_at_from_position
As mentioned in
https://github.com/godotengine/godot/pull/26897#issuecomment-491178089

the look-at scaling issue solved by PR #26897 happens also in another
look-at method.

Spatial::look_at_from_position() also does not have same input checking
Spatial::look_at() has. Therefore, I fixed it too at same time.
2019-05-23 09:49:50 -03:00
jfons 1add4c15ab Various improvements to NavigationMesh generation
* Expose EditorNavigationMeshGenerator as an engine singleton so users
  can generate navmesehes from `tool` scripts.

* Add support for generating navmeshes from static colliders. All
  collision shapes are supported except for Plane (since Plane is an
  infinite collider and navmeshes need to have finite geometry).

* When using static colliders as a geometry source, a layer mask can be
  specified to ignore certain colliders.

* Don't rely on global transform. It still should give the exact same
  results but allows for building navmeshes on nodes that are not in the
  tree (useful in `tool` scripts).

* Update navigation gizmos after every new bake.

This work has been kindly sponsored by IMVU.
2019-05-23 08:37:58 +02:00
Rémi Verschelde e0574e1d98 Fix typos with codespell
Using codespell 1.15.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Rémi Verschelde 647021e864
Merge pull request #28326 from BastiaanOlij/center_heightmap
Center shape according to logic Bullet applies
2019-05-13 12:58:00 +02:00
Bojidar Marinov 68bee3d9a2
Allow or_greater for most properties of NavMesh
Closes #28624
2019-05-10 18:05:17 +03:00
JFonS 9e97bac0cf Fixes to ClippedCamera
This work has been kindly sponsored by IMVU.
2019-05-10 10:35:15 +02:00
Bastiaan Olij e4dea0595a Add transform support to deal with Bullets centering of shapes 2019-05-07 22:43:10 +10:00
yakun.zhang 2206c5e9c0 fix CollisonShape changing shape cause crash when not in a tree 2019-05-05 13:30:58 +08:00
Rémi Verschelde 913620a9b8
Merge pull request #28640 from bojidar-bg/17885-navmesh-entry-broken
Fix navmesh not finding optimal paths
2019-05-03 12:20:39 +02:00
Bojidar Marinov f1b7b74d65
Fix navmesh not finding optimal paths
Addresses part of #17885
2019-05-03 11:13:03 +03:00
Rémi Verschelde 262924296b
Merge pull request #27415 from aqnuep/kinematicbody_fixes
KinematicBody performance and quality improvements
2019-05-02 18:03:58 +02:00
Rémi Verschelde dd2cd06165
Merge pull request #25670 from aqnuep/bake_mode_affect_gi_prove
Disable GI probe capturing lights with bake mode disabled
2019-04-30 18:33:34 +02:00
Rémi Verschelde 712b789dc8
Merge pull request #26897 from rodolforg/fix_spatial_look_at_affecting_scale
Spatial::look_at() now preserves its scale values
2019-04-30 12:09:45 +02:00
Rémi Verschelde 0327d57cfd
Merge pull request #27007 from BastiaanOlij/arvr_notifications
Send notifications to ARVRInterfaces
2019-04-30 12:05:46 +02:00
Rémi Verschelde f40c62fa29
Merge pull request #27371 from ShyRed/fixdisabled2dcollisions
Allow adding disabled shapes
2019-04-30 11:43:11 +02:00
Rémi Verschelde 36d4f86ed9
Merge pull request #27707 from Calinou/tweak-message-wording
Improve wording of various messages and make casing more consistent
2019-04-30 11:10:36 +02:00
Rémi Verschelde 18e88c8563
Merge pull request #18992 from aaronfranke/mono-equal-approx
[Core] [Mono] Improve and use approximate equality methods
2019-04-29 10:16:46 +02:00
Juan Linietsky 60eec47077
Revert "Fix AudioStreams::stop possibly causing a small noise" 2019-04-27 12:17:54 -03:00
Rodolfo Ribeiro Gomes 9742d0c323 Spatial::look_at() now preserves its scale values
It always normalized basis after look_at() computation.
Now it applies previous scale back, in order to avoid
distortions when global scale was different of (1,1,1).

fix #10003 and #19000
Related to #17924
2019-04-26 20:10:32 -03:00
Bastiaan Olij 1a1b35721a Send notifications to ARVRInterfaces 2019-04-27 08:39:21 +10:00
Aaron Franke b659e1eb2b
Use approximate equallity methods in many places 2019-04-25 13:20:29 -04:00
Rémi Verschelde 778322161c
Merge pull request #28380 from kiidmale/fix-cpuparticles
Make multimesh invisible initially in CPUParticles
2019-04-25 09:00:46 +02:00
Daeil Kim 692205da33 Make multimesh invisible initially in CPUParticles
Fixes #28252
2019-04-24 16:52:49 +09:00
ShyRed a9d4cde0f5 Allow adding disabled shapes
Adds the ability to directly add disabled shapes to a collision object. Before this commit a shape has always been assumed to be enabled and had to be disabled in an extra step.
2019-04-23 18:06:48 +02:00
Daniel Rakos de33ef2d1b Disable GI probe capturing lights with bake mode disabled
The bake mode property of lights previously didn't affect GI probes.
This change makes the GI probe ignore lights that have their bake mode
set to disabled.
2019-04-23 11:36:36 +02:00
Hein-Pieter van Braam bf7634b625
Merge pull request #25155 from Timofffee/Timofffee-patch-vehicle
Added check engine_traction
2019-04-23 06:28:26 +03:00
Hein-Pieter van Braam 5d33f241f0
Merge pull request #26064 from JFonS/add_frustum_camera_mode
Add FRUSTUM camera mode, allowing tilted frustums
2019-04-23 06:20:13 +03:00
Juan Linietsky 33a0011ab2 Added bindings for methods related to obtaining base an instance from VisualInstance 2019-04-22 19:27:30 -03:00
Rémi Verschelde 886afa9b76
Merge pull request #26868 from NilsIrl/master
Add Attenuation Model "NO" for AudioStreamPlayer3D
2019-04-22 13:36:07 +02:00
Rémi Verschelde a342131eba
Merge pull request #27673 from qarmin/small_fixes
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Nils ANDRÉ-CHANG a1fc73e6d3 Add Attenuation Model "DISABLED" for AudioStreamPlayer3D 2019-04-22 10:34:28 +01:00
Rémi Verschelde 33b69340ad
Merge pull request #27219 from raphael10241024/debug_fix
Fix collider debug shape didn't changes with collider size changes
2019-04-21 20:34:34 +02:00
Hugo Locurcio 35a0162167
Improve wording of various messages and make casing more consistent
This also adds the number of selected projects to the confirmation
dialog that appears before removing projects.
2019-04-21 14:37:14 +02:00
K. S. Ernest (iFire) Lee 48a03b514c Expose localize_rests to gdscript. 2019-04-16 11:38:13 -07:00
CatThingy 8166f8d3c8 Removed unnecessary error from _area_inout
The error was previously removed from _body_inout
for the same reason. Fixes #28022.
2019-04-15 09:19:30 -07:00
Juan Linietsky ad1368a625 Clean up ASSIMP import code. 2019-04-13 15:19:47 -03:00
yakun.zhang e5f531620e Fix collider debug shape didn't changes with collider size changes 2019-04-11 23:31:55 +08:00
Juan Linietsky e33764744c Added generator audio stream, and spectrum analyzer audio effect
Made AudioFrame and Vector2 equivalent for casting.
Added ability to obtain the playback object from stream players.
Added ability to obtain effect instance from audio server.
2019-04-10 12:58:06 -03:00
Adam Sharp c8d32ac29b Added a get_rpm() function to VehicleWheel 2019-04-09 23:49:37 +01:00
Rémi Verschelde c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
qarmin 856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Rémi Verschelde 35f06eb437
Merge pull request #25630 from BastiaanOlij/arvr_positional_mesh
Added a mesh interface to the arvr positional trackers
2019-04-07 11:09:21 +02:00
Rémi Verschelde 3b697ce8d5
Merge pull request #26486 from marxin/fix-Wdeprecated-copy
Fix new GCC 9 warnings: -Wdeprecated-copy.
2019-04-06 18:21:18 +02:00
K. S. Ernest (iFire) Lee e3ef7f214a Add Open Asset Import Library to Godot.
FBX support and MMD (pmx) support.

Normals, Albedo, Metallic, and Roughness through Arnold 5 Materials for Maya FBX.

Maya FBX Stingray PBS support.

Importing FBX static meshes work.

Importing FBX animations is a work in progress.

Supports FBX 4 bone influence animations.

Supports FBX blend shapes.

MMDs do not have an associated animation import yet.

Sponsored by IMVU Inc.
2019-04-05 07:17:52 -07:00
Rémi Verschelde fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.

The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.

Fixes #26135.
2019-04-05 15:14:53 +02:00
Tomasz Chabora fc8ad59af3 Make angular_damp of new Area nodes match the global default 2019-04-01 21:42:06 +02:00
Pedro J. Estébanez e3fc5fb1db Fix Viewport and Camera issues
1. Consider 'own_world' as well as 'world' to stop propagating enter/exit world notifications.
2. Clean & fix handling of camera currency.

This fixes some random crashes and error logs in the editor; namely
- when enabling/disabling own world in a Viewport;
- when switching back from a subscene displayed into a main scene's Viewport;
- when exiting the editor after any of them;
- memory corruption (can that explain certain other seemingly unrelated crash reports?).

This also fixes situations where a Viewport and its main Camera get out of sync about which World is relevant to them.
2019-03-30 00:25:26 +01:00
Rémi Verschelde 64737c735b
Merge pull request #27200 from piyushdagar/new
Fixed CollisionObject signals do not trigger on Area
2019-03-27 17:09:02 +01:00
Daniel Rakos 6dd65c0d67 KinematicBody performance and quality improvements
With this change finally one can use compound collisions (like those created
by Gridmaps) without serious performance issues. The previous KinematicBody
code for Bullet was practically doing a whole bunch of unnecessary
calculations. Gridmaps with fairly large octant sizes (in my case 32) can get
up to 10000x speedup with this change (literally!). I expect the FPS demo to
get a fair speedup as well.

List of fixes and improvements:

- Fixed a general bug in move_and_slide that affects both GodotPhysics and
  Bullet, where ray shapes would be ignored unless the stop_on_slope parameter
  is disabled. Not sure where that came from, but looking at the 2D physics
  code it was obvious there's a difference.
- Enabled the dynamic AABB tree that Bullet uses to allow broadphase collision
  tests against individual shapes of compound shapes. This is crucial to get
  good performance with Gridmaps and in general improves the performance
  whenever a KinematicBody collides with compound collision shapes.
- Added code to the broadphase collision detection code used by the Bullet
  module for KinematicBodies to also do broadphase on the sub-shapes of
  compound collision shapes. This is possible thanks to the dynamic AABB
  tree that was previously disabled and it's the change that provides the
  biggest performance boost.
- Now broadphase test is only done once per KinematicBody in Bullet instead of
  once per each of its shapes which was completely unnecessary.
- Fixed the way how the ray separation results are populated in Bullet which
  was completely broken previously, overwriting previous results and similar
  non-sense.
- Fixed ray shapes for good now. Previously the margin set in the editor was
  not respected at all, and the KinematicBody code for ray separation was
  complete bogus, thus all previous attempts to fix it were mislead.
- Fixed an obvious bug also in GodotPhysics where an out-of-bounds index was
  used in the ray result array.

There are a whole set of other problems with the KinematicBody code of Bullet
which cost performance and may cause unexpected behavior, but those are not
addressed in this change (need to keep it "simple").

Not sure whether this fixes any outstanding Github issues but I wouldn't be
surprised.
2019-03-27 00:39:47 +01:00
Daeil Kim 24b7f08892 Ensure non-emitting particles not processed on entering tree
Also removed non-active CPUParticles(3d) from render list
Fixes #27066
2019-03-20 21:54:00 +09:00
piyushdagar d7387e8a68 Fixed CollisionObject signals do not trigger on Area 2019-03-18 13:56:40 +05:30
JFonS c13ac398f6 Fix resetting of CPUParticles (2D and 3D) 2019-03-10 00:33:08 +01:00
Rémi Verschelde 362b42787b
Merge pull request #26784 from humblers/fix-cpuparticles2d
Prevent invisible/inactive cpupparticles2d to redraw
2019-03-09 16:28:34 +01:00
Daeil Kim 1edc2134c9 Prevent invisible/inactive cpuparticles to redraw(3d) 2019-03-09 10:50:44 +09:00
Juan Linietsky 06dbeab5d4 No longer crash due to wrongly requesting a gizmo, fixes #26735 2019-03-07 09:26:49 -03:00
Juan Linietsky 9dd9737cb4 Warn about plane shape usage, closes #26503 2019-03-04 10:12:03 -03:00
Rémi Verschelde 4da21d1ce1
Merge pull request #26511 from clayjohn/giprobe_gles2_warning
Add warning to GIProbe when using GLES2
2019-03-04 09:40:20 +01:00
clayjohn d566c5b75e add warning to GIProbe when using GLES2 2019-03-03 11:26:08 -08:00
Juan Linietsky 0b7f20c7ed Fixed missing exclude raycast shapes arguments in snap, closes #25230 2019-03-03 16:10:10 -03:00
Juan Linietsky 2f32a75d2e Skeletons can now choose between using local or world coords for processing, fixes #26468 2019-03-03 12:24:00 -03:00
Rémi Verschelde 88e0bed081
Merge pull request #26514 from clayjohn/hide_properties_gles2
Hide hdr and shadow_contact in gles2
2019-03-03 13:43:43 +01:00
clayjohn 95837049e8 hide hdr and shadow_contact in gles2 2019-03-02 19:01:26 -08:00
marxin 6be77da7eb Fix new GCC 9 warnings: -Wdeprecated-copy. 2019-03-02 14:37:02 +01:00
Juan Linietsky b84b015225 Make query checks less agressive, fixes #24694 2019-03-02 08:48:47 -03:00
marxin e5f665c718 Fix -Wsign-compare warnings.
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01:00
Juan Linietsky 3299045988 Remove setting that caused is_inside_tree() errors on doppler tracking enabled. 2019-02-26 09:16:23 -03:00
Juan Linietsky bfa9be85d3 Remove copy and use instance material override in gizmos, fixes #23783 2019-02-23 20:20:54 -03:00
Juan Linietsky 9dfe3b6d9e Ensure move and slide snap respects stop on slope, fixes #26180 2019-02-23 10:24:21 -03:00
Juan Linietsky 4f697f73a5 Change MAX for MIN, fixes #26170 2019-02-22 21:19:31 -03:00