Commit graph

36879 commits

Author SHA1 Message Date
Yuri Roubinsky
1e60fcc53c Fix incorrect inheritance of VisualShaderNodeParticleAccelerator 2021-08-16 14:17:31 +03:00
Rémi Verschelde
67881168d8
Merge pull request #51713 from maiself/fix-input-methods-returning-zero-strength-master
Fix input methods returning zero strength when pressed status not requested (master)
2021-08-16 13:03:13 +02:00
Rémi Verschelde
3ce53e458e
Merge pull request #50159 from Calinou/standardmaterial3d-add-shader-comment
Add a comment at the top of generated shaders
2021-08-16 13:00:55 +02:00
jfons
49361034f9 Minor fixes to Node3DEditorPlugin
* Change EditorNode3D::update_all_gizmos() to start at the edited scene
  root instead of the whole editor root.
* Call update_all_gizmos() only once at start instead of evrey time a
  gizmo plugin is added.
* Add missing null check.
2021-08-16 12:59:12 +02:00
Rémi Verschelde
84f1d161a7
Merge pull request #50181 from Calinou/gpu-particles-improve-visibility-generation
Improve visibility rect/AABB generation usability in GPUParticles
2021-08-16 12:45:00 +02:00
Rémi Verschelde
2459f81044
Merge pull request #51704 from Calinou/editor-icons-add-expression
Add editor icons for VisualScript and VisualShader expression resources
2021-08-16 12:43:52 +02:00
Rémi Verschelde
40f5c571ec
Merge pull request #51702 from Calinou/port-visual-shader-icons
Port visual shader node icons from Godot 2.1.x
2021-08-16 12:43:29 +02:00
Rémi Verschelde
55d26af588
Merge pull request #51608 from clayjohn/Vulkan-Panorama-sky-hint
Use hint_albedo in SkyMaterials
2021-08-16 12:41:12 +02:00
Vignesh1-art
eb5b0d013f
Fixed crash executing TextEdit.new().set_draw_control_chars(true)
Fixes #51613.
2021-08-16 12:36:14 +02:00
Rémi Verschelde
87226cef21
Merge pull request #51723 from Chaosus/fix_shader_compile_error
Makes a clear error message if shader compilation failed
2021-08-16 12:31:39 +02:00
Rémi Verschelde
832b045296
Merge pull request #51701 from theoway/updates_node_arranger_icon
Changes the icon of node arranger in GraphEdit & editor
2021-08-16 12:31:16 +02:00
Rémi Verschelde
3e7a545ecf
Merge pull request #51030 from kleonc/sprite_frames-preserve-src-atlas_texture-margins
SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture
2021-08-16 10:37:40 +02:00
Rémi Verschelde
2edc47caea
Merge pull request #51249 from kleonc/tab_container-fix-disconnecting-errors
TabContainer: Fix error on removing top-level Control child, Remove _get_tab method
2021-08-16 10:35:20 +02:00
Yuri Roubinsky
9de779344c Makes a clear error message if shader compilation failed 2021-08-16 11:25:20 +03:00
Umang Kalra
c2f8c94b15 Changes the icon of node arranger in GraphEdit/VisualScript/VisualShader 2021-08-16 12:30:15 +05:30
Rémi Verschelde
437b0dd5f6
Merge pull request #51710 from BastiaanOlij/fix_bokeh_version 2021-08-16 08:57:23 +02:00
Mai Lavelle
ce43781cb3 Fix input methods returning zero strength when pressed status not requested
Fixes behavior of these methods:

`InputMap::event_get_action_status`
`InputEvent*::action_match`

Previously when `p_pressed` was `nullptr`, `p_strength` would be set to
`0.0f` regardless of event strength. This affected `InputEventAction` events
processed by `Input.parse_input_event` for example.

Regression found in afa89c9eea
2021-08-16 00:53:01 -04:00
Hugo Locurcio
1bd214258e
Improve visibility rect/AABB generation usability in GPUParticles
- Don't display the time dialog if the automatically calculated
  generation time is short enough.
- Clarify the purpose of waiting in the progress dialog.
2021-08-16 05:56:07 +02:00
Hugo Locurcio
c9a491b671
Add a comment at the top of generated shaders
This comment is useful to determine the origin of ShaderMaterials
converted from built-in material types (such as CanvasItemMaterial
or StandardMaterial3D).

The Godot version is also included in case the shader needs to be
regenerated with a newer engine version.
2021-08-16 05:19:39 +02:00
Jeffrey Cochran
14640fb6c5 Enabled softbody-area collision (intersection) and enabled area-specific gravity for soft bodies. 2021-08-15 23:01:33 -04:00
Bastiaan Olij
c7847b3f6d Moved disabling bokeh shader variants to before the version_create call 2021-08-16 12:18:27 +10:00
Hugo Locurcio
c7dbac9d02
Add editor icons for VisualScript and VisualShader expression resources 2021-08-16 01:43:51 +02:00
Hugo Locurcio
ed82634857
Port visual shader node icons from Godot 2.1.x 2021-08-16 00:53:26 +02:00
Rémi Verschelde
1ed00dca88
Merge pull request #51694 from RicardRC/constconstconstconstconstconst
Fix compilation with float=64
2021-08-15 20:15:14 +02:00
Yuri Roubinsky
d7ab7ff6be
Merge pull request #51664 from Chaosus/vs_fixes 2021-08-15 20:07:15 +03:00
Yuri Roubinsky
e537a1f10e Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
Ricard Rovira Cubeles
a8d12b5a61 Add constant to vector function parameters that don't actually modify their input.
Add more overloads of vector multiplication, required by templates to compile with float=64.
2021-08-15 16:45:37 +02:00
Rémi Verschelde
966559c3bd
Merge pull request #51512 from Bhu1-V/PR/cmd-fix
command palette improvements
2021-08-15 16:01:49 +02:00
fabriceci
d776b6c154 API improvement on physics, mainly CharacterBody
Changes:

- Rename few methods/property and group them in the editor when it's possible
- Make MotionResult API consistency with KinematicCollision
- Return a boolean in move_and_slide if there was a collision
- New methods:
  - get_floor_angle on CharacterBody to get the floor angle.
  - get_angle on KinematicCollision to get the collision angle.
  - get_last_slide_collision to quickly get the latest collision of move_and_slide.
2021-08-15 12:53:29 +02:00
Bhuvan Vemula
a0205e4f34 command palette improvements 2021-08-15 11:40:44 +05:30
Bastiaan Olij
57e16812a1
Merge pull request #51507 from BastiaanOlij/fix_screen_and_depth_texture
Fix read from screen and depth texture
2021-08-15 13:38:36 +10:00
Bastiaan Olij
4002650cb9 Fix read from screen and depth texture 2021-08-15 13:14:19 +10:00
Rémi Verschelde
8781c9536e
Merge pull request #48572 from Calinou/improve-animation-bezier-editor
Improve the animation bezier editor
2021-08-14 23:27:11 +02:00
Hugo Locurcio
4a4d977bea
Improve the animation bezier editor
- Allow snapping bezier handles to the timeline.
- Allow precise snapping when holding Shift for keyframes and handles.
  - Previously, it was only allowed for seeking the timeline.
  - This change also impacts the animation track editor,
    not just the bezier editor.
- Invert the Ctrl + mouse wheel behavior to match the zoom direction
  in the animation track editor.
- Increase the line spacing between the "Time:" and "Value:" texts
  to improve readability.
- Tweak box selection styling to match the animation track editor.
- Adjust line widths for hiDPI displays.
2021-08-14 22:04:45 +02:00
TwistedTwigleg
5ffed49907 New and improved IK system for Skeleton3D
This PR and commit adds a new IK system for 3D with the Skeleton3D node
that adds several new IK solvers, as well as additional changes and functionality
for making bone manipulation in Godot easier.

This work was sponsored by GSoC 2020 and TwistedTwigleg

Full list of changes:
* Adds a SkeletonModification3D resource
  * This resource is the base where all IK code is written and executed
* Adds a SkeletonModificationStack3D resource
  * This node oversees the execution of the modifications and acts as a bridge of sorts for the modifications to the Skeleton3D node
* Adds SkeletonModification3D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in it's own file
* Several changes to Skeletons, listed below:
  * Added local_pose_override, which acts just like global_pose_override but keeps bone-child relationships intract
    * So if you move a bone using local_pose_override, all of the bones that are children will also be moved. This is different than global_pose_override, which only affects the individual bone
  * Internally bones keep track of their children. This removes the need of a processing list, makes it possible to update just a few select bones at a time, and makes it easier to traverse down the bone chain
  * Additional functions added for converting from world transform to global poses, global poses to local poses, and all the same changes but backwards (local to global, global to world). This makes it much easier to work with bone transforms without needing to think too much about how to convert them.
  * New signal added, bone_pose_changed, that can be used to tell if a specific bone changed its transform. Needed for BoneAttachment3D
  * Added functions for getting the forward position of a bone
* BoneAttachment3D node refactored heavily
  * BoneAttachment3D node is now completely standalone in its functionality.
    * This makes the code easier and less interconnected, as well as allowing them to function properly without being direct children of Skeleton3D nodes
  * BoneAttachment3D now can be set either using the index or the bone name.
  * BoneAttachment3D nodes can now set the bone transform instead of just following it. This is disabled by default for compatibility
  * BoneAttachment3D now shows a warning when not configured correctly
* Added rotate_to_align function in Basis
* Added class reference documentation for all changes
2021-08-14 15:57:00 -04:00
Rémi Verschelde
9f5c61315c
Merge pull request #51669 from KoBeWi/nextnextnextnextnext
Fix double Next Editor Tab
2021-08-14 18:06:41 +02:00
Rémi Verschelde
9f77ba4ec5
Merge pull request #51654 from RandomShaper/fix_spirv_msvc_debug
Upgrade spirv-reflect
2021-08-14 18:03:46 +02:00
Rémi Verschelde
fae0296378
Merge pull request #51657 from timothyqiu/view-name
Fix i18n of 3D view name
2021-08-14 18:02:07 +02:00
kobewi
cf95ce8b43 Fix double Next Editor Tab 2021-08-14 16:57:42 +02:00
Pedro J. Estébanez
d29a0d5753 Upgrade spirv-reflect 2021-08-14 15:12:07 +02:00
Rémi Verschelde
4e1d91f4d3
Merge pull request #50998 from BastiaanOlij/single_bokeh_dof_raster
Rewrote raster DOF shader to using BOKEH
2021-08-14 14:44:23 +02:00
Rémi Verschelde
087ec7b8ad
Merge pull request #51656 from AndreaCatania/paged-allocator-initializer
The `PagedAllocator` can now allocate objects with non empty constructors.
2021-08-14 14:12:47 +02:00
Rémi Verschelde
b9b6102b91
Merge pull request #51660 from AnilBK/use-short-functions
Use get_global_* functions instead of using transforms.
2021-08-14 12:17:53 +02:00
Rémi Verschelde
a96c96ca72
Merge pull request #50147 from aaronfranke/disable-node3d
Disable Node3D when compiling without 3D and fix disable_3d option
2021-08-14 11:59:06 +02:00
Anilforextra
c390f0515d Use get_global_* functions instead of using transforms. 2021-08-14 14:01:57 +05:45
Rémi Verschelde
59879447a3
Merge pull request #51636 from Calinou/rename-lineshape2d
Rename LineShape2D to WorldMarginShape2D
2021-08-14 09:36:16 +02:00
Haoyu Qiu
42579a346b Fix i18n of 3D view name
Make the full view name translatable as a whole instead of combining
from sub-strings.
2021-08-14 15:24:02 +08:00
AndreaCatania
c81cb64416 Add the possibility to initialize the classes allocated with the PagedAllocator
It uses the (`const T &&... p_args`) forward reference, to avoid copying the
memory in case it's an rvalue, or pass a reference in case it's an lvalue.

This is an example:
```c++
PagedAllocator<btShapeBox> box_allocator;
btShapeBox* box = box_allocator.alloc( btVector3(1.0, 1.0, 1.0) );
```
2021-08-14 09:04:31 +02:00
Hugo Locurcio
8e3f71d750
Rename LineShape2D to WorldMarginShape2D
The new name makes it more obvious that it acts as an infinite plane,
and is consistent with its 3D counterpart (WorldMarginShape3D).
2021-08-14 03:12:13 +02:00
Yuri Sizov
855cfe1559 Add support for partial custom editor themes 2021-08-14 02:03:07 +03:00