Commit Graph

313 Commits

Author SHA1 Message Date
Michael Alexsander
62fdf73348 Expose set/get_tab_button_icon() to scripting 2022-09-16 19:39:10 +02:00
Olivier Bombardier
3c72fdfb0d Fix has_filter of AnimationNode not being called in scripts 2022-09-16 19:38:38 +02:00
Yuri Sizov
494dc2f957 Backport fixes to documentation for paths, curves and navigation servers 2022-09-16 13:07:20 +02:00
Andy Maloney
8af0664931 Clarify that AnimationNode virtual methods need to be implemented rather than called directly
Backport of #64344

Fixes #35272
2022-09-16 12:41:29 +02:00
Hugo Locurcio
9055ae04c3 Document run-time SceneTree debug property changes not working correctly 2022-09-16 12:39:44 +02:00
Aaron Franke
6796ecfaf2 Fix incorrect Camera3D size documentation 2022-09-16 12:38:15 +02:00
b6624bf30b Re-extracted class docs. 2022-09-10 04:18:55 +02:00
27316923d3 Moved ThreadPool to core. Also it can change it's thread count now when it has time for it. 2022-09-10 04:16:50 +02:00
9b3714a274 Now CanvasItems work with World overrides aswell. 2022-08-30 01:40:03 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
cee028818e Also renamed the xmls. 2022-08-29 17:22:28 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
2aee6ab0bb Renamed World to World3D. 2022-08-29 16:49:00 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
4f9dd569b8 Now the Engine has methods to store globals (custom singletons). They are mostly meant for classes like EditorInterface, SpatialEditor, and plugin scripts that need a singleton for in-editor use. In essence it provides easy and side effect less access for classes that might not be present on every run. (For example gdscript recognizes normal singletons as keywords, but not these.) 2022-08-23 13:13:39 +02:00
a1974c8338 Re-extracted the class docs. 2022-08-23 13:09:12 +02:00
714547cb17 Re-extracted class docs. 2022-08-21 00:40:49 +02:00
98acdf8270 Now full screen editor plugins have the ability to hide their tab button in the top bar. 2022-08-20 17:20:34 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
0438da9841 Ported: [3.x] Add ShapeCast and ShapeCast2D nodes - PrecisionRender
47a62e28ac
2022-08-19 03:12:32 +02:00
59f4eb55d9 Ported: Fix mouse speed not changing fast enough
- Uses all accumulated movements when calculating speed
- Discards old accumulated movements
- Sets last mouse speed to zero when there is no movement
- madmiraal
3d96d7d9fb
2022-08-19 02:46:03 +02:00
45c65911b5 Ported: Allow negative scale in Particles and CPUParticles
This can be used to make 2D particles look more 3D-y with thoughtful use
of scale curve animation.
- Calinou
c4a3560884
2022-08-19 02:42:33 +02:00
kleonc
859a38b56e Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP and PRIMITIVE_TRIANGLE_FAN 2022-08-19 02:19:37 +02:00
Hugo Locurcio
c751d9dc17 Add an use_hdr property to GradientTexture to allow storing HDR colors
This is disabled by default to save some memory and preserve the existing
behavior of clamping colors.
2022-08-19 02:18:16 +02:00
Hugo Locurcio
089135783e Hide triplanar sharpness when triplanar is disabled in SpatialMaterial
The Triplanar Sharpness property has no effect when Triplanar
is disabled.
2022-08-19 02:17:26 +02:00
Hugo Locurcio
a3ac9c19b6 Improve Shape2D's custom_solver_bias description 2022-08-19 02:15:46 +02:00
521934ff55 Ported from Godot4: New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
- TwistedTwigleg
8aa3c2f091
2022-08-18 18:47:30 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00
220954cf08 Backported most of the improvements to String from Godot4. 2022-08-15 22:54:03 +02:00
5cd44e02d0 Backported the improvements to Transform from Godot4. 2022-08-14 20:35:11 +02:00
170a41ca82 Backported improvements to Basis from Godot4. Also bound all eligible methods. 2022-08-14 00:18:21 +02:00
c991043c95 Backported improvements to AABB from Godot 4. Also made sure all eligible methods are bound. 2022-08-13 18:21:54 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00
f423b30714 Backported from Godot4: Fix secondary handles in editor gizmos
Primary and secondary handles are no longer differentiated by their ids, so a bool was added to tell them apart in all the handle-related methods.
Includes a minor fix in CollisionPolygon3DEditor, unrelated to editor gizmos.
- JFonS
5ebea2d120
2022-08-12 22:21:00 +02:00
47358bfaab Backported: add viewport.get_camera_2d()
* there is now a more clear distinction between camera_2d and camera_3d functions in the engine code
* simplified camera2d's exported interface - now everything happens directly with the 'current' variable and make_current and clear_current are no longer exposed- there were some situations where calling one instead of set_current would result in incomplete results
* rebased to current godot master
- verdog
879f84d8f8
- Note that i did not rename the original Camera related methods.
2022-08-12 18:29:04 +02:00
d1fe0ae433 Backported from Godot4: Fix blend animation to solve TRS track bug & blend order inconsistency - TokageItLab
b06d253920
2022-08-12 16:48:31 +02:00
e3918692a3 Backported from Godot 4: Fixed animation insertion in SkeletonEditor - TokageItLab
653e2a550c
2022-08-12 01:34:45 +02:00
2bc7355910 Ported from Godot4: Fixes to editor subgizmos
* Fixed subgizmo editing on scaled nodes.
* Added more clarifications on the coordinate space of subgizmos.
* Given input priority to the transform gizmo over subgizmo selection.
- JFonS
d7b58ebc9c
2022-08-12 00:43:53 +02:00
4b939998a7 Removed AnimationTreePlayer, as it was deprecated (and also practically unusable). 2022-08-11 23:01:27 +02:00
5e3c3ff4d0 Ported from Godot4: Implement global rest - TokageItLab
4d4ffa3a2c
2022-08-11 20:10:26 +02:00
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
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
b6eb2db442 Backported returning AfterGUIInput from forward_spatial_gui_input from Godot4. Also removed the first index parameter. This fully broke the skeleton editor, it will be fixed soon. 2022-08-11 02:24:30 +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
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
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
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
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
Rémi Verschelde
2ca1470010 File: Re-add support to skip CR (\r) in File::get_as_text
This was removed in #63481, and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.

For performance this is done directly in `String::parse_utf8`.

Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.

Supersedes #63717.

(cherry picked from commit 1418f97c70a5551bdbfeea853cbc479b32ea9e08)
2022-08-02 17:58:32 +02:00
c4e7bc1c45 Reused the old unused PROPERTY_HINT_SPRITE_FRAMES as PROPERTY_HINT_BUTTON. It allows you to add buttons to the inspectors. 2022-07-31 00:01:58 +02:00
9f5fb428ab Ported: Add error messages and docs to explain restrictions when calling NetworkedMultiplayerCustom.initialize()
- dsnopek
5eaf83f2d7
2022-07-30 00:49:12 +02:00
641c15f906 Ported: [3.x] HTML5: Add support for Input.vibrate_handheld() - pattlebass
fb7ecc748f
2022-07-30 00:29:14 +02:00
41ef59bcc8 Ported: Expose VisualServer.viewport_set_use_32_bpc_depth() to the scripting API.
Previously, only the Viewport methods/properties were exposed to the
scripting API. - Calinou
ed4976d1d5
2022-07-29 23:03:48 +02:00
Rémi Verschelde
fa9d1120c4 doc: Fixup reference to Camera 2022-07-29 22:39:58 +02:00
Zak Grumbles
11ab10b7f2 Improve documentation for Camera3D's current member
* Added additional information to the camera documentation to explain
  how the 'current' attribute behaves when multiple cameras are in a
  scene.

(cherry picked from commit 349c750b18acf770ef6f0e43643c8a37a3beb450)
2022-07-29 22:38:52 +02:00
Derwent Ready (drentsoft)
1288e9c520 Clarified usage of TreeItem get_next*() and get_prev*() functions.
(cherry picked from commit df5a9228808497f19b5bddf7b58d2a532cd990d0)
2022-07-29 22:38:35 +02:00
7161d7bc29 Ported: Add NetworkedMultiplayerCustom so high-level multiplayer backends can be added from GDScript. - dsnopek
8ad5889c1a
2022-07-29 22:19:12 +02:00
31136b3669 Ported: Document support limitations for OmniLight cubemap shadows in GLES2 - Calinou
b03ceaba2f
2022-07-29 22:11:41 +02:00
01b1c3e99f Ported: Improve documentation for HTTPRequest's timeout property - Calinou
28b9e376cf
2022-07-29 21:30:22 +02:00
d6637c39a7 Ported: AudioStreamPlayer: Clarify that no validation is made on 'bus' name - akien-mga
685cecbd5f
2022-07-29 21:23:58 +02:00
9af3a7a709 Ported sort() for poolVectors from 7b8b91f505 . 2022-07-29 21:18:44 +02:00
5ebeb6a36c Ported: Add global_translation and global_rotation to Spatial - foxydevloper
5238740fef
2022-07-29 21:02:00 +02:00
3fb2c16ba0 Ported: Input: Re-enable input accumulation disabled by error in 3.4
Input accumulation was implemented and enabled by default in 3.1, and
I don't recall major complaints around it (or bugs were fixed).
In 3.4, #42220 added input buffering and apparently toggled input
accumulation off by mistake.
This led to multiple bug reports about degraded performance on Windows,
or simply unexpected behavior change (see linked issues in #55037).
Fixes #55037.
- akien-mga
d6bcdd18c3
2022-07-29 20:50:00 +02:00
88fe196e79 Ported: [3.x, macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event.
- hansemro
193d5c11f3
2022-07-29 20:31:16 +02:00
Jean-Marc Pelletier
2f9f0ecf8b StyleBox: Document correct methods to draw with a RID
(cherry picked from commit 63d5f3156178fd57fdf991c74833adfd97490c10)
2022-07-29 19:58:55 +02:00
c2f38ef861 Ported:
Input: Document that accumulated input is disabled by default

This was actually disabled by mistake in 3.4 causing a regression, but since
this issue survived the whole 3.4.x series and it's now very close to 3.5,
it's too late to change it again.
We might consider it for 3.6 after some beta testing.
- akien-mga
7de45b6203
2022-07-29 19:42:05 +02:00
16dd2f1141 Ported: Clarify NavigationAgent radius property
Documents Navigation radius property, especially that it affects avoidance only.
- smix8
7aff541538
2022-07-29 18:13:29 +02:00
11a92cfe27 Ported: Add NavigationServer map_force_update() function
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.
- smix8
721c99a530
2022-07-29 17:56:48 +02:00
da20b32f66 Ported: Add NavigationServer.region_owns_point() helper function
Adds a helper function to check if a world space position is currently owned by a navigation region.
- smix8
f0069cc1e9
2022-07-29 17:52:38 +02:00
f811d48449 Ported: Add Navigation function to get all navigation maps
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.
- smix8
38ee593b76
2022-07-29 17:49:24 +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
Haoyu Qiu
5f3aa5fbd0 Improve String.format() documentation
(cherry picked from commit 25c7f567dd97dab4f407a2afd1e1b8f61b6fb3e1)
2022-07-29 16:37:07 +02:00
da1e62e95b Ported: [3.5] Remove documentation that mentions 2D navigation baking
Cherrypick mentions 2D navigation mesh baking which does only exist very hidden in Godot 3.5.
- smix8
5e1063bd0e
2022-07-29 16:36:49 +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
smix8
38d7f8dac8 Document limits of using meshes to obstruct navigation mesh baking
Recast (the library used for baking) has no concept of a geometry "inside" and this is intentional. ReCast will add navigation mesh to areas as soon as the area inside a source geometry mesh is large enough to fit a navigation mesh polygon with current baking parameters.

(cherry picked from commit 85cdb1144d0ca845df22a879e001e8fa16288224)
2022-07-29 12:18:39 +02:00
Haoyu Qiu
ba696ecc9b Fix code example of String.is_valid_integer() 2022-07-29 12:18:09 +02:00
Haoyu Qiu
4bbbf1816f Make code example in HTTPRequest classref working 2022-07-29 12:17:27 +02:00
89364f1974 Ported: Clarify that MeshInstance surface methods only apply to override materials - salamandars
22881a6923
2022-07-29 12:01:48 +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
Hugo Locurcio
76a2ed0900 Document incremental search support in ItemList, PopupMenu and Tree
(cherry picked from commit 466bd7ce39b232447255cadc26e35289469dc55a)
2022-07-29 11:02:14 +02:00
8ca3043a28 Ported: ProjectSettings: Ensure 'editor/' settings aren't nested
Having a mix of settings with and without subcategory makes the 'Editor'
section stand out with a weird UX, as instead of simply being a foldable
section like the others, it also holds its own top-level settings and is
therefore selectable.
This wasn't the case in 3.4, and is fixed in 4.0 by refactoring, so for
3.5 we should preserve the 3.4 UX, even if it's not the best.
- akien-mga
acd4a01b8c
2022-07-29 10:45:12 +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
b7d07a4487 Ported: Tweak default crash handler message in exported projects
When an exported project crashes, the crash handler message
shouldn't reference the Godot issue tracker, as not all crashes
are Godot's fault.
Reporting crashes that only occur on exported projects is still allowed,
but it should not be done by people who aren't working on the project
in question.
- Calinou
bec892c010
2022-07-29 10:17:20 +02:00
Theraot
afafef9f2b Updating AStar2D documentation to mention the new bidirectional paramter
(cherry picked from commit b18a018ad23f95b1f3cdedc74c14e09d666dc346)
2022-07-29 09:14:07 +02:00
Aaron Franke
5ce7851cfd Document limitations of negative scales in 2D and 3D
(cherry picked from commit 3398fb77a915d3f6d7a3dc6bf2398840c696365b)
2022-07-29 09:10:25 +02:00
10d3f0826e Ported: Document NavigationServer API navigation agent callbacks - smix8
96e865dfb3
2022-07-29 09:07:02 +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
ce1b936c12 Revert 739b0c0c3f . 2022-07-28 22:32:19 +02:00
13c4945b3a Ported: Add INFO_SHADER_COMPILES_IN_FRAME to GL ES 3 render info - RandomShaper
f46d7583ff
2022-07-28 19:37:52 +02:00
kobewi
60c7ef815d Improve description of move_to_trash()
(cherry picked from commit 1c90b066dd32d0a3fa0f1747be2836b70e7a0598)
2022-07-28 19:22:38 +02:00
Hugo Locurcio
d08f335224 Update name of Convert to MeshInstance2D button in MeshInstance2D doc
(cherry picked from commit 857e5a3bb065e8efdbb137796c3ba4946eaab99b)
2022-07-28 19:21:44 +02:00
Hugo Locurcio
646b5fab0e Improve CurveTexture documentation 2022-07-28 19:21:30 +02:00
Haoyu Qiu
760cc5bb49 Remove extra codeblock tag from ProximityGroup classref 2022-07-28 19:04:45 +02:00
780ccf3342 Ported: Fix description about SceneTreeTimer auto free - timothyqiu
5569d4d2de
2022-07-28 18:56:04 +02:00
942b6d9938 Ported: Make Input mouse_mode and use_accumulated_input properties - fire-forge, timothyqiu
53c01540d9
2022-07-28 18:54:48 +02:00
43131ad4cb Ported: Add readable export errors. Add RTL image vertical alignment support. - bruvzg
f5fa1ca944
2022-07-28 18:40:46 +02:00
Nikola Whallon
264985d204 added info on microphone sample format
(cherry picked from commit eb5a42d0bc28809f954861291c20d2ed6bed6d0f)
2022-07-28 15:08:16 +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
kobewi
202fb33685 Add Dictionary.merge()
(cherry picked from commit a0915e6dee4e54563a98ca6adb8968dbdcea1af1)
2022-07-28 14:59:15 +02:00
kobewi
22beba680e Improve EditorPlugin state documentation
(cherry picked from commit 505a2ce468f4375c7b5dc82af17b86a92a2d4d77)
2022-07-28 14:58:58 +02:00
sps1112
8e229841be Bind vararg method flag in core constants
(cherry picked from commit 1f361b03678893cd6328702383fce6dc062e7e57)
2022-07-28 14:56:33 +02:00
da8155f59b Ported: Remove slash delimiter from NavigationMesh properties - smix8
e629622598
2022-07-28 14:52:42 +02:00
smix8
116b22c89d Document the correct use of NavigationAgent path functions
Document the correct use of NavigationAgent path functions.

(cherry picked from commit 9c7f03aefc7d6918002641447cb979502ebea686)
2022-07-28 14:44:09 +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
b36dd7e4aa Note that NavigationObstacles should only be used if necessary and for moving objects only
Note that NavigationObstacles should only be used if necessary and for moving objects only.

(cherry picked from commit d1959cabd9c9e3a7f1143d3ac7abdbff89eda5ed)
2022-07-28 14:43:03 +02:00
smix8
3d2aa7b8fa Document that NavigationAgent height offset is mostly a placebo
Document that NavigationAgent height offset is mostly a placebo.

(cherry picked from commit b1d98534154dafa208076e8f8d7c93e4a43726f9)
2022-07-28 14:38:49 +02:00
Sergey Pershenkov
1b52408dc0 draw_circle() draws a filled circle
(cherry picked from commit adccb9fd6038b446fc218af874429f2c3fdb8fcc)
2022-07-28 13:47:47 +02:00
smix8
a389b08ea8 Add class doc that NavigationServer changes are not instant
Add class doc that NavigationServer changes are not instant.

(cherry picked from commit 7f72b7b3ad9880845e0f878b5bc6d9120b8b4dc0)
2022-07-28 13:47:19 +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
4bd8abc32b Ported: Fix several typos in the classref - timothyqiu
fb62ec6c1d
2022-07-28 13:35:27 +02:00
dtesniere
690b82ff41 Fix class name : change "string" to "String"
Change case of "s" letter : "string" does not compile but "String" does (for gdScript)

(cherry picked from commit 55b63eceaa22f979bd40656fb8444cc94a7942b7)
2022-07-28 11:52:09 +02:00
a53e42504a Ported: Fix rigid body damp description (3.x) - skyace65
c0ecbeaf6f
2022-07-28 11:48:56 +02:00
cbb1470a2e Ported: doc: Fix typo in "reset" method description. Change "all tweens are removed" to "all tweens are reset". Possibly this snippet was copy-pasted from the "remove" method description and not updated for "reset". - belzecue
803c5b9e22
2022-07-28 11:39:01 +02:00
Rémi Verschelde
ccf7e4374a HTML5: Enable mbedTLS module for Crypto object
Increases the size of the wasm by around 3% (~300-350 KiB).

This enables using the Crypto object for hashing, signing and encryption,
and therefore reduces the gap between the features of the HTML5 platform
and other platforms.

Closes https://github.com/godotengine/godot-proposals/issues/3574.

(cherry picked from commit 3ff6d794c0aac0365f236cd078b5e5aeea0d996e)
2022-07-28 11:13:39 +02:00
d161a30a4b Ported: Backport TextMesh and expose dynamic font vector outlines - bruvzg
d502bd4847
2022-07-28 00:01:20 +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
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
53f8707713 Ported: Add node list param to GraphEdit::delete_nodes_request signal - Chaosus
32b9818965
2022-07-27 20:01:38 +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
kobewi
ba67217f6d Clarify seek() in relation to animation_finished
(cherry picked from commit 74e135c90bad1dcaacc3b718deb8ec39318760ee)
2022-07-27 19:18:10 +02:00
Hugo Locurcio
e9dfc11669 Improve documentation for Camera3D.project_ray_{normal,origin}
This mentions that internally, the inverse camera projection is used
to perform projections.

(cherry picked from commit fbec10179ad2a058a5f6d2689dba9db813bdc83f)
2022-07-27 19:11:59 +02:00
FireForge
cacca31e08 Expose EditorSpinSlider.hide_slider
(cherry picked from commit 8e752b06e8a0f116991a0e618cc47e4fe2f3d270)
2022-07-27 19:11:34 +02:00
fcd37a8c38 Ported: Add missing class doc to NavigationMeshGenerator.
Adds missing class documentation for NavigationMeshGenerator bake() and clear() functions.
- smix8
214a00ca2e
2022-07-27 19:07:12 +02:00
08c0756260 Ported: Add NavigationServer2D/3D API functions to find missing RID info
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....
Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.
- smix8
3977eb9107
2022-07-27 18:58:09 +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
SnailRhymer
b574b0371d Document Shape2D's collide_and_get_contacts() and collide_with_motion_and_get_contacts()
Expand on the format of the output array for collide_and_get_contacts and collide_with_motion_and_get_contacts, and describe how the contact point pairs can be used to calculate collision normals and depths.

(cherry picked from commit bdf086c781f2f5d1bf5f4f11f0b29a94a629a0ec)
2022-07-27 18:48:21 +02:00
1ed7c12ad4 Ported: Improve AnimatedSprite2D description in the class reference - Megamega53
559c20aa2f
2022-07-27 18:47:43 +02:00
b4ed478b6c Ported: Mention that Area2D doesn't support one_way_collision - KoBeWi
bdbbc78da4
2022-07-27 18:32:54 +02:00
Nicholas Huelin
c1010f7d1b Fix inconsistent naming in Time
(cherry picked from commit 8409d92282e71f8ad479f48d6b1f6d52eb73ae39)
2022-07-27 18:28:47 +02:00
cb6e070227 ported: Make auto_accept_quit and quit_on_go_back properties. - timothyqiu
58650af062
2022-07-27 18:26:15 +02:00
Haoyu Qiu
a29aac105f Swap the meaning of CURSOR_WAIT and CURSOR_BUSY 2022-07-27 18:18:12 +02:00
ead2208a84 Ported: Improve documentation related to Pool*Array value passing caveats - Calinou
b47466bc59
2022-07-27 18:17:30 +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
48eee02c1d Ported: Add search methods for pool arrays
* has()
* count()
* find()
* rfind()
- timothyqiu
3d1644f7c3
2022-07-27 15:44:10 +02:00
Michael Alexsander
9af14c8d90 Add font_separator to PopupMenu 2022-07-27 15:21:19 +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