Commit graph

8789 commits

Author SHA1 Message Date
Rémi Verschelde
0409644afd
Merge pull request #54245 from manueldun/nullParamAddMod 2021-10-26 08:20:40 +02:00
Rémi Verschelde
01afa39d21
Merge pull request #54073 from groud/terrains_for_procgen 2021-10-26 08:15:07 +02:00
PouleyKetchoupp
daf7dcac7a Improved RigidDynamicBody linear/angular damping override
Damping values are now non-negative.

Add new properties linear_damp_mode and angular_damp_mode to set the way
RigidDynamicBody and PhysicalBone (2D & 3D) use damping values.
It can now be Combine (default) to add to the default/areas, or Replace
to override the value completely (current behavior).
2021-10-25 18:22:12 -07:00
Manuel Dun
0384474f83 Added error macro to ensure non null parameter 2021-10-25 19:44:22 -04:00
Hugo Locurcio
f2c2ecb6e8
Fix properties being displayed when they shouldn't in DirectionalLight3D
The parent `_validate_property()` wasn't called, which led to shadow
properties being visible even if shadows were disabled on a
DirectionalLight3D node.
2021-10-25 22:04:30 +02:00
Rémi Verschelde
d98a6363fa
Merge pull request #54084 from reduz/node3d-rotation-options 2021-10-25 20:42:45 +02:00
Rémi Verschelde
8911d6ecc8
Merge pull request #54147 from Calinou/editor-directionallight-3d-only-show-relevant-properties 2021-10-25 20:13:42 +02:00
reduz
d03b7fbe09 Refactored Node3D rotation modes
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis

Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
Hugo Locurcio
c1de200757
Only show relevant properties in the DirectionalLight3D inspector
Some split distance properties are unused depending on the
current shadow mode. Also, Blend Splits can only be used if the shadow
mode is PSSM 2 Splits or PSSM 4 Splits.

This also moves the Fade Start property to be located after the
split properties. This avoids intertwining "conditional" properties
with a property that's always available.
2021-10-25 18:31:41 +02:00
Rémi Verschelde
5ff0624a07
Fix GCC 12 -Werror=type-limits in animation compression code
Fixup to #54050, CI's GCC builds didn't catch it.
2021-10-25 17:59:07 +02:00
Rémi Verschelde
24fdedfe94
Merge pull request #54050 from reduz/animation-compression 2021-10-25 14:27:58 +02:00
bruvzg
ebbc25e89c Ignore empty Font resources as theme override.
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
JFonS
c571e4a7f4 Implement distance fade and transparency
The built-in ALPHA in spatial shaders comes pre-set with a per-instance
transparency value. Multiply by it if you want to keep it.

The transparency value of any given GeometryInstance3D is affected by:
   - Its new "transparency" property.
   - Its own visiblity range when the new "visibility_range_fade_mode"
     property is set to "Self".
   - Its parent visibility range when the parent's fade mode is
     set to "Dependencies".

The "Self" mode will fade-out the instance when reaching the visibility
range limits, while the "Dependencies" mode will fade-in its
dependencies.

Per-instance transparency is only implemented in the forward clustered
renderer, support for mobile should be added in the future.

Co-authored-by: reduz <reduzio@gmail.com>
2021-10-25 11:39:34 +02:00
Hristo Stamenov
3ec927cfef Setting the visible multimesh instance to -1 so that they are updated correctly on set_amount.
When emitting stops CPUParticles3D::_set_redraw(bool p_redraw) will set that value to 0 so when you change the amount after that it will actually not update correclty.

This fixes an issue where if it was not emitting when the scene loaded and it start after that the amount is not reflected correclty. This also happened when you checked out the box for emitting in the editor, changed the value of amount and then checked on the box for emitting. With this change if it is emitting during the change it does interrupt the previous particles when you change. The amount and the emit starts from beginning but that is to be expected on an amount of particles change.
2021-10-24 22:04:30 +03:00
Rémi Verschelde
c7b78b9538
Merge pull request #53885 from TokageItLab/fix-bone-animation-insertion
Fixed Pos/Rot/Scl 3D Tracks insertion in `SkeletonEditor`
2021-10-24 10:05:00 +02:00
Rémi Verschelde
b2ab5cb504
Merge pull request #54045 from ConteZero/primary_clipboard_linux_fix_warning 2021-10-23 19:13:34 +02:00
Rémi Verschelde
e0f887accd
Merge pull request #54120 from zaevi/fix_null-ref_crashes 2021-10-23 19:00:12 +02:00
Rémi Verschelde
e12fe670e6
Merge pull request #54145 from zedutch/Fix-tree-notification-crash 2021-10-23 18:33:12 +02:00
ConteZero
8c48b4a7e0 Fix primary clipboard warning 2021-10-23 15:50:01 +02:00
Robin Arys
5c25497aa2 Fix possible crash when calling Tree.notification from _ready 2021-10-23 12:02:09 +02:00
Silc 'Tokage' Renew
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
Haoyu Qiu
4f8dfa1667 Make RichTextLabel's parse_bbcode and append_text return void 2021-10-23 14:25:39 +08:00
Zae
924c2078da Fix unexpected crashes in notification 2021-10-23 13:01:52 +08:00
Rémi Verschelde
9f7218eb69
Merge pull request #54088 from madmiraal/remove-unimplemented-methods 2021-10-22 12:59:32 +02:00
Sean Kim
497b00a937 Fix potential nullptr dereference in CanvasLayer
* Changed another instance of ERR_FAIL_COND in the same file to
  ERR_FAIL_NULL_MSG instead.
* Checked for potential access of the viewport pointer elsewhere in same
  file.

Fixes #54098
2021-10-21 19:41:13 -07:00
reduz
a69541da4c Implement Animation Compression
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different).

* Implement bitwidth based animation compression (see animation.h for format).
* Can compress imported animations up to 10 times.
* Compression format opens the door to streaming.
* Works transparently (happens all inside animation.h)
2021-10-21 18:27:34 -03:00
Marcel Admiraal
87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
Rémi Verschelde
133c1eb0af
Merge pull request #52367 from Duroxxigar/improve-nav-error-messages
Improve readability for failing errors in nav area
2021-10-21 19:36:16 +02:00
Rémi Verschelde
836f86688f
Merge pull request #54053 from nekomatata/fix-soft-body-disable-mode
Fix SoftDynamicBody3D crash when setting disable mode
2021-10-21 19:33:01 +02:00
Rémi Verschelde
0264efe895
Merge pull request #54035 from Calinou/ctl-context-dialog-use-title-case
Use TitleCase for CTL dialog menu options
2021-10-21 19:32:35 +02:00
Rémi Verschelde
e06d264362
Merge pull request #53990 from Kemikal1/master
Change the unreacheable return value of shape_find_owner()
2021-10-21 19:24:08 +02:00
PouleyKetchoupp
e6f7235ffb Fix SoftDynamicBody3D crash when setting disable mode
Proper logic for changing physics state when disabled and disabled mode
is changed (it was unnecessarily making calls to re-initialize physics).

Extra error handling in soft body implementations to avoid crashes with
invalid mesh.
2021-10-21 08:56:12 -07:00
Hugo Locurcio
abbc8facc6
Use TitleCase for CTL dialog menu options
This is more consistent with other actions exposed in the dialog.
2021-10-21 17:47:39 +02:00
Gilles Roudière
d1aef45072 Allow updating TileMap cells using surrounding terrains 2021-10-21 16:57:28 +02:00
kobewi
1a347e9cf3 Fix MeshInstance2D rect 2021-10-21 15:18:52 +02:00
Kemikal1
563d3dbf94 Change the unreacheable return value of shape_find_owner()
Update collision_object_3d.cpp

2d modified and UINT32 usage

Proper uINT32max usage

Change the unreacheable return value of shape_find_owner()

This reverts commit 5be98b81428169ba2dd5baecd00f1adfd9260e5c, reversing
changes made to efa3ff6b95.

Change the unreacheable return value of shape_find_owner()

changed from 0 to uint32_max"

This reverts commit c143bb099af2666454f82428a57f2721af60a84d.

Revert "changed from 0 to uint32_max""

This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65.

Revert "changed from 0 to uint32_max"

This reverts commit c143bb099af2666454f82428a57f2721af60a84d.

Revert "Revert "changed from 0 to uint32_max"""

This reverts commit c81d1073ec21b4cde4684a6dbd595f3359283bad.

Revert "changed from 0 to uint32_max"

This reverts commit c143bb099af2666454f82428a57f2721af60a84d.

Revert "changed from 0 to uint32_max""

This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65.

Revert "Revert "changed from 0 to uint32_max"""

This reverts commit 6dbd972aa5c4580d4f6270ead6c66eea18617f29.

Revert "changed from 0 to uint32_max""

This reverts commit 59e94edb9a32edff15f3cb881e6fc394d2aa7f65.

Revert "Revert "changed from 0 to uint32_max"""

This reverts commit b769ac2d11ad12f02a388d9dad17519f81d9c3b6.

Revert "Revert "Revert "changed from 0 to uint32_max""""

This reverts commit 1e8d84f7ec12da01c3153e08bb8609cf2c6fd58a.

Revert "Revert "Revert "Revert "changed from 0 to uint32_max"""""

This reverts commit 0dc17abefad6d540c18bba7b4df9d8c04e090d0c.

Change the unreacheable return value of shape_find_owner()
2021-10-21 15:02:28 +03:00
Rémi Verschelde
8688b97dda
Merge pull request #54036 from nekomatata/fix-soft-body-memory-corruption 2021-10-21 11:42:44 +02:00
Rémi Verschelde
351d378b03
Merge pull request #54032 from nekomatata/fix-collision-mouse-exit-error 2021-10-21 11:42:14 +02:00
Rémi Verschelde
8474bb0a3c
Merge pull request #54023 from zedutch/fix-empty-tabs-crash
Fix Tabs crashing on click input if there are no tabs
2021-10-20 21:12:57 +02:00
PouleyKetchoupp
1f816979f6 Fix SoftDynamicBody3D memory corruption when switching mesh at runtime
When switching the mesh at runtime, the physics server wasn't properly
updated with the new mesh. Now we keep track of the soft body mesh to
make sure everything is properly initialized on pre-draw.

Also cleaned a few things around private methods.
2021-10-20 10:57:08 -07:00
Robin Arys
2203670ccc Fix Tabs crash where it still tries to detect the clicked tab even if there are none 2021-10-20 18:26:10 +02:00
PouleyKetchoupp
d5847f1cb4 Fix errors in mouse detection when removing collision object from tree
Now behaves the same way as ui elements, mouse exit is skipped when the
object is removed from the tree.
2021-10-20 09:10:59 -07:00
Rémi Verschelde
da98357e6e
doctool: Fix differences between headless and Vulkan rendering backends
Fixes #53913.
2021-10-20 17:48:50 +02:00
Rémi Verschelde
8748247d6f
Merge pull request #53702 from ConteZero/primary_clipboard_linux 2021-10-20 16:35:04 +02:00
Rémi Verschelde
c942d567eb
Merge pull request #53926 from YeldhamDev/i_am_tabbar_now 2021-10-20 15:42:41 +02:00
Rémi Verschelde
36fd7f213d
Merge pull request #53983 from Duroxxigar/navmesh-agent-default 2021-10-20 11:08:11 +02:00
Murilo Gonçalves
94cba835eb Fix: typo in TextParagraph class and docs 2021-10-19 16:38:58 -03:00
Duroxxigar
1de99820b8 Change default navmesh agent radius to match nav agent node's default radius 2021-10-19 11:43:39 -04:00
Michael Alexsander
67acb7de6e Rename Tabs to TabBar 2021-10-19 11:37:31 -03:00
Gilles Roudière
1a95f893c4 Implement TileMap patterns palette 2021-10-19 11:57:37 +02:00
Rémi Verschelde
483df71120
Merge pull request #53980 from nekomatata/rename-godot-physics-classes 2021-10-19 08:24:02 +02:00
Rémi Verschelde
723b988fde
Merge pull request #52210 from BastiaanOlij/enhance_xr_trackers 2021-10-19 08:11:32 +02:00
PouleyKetchoupp
cc39dca9f7 Rename Godot Physics classes from *SW to Godot*
Also moved MT physics server wrappers to the main servers folder, since
they don't have to be implementation specific.
2021-10-18 17:01:10 -07:00
ConteZero
838c9d37b4 Added primary clipboard for Linux 2021-10-18 14:01:06 +02:00
Haoyu Qiu
0a381137bc Fix crash when executing CodeEdit._main_gutter_draw_callback 2021-10-18 19:26:47 +08:00
Rémi Verschelde
015e0c9fd8
Merge pull request #52773 from Calinou/audiostreamplayer3d-tweak-max-distance 2021-10-18 10:49:01 +02:00
Rémi Verschelde
523e0d80a8
Merge pull request #53925 from Anutrix/fix-unused-imports
Remove unused imports default_theme SCsub
2021-10-18 07:56:36 +02:00
Rémi Verschelde
b6ee9ed8c5
Merge pull request #53889 from Klowner/surfacetool-generate-lod-assert-crash
Add check to SurfaceTool.generate_lod(); ensure target index count >=…
2021-10-18 07:51:43 +02:00
Anutrix
a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
Yuri Roubinsky
468b987aa3
Merge pull request #53881 from Ev1lbl0w/fix_textedit_null_crash 2021-10-17 15:33:38 +03:00
Bastiaan Olij
5d1ea92daf Rework XR positional trackers 2021-10-17 12:12:20 +11:00
Mark Riedesel
5d96124af6 Add check to SurfaceTool.generate_lod(); ensure target index count between 0 and source index count. Fixes #53876 2021-10-16 20:31:20 -04:00
Rémi Verschelde
c2a616f3ec
Merge pull request #53821 from TwistedTwigleg/Godot_Master_SkeletonModificationIK_FixPoseChange
Fix for SkeletonModification3Ds to work with the new bone pose changes.
2021-10-16 23:54:37 +02:00
TwistedTwigleg
0cedc04769 Fix for SkeletonModification3Ds to work with the new bone pose changes, fixed global_pose_to_local_pose function 2021-10-16 16:34:31 -04:00
Ricardo Subtil
88985cbf3a Fix null crash with TextEdit 2021-10-16 18:24:46 +01:00
Rémi Verschelde
a4e1a07d83
Merge pull request #53865 from reduz/implement-blend-shape-tracks 2021-10-16 16:48:10 +02:00
reduz
ae1c016547 Implement Animation Blend Shape Tracks
* New track type BLEND_SHAPE
* Blend shapes are imported via this new track type
* Processing is more optimized (no longer relies on variants)
* Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes)
* Promo: Fixed a small bug in gizmo updating in Node3D that affected performance

Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-16 08:36:05 -03:00
mennomax
b4eeeb315a
Swap args of Plane(point, normal) constructor
Now (normal, point)
2021-10-15 20:49:42 -05:00
Rémi Verschelde
b5ece7c363
Merge pull request #53764 from Chaosus/vs_curve_input_port_default 2021-10-15 19:31:05 +02:00
Rémi Verschelde
1efe7093be
Merge pull request #53833 from akien-mga/remove-webm-support 2021-10-15 17:33:06 +02:00
reduz
b3bf90b3ce Add scene Post-Import Plugin support.
* New plugin system to control the whole import workflow
* Can add options and run code at every import step (general, per node, mesh, animation, material etc.)

This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-15 09:12:04 -03:00
Rémi Verschelde
ae74e78909
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.

With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.

Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.

This also removes the compile-time dependency on `yasm`.

Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
2021-10-15 12:09:11 +02:00
Camille Mohr-Daurat
342c1bf1e2
Merge pull request #53054 from MaxLap/doc_shape_signals
Improve area/body_shape_entered/exited signals parameter names and doc
2021-10-14 14:31:58 -07:00
Maxime Lapointe
b66fdb8dd2 Improve area/body_shape_entered/exited signals parameter names and doc
Fix some typoed names from the doc
Add _index to "index" parameters of *_shape_* signals, this is both in doc and in the template. This makes the code, signature and doc easier to understand
Add method to get Node from the _index params of those signals. This was not as easy to find as one would expect. Putting this information where it is needed will help.
2021-10-14 15:41:26 -04:00
Rémi Verschelde
f90047f158
Merge pull request #53786 from TokageItLab/fix-skeleton-editor-methods 2021-10-14 20:53:15 +02:00
Rémi Verschelde
668ceda9cb
Merge pull request #53810 from groud/fix_crash
Fixes crash in TileSetAtlasSource::get_tiles_to_be_removed_on_change
2021-10-14 20:26:40 +02:00
Rémi Verschelde
5747895002
Merge pull request #53795 from briansemrau/fix-height-fog
Fix the height fog effect
2021-10-14 20:24:53 +02:00
Silc 'Tokage' Renew
8e9897b6de get rid set_bone_pose and fix some function in SkeletonEditor 2021-10-15 02:41:17 +09:00
Gilles Roudière
3948f9cc83 Fixes crash in TileSetAtlasSource::get_tiles_to_be_removed_on_change 2021-10-14 16:49:59 +02:00
Brian Semrau
a62e240260 Fix the height fog effect 2021-10-14 04:08:39 -04:00
Rémi Verschelde
569ea313ab
Merge pull request #53792 from floppyhammer/fix-bilinear-texture-progress-bar 2021-10-14 09:39:38 +02:00
floppyhammer
a238816f0b Fix bilinear TextureProgressBar with nine patch enabled 2021-10-14 11:19:32 +08:00
reduz
2dc823273e Remove REST transform influence in skeleton bones
* Animations and Skeletons are now pose-only.
* Rest transform is kept as reference (when it exists) and for IK
* Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
2021-10-13 14:51:29 -03:00
Rémi Verschelde
004b44e915
Merge pull request #53767 from groud/improve_tile_set_change_performances 2021-10-13 16:03:31 +02:00
Rémi Verschelde
6eff4c1fee
Merge pull request #53703 from groud/prevent_tiles_outside_texture 2021-10-13 15:02:35 +02:00
Gilles Roudière
0de2fce3e1 Greatly improve editor performances by deferring tiles related updates
Solve few update problems
2021-10-13 14:49:47 +02:00
Yuri Roubinsky
e270644b20 Add a default input parameter field to CurveTexture (in visual shaders) 2021-10-13 15:25:12 +03:00
Rémi Verschelde
8240a11ba0
Merge pull request #53761 from groud/fix_tilemap_memory_leak 2021-10-13 14:04:11 +02:00
Gilles Roudière
b9151860f3 Prevent tiles outside atlas texture 2021-10-13 13:44:02 +02:00
Rémi Verschelde
3be18d3d37
Merge pull request #53578 from RedHeadphone/patch-1 2021-10-13 12:44:54 +02:00
Rémi Verschelde
a564dd7c6d
Merge pull request #53747 from manueldun/trailSectionSubdivCrash 2021-10-13 12:43:48 +02:00
Rémi Verschelde
3e86ca5586
Merge pull request #53689 from reduz/remove-animation-transform3d-track 2021-10-13 12:40:33 +02:00
Gilles Roudière
48fb43035c Fix TileMap memory leak 2021-10-13 12:12:25 +02:00
Rémi Verschelde
d742dcd3ce
Merge pull request #53745 from KoBeWi/layerzzzzz 2021-10-13 10:16:44 +02:00
Rémi Verschelde
74a87fe98b
Merge pull request #53683 from Chaosus/vs_previews 2021-10-13 10:03:44 +02:00
Manuel Dun
3905b4e67a fix so the error macro uses the incomming parameter p_subdivision instead of the class member 2021-10-12 20:22:33 -04:00
kobewi
bf3eaa767b Use z_index for TileMap layer darkening 2021-10-13 01:34:34 +02:00
reduz
ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00
Rémi Verschelde
d9667d9262
Merge pull request #53636 from KoBeWi/colorayer
Add modulate property to TileMap layers
2021-10-12 22:32:38 +02:00
Rémi Verschelde
b372f79dd5
Merge pull request #53676 from Klowner/camera-get-pyramid-rid-shape-crash
Fix Camera3D::get_pyramid_shape_rid() crash when not in scene
2021-10-12 22:32:16 +02:00