Commit Graph

354 Commits

Author SHA1 Message Date
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
Andy Maloney
9481486f92 Add missing Python type hints in tools/make_rst.py
(cherry picked from commit 4b3d6f04a8036a330d499670198463655a097736)
2022-07-29 23:49:33 +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
SnailRhymer
e513628c50 Indent bullet points in enum descriptions
When converting doc xml files to rst, add an indenation level to bullet points in the text description of enum values.
Also add check to avoid out of bounds error in rstize_text.

(cherry picked from commit 38cf07b768074b9f9fd5e9081cce9af2dc8b089f)
2022-07-27 18:45:16 +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
smix8
62518e9a95 Allow AStar/AStar2D zero point weight
Allow AStar/AStar2D zero point weight.

Limit was set to 1 which seemed like an arbitrary value as lower values down to zero can be useful for common gameplay navigation elements like teleports.
2022-07-27 15:01:51 +02:00
Hugo Locurcio
b55610eeed Handle CLI arguments without a value in OS.get_cmdline_args() example
Command lines such as `--host --address 127.0.0.1` are now parsed as
`{"host": "", "address": "127.0.0.1"}`.
2022-07-27 15:01:31 +02:00
850a84584d ported: Add OS::is_process_running function.
Adds the is_process_running function to the native OS class and exposes it to script.
This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.
Documentation is updated to reflect new API function. - mdavisprog
53fb0440d3
I did change it a bit.
2022-07-27 14:46:53 +02:00
kleonc
9699bac7af Tree::get_edited Fix in docs example code 2022-07-27 14:38:30 +02:00
Micky
8da8d44132 Specify return value of Transform3D.scaled() and more
Add more `[code]` (Transform3D)

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>

Add more `[code]` (Transform2D)

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
(cherry picked from commit 87599054d26faa534e206959c12ef70f3a1e92f5)
2022-07-27 14:37:50 +02:00
Chris verBurg
019b8f009b Link to Container tutorial
Users happening across any of the Container pages may not already know the intent of Containers, or which others are available.  This commit adds a link to the existing "GUI containers" page in their tutorials sections.

(cherry picked from commit 3b941ed98cfb1f72c35684f1d4d458dacd482c63)
2022-07-27 14:28:54 +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
Haoyu Qiu
1b18fda613 Document RichTextLabel append_bbcode/parse_bbcode always return OK 2022-07-27 14:11:37 +02:00
b1fa7891f9 Ported: Improve documentation for tonemapping operators - Calinou
035cb7fcb0
2022-07-27 13:57:19 +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
9071569b3b Ported: Document the ProximityGroup class - Calinou, MJacred
fb345a924d
2022-07-27 13:46:51 +02:00
Hugo Locurcio
342e09db7b Document workarounds for 2D line and polygon antialiasing 2022-07-27 13:41:51 +02:00
86045019c4 Ported: doc: Fix a couple broken links to a moved page - akien-mga
8ee69a88c1
2022-07-27 13:41:36 +02:00
b9fb0ae733 Ported: Backport the new Tween system as SceneTreeTween - timothyqiu, KoBeWi
153dc4d57e
2022-07-27 13:37:17 +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
smix8
fa0b1f561a Expose VisualServer.texture_set_proxy() to GDScript
Expose VisualServer.texture_set_proxy() to GDScript
2022-07-27 13:06:42 +02:00
twi
0768f95415 Update link to vector2_angle_to_point.png 2022-07-27 09:05:31 +02:00
kobewi
15a58cabc0 Expose move_to_trash()
(cherry picked from commit b80e52f04899d28ea191ce3eaad9fdb76bc11b52)
2022-07-27 09:04:19 +02:00
kleonc
78aff244f1 Fix Image.blit_rect/blend_rect() for negative p_dest point
(cherry picked from commit 4038bc0c369578c7483a5b1eae31e1ab4f35db34)
2022-07-27 09:03:55 +02:00
kobewi
4d6dd2e452 Improve descriptions for drag methods
(cherry picked from commit 31a23ab33f6ac80931c7f0027ff4f15f4a3c2172)
2022-07-27 08:54:38 +02:00
GTcreyon
4facccc520 Changed "pair" to "triplet" in Vector3 definition
(cherry picked from commit ce1fcfcff9d5056127deb8da70f8823be1654e1f)
2022-07-27 01:26:10 +02:00
Haoyu Qiu
718fad73eb Document timestamp decimal fraction in Time
(cherry picked from commit 1b891069cd0ea672276888ea0e0159b5cedc5cc9)
2022-07-27 01:25:36 +02:00
8156e2ba36 Ported: Vibrate using iOS haptics engine on supported devices (3.x) - timoschwarzer
8fb9c96df9
2022-07-27 01:23:10 +02:00
d1108dc8bc Ported: Implement Scene Unique Nodes - KoBeWi
e1c74ae83f
2022-07-27 00:45:48 +02:00
f3ec84fa78 Ported: Add a method for obtaining display cutouts on Android - madmiraal
ec2270b88f
2022-07-27 00:21:20 +02:00
Haoyu Qiu
aed26cc13b Bind Semaphore.try_wait() 2022-07-26 15:55:06 +02:00
50ed908929 Ported: Add fill method to Array and PoolArrays - timothyqiu, DarknessCatt
77b6f7595a
2022-07-26 15:49:30 +02:00
b4dcb3996b Ported: Remove Array link in description of PoolArrays - timothyqiu
4fda4f31c2
2022-07-26 15:16:21 +02:00
Markus Sauermann
963e5a12b1 Add a note about collisions in different canvases.
(cherry picked from commit b9c91d620e829f2f4cea8037492ed6939e4aad87)
2022-07-26 12:43:04 +02:00
a25fb35179 Ported: Improves EditorInspector documentation - timothyqiu
6598eb9547
2022-07-26 12:40:35 +02:00
Ryan Roden-Corrent
794c54a386 Clarify Array.erase for nonexistant element.
The docs specify that Array.remove does nothing if the index does not
exist. Array.erase does not have a similar phrase, so it's unclear if
erase will print an error, or silently do nothing.

(cherry picked from commit f84e2db35e2f6eceb4f8c3a1e8e9de7adf6f4c30)
2022-07-26 12:36:19 +02:00
kobewi
e34661999f Mention how to add dragging for SpinBox's LineEdit
(cherry picked from commit c8de26530727afb4b60f15b412f1f9a7f2fcb104)
2022-07-26 12:34:03 +02:00
634345f152 Ported: Remove duplicate resizable settings - m4gr3d
a3b445d7e8
2022-07-26 12:33:36 +02:00
nova++
ca55e41fe8 Fixing some of my own typos...
(and a little improvement to wording that was bugging me)

(cherry picked from commit 05718796db20145fcc712c7a826e8043e5177905)
2022-07-26 12:14:21 +02:00
kobewi
5467eddae8 Add optional 'default' argument to get_meta()
(cherry picked from commit 3eb7fc4bfd376bc27ea3313ccd1da4679c48f4cb)
2022-07-26 11:50:20 +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
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
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
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
Haoyu Qiu
a9b108ca47 Rename NavigationServer's free method to free_rid 2022-07-25 18:19:06 +02:00
Haoyu Qiu
bf8cbda6f6 Add missing period in classref of 3D render layer 2022-07-25 18:14:21 +02:00
Hugo Locurcio
8b9333a67c Improve documentation related to 3D material vertex lighting 2022-07-25 17:59:39 +02:00
Hugo Locurcio
b2f4c2ec10 Clarify what set_as_toplevel() does in CanvasItem 2022-07-25 17:56:45 +02:00
Rémi Verschelde
d25e588af7 doc: Fix String.rsplit code example
Fixes #36898.
Supersedes and closes #36951.

(cherry picked from commit e7fd0ec31f29b325edf0e17e8ba77a3ba0741d08)
2022-07-25 17:47:52 +02:00
Haoyu Qiu
e234602d01 Document how to specify explicit value for PROPERTY_HINT_ENUM names
(cherry picked from commit 405bc96a1e191cb65fa5db65ae03546c653d8b8a)
2022-07-25 17:44:25 +02:00
Haoyu Qiu
a205072fbb Mention default output node name for AnimationNodeBlendTree
(cherry picked from commit 6bf01e056743c39ebc9a678a504eca7158af7bb9)
2022-07-25 17:41:54 +02:00
Hugo Locurcio
26dedeab0b Increase the maximum number of concurrent DNS queries from 32 to 256
This makes the following error message less likely to be printed
when performing many concurrent HTTP requests:

    Condition ' resolving == IP::RESOLVER_INVALID_ID ' is true. returned: ERR_BUG
2022-07-25 17:36:02 +02:00
Hugo Locurcio
2b3f3fdc9d Mention that Node's owner must be set for persistence to work
This is already done in `Node.add_child()` documentation, but
this copies the note in `Node.owner` for good measure.

(cherry picked from commit be1acf3b92b8b7104fe4d1fab9fbd2a28400ff95)
2022-07-25 17:28:36 +02:00
f4c49b02de Re-extracted the class docs. 2022-03-27 14:22:24 +02:00
accd8458c8 Backported: Rename iterations_per_second to physics_ticks_per_second - Calinou - 937c1a716c 2022-03-24 11:10:56 +01:00
7135d64036 Backported: update _init() description, Specify details regarding required parameters. - zacryol - 3fe37f9635 2022-03-24 10:49:13 +01:00
4d1ca02a54 Backported: Bind NOTIFICATION_LOCAL_TRANFORM_CHANGED - jasonwinterpixel - 09e4672f0d 2022-03-24 10:47:06 +01:00
da03f96abe Re-extracted the class docs. 2022-03-24 01:22:45 +01:00
c054c4db58 Cleaned up more remnants of the mono module. 2022-03-23 23:10:27 +01:00
408cd17225 Removed all translations except hungarian, as I won't be able to keep them updated. 2022-03-23 22:04:58 +01:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +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
d7f455f36f Backported: - Add item tooltip access to OptionButton - timothyqiu - d537a88299 2022-03-20 19:07:53 +01:00
9867b18f49 Backported by hand: Ensure minimum modifiers are pressed when matching actions - madmiraal (88c723c33c) 2022-03-20 14:45:57 +01:00