Commit Graph

515 Commits

Author SHA1 Message Date
109a0ca81b Ported from Godot4: 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).
- reduz
2dc823273e
2022-08-11 19:06:33 +02:00
15a5bea727 Clear surfaces in ImmediateMesh before adding a new one. 2022-08-11 18:09:33 +02:00
4db7bba945 Now ImmediateMesh actually sends the expected data to the VisualServer. 2022-08-11 17:56:31 +02:00
92600420ba Backported from Godot4: Implemented SkeletonEditorGizmo.
-TokageItLab, lyuma
f2e9867e9f
- It still has some issues, as this one works differently than the 3.x version, they will be fixed later.
2022-08-11 17:31:02 +02:00
d662b2f3c9 Fix unused variable. 2022-08-11 12:31:24 +02:00
1b743e8a6d Fixed comparison of integer expressions of different signedness warnings. 2022-08-11 12:28:04 +02:00
dd250bf678 Backported ImmediateMesh from Godot4. 2022-08-11 12:23:36 +02:00
58539a22b6 Backported from Godot4: Node3D gizmo improvements
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
- JFonS
cfb555a081
- Note: MeshDataResourceEditor is now kind of painful to use, it will be fixed a bit later.
2022-08-11 01:24:29 +02:00
b352060a62 Added a new bones_updated signal to Skeleton. 2022-08-10 12:42:04 +02:00
49f76407ba Fix unsigned signed comparison warnings. 2022-08-10 11:34:12 +02:00
7a9fe9117a Fix build. 2022-08-10 10:17:02 +02:00
22ce231a4e Backported from Godot 4: 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
- TwistedTwigleg
5ffed49907
Note: It still needs some work.
2022-08-10 01:01:38 +02:00
cf918406ae Renamed Skeleton's skeleton_updated signal to pose_updated to make the following backports that much easier. 2022-08-09 22:31:17 +02:00
0ffa8e33a7 Backporter from Godot 4: Unexpose methods and property for binding children to Bones.
- madmiraal
65faa12fd3
2022-08-09 22:05:43 +02:00
a478334d4a Backported from Godot master: Made low level changes to the Skeleton3D class and Skeleton3D inspector. Changes listed below:
* Added helper functions to Skeleton3D for converting transforms from bone space to global space, and vice versa.
* Updated the Skeleton3D class reference.
* Changed the icon used for bones in the Skeleton3D inspector to use BoneAttachement3D's icon.
* Changed the Skeleton3D inspector to use EditorPropertyTransform and EditorPropertyVector3 when possible.
* Placed the Transform/Matrix for each bone in a sub-section, so it is visually similar to the Node3D inspector.
- TwistedTwigleg
24905becb2
- Also fixed smaller issues.
2022-08-09 21:57:46 +02:00
3d4a55a1a3 Backported: Added feature to move physical bones with skeleton when not simulating physics. - AndreaCatania
374432d074
2022-08-09 19:19:50 +02:00
27aaa70037 Added back set_bone_pose to Skeleton, as I don't see any reason not to have it. Also improved it it. 2022-08-09 18:31:47 +02:00
6d293dc7a3 Removed Transform type track from the Animation. This leaves a few things, like the skeleton editor broken, it will be fixed soon. 2022-08-09 17:40:42 +02:00
3a8ffc6df3 Added missing cases to switch. 2022-08-09 12:26:47 +02:00
8fd473f685 Backported: "Remove animation 3D transform track, replace by loc/rot/scale tracks" from Godot4.
ec19ed3723
Its a bit broken right now, more patches need to be ported. Also I kept the Transform track for now, and I did not touch the gltf module yet.
2022-08-08 23:49:18 +02:00
453c6cdda4 Remove duplicate methods. 2022-08-08 17:31:56 +02:00
2d2dfb6a84 Backported some of the improvemnents to BoneAttachment from Godot4. 2022-08-08 17:29:59 +02:00
5fa6f5e5fb Backported a few helper methods from Godot4 to Skeleton. 2022-08-08 17:29:34 +02:00
7301c3f43c Backported ImporterMesh and ImporterMeshInstance3D from Godot4. 2022-08-07 22:44:42 +02:00
53f274de2f Ported: AnimatedSprite Fix updating inspector when SpriteFrames is modified - kleonc
8ae246f15e
2022-08-07 16:20:57 +02:00
Yuri Sizov
eed219ada1 Fix theme propagation for children of top level controls 2022-08-07 15:34:47 +02:00
3b84a64a36 Ported: Mark node groups as dirty for every children if parent is moved - YuriSizov
6d53c60bf7
2022-08-07 15:32:28 +02:00
Haoyu Qiu
a7f9cc21b7 Fix crash when executing AnimationTreePlayer.are_nodes_connected 2022-08-02 18:02:17 +02:00
6cceda5101 Fix warnings on the pi. 2022-08-01 23:32:12 +02:00
249dd4d661 Updated property hints for variant arrays. 2022-07-30 21:58:40 +02:00
Marcel Admiraal
89737a1ad5 Ensure changes to Camera2D's limits don't affect smoothed_camera_pos 2022-07-30 00:29:44 +02:00
Marcel Admiraal
0d55a30eb1 When Camera2D enters tree, ensure first update is not lost 2022-07-30 00:29:28 +02:00
lawnjelly
8726cccd56 Portals - Allow more logging to be disabled
Some logging messages were still being issued when portals/debug/logging was false. This could be annoying in games that stream in parts of levels and repeatedly call `rooms_convert()`.

This PR allows all but essential logging to be disabled.
2022-07-29 22:37:46 +02:00
kleonc
0d8a6b6cdd Fix CanvasItem not exiting its canvas group on canvas exit 2022-07-29 22:01:35 +02:00
5ebeb6a36c Ported: Add global_translation and global_rotation to Spatial - foxydevloper
5238740fef
2022-07-29 21:02:00 +02:00
Marcel Admiraal
e2987f8914 Update camera position when updating camera limit 2022-07-29 20:55:32 +02:00
Marcel Admiraal
ef7646924a Set initial SceneTree processes times to 0.0 2022-07-29 20:55:06 +02:00
Hayden
8e1244c196 Fix crash on NaN offset in path_follower 2d and 3d 2022-07-29 20:52:27 +02:00
Rémi Verschelde
6c004dcad2 SpriteFrames: Sort animations alphabetically
Fixes #62143.
2022-07-29 20:52:11 +02:00
Thakee Nathees
cb93141c27 Fix FileDialog file name autocompletion with filters
Fixes #38195.

(cherry picked from commit 446f1b70522d86b9afe93b6543028cbab60ffb61)
2022-07-29 19:58:34 +02:00
Haoyu Qiu
f0f2a9d960 Fix LineEdit caret after using arrow key to deselect 2022-07-29 19:56:42 +02:00
e0e4d0e51d Ported: Fix editor-only visibility for lights
* Update visibility again for editor-only lights if owner changes.
Fixes #26399, supersedes #52327
- reduz
995281ca90
2022-07-29 19:28:33 +02:00
Hugo Locurcio
0e32de0bad Clamp Viewport shadow atlas sizes to improve usability
- Add a range hint to the Viewport `shadow_atlas_size` property.
- Add range steps to the shadow resolution project settings that
  match the lowest allowed values (since lower increments don't
  make sense).
2022-07-29 17:38:06 +02:00
328da6b799 Ported: Print a warning for Viewports that have 2D usage and HDR enabled
2D usage + HDR isn't supported, so the usage must be changed to 3D
to be able to use HDR.
- Calinou
f64d5f4095
2022-07-29 17:36:54 +02:00
6871b0c752 Ported: Only show relevant properties in the DirectionalLight inspector
Some split distance properties are unused depending on the
current shadow mode. Also, Blend Splits and Bias Split Scale can
only be used if the shadow mode is PSSM 2 Splits or PSSM 4 Splits.
- Calinou
1806661462
2022-07-29 17:24:47 +02:00
f78be19966 Ported: Add process_mode property to InterpolatedCamera - saneery
cb94797ce4
2022-07-29 17:19:58 +02:00
hilfazer
c529ed6ef5 print_stray_nodes() also prints node's script 2022-07-29 17:11:10 +02:00
kobewi
0da3dcc5b4 Fix find_next_valid_focus() freeze
(cherry picked from commit 8d62b736b2fceb60a76ff916c8f904e25fece832)
2022-07-29 16:33:45 +02:00
kobewi
8e9782ac76 Fix find_next_valid_focus() freeze
(cherry picked from commit d9ede52ded9eb7ef6ccb7c704f1d9ccbe7f23861)
2022-07-29 16:31:09 +02:00
smix8
e037bd3bb6 Group NavigationAgent properties
Groups the ill-defined NavigationAgent properties between pathfinding and avoidance to make it more clear which property affects what.

(cherry picked from commit dde09be302afa08f5744533e82247bb49eff1f83)
2022-07-29 16:30:15 +02:00
648b9fce40 Ported: Add an option to drag'n'drop selected text in TextEdit - ConteZero
a13b3028a2
2022-07-29 16:29:53 +02:00
6101beb960 Ported: Add NavigationAgent desired path distance - smix8
88e42b2915
2022-07-29 11:36:09 +02:00
Rémi Verschelde
afed6d80bd Node: Rename child_exited_tree to child_exiting_tree
The name was confusing as this signal is emitted around the same time as
`tree_exiting` and `NOTIFICATION_EXIT_TREE`, i.e. while the child node is
still in tree.

Fixes #59210.

(cherry picked from commit 3e6de687b8e9f5c24ff78312208eae6195e6ca40)
2022-07-29 11:03:04 +02:00
kleonc
c1a9c5007b Fix CPUParticles2D.emission_shape enum hint 2022-07-29 10:37:11 +02:00
2e0589f63a Ported: [3.5] Add NavigationAgent2D/3D set_navigation_map() function
Add NavigationAgent2D/3D set_navigation_map() function. Also fixes some bugs from leftover code before the backport update.
- smix8
c6f9627c74
2022-07-29 10:34:10 +02:00
bb5acfd745 Ported: [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
- smix8
8bd7c6188b
2022-07-28 22:34:28 +02:00
152f9728b0 Ported: [Windows, 3.x] Add support for handling network share paths. - bruvzg
11a7997a67
2022-07-28 19:33:43 +02:00
kobewi
69976cd190 Disable scroll when dragging at edges of TextEdit 2022-07-28 19:23:36 +02:00
bruvzg
9dbb96dc1d Improve RTL table fill. 2022-07-28 19:21:13 +02:00
43131ad4cb Ported: Add readable export errors. Add RTL image vertical alignment support. - bruvzg
f5fa1ca944
2022-07-28 18:40:46 +02:00
a1a7c32f68 Ported: Backport default World navigation maps.
Backports default navigation maps created with each World or World2D.
- smix8
96d98d8c4e
2022-07-28 15:04:42 +02:00
lawnjelly
48c1a1ae34 VisibilityNotifier - add max_distance feature
Enables turning off objects by distance to the camera in addition to testing whether they are in the view frustum.
2022-07-28 14:59:45 +02:00
da8155f59b Ported: Remove slash delimiter from NavigationMesh properties - smix8
e629622598
2022-07-28 14:52:42 +02:00
smix8
cce30604e4 Expose get_mesh() for NavigationPolygon Resources
Expose get_mesh() for NavigationPolygon Resources.

(cherry picked from commit 8bcce0ebb2ab5da94cc86f77df4c86f63bc5d22e)
2022-07-28 14:43:47 +02:00
smix8
4409bae4dc Add NavigationMesh debug when navmesh is added later through scripts
Add NavigationMesh debug when navmesh is added later through scripts

(cherry picked from commit b6eff47bac0a2745da6e3aa95ffa340eb71c7248)
2022-07-28 14:43:28 +02:00
lawnjelly
693c503213 Optimized Mesh Merging
Changes from PoolVector to LocalVector and pre-reserving vectors rather than push_back.
2022-07-28 13:46:56 +02:00
lawnjelly
c0c72eed7b Force unsigned behaviour for bitfield enums
Some compilers (notably MSVC) were using signed values for bitfield enums. This was causing problems where 2 bits were used to store 4 or less enum values, where they were being treated as negative numbers.

This PR explicitly requests these enums to be treated as unsigned values.
2022-07-28 13:45:51 +02:00
Haoyu Qiu
8002080311 Fix Viewport.own_world documentation
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-07-28 13:44:56 +02:00
Michael Alexsander
b03af6e40e Take into account the clear icon's size even when not visible in LineEdits 2022-07-28 13:43:20 +02:00
Michael Alexsander
9ffe4a2e51 Fix specific bug related to submenus in PopupMenu 2022-07-28 13:42:58 +02:00
Michael Alexsander
2ebc4905fc Fix hover being drawn twice inside PopupMenus 2022-07-28 13:42:35 +02:00
FireForge
73d95ac5e9 Fix get_data() for GradientTexture2D 2022-07-28 11:53:23 +02:00
bruvzg
3ef4f9128b Fix Label3D oversampling. 2022-07-28 11:46:40 +02:00
Haoyu Qiu
2d6183beb7 Fix LineEdit clear button for asymmetric stylebox 2022-07-28 11:36:32 +02:00
kleonc
0c4799c45a Allow changing exclusive of already popped up Popup 2022-07-28 11:35:45 +02:00
kleonc
3dbf7c3d52 PopupMenu Fix hover stylebox overflowing horizontally 2022-07-28 11:34:22 +02:00
Hugo Locurcio
c6fa9ce87d Tweak TextMesh decomposition error message to mention self-intersecting lines 2022-07-28 10:37:18 +02:00
Aaron Record
54b02c41e6 Allow ScrollBar params of a ScrollContainer to be modified from _ready()
Cherrypicks b8610dbd3159985f007deb0424a64df386832d07
2022-07-28 10:18:48 +02:00
bruvzg
396899d91b Fix material shader key for SDF fonts. 2022-07-28 00:02:44 +02:00
d161a30a4b Ported: Backport TextMesh and expose dynamic font vector outlines - bruvzg
d502bd4847
2022-07-28 00:01:20 +02:00
f5dc24f4d5 Fix typo. 2022-07-27 23:45:42 +02:00
7fd0b29642 Ported: Backport Label3D node implementation and Sprite*3D material render priority. - bruvzg
dc6d8d6098
2022-07-27 23:40:35 +02:00
smix8
eaf28297ec Process NavigationAgent2D/3D avoidance on demand only
Changes NavigationAgent avoidance callback to a toggle that is disabled by default.
Also fixes a few missing descriptions / wrong warnings.

(cherry picked from commit 7f3688603cb3662e425cb7a1dce15459162c1dc6)
2022-07-27 23:13:40 +02:00
Hugo Locurcio
8f1ac63f60 Tweak the disabled files text color in FileDialog for readability
Contrast rate is still fairly low, but the text needs to be easy enough
to distinguish from non-disabled items.

(cherry picked from commit 8962d2760d05a2027d65d104bf3763edb828c52a)
2022-07-27 23:12:42 +02:00
Haoyu Qiu
49b6f63f5f Update last min size when Control becomes visible
(cherry picked from commit 4ac999cc3fa0d7740356aaafe7ab44da2b16e7dd)
2022-07-27 23:11:43 +02:00
c3bb14f49e Ported: add check for selection when try to push a meta.
Add a check for when we select a text but end on a link. Before it would act as if we just click an link, but now it changes it so if we click-drag over a link, we could select it (and not move to other page).
- danielkariv
47ead8504a
2022-07-27 23:10:55 +02:00
smix8
29234d3ac3 Remove arbitrary NavigationMesh bake property limits
Lowers or removes the slider limits and steps from NavigationMesh resources and changes some default values to better work with realistic unit sizes by default.

(cherry picked from commit cda93057f73ad937deacb8200cf27f4996ed8918)
2022-07-27 23:08:58 +02:00
bruvzg
5b66d10760 Fix incorrect encoding used in _error_handler functions
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2022-07-27 23:05:03 +02:00
60b854d657 Ported: Make Navigation Agents and Obstacles respect parent process mode
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.
- smix8
88acb5b798
2022-07-27 20:07:55 +02:00
53f8707713 Ported: Add node list param to GraphEdit::delete_nodes_request signal - Chaosus
32b9818965
2022-07-27 20:01:38 +02:00
smix8
ced2f890b6 Add wrong surface warnings to NavigationMesh.create_from_mesh()
Adds warnings when at least one of the input mesh surfaces is of wrong primitive type or has an empty vertex / index array as those broken input meshes would fail as both navmesh as well as later when creating debug meshes.

(cherry picked from commit 4185fce0eff4c0fc40f077120d0ed26220e6c995)
2022-07-27 19:55:18 +02:00
Sergey Pershenkov
c819fe68dd Return -1 from get_selected_id() when not selected
Partial cherry pick from 3b146c5eaa06d9f6827c651802b9fb2a9a1e013d
2022-07-27 19:49:47 +02:00
Rémi Verschelde
e81d1f010a Revert invalid PopupMenu breaking change from #61102
Fixes #61179.
2022-07-27 19:49:17 +02:00
smix8
1d428ac1c9 Update NavigationPolygonInstance when polygons of NavigationPolygon change
Updates NavigationPolygonInstance polygons on the NavigationServer2D when the NavigationPolygon Resource emits its changed signal due to e.g. polygons altered by script.
2022-07-27 19:45:42 +02:00
52183f16da Ported: Make various improvements to OptionButton
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.
- okla
431c032d8c
2022-07-27 19:26:59 +02:00
Haoyu Qiu
5ceff7f039 Fix AnimatedSprite doesn't emit animation_finished when changing playback direction
(cherry picked from commit d5f5e96e118d6904aaa071fcb8e8f08fa2d4eae5)
2022-07-27 19:14:49 +02:00
Markus Sauermann
ee4f41951e Distribute remaining pixel to expanding childs of GridContainer
(cherry picked from commit 6b3207644b8d2338a9a55f8cfeb0ec65f1cea207)
2022-07-27 19:12:28 +02:00
FireForge
04b2405843 Fix Theme type group naming in the inspector
(cherry picked from commit 197be78bc558aa90413bd0420c24736a989e5f0e)
2022-07-27 19:10:49 +02:00
smix8
63a51b546e Clamp NavigationMesh sample_distance above zero
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.

This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.

(cherry picked from commit e33fa9d8331f38c8c404b9d6ea286eacb503d3bb)
2022-07-27 19:05:26 +02:00
ad080c7017 Ported: Disable threaded NavigationMesh bake on unsupported OS. Automatically disables threaded NavigationMesh bake when OS does not support threads. - smix8
c3b39ca1e9
2022-07-27 18:51:18 +02:00
smix8
4a5982b9e1 Expose NavigationObstacle2D/3D get_rid() and add config warning
Exposes get_rid() function for scripting.
Adds configuration warning when obstacle is used with not intended static body parent.

(cherry picked from commit 001d89223f1377717d2b3d5ec453ff8dd3604182)
2022-07-27 18:49:00 +02:00
smix8
96b8c4d323 Fix NavigationObstacle2D/3D get_global_transform() error
Fixes NavigationObstacle2D/3D reporting a 'get_global_transform: Condition "!is_inside_tree()" error when estimating the agent radius.

The collisionshapes that are lower in the SceneTree order than the obstacle node are not loaded in the SceneTree yet so the global_transform function fails.

Also adds warning message when this happens.

(cherry picked from commit cc707412e909f117ad53ebe53e19bad43acf086a)
2022-07-27 18:48:43 +02:00
Hendrik Brucker
3585f416d4 Fix button icon expansion calculation with empty text
(cherry picked from commit c09a5e277410761733a59a2b207d7320131b2511)
2022-07-27 18:42:10 +02:00
24eccc4281 Ported: Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
- akien-mga
5e693b6d84
2022-07-27 18:39:35 +02:00
b4ed478b6c Ported: Mention that Area2D doesn't support one_way_collision - KoBeWi
bdbbc78da4
2022-07-27 18:32:54 +02:00
kobewi
b6fc4de92f Rescue orphan nodes in inherited scenes
(cherry picked from commit 2b53826ee6872d48acafb9ece1b9027467d2611d)
2022-07-27 18:29:21 +02:00
cb6e070227 ported: Make auto_accept_quit and quit_on_go_back properties. - timothyqiu
58650af062
2022-07-27 18:26:15 +02:00
FireForge
71d20ea670 Add interpolation modes to Gradient - Linear, Constant, and Cubic interpolation modes - Partial backport of #53321 2022-07-27 18:12:14 +02:00
Hugo Locurcio
8c930d98b8 Use a floating-point number for the timeout property in HTTPRequest
This allows for greater precision when specifying a timeout in
HTTPRequest in `3.x`, similar to what is already possible in `master`.
2022-07-27 18:01:11 +02:00
75606b352f Ported: Physics Interpolation - Reset on adding child to SceneTree. For convenience, branches added to the SceneTree now have physics interpolation reset after the first update of the transform to the VisualServer. - lawnjelly
328866ee6a
2022-07-27 17:51:39 +02:00
8e6b320144 Added back method removed by accident. 2022-07-27 15:52:05 +02:00
Haoyu Qiu
390735e803 Fix tree button icon not centered vertically 2022-07-27 15:21:35 +02:00
Michael Alexsander
9af14c8d90 Add font_separator to PopupMenu 2022-07-27 15:21:19 +02:00
Haoyu Qiu
d9d2b3a7e3 Fix mismatched font outline size hint 2022-07-27 15:18:57 +02:00
Michael Alexsander
1e2c8637c2 Fix separator height influencing labeled variation in PopupMenu 2022-07-27 15:17:29 +02:00
eaa0c1016a Ported: Physics Interpolation - add interpolation mode property to node
Exposes the "interpolated" flag on nodes via a property, physics_interpolation_mode.
Mode can be INHERIT, OFF and ON. This makes it easy to turn off interpolation for nodes in the editor, versus via code. - lawnjelly
0ab077fcef
2022-07-27 15:16:37 +02:00
Hugo Locurcio
f7585bea99 Rename profiler "Idle Time" to "Process Time"
References to "idle time" are progressively being replaced by
"process time" throughout the engine to avoid confusion.

This also changes some debug prints to be printed only when verbose
mode is enabled (like in `master`).
2022-07-27 15:08:06 +02:00
kobewi
b7907d951c Fix tscn not listed as Resource extension
(cherry picked from commit e3511dd9d7637488368fbf82b53a029fa70fce5e)
2022-07-27 14:30:26 +02:00
ScottVMariotte
d858779450 Replaced loops_current with end_loop
(cherry picked from commit c526ee6683b74a8e0b283b1630dd29c5280aae19)
2022-07-27 14:27:06 +02:00
285c02bf76 Ported: Add autocompletion for AnimatedSprite.play() - timothyqiu
0f7f3d08ba
2022-07-27 14:23:27 +02:00
Pawel Lampe
106c45519b Add ability to bake_navigation_mesh off thread.
This feature makes it possible to workaround problems such as:
 - long baking time due to heavy synchronization when parsing geometry
   from mesh instances
 - crash when freeing `NavigationMeshInstance` while baking
 - errors when actively baking node tree is being detached from the
   scene tree
2022-07-27 14:14:50 +02:00
lawnjelly
da628411d2 Physics Interpolation - Flush transforms after physics tick
Leftover transforms from the physics tick were being flushed during idle, which was causing problems for physics interpolation.

This PR flushes the transforms at the end of the physics tick when physics interpolation is active.
2022-07-27 14:14:36 +02:00
Hugo Locurcio
724566309b Print warning in SpatialMaterial when depth and triplanar are active
Using both depth mapping and triplanar mapping isn't supported.
2022-07-27 14:09:11 +02:00
smix8
1317f7000a Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
2022-07-27 13:54:43 +02:00
b9fb0ae733 Ported: Backport the new Tween system as SceneTreeTween - timothyqiu, KoBeWi
153dc4d57e
2022-07-27 13:37:17 +02:00
bruvzg
814f76bf6b Fixed implementation of RTL remove_line()
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-07-27 13:08:20 +02:00
Hugo Locurcio
de8e9fc231 Add a Skew property to StyleBoxFlat
This makes it possible to create more aesthetically pleasing
styleboxes for GUI theming, especially in games that have
a futuristic appearance (where skewed buttons and progress bars
are common).
2022-07-27 13:07:30 +02:00
lawnjelly
3a191189ca Physics interpolation - fix streaking when unhiding nodes
The data flow to the VisualServer of current and previous transforms is essential for allowing correct interpolation. An optimization was present that disabled sending transforms when nodes were hidden, however this meant that when unhidden, nodes would interpolate incorrectly from the last transform received when hiding, rather than the up to date previous transform.

This PR disables the optimization and sends always sends transforms when a node is interpolated.
2022-07-27 13:06:20 +02:00
Silc 'Tokage' Renew
3250bdc1e4 fixed rotated RootMotionView grid glitch
(cherry picked from commit df89969865ffe84d36a666716934089afa16c51f)
2022-07-27 09:04:43 +02:00
Haoyu Qiu
84ee52250c Validate theme type/item names 2022-07-27 00:46:56 +02:00
d1108dc8bc Ported: Implement Scene Unique Nodes - KoBeWi
e1c74ae83f
2022-07-27 00:45:48 +02:00
Haoyu Qiu
5d3645c8cf Improve RayCast2D debug shape
Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2022-07-26 15:05:00 +02:00
lawnjelly
4d6dda4df0 Fix CPUParticles emission updating using physics interpolation
When switching emission on and off, processing was always being switched on and off using internal_process, which was incorrect for using physics interpolation (where physics_process is the relevant one).

This PR correctly updates the process mode according to whether physics interpolation is being used.
2022-07-26 15:03:37 +02:00
Haoyu Qiu
7190c806ec Fix Label autowrap for CJK text 2022-07-26 15:03:08 +02:00
Hugo Locurcio
4951e23481 Add a property hint for AspectRatioContainer's ratio property
Zero or negative ratios are not valid, so the property hint prevents
choosing such values.

The property hint allows using 4 decimals so that common aspect ratios
like 16/9 can be specified with a good level of precision.
2022-07-26 15:02:39 +02:00
Michael Alexsander
691b99f40c Draw relationship lines for items offscreen 2022-07-26 15:02:12 +02:00
Michael Alexsander
21d66d3a68 Fix GridContainer not ignoring toplevel children
(cherry picked from commit 506d8ba526188bb683eeb4e4389c8bd4a18abab8)
2022-07-26 14:59:18 +02:00
58b8271bf4 Ported: Fixed #59985 leading spaces autowrap boundary problem
Bug problem:
No condition for when the first character of the label is a space character
Fix:
Added an IF condition for when the first character is a space character
The autowrap boundary treat this space character as another dummy word in the WordCache linked list and proceed to function normally, by detecting when line width is 0
- ZheisterCoding
c0513268bd
2022-07-26 12:56:16 +02:00
Haoyu Qiu
56fed34913 Fix undo history for function name autocompletion 2022-07-26 12:46:13 +02:00
Eric McGuirk
55ed3e573e Fix toggling GraphEdit's minimap with minimap_enabled
Fixes #53831.

(cherry picked from commit b1441bbcfce23a2a8dfd95779e3de4f20053e65c)
2022-07-26 12:37:32 +02:00
kobewi
0da6b17950 Fix GraphEdit's valid connections being reversed
(cherry picked from commit b29aff8dac9bf342e45e6b6332b5efa13af9fa26)
2022-07-26 12:37:15 +02:00
Haoyu Qiu
2aefcf5585 Consider chained operation when selecting text in TextEdit::undo()
(cherry picked from commit 8cefbfcf432ef6ed3879ee60bf500b52149f3e01)
2022-07-26 12:35:47 +02:00
kobewi
3bb0c714bb Fix TouchScreenButton error spam
(cherry picked from commit db19cc60fb1aed98c54fb2722f525a624d56b17e)
2022-07-26 12:14:49 +02:00
8275f6b161 Ported: Add missing argument names in bindings - akien-mga
21c3048397
2022-07-25 23:51:34 +02:00
9d9a394af6 Ported: Add an explicit way to remove a theme type. - timothyqiu and YuriSizov
f6251724af
2022-07-25 23:46:08 +02:00
35eabcb846 Ported: Fix navmesh baking, fixes #57148
- improved mesh data calculation from standalone static colliders so that no
  VisualServer calls are performed - and thus no VS mutexes need to
  be locked in case of on-thread baking
- improved the same for GridMap's static colliders
- Scony
3035b9c44c
2022-07-25 22:57:51 +02:00
220b7e99be Ported: [3.x] Add deselect() to RichTextLabel - ConteZero
5e714051ea
2022-07-25 22:01:26 +02:00
d1ddbecc54 Ported: [3.x] Expose get_selected_text in RichTextLabel - ConteZero
820728aa52
2022-07-25 21:53:36 +02:00
a43091d427 Ported: Add drag and drop to TextEdit, LineEdit, RichTextLabel - ConteZero
4167e98088
2022-07-25 20:32:14 +02:00
c8adff0f99 Ported:
Fix Right-Click clearing selection - ConteZero
57b616fb21
2022-07-25 19:55:26 +02:00
d85caf2c71 Ported:
[3.x] Add option to make selection unique - ConteZero
0ffacff998
2022-07-25 19:46:09 +02:00
Yuri Roubinsky
54b534c4a4 Add selection getter methods to LineEdit
Co-authored-by: Yuri Roubinsky <chaosus89@gmail.com>
2022-07-25 18:22:15 +02:00
Hugo Locurcio
08f0acd056 Hide Tonemap White property when tonemapper is Linear in Environment
The whitepoint property isn't used when the tonemapper is Linear.
2022-07-25 18:20:45 +02:00
Hugo Locurcio
371b5513d3 Allow size values as low as 0.001 in Camera's orthogonal/frustum mode
This allows for lower field of view (or higher zoom) in orthogonal
and frustum camera modes.

The property hint also allows setting the size with greater precision.
2022-07-25 18:19:48 +02:00
Markus Sauermann
e1a8b0befe Fix event transform in ViewportContainer 2022-07-25 18:13:25 +02:00
Haoyu Qiu
9e0a1c88a0 Add missing CheckBox & CheckButton editor icons
Co-authored-by: Silc 'Tokage' Renew <tokage.it.lab@gmail.com>
Co-authored-by: Yuri Sizov <yuris@humnom.net>
2022-07-25 18:12:28 +02:00
Ricardo Buring
156fd78792 NavigationObstacle2D: estimate agent radius only when configured to do so 2022-07-25 18:11:52 +02:00
Pawel Lampe
eb8cf74074 Fix debug navmesh errors, fixes #59845 2022-07-25 18:11:28 +02:00
Pedro J. Estébanez
ff5bae8d0e Fix crash when passing null to AudioStreamPlayer::set_stream() 2022-07-25 18:09:39 +02:00
Ellen Poe
94c765d065 instance audio streams before AudioServer::lock call 2022-07-25 17:58:48 +02:00
Haoyu Qiu
18d0362cc0 Fix crash when using Camera2D::set_custom_viewport() 2022-07-25 17:57:41 +02:00
Rémi Verschelde
9197fd8d1e Improve range property hints for various collision shapes
Fixes #36419.

Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
(cherry picked from commit 0d772c6e6ecf210fa5b38df790b448cb80d4eb8c)
2022-07-25 17:48:29 +02:00
Rémi Verschelde
92561386ec ResourceImporterWAV: Allow configuring loop mode on import
The new `edit/loop_mode` import options lets user choose to either:
- Detect loop points from the WAV (default, same behavior as before)
- Set the loop mode and loop points manually like in AudioStreamSample

Fixes #46164.

(cherry picked from commit b389ce5ccd664c993772a0b71ba99a875106b523)
2022-07-25 17:42:23 +02:00
fabriceci
75a882d02e Fix wrong collision reported on move_and_collide 2022-07-25 17:31:13 +02:00
accd8458c8 Backported: Rename iterations_per_second to physics_ticks_per_second - Calinou - 937c1a716c 2022-03-24 11:10:56 +01:00
25cc327659 Backported: Fix inversed ADD_GROUP parameters in AnimationNodeOneShot - timothyqiu - e822145be2 2022-03-24 10:48:01 +01:00
4d1ca02a54 Backported: Bind NOTIFICATION_LOCAL_TRANFORM_CHANGED - jasonwinterpixel - 09e4672f0d 2022-03-24 10:47:06 +01:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +01:00
b74c00ea65 Backported the 3.x android editor port pr by m4gr3d and thebestnom. (Godot pr 57747). 2022-03-22 19:35:57 +01:00
c9b612f012 Added StringName as a variant type, with eventually the help of 3c0059650d . 2022-03-21 21:29:06 +01:00
5ab825ddf8 Backported: Bind mesh merging functionality in MeshInstance. The portal system introduced basic mesh merging functionality, this has wide ranging uses outside of the portal system.
For this reason, this PR binds the mesh merging functionality.
It also slightly modifies the calling from RoomManager to use a Vector of Node *, in order to allow binding of the function. - lawnjelly - cf1b3fdd55
2022-03-20 20:50:58 +01:00
a89fa56bea Backported: - Fix children visibility check (cherry picked from commit 280956d) - taigi100 - b33eed23ae 2022-03-20 19:12:43 +01:00
d7f455f36f Backported: - Add item tooltip access to OptionButton - timothyqiu - d537a88299 2022-03-20 19:07:53 +01:00
34c3176c39 Fix skinning by default in MeshInstance even if the mesh is merged. 2022-03-20 14:13:44 +01:00
4d7df62b8e Clang format all files. 2022-03-18 19:00:13 +01:00
f8e54698e4 Include cleanups for resources. 2022-03-18 18:48:49 +01:00
8fbdcd18f9 Same change to classes under scene. 2022-03-17 22:57:56 +01:00
678ee45c4f Move back shape's include to the header in collision object. 2022-03-17 21:02:40 +01:00
44bd2e0119 Added destructors to physics bodies to hopefully fix failing compile on some platforms. 2022-03-17 20:00:20 +01:00
3965d70ac5 Moved more includes to cpp files. 2022-03-17 19:35:23 +01:00
c354d4304f Fix an another include error. 2022-03-17 14:30:08 +01:00
e37f5a7fe5 Hopefully fix some of the failing builds. 2022-03-17 14:21:08 +01:00
ad43fd50bd Moved more includes. 2022-03-17 13:58:13 +01:00
3ca78453da Moved more includes. 2022-03-17 12:47:22 +01:00
f55afe20ef More include moves. 2022-03-17 12:12:41 +01:00
85475900e8 More include moves. 2022-03-17 12:06:40 +01:00
866569d22a Moved more includes to cpp files. 2022-03-17 11:52:53 +01:00
2c88c46101 Moved more includes to cpp files. 2022-03-17 11:28:57 +01:00
d34ba0a7f4 Moved more includes from headers to cpp files. 2022-03-17 10:58:07 +01:00
84d139213d Moved more includes to cpp files. 2022-03-17 10:39:38 +01:00
052027dce4 Moved more includes to cpp files. 2022-03-17 10:26:23 +01:00
6bae38ca23 Moved more includes to cpp files. 2022-03-17 09:31:00 +01:00
c621049e61 Moved more includes to cpp files. 2022-03-17 09:07:18 +01:00
38fc0c402e Moved more includes from headers to cpp files. 2022-03-17 08:38:34 +01:00
c1ebd9905a Moved more includes. 2022-03-16 21:09:41 +01:00
eeb7c04aaf Moved more includes to cpp files. 2022-03-16 20:53:38 +01:00
d996789533 Moved more includes from headers to cpp files. 2022-03-16 20:46:00 +01:00
f105eba923 Moved more includes from headers to cpp files. 2022-03-16 20:40:41 +01:00
73baa5545a Move lots of includes from the h files to cpp files in files under scene/2d. 2022-03-16 20:29:43 +01:00
ced4ae75a5 Backported:
6c2bd12031
c2c0c8067d
62fa80afd7
fd968157a4
c0bd05762e
72837b8ecd

From godot.
2022-03-16 18:18:23 +01:00
e85cef1745 Run godot's formatting script. 2022-03-16 09:02:48 +01:00
23c332974a Removed the arvr server. 2022-03-16 02:39:55 +01:00
938f72432e Removed the camera server. 2022-03-16 02:16:15 +01:00
ce953ad1d6 Removed the arvr nodes. 2022-03-16 01:57:33 +01:00
50af60ded6 Removed TileMap, and TileSet. 2022-03-16 01:54:27 +01:00
aaf91df4c1 Also removed the MeshLibrary. 2022-03-16 01:30:44 +01:00
84bd8ad20a Removed VisualShaders. 2022-03-16 00:55:47 +01:00
a9fca142bc Fully removed Particles and Particles2D, as they were not implemented in gles2. 2022-03-16 00:06:53 +01:00
c0dfdd77f3 Removed particles editor plugins. 2022-03-15 22:25:33 +01:00
e111edf4f2 Cleaned up (hopefully all remaining) light baking things. 2022-03-15 21:07:14 +01:00
07a0ed2c42 Removed the xatlas_unwrap module. 2022-03-15 20:25:05 +01:00
6fac6ba7f7 Removed lightmap captures, and also cleaned up almost all lightmap stuff. 2022-03-15 19:57:34 +01:00
03890f9e38 Removed GIProbes. 2022-03-15 19:03:03 +01:00
9e6d2fa653 Removed the Lightmapper and BakedLightmap classes. 2022-03-15 15:45:56 +01:00
49f8e8c398 Added godot with all my currently used engine modules. 2022-03-15 13:29:32 +01:00