Commit Graph

6067 Commits

Author SHA1 Message Date
Nikola Whallon
eb5a42d0bc added info on microphone sample format 2022-06-09 14:01:38 -07:00
Rémi Verschelde
a2c016e997
Merge pull request #61659 from KoBeWi/state-of-the-ed 2022-06-09 09:57:28 +02:00
Rémi Verschelde
c91d33e9ca
Merge pull request #61813 from smix8/navigationmesh_properties_naming_4.x 2022-06-09 09:48:01 +02:00
smix8
2c059dcfcb Remove slash delimiter from NavigationMesh properties
Remove slash delimiter from NavigationMesh properties.
2022-06-09 09:20:52 +02:00
Rémi Verschelde
ae78928232
Merge pull request #61670 from smix8/navigation_navagent_patharray_use_4.x
Document the correct use of NavigationAgent path functions
2022-06-09 08:50:30 +02:00
smix8
9c7f03aefc Document the correct use of NavigationAgent path functions
Document the correct use of NavigationAgent path functions.
2022-06-09 01:51:33 +02:00
bruvzg
906e9b6ac5
Add overrun behavior to the Button. 2022-06-08 19:02:27 +03:00
Rémi Verschelde
e4994e2817
Merge pull request #61739 from smix8/navigation_region_cost_4.x 2022-06-08 16:05:38 +02:00
Rémi Verschelde
07029e94f4
Merge pull request #61662 from smix8/navigation_map_cell_defaults_4.x 2022-06-08 15:56:22 +02:00
Rémi Verschelde
c09d830106 i18n: Sync classref translations with Weblate
(cherry picked from commit 6536877117)
2022-06-08 13:18:40 +02:00
Rémi Verschelde
c8ce7e34e2 i18n: Misc fixes translation strings
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:57:54 +02:00
Rémi Verschelde
60eec78a1f
Merge pull request #61558 from kleonc/triangle_mesh_from_triangle_strip
Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP`
2022-06-07 22:07:16 +02:00
Rémi Verschelde
5ebdfc31b2
Merge pull request #61319 from JFonS/taa_wip
Initial TAA implementation
2022-06-07 20:53:55 +02:00
Rémi Verschelde
96f41d6ada
Merge pull request #61284 from KoBeWi/steal_image()
Remove image property of ImageTexture
2022-06-07 20:53:09 +02:00
Rémi Verschelde
d52a79ad22
Merge pull request #59786 from V-Sekai/ok_color
Allow picking similar colours using OKHSL.
2022-06-07 20:52:32 +02:00
sps1112
1f361b0367 Bind vararg method flag in core constants 2022-06-07 17:06:34 +02:00
kobewi
c519a667ad Remove image property of ImageTexture 2022-06-07 16:30:54 +02:00
Rémi Verschelde
e24e4935ff
Merge pull request #61751 from KoBeWi/🐱👤 2022-06-07 16:02:16 +02:00
Rémi Verschelde
3f8d86b076
Merge pull request #50349 from Calinou/array-add-some-every
Add `any()` and `all()` methods to Array
2022-06-07 15:15:22 +02:00
K. S. Ernest (iFire) Lee
1b776a6e7a Allow picking similar colours using OKHSL. 2022-06-07 05:53:27 -07:00
kobewi
83014f8901 Add GLOBAL_DEF_INTERNAL to hide specific settings 2022-06-07 14:14:03 +02:00
Rémi Verschelde
7f5c10b588
Merge pull request #61737 from LightningAA/fix-frac-typo
Fix typo "Frac" instead of "Fract"
2022-06-07 14:10:56 +02:00
jfons
ba832d83b2 Initial TAA implementation
Initial TAA support based on the implementation in Spartan Engine.

Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-07 13:14:44 +02:00
bruvzg
6e4cdad3ac
[TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC). 2022-06-07 11:35:59 +03:00
Rémi Verschelde
83421cd06f
Merge pull request #59883 from KoBeWi/merge_this 2022-06-06 23:38:29 +02:00
Haoyu Qiu
83d931ad3c Fix Viewport.own_world_3d documentation
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-06-06 21:34:40 +08:00
smix8
cfdfd304f1 Add NavigationRegion costs for pathfinding
Add NavigationRegion costs for pathfinding.
2022-06-06 15:25:06 +02:00
bruvzg
b3bbf3db47
[GDExtension] Expose Variant, NodePath and StringName hash functions. 2022-06-06 12:19:56 +03:00
Aaron Record
14df02b21f Fix typo "Frac" instead of "Fract" 2022-06-05 19:20:32 -06:00
Nathan Franke
8d66896a47
rename 'configuration' to 'replication_config' in MultiplayerSynchronizer 2022-06-04 18:30:31 -05:00
Winston Yallow
2a2c931664 typo: change congiruation into configuration 2022-06-04 18:49:23 +02:00
Rémi Verschelde
ecde7ce834
Merge pull request #61669 from fire-forge/input
Make Input `mouse_mode` and `use_accumulated_input` properties
2022-06-04 15:52:34 +02:00
kobewi
505a2ce468 Improve EditorPlugin state documentation 2022-06-03 22:45:56 +02:00
FireForge
f16c33fff6 Make Input mouse_mode and use_accumulated_input properties 2022-06-03 14:19:38 -05:00
Raul Santos
3e53afd52c
Add array element type to get_connected_joypads 2022-06-03 20:37:46 +02:00
smix8
3066091780 Match NavMap and ProjectSettings with NavigationMesh defaults
Match NavMap and ProjectSettings with NavigationMesh defaults since the NavMap edge merging requires a matching cell_size with the NavigationMesh to create connections without issues.
2022-06-03 19:17:49 +02:00
Rémi Verschelde
798b39ed44
Merge pull request #61623 from smix8/navigation_navpoly_getmesh_4.x 2022-06-03 10:49:39 +02:00
Rémi Verschelde
a21cb213cb
Merge pull request #61619 from smix8/navigation_navobstacles_doc_4.x 2022-06-02 16:57:05 +02:00
Fabio Alessandrelli
70c2b4bebd
Merge pull request #60711 from nathanfranke/rpc-server
network - finish renaming AUTH to AUTHORITY
2022-06-02 11:07:41 +02:00
smix8
8bcce0ebb2 Expose get_mesh() for NavigationPolygon Resources
Expose get_mesh() for NavigationPolygon Resources.
2022-06-02 09:52:26 +02:00
smix8
d1959cabd9 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.
2022-06-02 01:24:43 +02:00
Rémi Verschelde
6cd730ea98
Merge pull request #61339 from lyuma/streampeerssl_get_stream 2022-06-02 00:27:07 +02:00
Rémi Verschelde
d9daf3869f
Merge pull request #61607 from smix8/navigation_agent_height_offset_doc_4.x
Document that NavigationAgent height offset is mostly a placebo
2022-06-01 19:44:31 +02:00
smix8
b1d9853415 Document that NavigationAgent height offset is mostly a placebo
Document that NavigationAgent height offset is mostly a placebo.
2022-06-01 18:25:04 +02:00
Sergey Pershenkov
adccb9fd60
draw_circle() draws a filled circle 2022-06-01 11:38:09 +03:00
Rémi Verschelde
3ab3293334
Merge pull request #61593 from smix8/navigation_doc_navserver_syncphase_4.x
Add class doc that NavigationServer changes are not instant
2022-06-01 10:10:17 +02:00
smix8
7f72b7b3ad Add class doc that NavigationServer changes are not instant
Add class doc that NavigationServer changes are not instant.
2022-06-01 09:38:32 +02:00
Rémi Verschelde
70eaaf2a01 i18n: Sync classref translations with Weblate
(cherry picked from commit af8a02ddaf)
2022-06-01 00:42:11 +02:00
kobewi
a0915e6dee Add Dictionary.merge() 2022-05-31 21:05:56 +02:00
kleonc
9b556c96f0 Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP 2022-05-31 13:57:42 +02:00
Hendrik Brucker
70c234f3e3 Improve Graphedit connection lines 2022-05-30 17:33:01 +02:00
Yuri Rubinsky
3ed2a0428c
Merge pull request #61515 from Geometror/improve-graphedit-hotzones 2022-05-30 17:39:34 +03:00
Hendrik Brucker
771cb1261a Improve and fix the GraphNode port hotzones
Co-authored-by: Ansraer <jacky2611@gmail.com>
2022-05-30 15:48:58 +02:00
Hugo Locurcio
e4706ef933
Change instances of "returns an empty Variant" to "returns null" in docs
While "returns an empty Variant" technically valid (it's constructed
as `Variant()` in C++), "returns null" is more intuitive to users.
2022-05-29 20:12:32 +02:00
dtesniere
55b63eceaa
Fix class name : change "string" to "String"
Change case of "s" letter : "string" does not compile but "String" does (for gdScript)
2022-05-29 00:40:56 +02:00
Rémi Verschelde
f2a7bb6b51
Merge pull request #59943 from jordigcs/gdscript_warning_enums
Add enum values (Ignore, Warn, Error) to GDScript warnings
2022-05-26 00:52:01 +02:00
Lyuma
7e28385948 Add StreamPeerSSL.get_stream() accessor. 2022-05-25 12:43:19 -07:00
Nathan Franke
f464caf214
finish renaming AUTH to AUTHORITY 2022-05-25 14:31:46 -05:00
Rémi Verschelde
40da29341e
Merge pull request #61243 from Calinou/fogvolume-add-cone-cylinder-shape
Add Cone and Cylinder shapes to FogVolume
2022-05-25 17:30:06 +02:00
Hugo Locurcio
a98e31aa3a
Add any() and all() methods to Array
These can be used as faster, more convenient shorthands to
using `filter()` + `size()`.
2022-05-25 16:09:10 +02:00
Rémi Verschelde
3ff6d794c0 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.
2022-05-25 14:19:49 +02:00
Hugo Locurcio
e85459dcd1
Add Cone and Cylinder shapes to FogVolume
This complements the existing Ellipsoid and Box local fog shapes.

This can be used to represent a light cone coming from a SpotLight.
2022-05-25 12:35:53 +02:00
Rémi Verschelde
19e3c7fcd9
Merge pull request #61040 from Calinou/basematerial3d-rename-tex-properties 2022-05-24 23:36:29 +02:00
Hugo Locurcio
a8a6e664fb
Rename BaseMaterial3D properties to use fully spelled out "texture"
This is more consistent with other BaseMaterial properties such as
`ao_texture_channel`.

This also improves the documentation related to
`albedo_texture_force_srgb`.

This also fixes a typo in the 3.x material converter.
2022-05-24 20:44:17 +02:00
clayjohn
4f82b1bd20 Use IGN instead of white noise for sky dithering 2022-05-24 10:57:07 -07:00
Juan Linietsky
4dd6f56c82
Merge pull request #61342 from reduz/reorganize-region-rect-editor
Reorganize Region Rect Editor
2022-05-24 12:25:12 +02:00
Rémi Verschelde
2998be4f99
Merge pull request #60061 from monkeyman192/allow_treeitem_visible
Allow TreeItem nodes to toggle visibility
2022-05-24 10:53:41 +02:00
Rémi Verschelde
65dd1bf023
Merge pull request #47665 from trollodel/tree_more_buttons_signals 2022-05-24 10:50:55 +02:00
Vincent D
697316155f Fix global properties and add global skew for node2d
Renamed parent item variable in node2d global setters and optimize

Aligned variable renaming in global setters

Optimize node2d global setters

Add global skew description in doc

Co-Authored-By: Aaron Franke <arnfranke@yahoo.com>
2022-05-24 09:49:24 +02:00
reduz
4044cc7d57 Reorganize Region Rect Editor
Problem:

* Region rect was pretty much a hidden editor. Because it was annoying for it to pop up automatically, it did not.
* Because it did not, most users have no idea it even exists.
* But because it is a transient editor, it would steal focus of other editor and annoy users.

Solution:

* Editor has been moved to a window.
* Regions that can be edited add a button below the region which can be pressed to open the editor.

This required a slight change in EditorInspectorPlugin to allow custom editors to be below others.
2022-05-24 09:42:49 +02:00
Rémi Verschelde
56dbfcdcba
Merge pull request #61203 from Calinou/cylindermesh-add-cap-properties
Add properties to disable top/bottom cap generation in CylinderMesh
2022-05-24 08:21:01 +02:00
Rémi Verschelde
1314e6cbcc
Merge pull request #60803 from Chaosus/shader_hint_rename
Rename `hint_albedo`, `hint_white/black` in shaders
2022-05-24 08:15:33 +02:00
Rémi Verschelde
911e915b2d i18n: Sync classref translations with Weblate
(cherry picked from commit 10414fa893)
2022-05-24 00:11:26 +02:00
Rémi Verschelde
9923851370 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
reduz
12474fd87a Improve MultiplayerSynchronizer editor usability
* Add a button to add properties (which lets you select node and property)
* Add ability to drag properties and drop them to the editor.
* Made the editor transient (not always visible on the bottom) since its not needed most of the time.
* Added the ability to pin the editor, in case dragging properties from other nodes is desired.
2022-05-23 13:14:59 +02:00
Rémi Verschelde
603de7a055
Merge pull request #61270 from Calinou/sphereshape3d-decrease-default-radius
Decrease SphereShape3D's default radius to 0.5 to match primitive mesh
2022-05-23 06:07:05 +02:00
Rémi Verschelde
a80793fcb8
Merge pull request #61235 from smix8/navigation_agent_avoidance_processing_4.x 2022-05-22 19:11:32 +02:00
Hugo Locurcio
f008e98ea2
Decrease SphereShape3D's default radius to 0.5 to match primitive mesh
The SphereMesh primitive mesh's size was recently decreased, but
unlike other primitive meshes, the sphere shape's radius wasn't
adjusted accordingly.
2022-05-22 08:46:01 +02:00
trollodel
307427af89 Add the button pressed to some signals in Tree 2022-05-21 17:16:52 +02:00
Hugo Locurcio
d23071cae3
Add properties to disable top/bottom cap generation in CylinderMesh 2022-05-21 02:06:53 +02:00
smix8
7f3688603c 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.
2022-05-20 23:47:10 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Rémi Verschelde
b3bb83b651
Merge pull request #61224 from Calinou/filedialog-tweak-disabled-files-color 2022-05-20 18:46:28 +02:00
Hugo Locurcio
8962d2760d
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.
2022-05-20 16:59:34 +02:00
Hugo Locurcio
39a598e020
Document Decal interactions with transparent materials 2022-05-20 16:16:51 +02:00
Rémi Verschelde
29708f79a8
Merge pull request #61170 from smix8/navigation_navmesh_property_limits_4.x
Remove arbitrary NavigationMesh bake property limits
2022-05-20 08:47:20 +02:00
Rémi Verschelde
a5109d49ce
Merge pull request #61026 from timothyqiu/quit-prop
Make `auto_accept_quit` and `quit_on_go_back` properties
2022-05-20 08:13:00 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
Rémi Verschelde
3aa83a0235
Merge pull request #61020 from timothyqiu/wait-busy 2022-05-19 15:41:41 +02:00
Rémi Verschelde
b9bb3de6a1
Merge pull request #61142 from bruvzg/rtl_threaded 2022-05-19 14:27:48 +02:00
Haoyu Qiu
121986bbad Fix a typo in EditorFileSystem classref 2022-05-19 18:53:01 +08:00
bruvzg
cfcdfc38e2
[RTL] Add support for shaping in background thread. 2022-05-19 09:34:44 +03:00
smix8
cda93057f7 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.
2022-05-18 23:00:12 +02:00
Ricardo Buring
f072aa69a9 Add motion parameter to toggle whether recovery is reported as a collision
This makes the intent explicit in each use case.
2022-05-18 16:40:29 +02:00
Rémi Verschelde
5b3d596285
Merge pull request #60774 from TokageItLab/root-seek-mode
Fixed broken root motion calculation in internal process of `AnimationBlendTree` such as `NodeOneShot`
2022-05-18 15:24:21 +02:00
Rémi Verschelde
5c79782c7e
Merge pull request #61088 from groud/keep_unhandled_events_on_pass 2022-05-17 23:50:55 +02:00
Rémi Verschelde
438202dbd8 i18n: Sync classref translations with Weblate
(cherry picked from commit e86d840d4f)
2022-05-17 23:45:37 +02:00
Raul Santos
a9a41df0c8
Expose Curve points in the inspector
Exposes the Curve, Curve2D and Curve3D points as an array property.
2022-05-17 18:08:36 +02:00
Gilles Roudière
6db8b7616d Keep input event as unhandled if they go through a control set to MOUSE_FILTER_PASS 2022-05-17 15:41:58 +02:00
Rémi Verschelde
3506825930
Merge pull request #61112 from Chaosus/graph_edit_delete_nodes_param 2022-05-17 13:10:04 +02:00
Yuri Rubinsky
c84d050980 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-17 13:28:21 +03:00
Rémi Verschelde
d64fc0c114
Merge pull request #61101 from clayjohn/GLES3-3D 2022-05-17 12:13:37 +02:00
Lyuma
41824c6cc8 Bind EditorFileSystem::reimport_files and improve docs
reimport_files offers a way for scripts to modify imported resources directly.
For example, images, sounds or glTF documents which are written by an external program.

It is much faster than `scan`, and can allow scripts to synchronously proceed after import finishes.
2022-05-17 00:45:48 -07:00
clayjohn
9b61c855ef Add basic lighting to GLES3 renderer.
This includes all three light types and IBL, but does not include shadows or any form of GI
2022-05-16 15:07:09 -07:00
kobewi
74e135c90b Clarify seek() in relation to animation_finished 2022-05-16 20:04:38 +02:00
Rémi Verschelde
4654de5474
Merge pull request #61035 from smix8/navigation_mesh_generator_missing_doc_4.x 2022-05-16 17:28:07 +02:00
smix8
375c4ef312 Add missing class doc to NavigationMeshGenerator
Adds missing class documentation for NavigationMeshGenerator bake() and clear() functions.
2022-05-16 16:05:10 +02:00
monkeyman192
31381f8c9e Allow TreeItem nodes to toggle visibility 2022-05-16 23:55:05 +10:00
Rémi Verschelde
a2140c4bf8
Merge pull request #59596 from Calinou/doc-camera-project-ray-normal-origin 2022-05-16 15:03:57 +02:00
Rémi Verschelde
f2accdb73d
Merge pull request #60086 from fire-forge/editorspinslider-hide-slider 2022-05-16 15:02:09 +02:00
Rémi Verschelde
b154f445d5
Merge pull request #60507 from bruvzg/textmesh
Implement TextMesh.
2022-05-16 13:52:57 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1 2022-05-16 13:50:42 +02:00
Rémi Verschelde
a4fdedbf49
Merge pull request #61058 from Calinou/doc-performance 2022-05-16 13:48:43 +02:00
Rémi Verschelde
842a57b0d9
Merge pull request #60992 from Calinou/doc-gpuparticles3d-attractors-collision 2022-05-16 13:48:33 +02:00
Rémi Verschelde
9ba0fac1ba
Merge pull request #61038 from smix8/navigation_obstacle_rid_config_warn_4.x 2022-05-16 13:47:20 +02:00
Rémi Verschelde
95da5436dc
Merge pull request #61032 from smix8/navigationmesh_bake_no_threads_4.x 2022-05-16 13:47:06 +02:00
Rémi Verschelde
f3c0e75fba
Merge pull request #60958 from smix8/navigation_server_rid_utility_4.x 2022-05-16 13:46:49 +02:00
Hugo Locurcio
e6b0b577ed
Document GPUParticles3D attractors and collision 2022-05-16 08:21:46 +02:00
Hugo Locurcio
03bdd4e8a6
Improve the Performance class documentation
This makes documentation for the Performance class 100% complete.
2022-05-16 01:08:11 +02:00
smix8
49c603e127 Disable threaded NavigationMesh bake on unsupported OS
Automatically disables threaded NavigationMesh bake when OS does not support threads.
2022-05-16 00:55:15 +02:00
smix8
001d89223f 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.
2022-05-15 01:03:22 +02:00
Casper Beyer
c6394906e6 Fix typo in TILE_LAYOUT_STACKED_OFFSET description 2022-05-15 01:17:34 +08:00
Haoyu Qiu
82fdad148f Make auto_accept_quit and quit_on_go_back properties 2022-05-14 18:18:26 +08:00
Haoyu Qiu
ffd5362187 Swap the meaning of CURSOR_WAIT and CURSOR_BUSY 2022-05-14 10:13:42 +08:00
SnailRhymer
bdf086c781 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.
2022-05-13 15:06:46 +01:00
Rémi Verschelde
785708a582
Merge pull request #60981 from Calinou/doc-animatedsprite2d 2022-05-13 14:56:52 +02:00
bruvzg
05963674a7
Implement TextMesh resource.
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-13 08:20:22 +03:00
Hugo Locurcio
515676a7f5
Remove unused GPUParticlesCollisionHeightField3D.follow_camera_push_ratio property
- Rename setter/getter methods for consistency.
- Remove section in the inspector as there is now only 1 property
  within the section.
- Add performance hints to property hints.
2022-05-13 04:19:28 +02:00
Megamega53
de968baca9
Improve AnimatedSprite2D description in the class reference 2022-05-13 01:36:07 +02:00
Rémi Verschelde
826f5358a1
Merge pull request #60771 from snailrhymer/enum-indentation-doc-fix
Indent bullet points in enum descriptions
2022-05-12 21:13:21 +02:00
Rémi Verschelde
ff30a09993
Merge pull request #60643 from clayjohn/GLES3-3D 2022-05-12 21:08:02 +02:00
SnailRhymer
38cf07b768 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.
2022-05-12 19:34:49 +01:00
smix8
371054e3e5 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.
2022-05-12 20:23:19 +02:00
clayjohn
652adcd5bf Basic 3D rendering 2022-05-12 10:37:27 -07:00
Yuri Rubinsky
a439832035 Fix signal completion in GDScript editor 2022-05-12 16:10:48 +03:00
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Yuri Roubinsky
dbd7a31507 Implement exponential operator (**) to GDScript/Expressions 2022-05-11 16:30:37 +03:00
Rémi Verschelde
72eb1b876a
Merge pull request #60922 from KoBeWi/JoinedStringArray 2022-05-10 16:42:04 +02:00
Rémi Verschelde
b6983eeccf
Merge pull request #51591 from Calinou/call-group-default-immediate
Make `{call,set,notify}_group()` immediate by default
2022-05-10 14:52:23 +02:00
Rémi Verschelde
aee88a7370
Merge pull request #46208 from floppyhammer/AddFillModeToProgressBar 2022-05-10 14:48:44 +02:00
kobewi
3da7dda854 Mention how to join PackedStringArray 2022-05-10 13:56:31 +02:00
Rémi Verschelde
cc66d5e173
Merge pull request #60855 from timothyqiu/packed-array-find
Add search methods for packed arrays
2022-05-10 13:39:55 +02:00
floppyhammer
f76d417d8a Add fill_mode to ProgressBar 2022-05-10 19:34:48 +08:00
Yuri Roubinsky
a8bbe570ca Rename hint_albedo, hint_white/black in shaders 2022-05-09 22:50:18 +03:00
Yuri Rubinsky
033e211724
Merge pull request #60845 from Chaosus/vs_color_func 2022-05-09 21:34:34 +03:00
kobewi
c836bdf5b1 Mention that Area2D doesn't support one_way_collision 2022-05-09 15:00:53 +02:00
Silc Renew
ba8398f270 Fixed delta & Implement selection of whether or not to seek root 2022-05-09 08:28:32 +09:00
Haoyu Qiu
380a53f02f Add search methods for packed arrays
* count()
* find()
* rfind()
2022-05-07 20:16:11 +08:00
Yuri Roubinsky
ee1b7a033d Push HSV2RGB/RGB2HSV to ColorFunc (from VecFunc) in visual shaders 2022-05-07 09:49:12 +03:00
Rémi Verschelde
61517b6d39
Merge pull request #59720 from Vitika9/itemlist-signals 2022-05-06 10:46:47 +02:00
Vitika9
aef3b5681d Changed signals of ItemList 2022-05-06 13:09:04 +05:30
Rémi Verschelde
f70dd61a49
Merge pull request #60811 from smix8/astar_zero_point_weight_4.x 2022-05-06 08:40:12 +02:00
Rémi Verschelde
f70085a942
Merge pull request #60802 from Calinou/profiler-idle-time-rename 2022-05-06 08:28:59 +02:00
smix8
868fe4942c Allow AStar2D/AStar3D zero point weight
Allow AStar2D/AStar3D 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-05-06 02:33:10 +02:00
Hugo Locurcio
79be2c7b75
Rename profiler "Idle Time" to "Process Time"
References to "idle time" are progressively being replaced by
"process time" throughout the engine to avoid confusion.
2022-05-05 20:23:47 +02:00
Casper Beyer
c1a183975f Fix get_coords_level_tile_proxy description 2022-05-06 02:00:41 +08:00
Hugo Locurcio
cd4b60d0d4
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-05-05 19:20:03 +02:00
Rémi Verschelde
0ae2ba0862
Merge pull request #60263 from SirQuartz/Chronos 2022-05-05 18:26:05 +02:00
Rémi Verschelde
a7d4ac3dd5
Merge pull request #60304 from ellenhp/document_stereo_enhance 2022-05-05 18:04:54 +02:00
Hugo Locurcio
aabbb40009
Make {call,set,notify}_group() immediate by default
This results in less surprising behavior out of the box.

Internal usages were modified to keep the existing behavior
identical there.
2022-05-05 16:59:37 +02:00
Nicholas Huelin
8409d92282 Fix inconsistent naming in Time 2022-05-05 16:00:37 +02:00
Ellen Poe
76ba7099c3 Partially document AudioEffectStereoEnhance. 2022-05-05 15:59:07 +02:00
Rémi Verschelde
71e41eb395
Merge pull request #60597 from reduz/missing-node-resource-placeholders 2022-05-05 15:57:50 +02:00
Rémi Verschelde
f10f2a7232 i18n: Sync classref translations with Weblate
(cherry picked from commit 021f92a1be)
2022-05-05 15:55:50 +02:00
Rémi Verschelde
e7a58a7eb6 Core: Rename math 'phi' arguments to 'angle' 2022-05-05 14:17:39 +02:00
Micky
87599054d2 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>
2022-05-05 13:42:24 +02:00
Pawel Lampe
88d3f14697 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-05-04 23:00:18 +02:00
Rémi Verschelde
38a922a365
Merge pull request #60740 from KoBeWi/postapo_frame_draw 2022-05-04 20:37:51 +02:00
Rémi Verschelde
84f64ddde9
Merge pull request #60723 from reduz/refactor-module-initialization 2022-05-04 19:08:43 +02:00
reduz
de0ca3b999 Refactor module initialization
* Changed to use the same stages as extensions.
* Makes the initialization more coherent, helping solve problems due to lack of stages.
* Makes it easier to port between module and extension.
* removed the DRIVER initialization level (no longer needed).
2022-05-04 17:34:51 +02:00
Rémi Verschelde
3ac1c8e9f3
Merge pull request #60731 from KoBeWi/action_editor
Clarify InputMap.action_get_events() in the editor
2022-05-04 09:03:21 +02:00
kobewi
708a3b3db8 Improve Viewport.get_texture() description 2022-05-04 02:30:32 +02:00
mdavisprog
f3c1232c59 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.
2022-05-03 17:27:17 -07:00
kobewi
5235584066 Clarify InputMap.action_get_events() in the editor 2022-05-03 19:45:50 +02:00
reduz
0a57f964a3 Implement missing Node & Resource placeholders
Implemented by request of @neikeq to advance in the GDExtension version of Mono.

* If a Resource type is missing upon load, it will be remembered together with its data (Unless manually overriden).
* If a Node type is missing upon load, it will be also be remembered together with its data (unless deleted).

This feature makes working with GDExtension much easier, as it ensures that missing types no longer cause data loss.
2022-05-03 17:08:09 +02:00
Rémi Verschelde
b239275989
Merge pull request #60583 from reduz/placeholder-assets 2022-05-03 16:43:13 +02:00
Rémi Verschelde
8aa791d166
Merge pull request #59321 from Calinou/primitive-meshes-csg-tweak-default-sizes
Decrease default sizes of some primitive and CSG meshes for consistency
2022-05-03 15:19:30 +02:00
Rémi Verschelde
6530d46d67
Merge pull request #51102 from Calinou/renderingserver-add-api-version-getter
Add `get_video_adapter_api_version()` to RenderingServer
2022-05-03 14:44:55 +02:00
Rémi Verschelde
77c9138e72
Merge pull request #24402 from guilhermefelipecgs/state_machine_improvement
Improvements to AnimationNodeStateMachine
2022-05-03 14:25:30 +02:00
Rémi Verschelde
3614492dd3
Merge pull request #60644 from PureAsbestos/master 2022-05-03 11:37:15 +02:00
Hugo Locurcio
31194f5b1c
Add get_video_adapter_api_version() to RenderingServer
This method can be used to get the graphics API version currently in
use (such as Vulkan). It can be used by projects for troubleshooting
or statistical purposes.
2022-05-03 01:18:35 +02:00
Guilherme Felipe
e7056c195d Improvements of state machine
- Open the menu to add new animation nodes by dragging the transitions to
empty areas and automatically connecting them.
- Adds box selection to the state machine.
- Add feature to group/ungroup selected nodes in a "sub" state machine.
- Add start/end node by default. In addition, add new color to these
nodes to differentiate then.
- Add tooltip for transitions to show the connection "from -> to".
- Add new "type" of transition line when multiple transitions are
grouped.
- Add popup to connect nodes in sub state machine.
- Add dialog to select which nodes can be deleted when they are grouped.
- Add classes:
	AnimationNodeStartState
	AnimationNodeEndState
	EditorAnimationMultiTransitionEdit
- Implements disabled transition

API Changes:
- Now it's posible to add transitions between state machines,
`AnimationNodeStateMachine::add_transition` will works with relative path,
this means you can use it like this `add_transition("Idle", "Walk", tr)`
or `add_transition("Idle", "StateMachine/Shoot)`.
2022-05-02 13:06:36 -03:00
Marcel Admiraal
97e87a2daf Fix screen_get_usable_rect returning display safe area 2022-05-02 09:31:32 +02:00
Rémi Verschelde
bc7ccc909b
Merge pull request #60551 from madmiraal/implement-3466
Add a method for obtaining display cutouts on Android
2022-05-02 07:56:41 +02:00
Rémi Verschelde
4e06ce7840
Merge pull request #60655 from smix8/navigation_region_rid_4.x
Add get_region_rid() to NavigationRegion2D and NavigationRegion3D
2022-05-01 14:17:40 +02:00
Rémi Verschelde
122fa74f6c
Merge pull request #60650 from bruvzg/lbl_n_spr_z_order 2022-04-30 16:32:32 +02:00
bruvzg
0a0e94d996
Expose Label3D and Sprite*3D material render priority properties. 2022-04-30 15:09:30 +03:00
smix8
05d06b8957 Add get_region_rid() NavigationRegion2D and NavigationRegion3D
Add get_region_rid() to NavigationRegion2D and NavigationRegion3D
2022-04-30 13:27:30 +02:00
Rémi Verschelde
f131ec336b
Merge pull request #60614 from timothyqiu/lerp-angle-doc 2022-04-30 13:25:04 +02:00
Haoyu Qiu
492903a0b2 Document lerp_angle behavior when angles are approximately PI apart 2022-04-30 19:02:21 +08:00
Rémi Verschelde
e619e0e4d4
Merge pull request #59419 from Calinou/doc-basematerial3d-detail 2022-04-30 10:49:36 +02:00
Hendrik Brucker
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
PureAsbestos
a89b3f872d Change 'throws an error' to 'prints an error' in classref 2022-04-29 19:20:46 -05:00
Rémi Verschelde
7d999b7507
Merge pull request #59411 from Calinou/doc-tonemap
Improve documentation for tonemapping operators
2022-04-29 23:14:29 +02:00
Hugo Locurcio
91f9a48ada
Merge pull request #59418 from Calinou/doc-environment 2022-04-29 21:50:08 +02:00
Rémi Verschelde
0e98dbb19c
Merge pull request #60070 from Calinou/proceduralskymaterial-add-dithering
Add dithering to ProceduralSkyMaterial to combat banding
2022-04-29 20:28:11 +02:00
kobewi
8187a777ce Small improvements to get_first_node_in_group() 2022-04-29 16:14:48 +02:00
Rémi Verschelde
ce01bf22be
Merge pull request #60405 from CheetoMonster/documentation-edits
BoxContainer description to point to the "Using Containers" page
2022-04-29 08:04:32 +02:00
bruvzg
be2ee9d277
[Label3D] Add offset property. 2022-04-28 21:23:15 +03:00
Rémi Verschelde
5a4e478b0f
Merge pull request #58599 from Calinou/styleboxflat-add-skew
Add a Skew property to StyleBoxFlat
2022-04-28 18:32:01 +02:00
Haoyu Qiu
6c01ef8f4c Miscellaneous Tween fixes 2022-04-28 21:19:01 +08:00
bruvzg
6ab672d1ef Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and Windows.
Implement TextServer word break method.
2022-04-28 14:35:41 +03:00
reduz
b02c7387c7 Implement placeholder assets
* Placeholder textures
* Placeholder meshes
* Placeholder material

This PR is the first step towards implementing https://github.com/godotengine/godot-proposals/issues/2756
It adds an asset type that uses no resources, which can be used to replace the existing ones on export for using on the upcoming server export.
2022-04-28 12:19:01 +02:00
Chris verBurg
3b941ed98c 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.
2022-04-28 00:22:43 -07:00
Hugo Locurcio
53b8899be9
Decrease default sizes of some primitive and CSG meshes for consistency 2022-04-27 22:45:38 +02:00
Rémi Verschelde
3e9ead05f2
Merge pull request #58685 from IgorKordiukiewicz/gpu_particles_2d_interpolation_property
Added interpolation property to GPUParticles2D
2022-04-27 13:58:41 +02:00
Rémi Verschelde
6e6fe2b025
Merge pull request #59582 from Faless/net/4.x_tcp_explicit_poll 2022-04-27 13:56:58 +02:00
Rémi Verschelde
1de51133c9
Merge pull request #60331 from KoBeWi/tween_static() 2022-04-27 13:20:11 +02:00
Rémi Verschelde
a680493397
Merge pull request #60275 from octetdev2/prefer-constant-for-docs 2022-04-27 12:19:08 +02:00
Rémi Verschelde
d22850234c
Merge pull request #59393 from techiepriyansh/move-gltf-export-under-scene-menu 2022-04-27 11:51:49 +02:00
Rémi Verschelde
2890ac7100
Merge pull request #60319 from TokageItLab/implement-global-rest 2022-04-27 11:06:42 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
Rémi Verschelde
74ae1ec545 doc: Update iOS hint for Input.vibrate_handheld after #60397 2022-04-27 09:45:44 +02:00
kobewi
b80e52f048 Expose move_to_trash() 2022-04-27 01:02:11 +02:00
Rémi Verschelde
e9e2aaf812
Merge pull request #60513 from Calinou/default-font-add-msdf-mipmap
Add MSDF and mipmap generation project settings for the default font
2022-04-26 22:39:55 +02:00
Fabio Alessandrelli
aee2240d5f [Net] Allow branch-specific MultiplayerAPIs.
Removes custom_multiplayer from Node.
MultiplayerAPI overrides are now set at SceneTree level, and apply to
whole branches.
Impact on performance when using only the default multiplayer or
overriding it is minimal, the use of branches can likely be further
optimized by caching nodes and relevant MultiplayerAPI IDs.
2022-04-26 17:22:54 +02:00
Marcel Admiraal
71ce5857ec Add a method for obtaining display cutouts on Android 2022-04-26 13:51:21 +02:00
Rémi Verschelde
06c33cca18
Merge pull request #60511 from akien-mga/readd-find_node 2022-04-26 09:42:19 +02:00
Rémi Verschelde
bef00b2b0d
Merge pull request #60445 from nathanfranke/minor-changes
small changes: improve OS.get_name classref, misc/scripts fixes, remove trailing quote
2022-04-25 23:10:48 +02:00
Rémi Verschelde
3e1df91ca6
Merge pull request #60450 from timothyqiu/packed-array-doc
Remove `Array` link in description of `Packed*Array`
2022-04-25 23:05:18 +02:00
Rémi Verschelde
baa0b4fdec i18n: Sync classref translations with Weblate
(cherry picked from commit 4c68304e2f)
2022-04-25 17:19:45 +02:00
Rémi Verschelde
ac4e322ac8
Merge pull request #60472 from KoBeWi/dragging_rights 2022-04-25 16:56:57 +02:00
Rémi Verschelde
df4de306a9
Merge pull request #60490 from aaronfranke/dap-typo 2022-04-25 16:51:09 +02:00
Hugo Locurcio
43c34bf611
Add MSDF and mipmap generation project settings for the default font
This can be used to improve Label3D and scaled Control appearance
in prototypes.
2022-04-25 16:47:44 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d 2022-04-25 15:51:31 +02:00
Rémi Verschelde
9c2ea7e296 Node: Re-add find_node as find_child, improve docs
The new name contrasts it better with `find_parent`, and makes it clear
that it only matches child/descendant nodes.

Also rename `find_nodes` to `find_children` accordingly.
2022-04-25 15:21:22 +02:00
Rémi Verschelde
7c7ce7dcd7
Merge pull request #60298 from reduz/scene-unique-paths 2022-04-25 13:38:08 +02:00
reduz
8580f377a3 Implement Scene Unique Nodes
Implements https://github.com/godotengine/godot-proposals/issues/4096

* Nodes can be marked unique to the scene in the editor (or via code).
* Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched.
* Implementation is very optimal, as these nodes are cached.
2022-04-25 12:19:17 +02:00
kobewi
31a23ab33f Improve descriptions for drag methods 2022-04-24 20:41:00 +02:00
Aaron Franke
fb6aaacaed
Fix type name typo in Debug Adapter Protocol 2022-04-24 03:21:23 -05:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
GTcreyon
ce1fcfcff9 Changed "pair" to "triplet" in Vector3 definition 2022-04-23 12:15:14 +01:00
Haoyu Qiu
24febff2dc Remove Array link in description of PackedArrays 2022-04-23 11:06:02 +08:00
Nathan Franke
1304d72fc1
improve OS.get_name classref, misc/scripts fixes, remove trailing quote 2022-04-22 17:13:08 -05:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4 2022-04-20 08:33:42 +03:00
Hugo Locurcio
3ca4514866
Merge pull request #50175 from kleonc/image-blit-blend-fix-rects
`Image.blit_rect/blend_rect` Fix rects calculations for negative arguments
2022-04-19 16:30:08 +02:00
kobewi
3017530e26 Make Tween.interpolate_value() static 2022-04-17 23:13:39 +02:00
Silc 'Tokage' Renew
4d4ffa3a2c Implement global rest 2022-04-18 02:11:19 +09:00
Haoyu Qiu
1b891069cd Document timestamp decimal fraction in Time 2022-04-16 13:14:58 +08:00
Casper Beyer
beb7a9debe Prefer constant tags for constants 2022-04-16 00:21:05 +08:00
Michael Alexsander
bab2f3c021 Add font_separator and related properties to PopupMenu 2022-04-13 23:46:35 -03:00
Rémi Verschelde
321213d863
Merge pull request #60220 from YeldhamDev/the_line_must_be_drawn_here
Fix and tweak labeled separator in `PopupMenu`
2022-04-14 00:15:23 +02:00
Rémi Verschelde
970debed93
Merge pull request #60177 from reduz/animation-library-import
Import scenes as AnimationLibrary
2022-04-13 22:47:54 +02:00
Michael Alexsander
59c3d4e17f Fix and tweak labeled separator in PopupMenu 2022-04-13 17:13:29 -03:00
reduz
66009318e0 Import scenes as AnimationLibrary
Added the ability to import scenes as AnimationLibrary

* Completes implementation of https://github.com/godotengine/godot-proposals/issues/4296
* Helps if you want to export animations to a separate file (say a GLTF) to avoid re-importing/exporting them every time the model changes.
* Helps if you simply want to have animations using a dummy model, which can be shared across multiple models.

Creates a secondary scene importer used only for animations.

**NOTE**: A new flag for scene importer: EditorSceneFormatImporter.IMPORT_DISCARD_MESHES_AND_MATERIALS has been added, to hint importers that they should skip meshes and animations (and hence make importing faster). It is not implemented in any importer yet, this should be done in a separate PR.
2022-04-13 15:06:56 +02:00
Rémi Verschelde
d27f60f0e8
Merge pull request #60199 from akien-mga/color-clarify-srgb-linear-conversions 2022-04-13 13:41:21 +02:00
Rémi Verschelde
b06ac80f81
Merge pull request #60028 from LightningAA/Improve-Signal-Docs 2022-04-13 12:58:18 +02:00