Commit graph

797 commits

Author SHA1 Message Date
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
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
Juan Linietsky
edbf1d0ea4 Check that area is inside tree besides checking that queries are flushed, fixes #26148 2019-02-22 09:05:34 -03:00
marxin
7de7f0ef17 Fix all -Wtype-limits warnings. 2019-02-21 19:34:35 +01:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
JFonS
54b95b6c5a Add FRUSTUM camera mode, allowing tilted frustums
This new camera mode makes it easy to create tilted frustums for mirror
or portal effects.

This work was kindly sponsored by IMVU.
2019-02-19 17:48:08 +01:00
Rémi Verschelde
0fa3b80850
Merge pull request #26025 from clayjohn/particles_lifetime
Allowing setting particles lifetime greater than 600
2019-02-18 21:20:24 +01:00
clayjohn
0fec83bc92 allowing setting particles lifetime greater than 600 2019-02-18 10:46:41 -08:00
Marcelo Fernandez
b31e1b84fc Fix AudioStreams::stop possibly causing a small noise 2019-02-17 11:20:10 -03:00
Juan Linietsky
0cee7ab4c9 Change snapping to only happen when the floor normal remains as floor, fixes #22312 2019-02-16 15:50:31 -03:00
Juan Linietsky
ee464f56c4 Add a minimum treshold for acquiring rest contacts to avoid numerical precision issues. Fixes #25074 2019-02-16 13:45:01 -03:00
Juan Linietsky
c54330c6b0 Make sure stop on slope can have a tiny bit of precision edge. 2019-02-16 11:19:47 -03:00
Rémi Verschelde
5fc86026ca Fix typos with codespell
Using codespell 1.14.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde
c5dcbeb160 Scene: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `scene/2d/navigation2d.h` -> `navigation_2d.h`
- `scene/2d/screen_button.h` -> `touch_screen_button.h`
- `scene/3d/scenario_fx.h` -> `world_environment.h`
- `scene/audio/audio_player.h` -> `audio_stream_player.h`
- `scene/resources/bit_mask.h` -> `bit_map.h`
- `scene/resources/color_ramp.h` -> `gradient.h`
- `scene/resources/shape_line_2d.h` -> `line_shape_2d.h`
- `scene/resources/scene_format_text.h` -> `resource_format_text.h`
- `scene/resources/sky_box.h` -> `sky.h`

Dropped:
- `scene/resources/bounds.h`
2019-02-12 17:21:48 +01:00
Rémi Verschelde
fb8dce3e2e
Merge pull request #25602 from mcccclean/dont-ignore-listener-nodes
Fix 3D Listener nodes not being used
2019-02-12 12:30:50 +01:00
Rémi Verschelde
034cd62a77 Warn when using GPU particles with GLES2
Closes #25733.
2019-02-09 20:49:58 +01:00
Tom McLean
8159ee93a7 Prefer a viewport's listener over a camera where available
Fix clang formatting issue
2019-02-06 21:43:57 +11:00
Bastiaan Olij
005fb62284 Added a mesh interface to the arvr positional trackers 2019-02-06 21:03:43 +11:00
Michael Alexsander Silva Dias
1e3e770073 Add frame support for Sprite3D with region enabled 2019-02-04 20:31:45 -02:00
Marc Gilleron
5b378f408c Exposed custom AABB setter on GeometryInstance 2019-02-01 12:01:19 +01:00
Yusuf
a7e6a31d7f binding for get_frustum() of camera class 2019-01-28 21:43:59 +03:00
Rémi Verschelde
63b487e49c Fix PhysicsBody ignoring set_friction/bounce with default value
The intent was to avoid creating a physics override to set a default value
that doesn't make a difference, but as #22406 shows it can be necessary to
set the default value *back* after an override was created to set a non-default
value.

Fixes #22406.
2019-01-24 12:15:54 +01:00
George Linkovsky
33a541727a
Added check engine_traction 2019-01-20 09:21:54 +04:00
Grant Clarke
d27ca7eb73 Fixed Bone Transform Order
The bone index being passed to the visual server is not using the process order and results in incorrect skin deformation if the calculated process order is different from the unordered bones Vector.

Incidentally, this never showed when I exported rigged characters from blender using the Better Collada exporter. This bug only materialised when experimenting with the glTF pipeline from Maya.
2019-01-18 22:26:13 +00:00
Juan Linietsky
1efd37f1b7 Fix uninitialized memory error. 2019-01-17 19:12:01 -03:00
Juan Linietsky
6d7dfa6df8 Avoid crashing GIProbe bake with broken UV data, closes #25028 2019-01-17 10:58:34 -03:00
Rémi Verschelde
a63bb3c804
Merge pull request #25038 from GlaDos28/master
fixed AudioStreamPlayer3D::_get_attenuation_db epsilon value
2019-01-17 10:39:08 +01:00
Rémi Verschelde
9f2d98c055
Merge pull request #24993 from YeldhamDev/cppcheck_warns_scene_fix
Appease some CppCheck warns for files in the "scene" directory
2019-01-17 10:28:32 +01:00
Evgeny Savelyev
fc086bc93d fixed AudioStreamPlayer3D::_get_attenuation_db epsilon value 2019-01-17 01:41:36 +03:00
Danilo Villa (Davi)
e74a3add9c Rename OrientedPathFollow to PathFollowOriented 2019-01-16 14:32:18 -02:00
Michael Alexsander Silva Dias
9c69d7f339 Appease some CppCheck warns for files in the "scene" directory 2019-01-16 12:59:18 -02:00
Timo Schwarzer
a1fbef3d60
Allow offset and unit_offset to be set higher than one loop
Fixes #24745
2019-01-03 17:32:20 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
ac46862097
Merge pull request #24506 from JFonS/expose_gizmos
Expose the new gizmo plugin system to scripting
2018-12-30 15:42:30 +01:00
JFonS
6b15b4f904 Expose the new gizmo plugin system to scripting 2018-12-21 23:56:39 +01:00
Rémi Verschelde
31aaff3b21
Merge pull request #24161 from aroncds/master
Fix properties update in remote transform
2018-12-14 13:34:46 +01:00
Rémi Verschelde
17c3c64a80 i18n: Sync translation template with current source
Also French translation update and misc fixes to source strings.
2018-12-13 14:47:24 +01:00
Bastiaan Olij
fa63a0fe83 Reverse bitangent on everythings to ensure default normal map behavriour is consistent 2018-12-08 13:43:46 +11:00
Aron Castro
7619a8a30d Fix properties update in remote transform 2018-12-04 15:22:58 -02:00
Gleb Mineev
f0379366dc #24131: fix for PathFollow offset slider overlapping with the inspector 2018-12-04 00:29:37 +01:00
Rémi Verschelde
0dd89a3d97
Merge pull request #24051 from Omicron666/patch-1
Fixes typo in source string sent to translation.
2018-12-03 17:34:49 +01:00
paul gruenbacher
66bfc29d06 remove_unused_get_frustum 2018-12-02 20:18:42 -05:00
Rémi Verschelde
cda28f5077
Merge pull request #24007 from JFonS/fix_cpuparticles_scale
Fix "scale" property collision in CPUParticles
2018-12-02 17:56:06 +01:00
JFonS
4ede92bdc8 Fix "scale" property collision in CPUParticles 2018-11-30 16:05:50 +01:00
Omicron
464e294c8f
Fixes typo in source string sent to translation.
no mesh has ~~not~~ been assigned
2018-11-29 13:12:09 +01:00
Juan Linietsky
5b8dde4b4a Removed error that should not be an error, fixes #21088 2018-11-28 18:41:29 -03:00
Aaron Franke
cb01268562 Fix many errors found by PVS-Studio
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.
2018-11-28 05:03:24 -05:00
Rémi Verschelde
78cdbc54b0
Merge pull request #23994 from AndreaCatania/prec
Added function to control 6DOF precision
2018-11-28 10:30:47 +01:00
Andrea Catania
a395d809a5 Added function to control 6DOF precision 2018-11-27 07:11:28 +01:00
Florian Jung
0c4ffae40c Update ARVR{Anchor,Controller}'s configuration warning
Updates their config warning upon change of `controller_id`
or `anchor_id`, respectively.

fixes godotengine/godot#23881
2018-11-25 18:27:02 +01:00
Italo Vieira
a8a92ec114 Fixing wrong type hint on CPUParticles and CPUParticles2D's color ramp
Fixes #22795
2018-11-23 00:54:25 +01:00
Ivan Varesi
b69c05c700 Fix 6DOF Physical Bone joint
Adding angular and linear springs param to PhysicalBone joint type JOINT_TYPE_6DOF,
using new 6DOF feautres implemented in sdfgeoff/godot@e149327.

Typo correction lenear_equilibrium_point to linear_equilibrium_point.
2018-11-22 11:15:48 +01:00
Rémi Verschelde
477e89a8a2
Merge pull request #23760 from BastiaanOlij/fix_tangent_direction
Fixing tangent and binormal logic
2018-11-20 14:13:36 +01:00
Ibrahn Sahir
397b4c2a4a Removed duplicate property bind in Generic6DOFJoint.
Probably a copy paste error.
2018-11-20 03:47:09 +00:00
Juan Linietsky
c500581d32 Remove the "is able to sleep" condition for adding visibility notifier nodes, fixes #19659
I think the previous behavior was more useful, but I understand it's not obvious or discoverable.
2018-11-19 23:06:02 -03:00
Bastiaan Olij
bcef4b8dc6 Fixing tangent and binormal logic 2018-11-19 22:27:05 +11:00
Hugo Locurcio
34dba2f3cc
Tweak the Hue Variation property hint to allow finer adjustments 2018-11-19 10:52:17 +01:00
Rémi Verschelde
3c62a584eb
Merge pull request #23767 from marcelofg55/fix_is_playing
Fix AudioStreamPlayer2D/3D::is_playing right after a play()
2018-11-17 17:19:21 +01:00
Rémi Verschelde
5075e372f3
Merge pull request #23668 from sdfgeoff/fix_angular_constraints
Exposing more of bullets 6DOF spring constraints
2018-11-17 16:15:33 +01:00
Marcelo Fernandez
016f7bd8f8 Fix AudioStreamPlayer2D/3D::is_playing right after a play() 2018-11-17 11:47:11 -03:00
Juan Linietsky
0b1e93ccd4 -Make sure monitorable cant be flipped while flushing queries, fixes #17330
-Also added set_deferred, this was missing.
2018-11-16 08:49:26 -03:00
JFonS
cbfb7bd613 Make 2D particles work OOTB (again) 2018-11-13 23:25:05 +01:00
Juan Linietsky
65111ba996 Ability to remove buses while they are being used on 2D and 3D stream players. Fixes #15115 2018-11-13 18:17:19 -03:00
Rémi Verschelde
5613aa489e
Merge pull request #23299 from FlamyAT/sprite3d-floating-offset
Changed Sprite3D to float based drawing
2018-11-13 21:28:08 +01:00
Geoffrey Irons
e149327be0 Added angular restitution
Adding angular and linear springs

Added getters
2018-11-13 09:24:00 +01:00
Rémi Verschelde
193d695a1a
Merge pull request #17530 from bojidar-bg/17516-detect-delta
Make it possible to call move_and_slide from _process, even if it is not recommended
2018-11-12 21:14:15 +01:00
Rémi Verschelde
2815e708a0
Merge pull request #23090 from DavidSichma/inconsistent-kinematic
Consistency in KinematicBody
2018-11-12 20:30:38 +01:00
Kanabenki
44918e214f Fix wrong editor hints for angular_velocity properties 2018-11-10 17:13:21 +01:00
Bojidar Marinov
d94c76a199
Make it possible to call move_and_slide from _process, even if it is not recommended
Previously, it would reuse the _physics_process delta, causing it to move faster on faster framerates

Fixes #17516
2018-11-08 20:34:34 +02:00
Juan Linietsky
f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
JFonS
85ce4a67ed Remove animation loop from ParticlesMaterial + improvements to CPUParticles2D
Remove animation loop from ParticlesMaterial and move it to
SpatialMaterial for 3D particles and Particles2D for the 2D case.

Added animation to CPUParticles2D as well as the "Convert to
CPUParticles2D" to the PAarticles2D menu.
2018-11-04 15:58:12 +01:00
Rémi Verschelde
200c2e7451
Merge pull request #23294 from gcardozo123/issue-23235-get-collision-exceptions
Add method get_collision_exceptions to PhysicsBody2D
2018-11-01 10:57:28 +01:00
Guilherme Recchi Cardozo
3fb2069d39 Add method get_collision_exceptions
Adding this method to PhysicsBody, PhysicsBody2D and
SoftBody. It returns a list of nodes included in
collision exceptions.

Fixes #23235, cheers!
2018-11-01 06:41:34 -03:00