Commit Graph

1092 Commits

Author SHA1 Message Date
Rémi Verschelde 4f64f3401a
Merge pull request #36388 from AndreaCatania/some_renames
Rename Navigation{Mesh,Polygon}Instance and PlaneShape for clarity
2020-02-28 09:15:38 +01:00
Andrea Catania 483994601d Renamed NavigationPolygonInstance to NavigationRegion2D 2020-02-28 08:28:53 +01:00
Andrea Catania 2e0fb66c6f Renamed PlaneShape to WorldMarginShape 2020-02-27 17:45:16 +01:00
Andrea Catania 3b64ecbc4b Renamed NavigationMeshInstance to NavigationRegion 2020-02-27 17:42:53 +01:00
Pedro J. Estébanez 18fbdbb456 Reimplement Mutex with C++'s <mutex>
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.

Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-26 20:40:10 +01:00
Juan Linietsky 33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Rémi Verschelde 2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Juan Linietsky 3c0059650d Added StringName as a variant type.
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Juan Linietsky 9a34f39d32 Add support for named binds in Skin.
Helps better reutilization of skeletons from Maya exported files.
2020-02-21 09:40:29 -03:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Rémi Verschelde 49fec646cb Fix compilation warnings and re-enable werror=yes on Travis
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
2020-02-18 20:51:25 +01:00
Andrea Catania 79fc7d7d6a Added utility functions to the new NavigationServer:
- Vector3 get_closest_point_to_segment(const Vector3 &p_from, const Vector3 &p_to, const bool &p_use_collision = false);
- Vector3 get_closest_point(const Vector3 &p_point);
- Vector3 get_closest_point_normal(const Vector3 &p_point);
- Object *get_closest_point_owner(const Vector3 &p_point);
2020-02-18 17:12:45 +01:00
Juan Linietsky 3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
WARIO-MDMA 61d20b1f56 Reduce AudioStreamPlayer's pitch_scale max value 2020-02-15 22:26:08 +11:00
Rémi Verschelde d2537407ef Fix various GCC compilation warnings after Vulkan merge
Part of #36132.
2020-02-14 10:02:31 +01:00
Rémi Verschelde 54ac8eaba6 Remove more deprecated methods and code 2020-02-13 12:37:45 +01:00
Rémi Verschelde c48237967a
Merge pull request #36145 from akien-mga/remove-deprecated-friction-bounce
Remove deprecated PhysicsBody friction and bounce parameters
2020-02-12 21:49:38 +01:00
Juan Linietsky cf8c679a23 ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits. 2020-02-12 14:24:54 -03:00
Rémi Verschelde 1206bdb71b Remove deprecated PhysicsBody friction and bounce parameters
They were replaced in 3.1 by PhysicsMaterial properties via #12403.
2020-02-12 13:39:55 +01:00
Rémi Verschelde 0e3d625737 doc: Sync classref with current source
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.

Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
Rémi Verschelde db81928e08 Vulkan: Move thirdparty code out of drivers, style fixes
- `vk_enum_string_helper.h` is a generated file taken from the SDK
  (Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
  https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
Juan Linietsky f14defb6f9 WIP CameraEffects implementation (bokeh not working for now) 2020-02-11 12:15:03 +01:00
Rémi Verschelde fff4240bb4 Fix code formatting issues and VS compilation
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.

Fixes #33356.
2020-02-11 12:05:19 +01:00
Juan Linietsky b509c814fc Improved Voxel AO settings. 2020-02-11 12:05:05 +01:00
Juan Linietsky f4c5e88ef2 Fix to category in material. 2020-02-11 12:05:04 +01:00
Juan Linietsky da0457fa29 Several fixes to GIProbes 2020-02-11 12:04:56 +01:00
Juan Linietsky f4948721e4 Fixed uninitialized memory bug in voxelizer 2020-02-11 12:04:54 +01:00
Pedro J. Estébanez 19e294e29b Fix export template compilation 2020-02-11 12:04:31 +01:00
Juan Linietsky 2c67cc654f AO support for GIProbe (right on time for Godot Sprint!) 2020-02-11 12:03:55 +01:00
Juan Linietsky 76c6f39d99 GIProbe now generates a distance field on bake using CPU, for better compatibility 2020-02-11 12:03:54 +01:00
Juan Linietsky 561b431d85 Dynamic object support for GI Probes (a bit buggy still) 2020-02-11 12:03:52 +01:00
Juan Linietsky a95fb114ba Fixed 2D and 3D CPU Particles 2020-02-11 12:03:50 +01:00
Juan Linietsky 6ee2f5e6b6 More GIProbe work and fixes 2020-02-11 12:03:49 +01:00
Juan Linietsky acf0f6c8a7 GIProbes working. 2020-02-11 12:03:20 +01:00
Juan Linietsky 263bebe023 Untested support for compute shaders 2020-02-11 12:02:34 +01:00
Juan Linietsky dd3682e5fe Modernized default 3D material, fixes material bugs. 2020-02-11 12:01:24 +01:00
Juan Linietsky 6deffa62fb Several fixes to 3D rendering, and multimesh implementation. 2020-02-11 12:01:22 +01:00
Juan Linietsky 88a7debbbc Directional lights and shadow mapping are functional. 2020-02-11 12:01:20 +01:00
Juan Linietsky 920db604d2 Rewrote large part of rendering, omni and spot shadows now work. 2020-02-11 12:01:18 +01:00
Juan Linietsky 449df8f688 Base 3D engine done, still untested, though. 2020-02-11 11:59:25 +01:00
Juan Linietsky 50e9befb88 Changes to material required to add custom shaders in RD renderer 2020-02-11 11:53:28 +01:00
Juan Linietsky 9b0dd4f571 A lot of progress with canvas rendering, still far from working. 2020-02-11 11:53:27 +01:00
Juan Linietsky 3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Duroxxigar 383c583a0b Documented the new NavigationServer and all its associated nodes (2D and 3D) 2020-02-10 15:24:06 +01:00
Andrea Catania e6be3f68da - Integrated NavigationServer and Navigation2DServer.
- Added Navigation Agents and Obstacles.
- Integrated Collision Avoidance.

This work has been kindly sponsored by IMVU.
2020-02-10 14:38:52 +01:00
Rémi Verschelde d617df5f34
Merge pull request #36048 from AndreaCatania/SoftBodyStiff
Make softbody completelly stiff to attachment point
2020-02-09 16:05:19 +01:00
Andrea Catania ca7ee56759 Make softbody completelly stiff to attachment point 2020-02-09 10:18:11 +01:00
Andrea Catania 374432d074 Added feature to move physical bones with skeleton when not simulating physics 2020-02-08 09:52:58 +01:00
Marcel Admiraal 5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
Haoyu Qiu df3fad11fd Fixes crash in Spatial::notification 2020-01-25 13:16:51 +08:00
Tomasz Chabora 9ad7fc3405 Allow greater values in unit_offset 2020-01-24 14:40:33 +01:00
Rémi Verschelde 37897dba80
Merge pull request #35406 from lawnjelly/ortho-shadow
Replace CameraMatrix::get_viewport_size with get_viewport_half_extents, shadow culling with ortho camera and other affected issues
2020-01-22 22:02:09 +01:00
lawnjelly eaf8e5ce52 Change CameraMatrix::get_viewport_size to get_viewport_half_extents
Fixes #26637.
Fixes #19900.

The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2.

Code which called this function has also been modified accordingly.

This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width.

It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
2020-01-22 18:22:00 +00:00
Bastiaan Olij 5cf9f4faeb Incorrect joystick id was returned on an inactive ARVR controller 2020-01-22 18:27:32 +11:00
Rémi Verschelde 4faaf6089a Remove unused #if 0'ed code 2020-01-21 21:41:54 +01:00
Rémi Verschelde 1de633205f Validate input in (CPU)Particles set_emission_shape()
Fixes #29777.

Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
2020-01-16 11:08:51 +01:00
Marcel Admiraal 907adb37ce Fixes get_floor_normal() returning the user defined floor_normal.
When there is no collision with a floor the get_floor_normal() function
should return the zero vector to be consistent with get_floor_velocity().

Renames floor_normal to up_direction in all bindings.

Updates the documentation of get_floor_normal() and get_floor_velocity()
to make it clear when the values are valid. Updates the documentation for
move_and_slide() and move_and_slide_with_snap() to use the new up_direction
parameter name.
2020-01-15 10:13:35 +01:00
Andrea Catania 9f1f4620e0 Added function to expose floor normal, useful to correctly calculate player velocity.
This work has been kindly sponsored by IMVU.
2020-01-10 14:58:19 +01:00
Ben Hickling fdd7cfa820 fixed camera project_position function that was still using the near parameter in a few calculations 2020-01-09 14:34:31 +00:00
Marcel Admiraal fc1f0d76e7 Don't update the floor_velocity with the current linear_velocity.
Updating the floor velocity with the body's current linear velocity
discards the velocity component provided by the body's angular
rotation. Without the current contact point there is no way to calculate
the current velocity component provided by the body's angular rotation
therefore we need to use the velocity calculated at the time of the
collision.

Fixes #34807.
2020-01-05 17:35:49 +01:00
SIYU FU d80e979a48 Update Camera.project_position to not return get_global_transform().origin if projection mode is orthogonal 2020-01-02 17:54:41 +01:00
Александр Растриженков d8dbcbe066 Fix wrong disconnect in callback in VisibilityNotifier 3D 2020-01-02 15:09:26 +01:00
Rémi Verschelde c0ece451e3
Merge pull request #34720 from Calinou/light-gizmo-color-by-light
Tint 3D light gizmos using the light's color
2020-01-02 13:59:10 +01:00
Rémi Verschelde 3e649f8cba
Merge pull request #34665 from timothyqiu/camera-fov
Clamps fov/size for Camera gizmo
2020-01-01 11:37:28 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Hugo Locurcio ac18665c88
Tint 3D light gizmos using the light's color
This makes navigation more convenient in the 3D viewport, especially
when using the unshaded display mode.
2020-01-01 00:54:25 +01:00
Haoyu Qiu cbb8930813 Clamps fov/size for Camera gizmo 2019-12-29 11:39:04 +08:00
Rémi Verschelde 8938577459 i18n: Sync translations with Weblate + update template
Also fix a few stray clang-format formatting errors that passed
through CI unnoticed.
2019-12-22 13:27:02 +01:00
Hugo Locurcio 0a5b30b14a
Add a range property hint for the number of contacts reported
This closes #34505.
2019-12-21 22:27:10 +01:00
Juan Linietsky 21dec856f2 Use an internal skin unless one is supplied by user, fixes #32766
Even though this fixes the issue, the broken Skin resource in the inherited scene mesh will remain, it needs to be erased manually.
2019-12-16 13:00:30 -03:00
Rémi Verschelde abab4c0e25
Merge pull request #34300 from Acvarium/ragdoll-impuls
Added apply_impulse methods to PhysicalBone for ragdolls
2019-12-14 17:13:09 +01:00
Vitalii Shmorhun d3b162a9d4 Added apply_central_impulse to PhysicalBone class 2019-12-12 13:12:02 +02:00
jitspoe 2c894f3426 Fix for collision polygon not working at all on exported builds.
(cherry picked from commit a169e1406de77c3abfe670217f18bcf2c1468bae)
2019-12-12 00:13:44 -05:00
Rémi Verschelde 2845e6a21a
Merge pull request #34040 from qarmin/unused_variable_more_precise_numbers
Removed unused variables, add some constants numbers
2019-12-10 08:25:31 +01:00
Rafał Mikrut ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Marcel Admiraal 750f343e4a Ensure move_and_slide() is consistent between the 2D and 3D versions.
In the 3D version:
- Partially revert #20908 that was reverted in the 2D version as part
  of #21653. This ensures that the Vector returned is always perpendicular
  to the surface collided with; and not the floor_normal Vector passed to
  the function when on a floor.
- Include an update of the floor velocity before multiplying by the time
  delta, which was added to the 2D version as part of commit 13a8014.

In the 2D version:
- Use the Vector2.slide() function instead of Vector2.tangent() to adjust
  the amount of motion the stop_on_slope undoes to ensure that it is in the
  right direction. This is a implementation of the 3D approach from #30588.
- Combine the !found_collision and motion == Vector2() checks for break.
- Other minor formating changes to make the functions look identical.

Also renamed some variables to align with their use.
2019-12-02 08:35:50 +01:00
PouleyKetchoupp fdd99d4a7c Properly remove joint when a physical bone is removed from the scene
It was triggering a warning in bullet followed with a crash in some cases.
WARNING: assert_no_constraints: A body with a joints is destroyed. Please check the implementation in order to destroy the joint before the body.
     At: modules/bullet/rigid_body_bullet.cpp:465
2019-12-01 18:30:59 +01:00
Rémi Verschelde 06fd6e6945
Merge pull request #34019 from nekomatata/inspector-transform-update
Update transform property in the inspector when changing translation/rotation/scale
2019-12-01 11:43:04 +01:00
PouleyKetchoupp b44e0d60c7 Update transform property in the inspector when changing translation/rotation/scale 2019-11-30 17:16:19 +01:00
Tomasz Chabora 9276684e95 Port Path2D changes to 3D 2019-11-30 12:43:34 +01:00
PtrMan 8695135691 GIProbe::bake: Remove check for ownership
Fixes #28508.
2019-11-21 08:48:56 +01:00
Rémi Verschelde 6c557b8bdf Camera: Don't set default value for project_position
A z_depth of 0 returns the camera position, which is not really useful.
This also makes the API breakage from 3.1 clearer as 3.1 code will now
fail to compile, so users will have to adapt and use the new parameter.

For the reference, in 3.1, the z_depth was hardcoded to the near plane.

Closes #33493.
2019-11-10 00:17:26 +01:00
PouleyKetchoupp 530665197f Fixed Particles restart after visibility has been set to off and on again
Make sure particles are processed during the same frame when visibility is set to on, in case they are still active from before and need to be restarted.

Fixed #33476
2019-11-09 09:51:17 +01:00
Rémi Verschelde d596e169dc
Merge pull request #30588 from Demiu/patch-1
Fix 3D move_and_slide with stop_on_slope
2019-11-07 15:11:53 +01:00
Rémi Verschelde 83d393a71a
Merge pull request #33209 from Jummit/soft-body-tutorial
Link SoftBody tutorial in docs
2019-11-01 14:04:50 +01:00
Jummit ce61bff759 link SoftBody tutorial in docs and add ray_pickable property 2019-11-01 08:51:25 +01:00
Mikolaj Kaczmarek a245bab78d Fixed disconnecting not connected signal 2019-10-29 00:53:48 +01:00
Rémi Verschelde 63c5cd7eb8
Merge pull request #33104 from qarmin/fix_some_crashes
Fix some crashes and using null pointers
2019-10-28 08:37:59 +01:00
Rafał Mikrut e53e1c566a Fix some crashes and using null pointers 2019-10-28 08:07:29 +01:00
PouleyKetchoupp 1e0f37a70f Fixed emitting not initialized correctly in cpu particles 2d/3d
Fixes uninitialized variable caused by PR #32921
2019-10-24 21:38:01 +02:00
Tomasz Chabora 6c0ef9f729 Auto-increment frame_coords when keying 2019-10-22 20:12:55 +02:00
Rémi Verschelde 17a7da3b85
Merge pull request #32921 from nekomatata/fix-cpu-particle-delay
Fixed delay when CPUParticles & CPUParticles2D start being emitted
2019-10-22 14:28:04 +02:00
Rémi Verschelde 4a726998bd
Merge pull request #32865 from rodolforg/fix_32711-lookat-scaling-again
Spatial::look_at wrong re-scaling
2019-10-21 16:05:21 +02:00
PouleyKetchoupp 5bf516a062 Fixed delay when CPUParticles & CPUParticles2D start being emitted
Particles were processed only on the next frame after the emission started, causing a one frame delay in rendering. Now the first process cycle is started during the same frame, which makes them consistent with Particles & Particles2D.

Fixes #32890
2019-10-20 09:50:00 +02:00
jfons 298bd3f88a Add option to create navmesh from objects in group
Adds a new NavigationMesh property to select which objects will be taken
into account for the generation.

By default it will use all the NavigationMeshInstance children to keep
compatibility. The new modes allow to build the NavigationMesh from
all the nodes belonging to a specific group, and optionally include
their children too.
2019-10-16 12:01:10 +02:00
qarmin 616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
Gilles Roudiere b27ec4aea7 Fixes Sprite frame_coords 2019-10-13 08:44:44 +02:00
Rodolfo Ribeiro Gomes 58e5c650d7 fix #32711 : Spatial::look_at wrong re-scaling 2019-10-11 02:22:02 -03:00
Hugo Locurcio aba157865a
Add missing semicolons to `BIND_ENUM_CONSTANT` macro uses 2019-10-02 09:57:12 +02:00
Rémi Verschelde 34404a4c95
Merge pull request #32380 from fire/skin_registration
Update when the skeleton skin is changed.
2019-09-27 21:51:35 +02:00
K. S. Ernest Lee ea76f4805b Update when the skeleton skin is changed. 2019-09-26 19:44:51 -07:00
K. S. Ernest (iFIre) Lee 0b48f53905 Restore bone_custom_pose in skeletons 2019-09-26 04:06:47 -07:00
Rémi Verschelde dec10dd776
Merge pull request #32051 from qarmin/some_error_explanation
Added some obvious errors explanations
2019-09-25 11:51:54 +02:00
qarmin 17732fe698 Added some obvious errors explanations 2019-09-25 10:28:50 +02:00
Rémi Verschelde 0c3335d1f3
Merge pull request #32309 from clayjohn/particles_tex_scale
Fix particles scale randomization
2019-09-24 18:05:44 +02:00
clayjohn bc94203add fix particles scale randomization 2019-09-24 08:03:53 -07:00
Rémi Verschelde 0ea54eeb06
Merge pull request #30497 from Calinou/editor-gizmos-change-notify
Notify changes in properties that can be edited by 3D gizmos
2019-09-23 22:22:49 +02:00
Rémi Verschelde 159470df08
Merge pull request #32275 from godotengine/skin_support
Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
2019-09-23 15:02:15 +02:00
luz.paz 91ecd7b6a6 Fix misc. source comment typos
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
2019-09-19 14:36:52 -04:00
Juan Linietsky d81ddaf33e Added skin support and simplified APIs to override bone position. 2019-09-18 19:46:32 -03:00
Rémi Verschelde 720065c721
Merge pull request #31476 from SoulForMachine/fix-move-and-slide-error
Prevent move_and_slide() to generate an error.
2019-09-03 12:51:42 +02:00
Michael Alexsander Silva Dias c902066bb5 Remove some unneeded checks in CollisionObject(2D) 2019-08-30 14:22:46 -03:00
Rémi Verschelde 9762372329
Merge pull request #30635 from KoBeWi/billbo_3dns
Add a Billboard property for Sprite3D
2019-08-29 13:06:37 +02:00
Tomasz Chabora b055ade1c3 Add a Billboard property for Sprite3D 2019-08-28 23:00:44 +02:00
Robin Hübner 4817595c0e
fix otherwise unitialized variables, found in #31694 2019-08-27 17:13:08 +02:00
Milan Davidovic c12ce2b4dd Prevent move_and_slide() to generate an error.
When moving KinematicBody2D from one scene to another and not freeing
the old scene, the first call to move_and_slide() in the new scene will
generate an error because KinematicBody2D keeps internaly a
RID on_floor_body of a body resource in the old scene which no more has
a space assigned.

To fix this, on_floor_body is set to empty RID in response to
NOTIFICATION_ENTER_TREE notification of KinematicBody2D and
KinematicBody. Also all other data related to move_and_slide() is reset:
floor, ceiling, wall flags, colliders vector, floor_velocity.

This fixes #31416.
2019-08-26 15:10:15 +02:00
Rémi Verschelde bfed4b6a97
Merge pull request #31014 from DavidSichma/kinematic_angle
Fix floor_max_angle comparison for impossible angles
2019-08-23 09:10:38 +02:00
Hugo Locurcio a350fd4a57
Draw 3D collision shape/raycast gizmos in grayscale when disabled
This makes them easier to distinguish from their enabled counterparts,
as is already done in the 2D editor.
2019-08-21 15:32:51 +02:00
IAmActuallyCthulhu 82b9557803
Remove redundant author doc comments 2019-08-12 04:26:38 -05:00
Tomasz Chabora af5e0fff66 Remove ERR_EXPLAIN from scene/* code 2019-08-09 13:54:52 +02:00
qarmin e0b5b21863 Add some code changes/fixes proposed by Coverity and Clang Tidy 2019-08-07 12:54:30 +02:00
David Sichma 2fae8832c5 Fix floor_max_angle comparison for impossible angles 2019-08-01 12:54:19 +02:00
Hugo Locurcio 0243dc53b8
Tweak Area and PhysicsBody damping setting hints for consistency
This partially addresses #19182.
2019-07-31 13:57:13 +02:00
groud 11cb4eb363 Add frame_cords accessors to Sprite and Sprite3D 2019-07-27 13:05:02 +02:00
Michael Alexsander Silva Dias 4ff360b73b Fix wrong placement of new line in 'PhysicsBody' warning 2019-07-25 11:53:54 -03:00
Rémi Verschelde ffc8fb9c48
Merge pull request #30685 from jonri/vehicle-per-wheel-forces
Vehicle per-wheel forces
2019-07-25 11:45:22 +02:00
Rémi Verschelde 336846e547 Inspector: Fix PROPERTY_HINT_SPRITE_FRAME not behaving as RANGE
This was a regression in 3.1 and later from the new inspector, where
PROPERTY_HINT_SPRITE_FRAME was not fully re-implemented. It's meant to
be a normal PROPERTY_HINT_RANGE which also automatically increments its
value when keyed in the animation player.

To avoid code duplication, I made the frames properties use the actual
PROPERTY_HINT_RANGE and introduced a PROPERTY_USAGE_KEYING_INCREMENTS
usage flag instead.
2019-07-25 09:29:51 +02:00
Rémi Verschelde 66d09a6b4c SCons: Fix uses of [].append instead of env.add_source_files()
Also added support for SCons project-absolute paths (starting with #) and
warning about duplicates in add_source_files(), and fixed
default_controller_mappings.gen.cpp being included twice after first build
due to *.cpp globbing.

Part of #30270.
2019-07-22 15:08:32 +02:00
Rémi Verschelde 9d6b6dbd2f
Merge pull request #30234 from zwostein/fix-AudioStreamPlayer3D
Fixed multichannel panning for AudioStreamPlayer3D.
2019-07-20 12:42:34 +02:00
Rémi Verschelde d15cf7b672
Merge pull request #30576 from qarmin/lgtm_coverage
Changed some code reported by LGTM and Coverity
2019-07-20 12:00:13 +02:00
qarmin 6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
Jon Ring 18103f2b89 Add per-wheel throttle, brake, and steering for vehicles 2019-07-18 14:16:28 -04:00
Hugo Locurcio ce8a54b634
Lower the default directional shadow maximum distance to 100
With the default camera node settings, this makes directional shadows
look consistent between the editor and the running project.

The original issue occurs because the editor camera defaults to a
Z-far value of 500, whereas the Camera node defaults to a Z-far
value of 100. Since the directional shadow maximum distance is clamped
to the Z-far value, it caused the running project's effective shadow
distance to be lower compared to the editor (100 instead of 200).

This partially addresses #13575.
2019-07-17 20:01:40 +02:00
Rémi Verschelde df62bfdd49
Merge pull request #30548 from Calinou/tweak-audio-cutoff-property-hints
Tweak audio cutoff property hints to allow reasonable values only
2019-07-16 08:54:25 +02:00
Demiu fead4e369a
Change p_stop_on_slope in 3D move_and_slide_with_snap 2019-07-15 14:09:29 +02:00
clayjohn 5ef3374258 added individual particle random lifetime 2019-07-14 23:22:40 -07:00
Demiu 81f62d68c2
Fix KinematicBody::move_and_slide 2019-07-15 01:59:18 +02:00
Hugo Locurcio 9387114ce1
Tweak audio cutoff property hints to allow reasonable values only
This also makes all cutoff property hints consistent.

This closes #29588.
2019-07-12 22:44:17 +02:00
Hugo Locurcio 696a8fb657
Notify changes in properties that can be edited by 3D gizmos
This makes the Inspector always display an up-to-date value
after editing properties using 3D gizmos.
2019-07-10 20:07:48 +02:00
Rémi Verschelde b489e75716
Merge pull request #30304 from DavidSichma/remote_cache
Exposed update_cache() of RemoteTransform and RemoteTransform2D
2019-07-09 22:08:59 +02:00
David Sichma 5a631bf4f4 Added force_update_cache() to RemoteTransform and RemoteTransform2D 2019-07-09 14:50:03 +02:00
Rémi Verschelde 24c462b974
Merge pull request #30443 from Calinou/improve-node-configuration-warnings
Improve the node configuration warning display
2019-07-09 08:31:20 +02:00
Rémi Verschelde 675b9cb4c2
Merge pull request #30404 from Calinou/add-spotlight-configuration-warning
Add a configuration warning when using ultrawide SpotLight with shadows
2019-07-09 08:28:47 +02:00
Hugo Locurcio cdd41d446f
Add a configuration warning when using ultrawide SpotLight with shadows
This partially addresses #12028.
2019-07-09 00:20:46 +02:00
Hugo Locurcio ff7184c5cb
Improve the node configuration warning display
- Refer to properties explicitly when possible
- When multiple warnings are returned, always separate them by one
  blank line to make them easier to distinguish
- Improve grammar and formatting
2019-07-09 00:18:00 +02:00
Rémi Verschelde af80182016
Merge pull request #30407 from qarmin/small_fixess
Fixes minor issues found by static analyzer
2019-07-08 08:16:50 +02:00
qarmin 9a77d748c0 Fixes minor issues found by static analyzer 2019-07-07 23:08:51 +02:00
Rémi Verschelde 1fa26b969c
Merge pull request #30357 from simonpuchert/spheres
Particles / CPUParticles: Return uniform density spheres.
2019-07-07 11:04:46 +02:00
Ibrahn Sahir 4e4697b1c4 Added release function to PoolVector::Access.
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
Simon Puchert 18ba1bc824 cpu_particles: Return uniform density spheres.
The current implementation normalizes points from a uniform distribution
on a cube. This creates a non-uniform distribution on the sphere.
2019-07-06 00:13:03 +02:00