Commit Graph

5290 Commits

Author SHA1 Message Date
Rémi Verschelde 9d3875dde7
Merge pull request #55408 from madmiraal/fix-54517 2021-11-29 17:30:13 +01:00
Hugo Locurcio 1b59818fb3
Remove redundant SpriteBase3D `opacity` property
The `opacity` property is superseded by the GeometryInstance3D
`transparency` property. It works the opposite way (0.0 is opaque,
1.0 is fully transparent), but provides the same behavior in a more
universal manner.
2021-11-29 16:13:55 +01:00
Hugo Locurcio 4868331897
Document using SpriteBase3D's `modulate` property with material override 2021-11-29 16:07:21 +01:00
Marcel Admiraal 272b3c3728 Enable sorting of operator methods in class documentation. 2021-11-29 14:51:44 +00:00
Rémi Verschelde 69a194f051
Merge pull request #55239 from zacryol/find-world-2d-description-fix
Fix description of Viewport `find_world_2d()` method.
2021-11-28 10:37:14 +01:00
zacryol 81c1d5197e Fix description of Viewport `find_world_2d()` method.
The doc now states that the method searches for a World2D among ancestor Viewports as well, differentiating it from the get_world_2d() getter.

and also find_world_3d()
2021-11-27 13:49:03 -07:00
Hugo Locurcio 989a7d9270
Allow disabling the depth prepass in the Vulkan Clustered backend
In scenes that have little to no overdraw, disabling the depth prepass
can give a small performance boost. Nonetheless, in most other scenarios,
the depth prepass should be left enabled as it improves performance
significantly.
2021-11-27 17:54:45 +01:00
Nathan Franke dd30253cdc
PackedByteArray, Array slice end exclusive, rename subarray to slice 2021-11-26 22:13:12 -06:00
kleonc 4038bc0c36 Fix `Image.blit_rect/blend_rect()` for negative `p_dest` point 2021-11-26 22:23:04 +01:00
Hugo Locurcio 3135c6f03e
Emit node configuration warnings for GeometryInstance3D distance fade
The visibility range begin/end margin properties must be set above 0.0
for the fade transition to be visible.
2021-11-26 21:46:32 +01:00
Aaron Franke 7a096b216e
Remove default_env.tres from generating in new projects 2021-11-26 14:37:27 -06:00
Hugo Locurcio 97f124b069
Document the VoxelGIData resource
This companion resource to VoxelGI has many useful settings to tweak.
2021-11-26 00:12:39 +01:00
Max Hilbrunner a6a2e0feb9
Merge pull request #52387 from Calinou/node-rename-path-changed-notification
Rename Node's `NOTIFICATION_PATH_CHANGED` to `NOTIFICATION_PATH_RENAMED`
2021-11-25 17:47:44 +01:00
Yuri Roubinsky ce48604eb7 Enchance descriptions of @GlobalScope/@GDScript 2021-11-25 14:24:09 +03:00
Rémi Verschelde 547c270777
Merge pull request #51679 from Je06jm/fsr
AMD FidelityFX Super Resolution
2021-11-24 22:34:48 +01:00
Rémi Verschelde b1bf82d2b4
Merge pull request #52456 from kleonc/image-fill-rect 2021-11-24 16:34:01 +01:00
Haoyu Qiu c09ea8d45a Adds proxy support for HTTPClient
Also fixed a potential infinite loop when connecting to server.
2021-11-24 14:36:42 +08:00
Lightning_A e078f970db Rename `remove()` to `remove_at()` when removing by index 2021-11-23 18:58:57 -07:00
Je06jm 20deb0917d Implemented AMD's FSR as a computer shader for upscaling 3D scenes 2021-11-23 14:16:03 -07:00
kleonc 91595b16e3 Add Image::fill_rect method 2021-11-23 18:06:23 +01:00
Rémi Verschelde 8a48440dbf
Merge pull request #55259 from KoBeWi/no_easy_ease 2021-11-23 16:51:14 +01:00
Rémi Verschelde 3ba2d17d2f
Merge pull request #54949 from Chaosus/fix_warning 2021-11-23 15:15:36 +01:00
Rémi Verschelde 0cec0d3517
Merge pull request #55257 from KoBeWi/replace_by_void 2021-11-23 14:47:55 +01:00
kobewi 44e6655924 Correct the doc about ease() 2021-11-23 14:32:43 +01:00
Rémi Verschelde c7007f83d5
Merge pull request #55243 from KoBeWi/some_random_stuff_idk 2021-11-23 13:41:35 +01:00
kobewi 58a3ea5453 Mention that replace_by doesn't free the node 2021-11-23 12:53:31 +01:00
kobewi 4682f22293 Improve various texts 2021-11-23 12:20:57 +01:00
Rémi Verschelde a8c305acfa
Merge pull request #55251 from bruvzg/is_physical_key_pressed 2021-11-23 11:41:35 +01:00
Rémi Verschelde 94959cb16b
Merge pull request #47567 from Calinou/add-boot-splash-image-setting 2021-11-23 10:50:15 +01:00
bruvzg 9877d91c4a
Add Input.is_physical_key_pressed method. 2021-11-23 11:14:19 +02:00
Hugo Locurcio 3f34832dba
Add a project setting to disable the boot splash image
This allows disabling the boot splash image while keeping the
background color.
2021-11-23 02:20:25 +01:00
Hugo Locurcio f8d9e4afdb
Document the engine's use of internal groups in Node 2021-11-23 01:09:13 +01:00
Rémi Verschelde 76aa1d0a43
Merge pull request #55151 from Chaosus/control_reset_size 2021-11-22 16:22:57 +01:00
Yuri Roubinsky eabf8f5edf Added `reset_size` method to `Control` and `Window` classes 2021-11-22 16:55:21 +03:00
Rémi Verschelde 29a2561f77
Merge pull request #55217 from KoBeWi/get_property_and_property 2021-11-22 14:52:45 +01:00
kobewi 4ea6709558 Clarify get_indexed in relation to Nodes 2021-11-22 13:21:45 +01:00
Yuri Sizov e85e6ec7fc Add methods to get position from column and line in TextEdit 2021-11-22 15:13:13 +03:00
Rémi Verschelde 70d530029a
Merge pull request #55171 from dalexeev/font-data-set-fixed-size 2021-11-22 12:23:41 +01:00
Rémi Verschelde 78dbe4e3e4
Merge pull request #54339 from ConteZero/line_edit_drag_and_drop 2021-11-22 12:20:01 +01:00
clayjohn 7ba555dada Convert PhysicalSkyMaterial colors to SRGB 2021-11-21 12:26:29 -08:00
Danil Alexeev 753d677343
Expose `FontData::{set,get}_fixed_size` methods 2021-11-20 20:47:01 +03:00
Rémi Verschelde be16eb625b
Merge pull request #54932 from briansemrau/expose-main-thread-id 2021-11-20 10:48:46 +01:00
Rémi Verschelde 4a4b363da1
Merge pull request #55092 from KoBeWi/thelp_item
Add [theme_item] tag to editor help
2021-11-18 17:39:17 +01:00
Rémi Verschelde 395558c021
Merge pull request #54462 from Paulb23/the-last-hidden-line 2021-11-18 15:56:06 +01:00
kobewi 6f929395d9 Add [theme_item] tag to editor help 2021-11-18 15:32:23 +01:00
Paulb23 2a302f7097 Fix TextEdit mouse interactions when the last line is hidden 2021-11-17 18:29:19 +00:00
Paulb23 eb9100f085 Fix divide by zero in pck_packer 2021-11-17 18:07:29 +00:00
Rémi Verschelde f9b4547abd
Merge pull request #55054 from KoBeWi/marginalized_icon 2021-11-17 13:54:53 +01:00
kobewi 2341c7bbd9 Mention how to add margins to Button's icon 2021-11-17 12:50:25 +01:00
Yuri Roubinsky a74acca858 Expose `randfn` to global scope 2021-11-17 14:29:19 +03:00
Nathan Lovato a5d0a74b65 Make bezier handle type a property of keyframes, update interface
- Replaced unused code related to old close icon with a button
- Add bezier handle options to right-click menu
- Remove mirror handle mode, only keep balanced
- Update animation reference
2021-11-16 09:26:35 -05:00
Rémi Verschelde 471e7cbfc7
Merge pull request #54581 from aaronfranke/operator-docs 2021-11-16 14:10:09 +01:00
ConteZero 2b1787b446 Fix drag and drop on LineEdit 2021-11-15 17:10:56 +01:00
Rémi Verschelde d7190e04ed
Merge pull request #54991 from akien-mga/dehardcode-docs-branch-url 2021-11-15 14:04:00 +01:00
Rémi Verschelde 4b09e34275
Merge pull request #54952 from Calinou/doc-editorpaths 2021-11-15 14:03:38 +01:00
Hugo Locurcio 7840080244
Document the EditorPaths class 2021-11-15 13:14:16 +01:00
Rémi Verschelde 6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 13:02:21 +01:00
Rémi Verschelde d975b1bc37
Merge pull request #43072 from KoBeWi/point_to_angle 2021-11-15 09:56:21 +01:00
Rémi Verschelde b6c002f32d
Merge pull request #54981 from Calinou/doc-gi 2021-11-15 08:35:25 +01:00
Hugo Locurcio f50aeb531b
Improve documentation related to global illumination 2021-11-14 23:48:12 +01:00
reduz cd2a499084 Add path to functions that return iporter options
-Allows displaying custom options for specific file format variants
-Added support for scene format import to retrieve custom options

This PR is necessary for #54886 to be implemented properly.
2021-11-14 14:06:10 -03:00
Yuri Roubinsky 3396b25489 Allow using built-in names for variables, push warnings instead 2021-11-13 21:47:24 +03:00
Hugo Locurcio bad74311db
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
This makes material setup faster and avoids mistakes, especially with
the metallic channel which defaults to 0.

The value is only changed when adding a texture when none was
previously assigned, not when assigning a different texture.
2021-11-13 17:46:22 +01:00
Brian Semrau c558263d84 Expose Thread::get_main_id in core bindings 2021-11-12 19:28:49 -05:00
Rémi Verschelde 19571c9c4b
Merge pull request #54928 from KoBeWi/sorting_vegetables 2021-11-13 00:19:28 +01:00
kobewi f529a58f10 Improve sort_custom() example 2021-11-12 23:18:33 +01:00
Aaron Franke 3c0fdcc8ac
Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
Camille Mohr-Daurat 74facb6d39
Merge pull request #54803 from goostengine/shape-cast-2d
Add `ShapeCast2D` node
2021-11-12 13:28:44 -07:00
Andrii Doroshenko (Xrayez) 6a67350910 Remove `get_closest_*` methods from `ShapeCast2D`
The physics API cannot provide needed functionality to ensure the correct behavior, which might lead to confusion (see `rest_info()`).

However `get_closest_collision_safe/unsafe_fraction()` methods are not removed, because they return correct result from `cast_motion()`.
2021-11-12 21:30:35 +02:00
Andrii Doroshenko (Xrayez) f979d5977a Add `ShapeCast2D` node 2021-11-12 21:29:30 +02:00
Gilles Roudière 1224d7a25c Implement texture padding in TileSetAtlasSources 2021-11-12 15:14:10 +01:00
Rémi Verschelde a54bd6e868
Merge pull request #53914 from Chaosus/shader_default_texture_param 2021-11-12 12:23:34 +01:00
Yuri Roubinsky 826e781bfa Fix default_texture_param in shader pipeline to support uniform arrays 2021-11-12 12:53:40 +03:00
Rémi Verschelde 1775933069
Merge pull request #54900 from benjarmstrong/output_latency_docs_fix 2021-11-12 09:59:09 +01:00
Max Hilbrunner 90f508eadb
Merge pull request #54872 from akien-mga/rect2-has_point-borders
Rect2: Clarify docs for `has_point` excluding bottom and right borders
2021-11-12 09:10:52 +01:00
Benjamin Armstrong 1e485a7da8 Clarify how 'audio/driver/output_latency' project setting works 2021-11-12 16:14:42 +11:00
Camille Mohr-Daurat 11e03ae7f0
Merge pull request #54810 from nekomatata/area-separate-override-modes
Separate space override modes for gravity/damping in Area
2021-11-11 15:11:21 -07:00
Rémi Verschelde 36c4451a7b
Rect2: Clarify docs for `has_point` excluding bottom and right borders
Improve tests, as well as documentation for `expand`.
2021-11-11 22:51:29 +01:00
Rémi Verschelde 86460db231
Merge pull request #54857 from nekomatata/raycast-hit-from-inside 2021-11-11 18:22:53 +01:00
Rémi Verschelde e2e9b08cc7
Color: Bind `from_hsv` as static method 2021-11-11 11:50:02 +01:00
boruok ff66df67fd fixed typo in NavigationPolygon doc 2021-11-11 15:59:17 +09:00
PouleyKetchoupp c3ae7ddedd Add raycast options to hit when starting inside / hit back faces
Makes the results consistent for all shape types with options to set
the desired behavior.
2021-11-10 17:43:35 -07:00
Rémi Verschelde 68664c0239
Merge pull request #54836 from pycbouh/inspector-plugins-fixes-and-groups 2021-11-10 22:06:30 +01:00
Rémi Verschelde 7b3abf17fd
Merge pull request #49708 from megalobyte/editor_description_fix 2021-11-10 21:56:20 +01:00
Rémi Verschelde 3668312e78
Merge pull request #54847 from nekomatata/fix-test-move-regression 2021-11-10 20:38:49 +01:00
Rémi Verschelde a6412e132a
Merge pull request #54660 from Chaosus/vs_particles_mesh_emitter 2021-11-10 19:55:25 +01:00
megalobyte e3def40160 Update editor description property flag 2021-11-10 13:44:54 -05:00
PouleyKetchoupp 5da057adaf Fix test_move reporting collision when touching another body
Reporting rest collision information is needed for move_and_collide and
move_and_slide so floor detection can be done properly, but in the case
of just testing the motion for collision, it makes sense to return false
if the body is able to move all along the path without being stopped.

Updated the logic in test_move and clarified the documentation for
test_move and move_and_collide.
2021-11-10 11:20:02 -07:00
Rémi Verschelde d209369fa3
Merge pull request #54840 from Calinou/mono-move-exception-policy-setting 2021-11-10 18:33:18 +01:00
Rémi Verschelde c5a99a2056
Merge pull request #54820 from nekomatata/fix-character-body-floor-errors 2021-11-10 17:53:44 +01:00
Hugo Locurcio a9a45ee7ee
Move Mono unhandled exception setting to be located within a subsection
Settings that aren't within a subsection are difficult to reach when
other settings do have a subsection.

This also adds documentation for the project setting.
2021-11-10 17:31:54 +01:00
PouleyKetchoupp bfd0d33244 Fix errors in CharacterBody when floor is destroyed or removed
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.

In 2D, there is no change in behavior (just no more errors).

In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.
2021-11-10 08:27:33 -07:00
Yuri Sizov 2e4d18c929 Fix EditorInspectorPlugin virtual bindings and add parse_group callback 2021-11-10 17:56:59 +03:00
Rémi Verschelde f253f7b6e6
VisualShader: Document enum args for virtual methods
Fixes #31563.
2021-11-10 13:22:58 +01:00
Rémi Verschelde 06a33e590f
Merge pull request #53819 from TokageItLab/re-implement-ping-pong
Reimplement ping-pong animation and reverse playback
2021-11-09 22:11:04 +01:00
PouleyKetchoupp 3d1c123d45 Separate space override modes for gravity/damping in Area
Also make inspector clearer for gravity point properties.
2021-11-09 10:29:24 -07:00
Tomasz Chabora 606cfa9a47 Fix Vector2.angle_to_point() being reversed 2021-11-09 16:59:58 +01:00
Rémi Verschelde bc6ec58456
Merge pull request #47600 from qarmin/enable_mono_editor 2021-11-09 12:13:11 +01:00
qarmin 071829acc5 Enable mono editor build in CI 2021-11-09 11:02:04 +01:00
bruvzg 294e48ae58 Move BMFont parser code from importer to the FontData to allow loading bitmap fonts in the runtime (without importing). 2021-11-09 10:41:45 +02:00
Camille Mohr-Daurat c6062cd93e
Merge pull request #54134 from nekomatata/body-center-of-mass-local
Expose local center of mass in physics servers
2021-11-08 18:44:51 -07:00
PouleyKetchoupp fc8c766ef9 Expose local center of mass in physics servers
Center of mass in body's local space is more useful than the transformed
one in some cases, like drawing its position for debug.

It's especially useful to get the generated local center of mass when
in auto mode (by default).

Physics Server BODY_PARAM_CENTER_OF_MASS:
Now always returns the local center of mass, instead of setting a local
center of mass and getting a transformed one.
This causes compatibility breaking, but it makes more sense for the
parameter to be consistent between getter and setter.

Direct Body State:
There are now two properties, because both of them can be useful in
different situations.
center_of_mass: relative position in global coordinates (same as before)
center_of_mass_local: position in local coordinates
2021-11-08 16:17:57 -07:00
Rémi Verschelde 5968653662
Merge pull request #46721 from bruvzg/custom_word_break_punct 2021-11-09 00:13:59 +01:00
Rémi Verschelde d9a74fd07f
Merge pull request #54372 from bruvzg/text_edit_ui 2021-11-09 00:13:25 +01:00
Rémi Verschelde 6c4737341d
Merge pull request #54649 from bruvzg/shadows 2021-11-09 00:07:41 +01:00
Hendrik Brucker ed0337c0b9 Several Gradient improvements 2021-11-08 19:11:36 +01:00
Rémi Verschelde 665fa3d839
Merge pull request #52943 from RandomShaper/property_pin_control_natural 2021-11-08 18:53:08 +01:00
Pedro J. Estébanez 8d6f80d367 Add property value pinning 2021-11-08 17:42:30 +01:00
Andrii Doroshenko (Xrayez) 6742a338a8 Rename `GradientTexture` to `GradientTexture1D`
1. Explicit and unambiguous when comparing to `GradientTexture2D`
2. Consistent with other class names where 1D is used in the engine.
2021-11-07 15:11:04 +02:00
clayjohn 0eff109a21 Added SSIL post processing effect 2021-11-06 12:43:19 -07:00
Hugo Locurcio 91aa7cf1da
Decrease the default VoxelGI quality to improve performance
On a GeForce GTX 1080 in 2002×1447 resolution, decreasing VoxelGI quality
from High to Low quality saves 1.2 ms of GPU time in a medium-sized
test scene. This only results in a minor drop in quality.
2021-11-06 19:40:52 +01:00
Max Hilbrunner 4651b2ae5c
Merge pull request #54417 from Anutrix/global-scope-doc-updates
Added or improved function description and codeblocks in @GlobalScope.xml
2021-11-06 17:38:49 +01:00
Yuri Roubinsky 80b563672b Added `MeshEmitter` node for particles in visual shader 2021-11-06 17:45:38 +03:00
Anutrix 4212924fb7 Added or improved function description and codeblocks in @GlobalScope.xml 2021-11-06 19:47:54 +05:30
bruvzg 5f9cd9ccbc Fix Label and RichTextLabale text shadows and shadow outlines. 2021-11-06 10:22:09 +02:00
Brian Semrau dc11e73bf0 Rename AABB `get_area` to `get_volume` 2021-11-05 18:22:42 -04:00
Rémi Verschelde 13aaa73124
Merge pull request #54573 from nekomatata/query-parameters 2021-11-05 21:52:39 +01:00
Rémi Verschelde 56cfebbe98
Merge pull request #54599 from Chaosus/vs_particles_2d_emitters 2021-11-05 12:01:36 +01:00
Yuri Roubinsky dcdf59cd73 Added 2D boolean hint for particle emitters in visual shaders 2021-11-05 12:45:57 +03:00
Brian Semrau ac24070056 Use Callable in RS::request_frame_drawn_callback 2021-11-05 01:59:38 -04:00
Aaron Franke 813466b3c8
Add documentation to operators for math types
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2021-11-04 14:44:55 -05:00
PouleyKetchoupp acbd24ea84 Use parameter classes instead of arguments for all physics queries
Same as what is already done for shape queries, applied to point and ray
queries. Easier to document and more flexible to add more parameters.

Also expose intersect_point method to script in 3D.
Remove intersect_point_on_canvas in 2D, replaced with a parameter.
2021-11-04 11:44:39 -07:00
Hugo Locurcio e3d23d444c
Improve description for `BitMap.grow_mask()` 2021-11-04 19:05:19 +01:00
Rémi Verschelde fca3cd2151
Merge pull request #54568 from Gustavobb/docs-input-screen-drag 2021-11-04 16:34:37 +01:00
Rémi Verschelde a0588685bb
Fixup documentation after 3abb5a9 2021-11-04 16:31:58 +01:00
Hugo Locurcio c012fbc8b2
Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Gustavo Beltrão Braga 76c50928a1 Change description of relative field in input drag event. 2021-11-03 17:29:12 -03:00
Rémi Verschelde f00ba792b3
Merge pull request #54533 from rafallus/menubutton_items 2021-11-03 17:33:11 +01:00
rafallus 4554892223 Implement inspector property array for `PopupMenu` and `MenuButton` 2021-11-03 09:32:29 -06:00
Rémi Verschelde 87ddc5bbbf
Merge pull request #54104 from Scony/improve-navigation-obstacles
Improve NavigationObstacle3D usability
2021-11-03 10:13:53 +01:00
Silc 'Tokage' Renew 953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
Rémi Verschelde 81c93caf02
Merge pull request #54471 from rafallus/callable_area_monitor 2021-11-02 23:20:41 +01:00
Rémi Verschelde 63d4ac2a3c
Merge pull request #54509 from pycbouh/editor-resource-picker-edit 2021-11-02 13:36:29 +01:00
Rémi Verschelde ab6ec9310c
Merge pull request #54453 from KoBeWi/slice_of_string 2021-11-02 13:18:34 +01:00
Yuri Sizov 67cbca341a Add a flag to EditorResourcePicker to differentiate selection contexts 2021-11-02 14:35:15 +03:00
kobewi e5725c7deb Expose String.get_slice 2021-11-02 11:24:07 +01:00
rafallus 770e3a8e51 Use `Callable` in Area monitor callback 2021-11-01 21:53:17 -06:00
Max Hilbrunner 455e027725
Merge pull request #54438 from Laelaps9/patch-1
Fix area_shape_exited's description
2021-11-02 02:01:27 +01:00
Emmanuel Leblond 795cd2eb38
Merge pull request #35816 from touilleMan/dictionary-operator==-true-comparison
Modify Array/Dictionary::operator== to do real key/value comparison
2021-11-02 00:00:38 +01:00
Rémi Verschelde 29a66f7b04
Merge pull request #54491 from Calinou/project-manager-fix-vulkan-choice
Fix new projects always being created with OpenGL
2021-11-01 23:07:21 +01:00
Rémi Verschelde 5945f43cc8
Merge pull request #54391 from DavidSichma/doc_interpolate_value 2021-11-01 22:38:42 +01:00
Hugo Locurcio 665d29c16d
Fix new projects always being created with OpenGL
Only Vulkan is fully implemented for now, so OpenGL isn't available
in the project manager yet.

This also makes the rendering driver checks use lowercase names
everywhere for consistency.
2021-11-01 22:04:36 +01:00
Camille Mohr-Daurat a57de3b818
Merge pull request #37880 from nekomatata/rigid-body-damping-override
Improved RigidDynamicBody linear/angular damping override
2021-11-01 11:24:01 -07:00
bruvzg 0b6b8427c8 [macOS] Add `create_instance` function to spawn editor copies.
[macOS] Modify `create_project` function to detect and run app bundles using NSWorkspace to ensure app window is registered and activated correctly.
2021-11-01 11:48:23 +02:00
Rémi Verschelde 1dd742777a
Merge pull request #53452 from aaronfranke/who-let-the-docs-out 2021-10-31 23:18:32 +01:00
Clay John 8a10bb7d0d
Use OpenGL 3.3 core profile instead of compatibility profile
- Rename OpenGL to GLES3 in the source code per community feedback.
  - The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
  - The renderer can still be changed in the Project Settings or using
    the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-31 15:56:45 +01:00
bruvzg 3f33e1d7d6 Add functions for getting name and font style from dynamic and bitmap fonts.
Add font selection toolbar editor plugin.
2021-10-31 12:40:58 +02:00
Laelaps9 7f691f060e
Fix area_shape_exited's description
area_shape_entered and area_shape_exited had the exact same description. Changed area_shape_exited's description to specify that the signal is emitted when another area's shape exits rather than enters this area's shapes.
2021-10-30 16:59:10 -05:00
Emmanuel Leblond ce47ce8efb
Correct CodeEdit documentation mentioning parent property due to incorrect array comparison 2021-10-30 13:19:46 +02:00
Hugo Locurcio ce97ddbcb1
Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
- Use lowercase driver names for the `--rendering-driver`
  command line argument.
2021-10-30 02:05:49 +02:00
Hugo Locurcio 2ad6e11b78
Don't store and show current file/directory/path FileDialog properties
These properties are only useful at run-time, so they don't need
to be displayed in the editor and stored.
2021-10-29 20:16:45 +02:00
Aaron Franke 6772ebcea0
Move the docs for constructors and operators out of methods section 2021-10-29 12:34:57 -05:00
Max Hilbrunner d046817536
Merge pull request #54390 from Anutrix/collide-shape-doc
Added collide_shape return type info to PhysicsDirectSpaceState2D docs
2021-10-29 18:02:46 +02:00
Yuri Roubinsky bc171971dd
Merge pull request #53234 from Geometror/gradient-texture-2d 2021-10-29 18:59:40 +03:00
David Sichma b9c7c52a29
Fixed Tween::interpolate_value argument order. 2021-10-29 17:29:28 +02:00
Anutrix 5f69a29143 Added collide_shape return type info to PhysicsDirectSpaceState2D docs 2021-10-29 20:44:57 +05:30
Max Hilbrunner 82f88f5d56
Merge pull request #54340 from aaronfranke/time-doc
Update and fix Time documentation
2021-10-29 15:49:22 +02:00
Max Hilbrunner 343414cba5
Merge pull request #54328 from YeldhamDev/tabbar_close_signal_rename
Rename `TabBar`'s `tab_closed` signal to `tab_close_pressed`
2021-10-29 13:21:09 +02:00
clayjohn 1b2cd9f251 Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
Michael Alexsander 4c563a51c3 Rename `TabBar`'s `tab_closed` signal to `tab_close_pressed` 2021-10-28 13:10:44 -03:00
Aaron Franke 2dabdda36a
Update Time documentation 2021-10-28 10:16:56 -05:00
Rémi Verschelde e2deec67b9
Merge pull request #54222 from JFonS/instance-fade 2021-10-28 16:05:55 +02:00
Rémi Verschelde 6d930bd270
Merge pull request #54342 from groud/remove_item_list_editor 2021-10-28 11:52:47 +02:00
Gilles Roudière a51f92273a Remove ItemList editor and replace it by a property array 2021-10-28 10:16:51 +02:00
bruvzg 63f3051154 Implement TextServer `strip_diacritics` function. 2021-10-28 10:12:57 +03:00
Rémi Verschelde 21529c90f8
Merge pull request #54166 from ConteZero/unique_selection 2021-10-27 20:50:54 +02:00
ConteZero fbee4efa5f Add option to make selection unique 2021-10-27 19:45:52 +02:00
Gilles Roudière 756e76293f Implement runtime update of TileData object in TileMap 2021-10-27 18:32:52 +02:00
Yuri Sizov 12838bd99d Add focus font color to Button and derivatives 2021-10-26 17:42:40 +03:00
Rémi Verschelde d020c6851a
Merge pull request #54256 from mhilbrunner/docs-real-time 2021-10-26 11:54:48 +02:00
Max Hilbrunner 396d2f0282 Time: Add some notes about timezones and UTC 2021-10-26 10:24:05 +02:00
Rémi Verschelde f2cf52e032
Merge pull request #54153 from skyace65/AreaImprovements2 2021-10-26 08:48:27 +02:00
Rémi Verschelde 01afa39d21
Merge pull request #54073 from groud/terrains_for_procgen 2021-10-26 08:15:07 +02:00
Max Hilbrunner d9d5296365
Merge pull request #53973 from nabfrew/nabf/light_hight_documentation
Clarify lighting height documentation
2021-10-26 07:58:12 +02:00
PouleyKetchoupp daf7dcac7a Improved RigidDynamicBody linear/angular damping override
Damping values are now non-negative.

Add new properties linear_damp_mode and angular_damp_mode to set the way
RigidDynamicBody and PhysicalBone (2D & 3D) use damping values.
It can now be Combine (default) to add to the default/areas, or Replace
to override the value completely (current behavior).
2021-10-25 18:22:12 -07:00
Hugo Locurcio f2c2ecb6e8
Fix properties being displayed when they shouldn't in DirectionalLight3D
The parent `_validate_property()` wasn't called, which led to shadow
properties being visible even if shadows were disabled on a
DirectionalLight3D node.
2021-10-25 22:04:30 +02:00
Rémi Verschelde d98a6363fa
Merge pull request #54084 from reduz/node3d-rotation-options 2021-10-25 20:42:45 +02:00
Rémi Verschelde 8911d6ecc8
Merge pull request #54147 from Calinou/editor-directionallight-3d-only-show-relevant-properties 2021-10-25 20:13:42 +02:00
Pawel Lampe fa26fb865f Improve NavigationObstacle3D usability
Fix NavigationObstacle3D to be attached to navigation map - without it
the NavigationObstacle3D is not working.

Replace radius approximation algorithm with simple "radius" property.
2021-10-25 19:57:33 +02:00
reduz d03b7fbe09 Refactored Node3D rotation modes
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis

Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
Hugo Locurcio c1de200757
Only show relevant properties in the DirectionalLight3D inspector
Some split distance properties are unused depending on the
current shadow mode. Also, Blend Splits can only be used if the shadow
mode is PSSM 2 Splits or PSSM 4 Splits.

This also moves the Fade Start property to be located after the
split properties. This avoids intertwining "conditional" properties
with a property that's always available.
2021-10-25 18:31:41 +02:00
Rémi Verschelde 24fdedfe94
Merge pull request #54050 from reduz/animation-compression 2021-10-25 14:27:58 +02:00
bruvzg ebbc25e89c Ignore empty Font resources as theme override.
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
JFonS c571e4a7f4 Implement distance fade and transparency
The built-in ALPHA in spatial shaders comes pre-set with a per-instance
transparency value. Multiply by it if you want to keep it.

The transparency value of any given GeometryInstance3D is affected by:
   - Its new "transparency" property.
   - Its own visiblity range when the new "visibility_range_fade_mode"
     property is set to "Self".
   - Its parent visibility range when the parent's fade mode is
     set to "Dependencies".

The "Self" mode will fade-out the instance when reaching the visibility
range limits, while the "Dependencies" mode will fade-in its
dependencies.

Per-instance transparency is only implemented in the forward clustered
renderer, support for mobile should be added in the future.

Co-authored-by: reduz <reduzio@gmail.com>
2021-10-25 11:39:34 +02:00
Rémi Verschelde c7b78b9538
Merge pull request #53885 from TokageItLab/fix-bone-animation-insertion
Fixed Pos/Rot/Scl 3D Tracks insertion in `SkeletonEditor`
2021-10-24 10:05:00 +02:00
Rémi Verschelde b2ab5cb504
Merge pull request #54045 from ConteZero/primary_clipboard_linux_fix_warning 2021-10-23 19:13:34 +02:00
Hugo Locurcio 970bed62ab
Decrease the default soft shadow quality to improve performance
Soft shadows are relatively expensive to filter. However, with the
default blur factors, it's not needed to use too many samples
(unless PCSS-like shadows are used with a large size). Textures
and screen-space antialiasing can also be used to mask the noise
pattern effectively.

On a GeForce GTX 1080, going from Medium to Low for both shadow types
saves 0.2-0.4 ms of GPU time per frame in 2560×1440 resolution.
This can translate to significantly higher savings on lower-end GPUs.

Given how the shader works, this improves rendering performance
even if lights with shadows are never used.
2021-10-23 16:32:38 +02:00
ConteZero 8c48b4a7e0 Fix primary clipboard warning 2021-10-23 15:50:01 +02:00
skyace65 4dd8ab745a Improve area method descriptions 2021-10-23 08:59:43 -04:00
Silc 'Tokage' Renew 653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
Haoyu Qiu 4f8dfa1667 Make RichTextLabel's parse_bbcode and append_text return void 2021-10-23 14:25:39 +08:00
Rémi Verschelde 3d92de9e5d
Merge pull request #54132 from Duroxxigar/update-yield-call-examples 2021-10-22 21:47:59 +02:00
Duroxxigar b2458ff575 Replace remaining usages of yield with new await keyword 2021-10-22 14:28:37 -04:00
Rémi Verschelde 3bebbcacdb
Merge pull request #53992 from Calinou/hard-shadow-mapping-allow-dithering 2021-10-22 19:34:09 +02:00
Rémi Verschelde beb3875cdf
Merge pull request #53781 from m4gr3d/restrict_project_data_dir_config_master 2021-10-22 19:30:35 +02:00
Rémi Verschelde 6c35e74228
Merge pull request #53812 from RandomShaper/expose_flush_input 2021-10-22 17:20:33 +02:00
Pedro J. Estébanez 6dc3fae201 Expose Input::flush_buffered_events() 2021-10-22 14:28:48 +02:00
Raul Santos baa83012ef
Fix `bin_to_int` documentation examples
The `bin_to_int` method uses the `0b` prefix.
2021-10-22 01:57:34 +02:00
reduz a69541da4c Implement Animation Compression
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different).

* Implement bitwidth based animation compression (see animation.h for format).
* Can compress imported animations up to 10 times.
* Compression format opens the door to streaming.
* Works transparently (happens all inside animation.h)
2021-10-21 18:27:34 -03:00
Hugo Locurcio e87ec8ec17
Add Soft Very Low shadow quality mode for 3D
This can be used to improve 3D shadow rendering quality at little
performance cost. Unlike the existing Hard setting which is limited
to variable shadow blur only, it works with both fixed blur and
variable blur.
2021-10-21 18:34:26 +02:00
Duroxxigar cfb5d2dbf0 Update example code for SceneTreeTimer to reflect new await keyword 2021-10-21 12:22:55 -04:00
Gilles Roudière d1aef45072 Allow updating TileMap cells using surrounding terrains 2021-10-21 16:57:28 +02:00
Rémi Verschelde 8748247d6f
Merge pull request #53702 from ConteZero/primary_clipboard_linux 2021-10-20 16:35:04 +02:00
Rémi Verschelde c942d567eb
Merge pull request #53926 from YeldhamDev/i_am_tabbar_now 2021-10-20 15:42:41 +02:00
Rémi Verschelde 6d3eef03bc
Merge pull request #53260 from Calinou/editor-inspector-warning-yellow 2021-10-20 11:48:12 +02:00
Rémi Verschelde 36fd7f213d
Merge pull request #53983 from Duroxxigar/navmesh-agent-default 2021-10-20 11:08:11 +02:00
Rémi Verschelde 62b42b0269
Merge pull request #54012 from BastiaanOlij/fix_double_tracking_status
Fix double _get_tracking_status declaration
2021-10-20 09:21:56 +02:00
Bastiaan Olij 6794b6f10b Fix double _get_tracking_status declaration 2021-10-20 17:39:08 +11:00
Murilo Gonçalves 94cba835eb Fix: typo in TextParagraph class and docs 2021-10-19 16:38:58 -03:00
Duroxxigar 1de99820b8 Change default navmesh agent radius to match nav agent node's default radius 2021-10-19 11:43:39 -04:00
Michael Alexsander 67acb7de6e Rename `Tabs` to `TabBar` 2021-10-19 11:37:31 -03:00
Rémi Verschelde 85a8939fa2
Merge pull request #53790 from briansemrau/remove-distant-shadowy-void 2021-10-19 15:17:09 +02:00
Gilles Roudière bc0b702874
Merge pull request #53440 from groud/tile_map_patterns_palette
Implement TileMap patterns palette
2021-10-19 13:13:46 +02:00
Bastiaan Olij 96b707215d Add support for returning the play area from XRInterface 2021-10-19 21:17:04 +11:00
Gilles Roudière 1a95f893c4 Implement TileMap patterns palette 2021-10-19 11:57:37 +02:00
nabfrew e2e77bbb04 Clarify 2D lighting `height` property in class reference
It's easy to assume they are the same, but they are quite different for the two types of 2D lights. For myself, it took a bit of confusion and experimentation for me to figure out why this behaviour changed when I changed from point to directional. Hopefully it can save somebody else the trouble.
2021-10-19 09:23:12 +02:00
Rémi Verschelde 723b988fde
Merge pull request #52210 from BastiaanOlij/enhance_xr_trackers 2021-10-19 08:11:32 +02:00
ne0fhyk b5c750fa65 Restrict the project data directory configuration 2021-10-18 14:10:38 -07:00
Rémi Verschelde f4d9749e23
Merge pull request #53741 from DmitriySalnikov/exposed_sensor_setters_master 2021-10-18 23:00:56 +02:00
ConteZero 838c9d37b4 Added primary clipboard for Linux 2021-10-18 14:01:06 +02:00
Rémi Verschelde a82347c12a
Merge pull request #53648 from pycbouh/docs-warn-about-internal-nodes 2021-10-18 11:22:58 +02:00
Rémi Verschelde 231d38cc7b
Merge pull request #53836 from KoBeWi/register_before_use 2021-10-18 10:57:25 +02:00
Rémi Verschelde 015e0c9fd8
Merge pull request #52773 from Calinou/audiostreamplayer3d-tweak-max-distance 2021-10-18 10:49:01 +02:00
Bastiaan Olij 5d1ea92daf Rework XR positional trackers 2021-10-17 12:12:20 +11:00
kobewi 7515af8c25 Improve docs about plugin registration 2021-10-17 01:52:36 +02:00
Rémi Verschelde a4e1a07d83
Merge pull request #53865 from reduz/implement-blend-shape-tracks 2021-10-16 16:48:10 +02:00
kobewi 8937fffc5e Add a warning about infinite Tween loops 2021-10-16 16:11:38 +02:00
reduz ae1c016547 Implement Animation Blend Shape Tracks
* New track type BLEND_SHAPE
* Blend shapes are imported via this new track type
* Processing is more optimized (no longer relies on variants)
* Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes)
* Promo: Fixed a small bug in gizmo updating in Node3D that affected performance

Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-16 08:36:05 -03:00
mennomax b4eeeb315a
Swap args of Plane(point, normal) constructor
Now (normal, point)
2021-10-15 20:49:42 -05:00
Brian Semrau c4513d5add Rename RD::free binding to free_rid 2021-10-15 15:35:05 -04:00
Rémi Verschelde 1efe7093be
Merge pull request #53833 from akien-mga/remove-webm-support 2021-10-15 17:33:06 +02:00
reduz b3bf90b3ce Add scene Post-Import Plugin support.
* New plugin system to control the whole import workflow
* Can add options and run code at every import step (general, per node, mesh, animation, material etc.)

This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-15 09:12:04 -03:00
Rémi Verschelde ae74e78909
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.

With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.

Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.

This also removes the compile-time dependency on `yasm`.

Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
2021-10-15 12:09:11 +02:00
Camille Mohr-Daurat 342c1bf1e2
Merge pull request #53054 from MaxLap/doc_shape_signals
Improve area/body_shape_entered/exited signals parameter names and doc
2021-10-14 14:31:58 -07:00
Maxime Lapointe b66fdb8dd2 Improve area/body_shape_entered/exited signals parameter names and doc
Fix some typoed names from the doc
Add _index to "index" parameters of *_shape_* signals, this is both in doc and in the template. This makes the code, signature and doc easier to understand
Add method to get Node from the _index params of those signals. This was not as easy to find as one would expect. Putting this information where it is needed will help.
2021-10-14 15:41:26 -04:00
Brian Semrau 4fefd7cddd Fix several issues with directional shadows
- Internally disable blend splits in orthogonal directional shadow mode
- Fix soft shadows ignoring fade and blend_splits
- Fix soft shadow edge stability
2021-10-14 11:44:32 -04:00
Brian Semrau a62e240260 Fix the height fog effect 2021-10-14 04:08:39 -04:00
Rémi Verschelde d956904091
Merge pull request #53597 from Xeadriel/patch-1 2021-10-13 21:04:32 +02:00
reduz 2dc823273e 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).
2021-10-13 14:51:29 -03:00
Xeadriel bf5f5e159e Add that elapsed_time in CharFXTransform resets when RichTextLabels text is changed
Update doc/classes/CharFXTransform.xml Grammar fix

Co-authored-by: Aaron Record <50304111+LightningAA@users.noreply.github.com>
2021-10-13 17:02:22 +02:00
Gilles Roudière b9151860f3 Prevent tiles outside atlas texture 2021-10-13 13:44:02 +02:00
Rémi Verschelde 3e86ca5586
Merge pull request #53689 from reduz/remove-animation-transform3d-track 2021-10-13 12:40:33 +02:00
reduz ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00
Rémi Verschelde d9667d9262
Merge pull request #53636 from KoBeWi/colorayer
Add modulate property to TileMap layers
2021-10-12 22:32:38 +02:00
Дмитрий Сальников 9b38e04fff Exposed setters for sensor values in Input class 2021-10-12 23:26:03 +03:00
Hendrik Brucker cd37af4e4c Add GradientTexture2D
Co-authored-by: Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2021-10-12 16:22:30 +02:00
Gilles Roudière 1be00864b7 Add a way to force undo/redo operations to be kept in MERGE_ENDS mode 2021-10-12 14:03:05 +02:00
Rémi Verschelde 1bd6a2f020
Merge pull request #52548 from m4gr3d/customize_metadata_dir_master
Make the project data directory customizable
2021-10-12 08:26:47 +02:00
Juan Linietsky 610de0974d
Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
ne0fhyk 3e44a6375e Make the project data directory customizable. 2021-10-11 14:40:14 -07:00
Rémi Verschelde 9ed4f8367b
Merge pull request #48332 from TokageItLab/implement-ping-pong 2021-10-11 22:55:01 +02:00
Paulb23 3010bca41b Move add_syntax_highlighter bind to ScriptEditorBase 2021-10-11 18:13:31 +01:00
Yuri Sizov 07725b611b Add warnings to methods that give access to internal nodes 2021-10-10 22:57:58 +03:00
kobewi ec0d72a828 Add modulate property to TileMap layers 2021-10-10 20:28:57 +02:00
zacryol 6941ab9ae5 Mention remove_node() side effect of potentially setting owner to null 2021-10-09 17:46:33 -06:00
Hugo Locurcio 735618b39e
Fix typo in the `Timer.wait_time` description 2021-10-09 11:37:23 +02:00
Tokage 372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
Hugo Locurcio 42d13e29e2
Add a warning for Timer nodes with very low wait times
Very low wait times behave in unpredictable ways depending on the
rendered frame rate. This is because the timeout signal is only emitted
once per rendered frame (or physics frame, depending on the timer's
process mode).
2021-10-09 08:57:48 +02:00
Rémi Verschelde 5ae569560d
Fix missing argument names in bindings
While at it, tweak some boolean setters to use `p_enabled` for the bool.

Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
Hugo Locurcio 73c6e19acc
Allow any floating-point value as a 3D rendering scale option
This allows for finer control over 3D rendering resolution.
Supersampling can also be performed by setting a 3D rendering
resolution above 1.0, which is useful for offline rendering or
for very high-end GPUs.
2021-10-08 18:22:10 +02:00
Rémi Verschelde a5a52233bc
Merge pull request #53549 from DeeJayLSP/refcounted-fix-description 2021-10-08 18:11:11 +02:00
DeeJayLSP 63e2aba3fd Fix RefCounted description
If the class name is modified, its name in the description should be too.

However, pluralization is a bit complicated in this case. I'll give the options `RefCounteds` and `reference-counted objects`. Maybe both can be used.
2021-10-08 11:52:19 -03:00
Fabio Alessandrelli 7c93931751 [Net] Add call_local argument to Node.rpc_config. 2021-10-08 12:49:20 +02:00
Rémi Verschelde 9f9452a738
Merge pull request #53493 from DeeJayLSP/patch-1 2021-10-07 22:35:55 +02:00
Rémi Verschelde 8aa55435b3
Merge pull request #53541 from Calinou/doc-call-group-null 2021-10-07 22:35:17 +02:00
Rémi Verschelde a6c4de49e1
Merge pull request #53523 from Calinou/remove-occlusion-color 2021-10-07 22:26:10 +02:00
Rémi Verschelde 21b6aabb60
Merge pull request #53538 from Calinou/environment-ssr-fade-no-negative-values 2021-10-07 22:05:46 +02:00
Hugo Locurcio f6d7f37592
Document null argument limitation with `SceneTree.call_group()` 2021-10-07 18:55:29 +02:00
Hugo Locurcio 01d1e9f576
Don't allow translucent colors in built-in sky material properties
The colors' alpha channel is ignored, so there's no point in
exposing it in the editor.
2021-10-07 18:12:16 +02:00
Hugo Locurcio 0269d8e871
Clamp Environment's SSR fade-in and fade-out to positive values
Negative values result in rendering glitches.
2021-10-07 17:59:55 +02:00
Hugo Locurcio 265bae824f
Remove unimplemented `Environment.ambient_light_occlusion_color` property
This property was intended to provide a way to have SSAO or VoxelGI
ambient occlusion with a color other than black. However, it was
dropped during the Vulkan renderer development due to the performance
overhead it caused when the feature wasn't used.
2021-10-07 17:47:52 +02:00
DeeJayLSP 17e3c9a4e3 DisplayServer: Add multiple descriptions for methods.
Added multiple descriptions for clipboard, mouse and window methods.
2021-10-07 12:43:00 -03:00
Rémi Verschelde 26f4848d01
Merge pull request #53455 from briansemrau/thread-is-executing
[core_bind] Add `Thread::is_alive`. Replace `is_active` with `is_started` to align with core/os/Thread API.
2021-10-06 21:20:33 +02:00
Rémi Verschelde 164dc11e04
Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo
Implement Skeleton Editor Gizmo
2021-10-06 21:11:20 +02:00
Brian Semrau f28c677f3d [core_bind] Add `is_alive` to Thread. Replace `is_active` with `is_started`.
Replacing `is_active` resolves an API discrepancy between core_bind Thread and core/os Thread.
2021-10-06 12:47:58 -04:00
Silc Renew f2e9867e9f Implemented SkeletonEditorGizmo
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-07 01:07:46 +09:00
Rémi Verschelde 294acad796
Merge pull request #53472 from akien-mga/doc-update-tutorial-links 2021-10-06 14:59:36 +02:00
Rémi Verschelde 862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
kobewi 92a53f9bd6 Change dragging cursor on Windows 2021-10-06 13:13:42 +02:00
Rémi Verschelde 425f643e05
Merge pull request #53416 from DeeJayLSP/patch-1 2021-10-06 09:11:21 +02:00
Rémi Verschelde 9962c59dc5
Merge pull request #53446 from nekomatata/container-pre-sort-children 2021-10-06 08:25:06 +02:00
DeeJayLSP d89889d055 Describe how window mode setter and getter works 2021-10-05 20:43:13 -03:00
PouleyKetchoupp 1c0ebc85dd Add pre-sort signal and notification in Container
Allows processing before children are sorted, useful for custom
containers inherited from existing ones like BoxContainer.
2021-10-05 13:09:01 -07:00
Hugo Locurcio bf34253131
Use a yellow color for editable children properties instead of red
This matches the usual "Changes may be lost!" warning color.

- Remove a duplicate editor theme color setting declaration.
2021-10-05 19:15:44 +02:00
Rémi Verschelde 788b3aa27a
doc: Fix style inconsistencies for `[b]Note:[/b]` paragraphs
And fix up formatting not supported by makerst.
2021-10-05 19:13:20 +02:00
Rémi Verschelde 6637207c70
Merge pull request #53420 from nekomatata/fix-tilemap-moving-platform 2021-10-05 10:50:56 +02:00
Rémi Verschelde ad08483fa6
Merge pull request #53406 from KoBeWi/are_you_a_process_or_an_idle 2021-10-04 22:01:21 +02:00
kobewi cdac60759e Add support for unbinding in connection dialog 2021-10-04 21:41:21 +02:00
PouleyKetchoupp 4f8d761be6 Fix physics glitch with TileMap moving platforms
Added a parameter in test_body_motion to exclude attached objects from
collision, used to avoid collision with all TileMap tiles with moving
platform motion instead of just the one tile the character touches.

Same changes made in 3D for consistency, and handling potential similar
cases.
2021-10-04 12:27:42 -07:00
Rémi Verschelde 5b270278c8
Merge pull request #53280 from nekomatata/test-body-motion-parameters 2021-10-04 21:05:38 +02:00
kobewi 6397eaa27e Fix some leftover references to idle_frame 2021-10-04 20:57:31 +02:00
PouleyKetchoupp 3ae5687d48 Script interface improvements for test body motion
-Physics servers test body motion use a class to hold parameters instead
of multiple arguments to make it more readable and flexible since there
are many options
-Improved documentation for test body motion and kinematic collision
-Removed read-only properties for body motion results (not handled in
scripts, so they should be get_ methods only instead)
2021-10-04 10:49:10 -07:00
Rémi Verschelde d1c77d6b62
Merge pull request #53378 from clayjohn/hide_render_priority
Hide render_priority except when using SpatialMaterials
2021-10-04 19:17:32 +02:00
clayjohn 8c949016ff Hide render_priority except when using SpatialMaterials 2021-10-04 08:48:58 -07:00
Rémi Verschelde 7722048ed0
Merge pull request #53354 from reduz/remove-clipped-camera 2021-10-04 17:19:15 +02:00
Rémi Verschelde 865b62b1cd
Merge pull request #53341 from pycbouh/gui-editor-scale-encapsulation 2021-10-04 16:12:52 +02:00
reduz b11bb595d1 Remove ClippedCamera3D
* Usage was always confusing for users
* The ability to generate a pyramid shape was moved to Camera3D
* SpringArm3D now casts using the camera pyramid shape if no shape is supplied.
2021-10-04 10:46:49 -03:00
Yuri Sizov 4a42a66cd9 Add the base scale factor to the Theme resource 2021-10-04 15:25:07 +03:00
K. S. Ernest (iFire) Lee 1463fc889b GLTF for game templates.
Convert GLTF Document to use ImporterMeshInstance3D.

Add a GLTFDocument extension list and an extension for converting the importer mesh instance 3d to mesh instance 3d.

Use GLTF module when the editor tools are disabled.

Modified the render server to be less restrictive on matching blend arrays and have more logging.

Misc bugs with multimesh.

Always index the meshes.
2021-10-03 12:37:52 -07:00
Rémi Verschelde 06e2cef459
Merge pull request #53306 from Calinou/doc-basematerial3d-normal-tangents 2021-10-01 21:43:27 +02:00
Fabio Alessandrelli 366e374f76
Merge pull request #53290 from Faless/mp/4.x_opts_names
[Net] Rename RPC constants and annotation arguments.
2021-10-01 21:35:08 +02:00
Hugo Locurcio 22e759dd11
Document that tangents are required for normal mapping in BaseMaterial3D 2021-10-01 19:05:37 +02:00
Fabio Alessandrelli 24a949ea11 [Net] Rename RPC constants and annotation arguments.
any -> any_peer
sync -> call_local
ordered -> unreliable_ordered

Multiplayer.RPC_MODE_ANY -> RPC_MODE_ANY_PEER
Multiplayer.TRANSFER_MODE_ORDERED -> TRANSFER_MODE_UNRELIABLE_ORDERED
2021-10-01 18:14:38 +02:00
Hugo Locurcio d339388942
Document SurfaceTool must generate tangents for proper normal display 2021-10-01 17:20:25 +02:00
bruvzg daa613333e [Text Server] Add support for user defined punctuation list, used for word breaking. 2021-10-01 16:45:16 +03:00
bruvzg 0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
Rémi Verschelde a7011fa294
Merge pull request #52684 from Frixuu/master 2021-10-01 11:53:01 +02:00
Eric M ad30b0a8dd Allow shortcuts to have any number of bindings. Updated UI as required. 2021-10-01 18:04:28 +10:00
Yuri Roubinsky 1ade29147b Add `texture_changed` signal to `Sprite3D` 2021-10-01 10:14:05 +03:00
Rémi Verschelde b32f84d473
Merge pull request #52850 from mashumafi/vector-bsearch 2021-10-01 07:52:51 +02:00
Rémi Verschelde a28f44fa53
Merge pull request #53277 from YeldhamDev/tabs_renaming 2021-10-01 07:52:29 +02:00
mashumafi 214bbfbefe Implement bsearch for Vector and Packed*Array 2021-09-30 23:57:26 +00:00
Michael Alexsander 663e480f24 Rename some elements of `Tabs` 2021-09-30 20:18:23 -03:00
Camille Mohr-Daurat 1c0ae31c9e
Merge pull request #53266 from nekomatata/remove-shape-metadata
Remove shape metadata from 2D physics server
2021-09-30 12:11:50 -07:00
Max Hilbrunner 770bd61767
Merge pull request #53076 from zacryol/dict-typo-fix
Fix typo with example variable name in Dictionary docs
2021-09-30 20:19:05 +02:00
PouleyKetchoupp d0ec46be68 Remove shape metadata from 2D physics server
Shape metadata was only used to get tile information when colliding with
tilemaps. It's not needed anymore since there's an API in tilemap using
body ids instead.
2021-09-30 10:45:36 -07:00
Camille Mohr-Daurat 767bde8c28
Merge pull request #53197 from nekomatata/fix-motion-direction-in-slope
Fix motion direction in slope for CharacterBody3D
2021-09-30 09:43:24 -07:00
Camille Mohr-Daurat 43c7448741
Merge pull request #53149 from fabriceci/port-move-and-slide-3D-new-changes
Add latest API changes added in the 3D version of move_and_slide to the 2D version
2021-09-30 09:43:07 -07:00
Rémi Verschelde 5b7ec95de7
Merge pull request #53254 from Calinou/node-rename-filename
Rename Node's `filename` property to `scene_file_path` for clarity
2021-09-30 17:59:56 +02:00
Hugo Locurcio 570cdc128f
Rename Node's `filename` property to `scene_file_path` for clarity 2021-09-30 16:50:25 +02:00
fabriceci bd411ae187 Add latest changes added in the 3D version 2021-09-30 16:50:07 +02:00
PouleyKetchoupp eec3f3ec12 Fix motion direction in slope for CharacterBody3D
- More accurate sliding in slopes to keep input direction correct
- More accurate constant speed calculation
- Renamed linear_velocity to motion_velocity for clarity
- General code cleaning and simplifications
2021-09-30 07:47:07 -07:00
Rémi Verschelde 998974fd7a
Merge pull request #52874 from Calinou/doc-ease-smoothstep 2021-09-30 14:38:14 +02:00
Hugo Locurcio f23b917007
Clarify what the `Node.filename` property contains 2021-09-30 12:50:45 +02:00
Rémi Verschelde f91afeb75d
Merge pull request #53228 from timothyqiu/dict-erase 2021-09-29 23:17:44 +02:00
Rémi Verschelde 1ab8f3f559
Merge pull request #52724 from groud/improve_tilemap_physics 2021-09-29 23:01:16 +02:00
Rémi Verschelde 7db3dbadb9
Merge pull request #53178 from Calinou/doc-sin-cos-degrees
Document how to use degrees with `sin()` and `cos()`
2021-09-29 22:56:49 +02:00
Haoyu Qiu 1e0fe9f817 Fix doc for Dictionary.erase 2021-09-30 01:18:47 +08:00
Hugo Locurcio ea54b619ae
Document how to use degrees with `sin()` and `cos()`
This was already present in the `tan()` method description.

This also adds `var` keywords to code samples to make them
valid GDScript.
2021-09-29 18:48:40 +02:00
Gilles Roudière f2caab4691 Improve TileMap physics for moving platforms and conveyor belts like movements 2021-09-29 17:56:30 +02:00
Rémi Verschelde 2fc31fdfca
Merge pull request #53217 from Faless/ext/fix_pointer_info 2021-09-29 17:41:58 +02:00
Fabio Alessandrelli 0276c2e74a Fix const pointers types in docs and extension API.
The GDVIRTUAL_NATIVE_PTR did not declare the correct GDNativeConstPtr
template, resulting in "void*" being used as it's type info in both the
documentation and the extension API dump.
2021-09-29 16:04:20 +02:00
O01eg 9302b6547a
Implement override of get_message and get_plural_message 2021-09-29 14:19:14 +03:00
Rémi Verschelde 6c0f44ca7e
Merge pull request #53000 from Chaosus/lineedit_expose_selection_methods 2021-09-29 10:31:37 +02:00
Camille Mohr-Daurat 341b532d5e
Merge pull request #52754 from nekomatata/dynamic-body-modes
Clarify RigidDynamicBody modes
2021-09-28 17:11:17 -07:00
fabriceci dd5f01e83e Set stop on slope on by default on CharacterBody. 2021-09-28 22:31:46 +02:00
Camille Mohr-Daurat c38ef94951
Merge pull request #53174 from fabriceci/apply-delta-move-and-collide
Physic API change: apply the delta in move and collide like move and slide
2021-09-28 11:32:09 -07:00
fabriceci 32bf7c419c Sync to physics true by default for AnimatableBody 2021-09-28 16:11:17 +02:00
fabriceci 60fee25c44 Apply delta in move and collide 2021-09-28 14:53:24 +02:00
Fabio Alessandrelli d18cbdf5e4
Merge pull request #52481 from Faless/net/4.x_native_peers
[Net] Extension system for network peers, webrtc.
2021-09-28 12:57:45 +02:00
Rémi Verschelde cd570539ee
Merge pull request #53040 from pycbouh/docs-color-picker-and-button 2021-09-28 12:13:54 +02:00
Rémi Verschelde 60988a06c2
Merge pull request #52953 from nekomatata/fix-collision-recovery-depth 2021-09-28 12:11:38 +02:00
Rémi Verschelde ed5267f69f
Merge pull request #53053 from LATRio/callable_in_thread_start 2021-09-28 11:10:09 +02:00
PouleyKetchoupp bf523a2b2a Improved logic for CharacterBody collision recovery depth
Allows 2D character controller to work without applying gravity when
touching the ground (also more safely in 3D), and collision detection
is more flexible with different safe margin values.

Character body motion changes in 2D and 3D:
-Recovery only for depth > min contact depth to help with collision
detection consistency (rest info could be lost if recovery was too much)
-Adaptive min contact depth (based on margin) instead of space parameter

Extra CharacterBody changes:
-2D: apply changes made in 3D for stop on slope and floor snap that help
fixing some jittering cases
-3D: fix minor inconsistencies in stop on slope and floor snap logic
2021-09-27 15:31:41 -07:00
bruvzg 911c276a1a [macOS, sandbox] Add export option to embed and sign helper executables. 2021-09-27 11:02:56 +03:00
zacryol 9359bee75c Fix typo with example variable name in Dictionary docs, and fix error in C# example 2021-09-26 11:16:55 -06:00
Rémi Verschelde c7f67daccd
Merge pull request #52855 from Calinou/engine-editor-hint-getter-only 2021-09-25 22:09:51 +02:00
Rémi Verschelde 9013771b53
Merge pull request #51518 from Calinou/doc-network-android-permission 2021-09-25 15:36:18 +02:00
LATRio 97c68514c4 Use Callable in Thread::start 2021-09-25 22:07:13 +09:00
Hugo Locurcio 7a62bd1e44
Document Android permission requirements for network access where needed 2021-09-25 12:32:46 +02:00
Hugo Locurcio b383181851
Tweak AudioStreamPlayer3D property hints for usability
This also improves the documentation for the `max_distance` property.
2021-09-25 12:24:30 +02:00
Yuri Sizov 67db227f86 Add usability notes to ColorPicker and ColorPickerButton descriptions
Co-authored-by: follower <follower@rancidbacon.com>
2021-09-25 02:21:31 +03:00
Rémi Verschelde 994c1201c1
Merge pull request #52996 from YeldhamDev/im_the_invisible_tab 2021-09-25 00:11:51 +02:00
Rémi Verschelde 0abe464162
Merge pull request #52849 from KoBeWi/know_no_binds 2021-09-25 00:10:56 +02:00
Fabio Alessandrelli 2d810e8cd9 [Net/Docs] Update extensions documentation. 2021-09-24 21:23:43 +02:00
Lertsenem e1bf428cdc Fix error in Vector2.reflect() description
The description was probably copied from Vector3.reflect(), and
unfortunately did not match the 2D behaviour (where n is apparently the
direction vector of the symmetry line, not the normal).
2021-09-24 18:41:06 +02:00
kobewi 7bf5fc709e Remove binds from Signal.connect 2021-09-24 17:07:33 +02:00
Rémi Verschelde 5e4a71200e
Merge pull request #53003 from KoBeWi/tween_0() 2021-09-24 13:21:55 +02:00
kobewi 5c1195e456 Add a special case for 0-time interpolations 2021-09-24 13:02:49 +02:00
Yuri Roubinsky 4e0552a4ff Add selection getter methods to `LineEdit` 2021-09-24 11:30:58 +03:00
Michael Alexsander 7ce02b642e Expose `TabContainer`'s tab hidding for scripts 2021-09-24 01:26:59 -03:00
Gilles Roudière f9e6329496 Implement animated tiles 2021-09-23 17:24:37 +02:00
Rémi Verschelde e305030522
Merge pull request #47422 from skyace65/EventPosition 2021-09-22 09:04:38 +02:00
skyace65 824259aca0 Add note that for _gui_input(event) event position is relative to the control origin 2021-09-21 20:47:13 -04:00
fabriceci fd9e573ba6 Port 2D improvement to move and slide 3D
Co-authored-by: Camille Mohr-Daurat <pouleyketchoup@gmail.com>
2021-09-22 00:14:04 +02:00
Rémi Verschelde bfcc29635f
Merge pull request #52913 from Paulb23/text-edit-search-theme 2021-09-21 21:55:41 +02:00
Rémi Verschelde ba57252bd8
Merge pull request #52878 from AnilBK/add-get-center 2021-09-21 21:30:30 +02:00
Paulb23 6c2fd03959 Added search colors to TextEdit and CodeEdit theme 2021-09-21 20:24:39 +01:00
Anilforextra 90908cd67d Add Get Center Method for Rect2/Rect2i and AABB. 2021-09-21 21:14:17 +05:45
Rémi Verschelde 61ce8b206e
Merge pull request #52877 from Calinou/add-print-verbose
Add `print_verbose()` built-in function to print in verbose mode only
2021-09-21 17:00:58 +02:00
Hugo Locurcio 650b1db4b8
Add `print_verbose()` built-in function to print in verbose mode only
This can be used as a shorthand for:

    if OS.is_stdout_verbose():
        print("...")

Unlike `print_debug()`, this works in release builds too and can
be toggled off in debug builds.
2021-09-21 15:59:49 +02:00
Eric M baba971c81 Added option for spinbox to update it's value on line edit 'text_changed' rather than 'text_entered' 2021-09-21 23:24:33 +10:00
Rémi Verschelde 8085affdb1
Merge pull request #52890 from bruvzg/rtl_effects_connected
Improve connected grapheme handling in the RTL CharFX.
2021-09-21 13:33:44 +02:00
bruvzg c931906af7 Add flag to connected grapheme. Apply RTL displacement FX only to the whole connected grapheme. Pass more glyph info to the custom RTL FX. 2021-09-21 13:51:38 +03:00
Rémi Verschelde 2717f583a4
Merge pull request #47297 from KoBeWi/📞🌳
Improve call_group documentation
2021-09-21 11:30:37 +02:00
Rémi Verschelde 2785ad32df
Merge pull request #52884 from aaronfranke/doc-no-empty
Don't generate empty methods/constants doc sections and reduce code duplication
2021-09-21 11:12:19 +02:00
Aaron Franke d54f2ad7ca
Don't generate empty doc sections and reduce code duplication 2021-09-20 20:59:33 -05:00
Hugo Locurcio 1529bf7c10
Document how to delay code execution in a non-blocking manner 2021-09-21 02:15:25 +02:00
Frixuu 650e63a7ca Allow for mapping keycodes to current layout 2021-09-21 00:03:02 +02:00
Hugo Locurcio 567b6436c9
Improve the documentation for `ease()` and `smoothstep()`
This adds a cheatsheet for `ease()` and a comparison graph for
`smoothstep()`, among other things.
2021-09-20 16:08:39 +02:00
Hugo Locurcio 2560070c0a
Remove `Engine.editor_hint` in favor of `Engine.is_editor_hint()`
The `Engine.set_editor_hint()` setter method is no longer exposed
to scripting, which makes the property effectively read-only from
an user perspective.
2021-09-20 14:24:39 +02:00
Rémi Verschelde 89417ba75b
Merge pull request #52398 from deakcor/dev-transform 2021-09-20 08:46:51 +02:00
Vincent D aa82cb6f35 Expose get_skew for transform2d and add new constructor
Expose set_scale and set_skew for transform2d

Replacing float by real_t

Adding const parameters

Updated transform2d doc
2021-09-19 17:10:05 +02:00
Rémi Verschelde c5b70ac445
Merge pull request #52797 from vnen/string-indexing 2021-09-17 22:00:56 +02:00
Rémi Verschelde 43cc6dd479
Merge pull request #52774 from Calinou/audiostreamplayer3d-remove-out-of-range 2021-09-17 21:56:59 +02:00
George Marques 262d9397fb
Allow indexing of String values in scripting languages 2021-09-17 16:24:56 -03:00
Hugo Locurcio 973f52b784
Remove unused `out_of_range_mode` property from AudioStreamPlayer3D
The `out_of_range_mode` property is no longer used since audio mixing
was moved out of the various AudioStreamPlayer nodes.
2021-09-17 20:18:38 +02:00
Rémi Verschelde 220b69ab56
Merge pull request #52450 from aaronfranke/they-came-from-scale
Replace Vector3.to_diagonal_matrix with Basis.from_scale
2021-09-17 19:38:36 +02:00
George Marques 455e142d37
Allow comparing equality between builtin types and null 2021-09-17 12:33:52 -03:00
Aaron Franke bf0213470c
Replace Vector3.to_diagonal_matrix with Basis.from_scale 2021-09-17 10:30:30 -05:00
Rémi Verschelde 5ebc5a7714
Merge pull request #52751 from Rubonnek/rename-listener-nodes 2021-09-17 12:23:41 +02:00
PouleyKetchoupp ed1ba5093f Clarify RigidDynamicBody modes
RigidDynamicBody modes are replaced with several properties to make their
usage clearer:
-lock_rotation: disable body's rotation (instead of MODE_LOCKED)
-freeze: no gravity or forces (instead of MODE_STATIC and MODE_KINEMATIC)
-freeze_mode: Static (can be only teleported) or Kinematic (can be animated)

Also renamed MODE_DYNAMIC_LOCKED to MODE_DYNAMIC_LINEAR in the physics
servers.
2021-09-16 16:03:48 -07:00
Wilson E. Alvarez f3a564f9a5
Rename Listener2D/Listener3D to AudioListener2D/AudioListener3D 2021-09-16 17:51:51 -04:00
HaSa1002 053b3b946c
Remove bbcode_text from RichTextLabel
Also renames:
 - append_bbcode -> append_text
 - get_bbcode -> get_text
 - set_bbcode -> set_text
 - get_text -> get_parsed_text

Property text is:
set_text
get_text
2021-09-16 22:27:08 +02:00
Camille Mohr-Daurat 3581b893ed
Merge pull request #52681 from nekomatata/rename-rigid-body
Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody
2021-09-16 11:20:21 -07:00
PouleyKetchoupp 85819b199a Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody 2021-09-16 09:55:20 -07:00
Rémi Verschelde 46e37545b8
Merge pull request #52740 from akien-mga/os-get_locale-language
Implement `OS::get_locale_language()` helper method
2021-09-16 14:23:06 +02:00
Rémi Verschelde f24a98024d
Merge pull request #44885 from Jummit/duplicate-docs
Clarify that duplicate only copies exported members and fails with a constructor
2021-09-16 10:52:19 +02:00
Rémi Verschelde dc7f5c681c
Merge pull request #52731 from KoBeWi/tween_safe()
Improvements to Tweens' Variant types
2021-09-16 10:48:13 +02:00
Rémi Verschelde def99c7baf
Implement `OS::get_locale_language()` helper method
This method extracts the 2 or 3-letter language code from `OS::get_locale()`,
making it easier for users to identify the "main" language code for users
that might have different OS locales due to different OS or region, but
should be matched to the same translation (e.g. "generic" Spanish).

Fixes #40703.
2021-09-16 09:34:58 +02:00
Juan Linietsky e2bd0a0a73
Merge pull request #52571 from timothyqiu/expose-enum
Expose enum related methods in ClassDB
2021-09-15 23:43:35 -03:00
Max Hilbrunner f701d9b0f7
Merge pull request #38051 from Calinou/doc-cubemap
Document the Cubemap class
2021-09-16 02:41:43 +02:00
kobewi 31ef94f2ec Improve call_group documentation 2021-09-16 02:22:45 +02:00
Max Hilbrunner 47f7b4b7ca
Merge pull request #43240 from HaSa1002/docs-mainloop
Docs: Fix Mainloop example
2021-09-16 02:22:37 +02:00
Max Hilbrunner 4317d3a4a2
Merge pull request #46625 from mbrlabs/docs-mutex-lock
Documented that mutexes are implemented recursively
2021-09-16 02:20:00 +02:00
Max Hilbrunner 4737b7bbb4
Merge pull request #50197 from SirQuartz/patch-16
Add note to `RichTextLabel` about BBCode and `push_*/pop` functions
2021-09-16 02:09:41 +02:00
kobewi 266955d15f Improvements to Tweens' Variant types 2021-09-16 02:08:26 +02:00
Camille Mohr-Daurat 1852afb6b0
Merge pull request #52679 from nekomatata/world-boundary-shape
Rename WorldMarginShape to WorldBoundaryShape
2021-09-15 16:02:40 -07:00
Max Hilbrunner a1a8afafd4
Merge pull request #52472 from mhilbrunner/array-slice-docs
Fix docs for Array's slice()
2021-09-16 00:45:44 +02:00
Max Hilbrunner 7c689fb384
Merge pull request #49038 from madmiraal/fix-docs-3407
Clarify documentation of Camera3D.get_camera_transform()
2021-09-16 00:21:39 +02:00
Max Hilbrunner e156b0cc19
Merge pull request #49041 from madmiraal/fix-docs-4085
Clarify that eof_reached() cannot be used to check if more data is available
2021-09-16 00:19:35 +02:00
Max Hilbrunner f4b088c2d7
Merge pull request #50207 from SirQuartz/patch-17
Add note to `SceneTree` about pausing
2021-09-15 23:56:23 +02:00
Max Hilbrunner fe16460474
Merge pull request #50182 from SirQuartz/patch-15
Add many descriptions to the `Window` class
2021-09-15 23:55:33 +02:00
Max Hilbrunner 7d43b0f7a8
Merge pull request #51615 from Bhu1-V/PR/docs/cmd-plt
`EditorCommandPalette` Documentation.
2021-09-15 23:25:54 +02:00
Max Hilbrunner 3100c7ec1f
Merge pull request #52677 from Calinou/doc-styleboxflat-bevel-antialiasing
Document caveats with StyleBoxFlat antialiasing and beveled corners
2021-09-15 23:20:19 +02:00
Max Hilbrunner d69f4999fb
Merge pull request #52628 from mechPenSketch/imgages_in_docs
Add Graph Illustrations to Doc
2021-09-15 23:18:25 +02:00
Max Hilbrunner fe6f3f242d
Merge pull request #52719 from Calinou/doc-msdf-font-rendering
Improve documentation related to MSDF font rendering
2021-09-15 22:55:24 +02:00
Max Hilbrunner 4dee269f01
Merge pull request #52656 from akien-mga/rename-vseditor-singleton
Rename VisualScriptEditor singleton to VisualScriptCustomNodes
2021-09-15 22:51:45 +02:00
Hugo Locurcio 9ed55b2125
Improve documentation related to MSDF font rendering 2021-09-15 20:04:57 +02:00
Fabio Alessandrelli d187bb4e11 [HTML5] Use browser mix rate by default on the Web.
Browsers doesn't really like forcing the mix rate, e.g. Firefox does not
allow input (microphone) if the mix rate is not the default one, Chrom*
will exhibit worse performances, etc.
2021-09-15 11:56:21 +02:00
Hugo Locurcio 9b1986fb9c
Rename `osx` to `macos` in input map feature tag handling
This follows the general feature tag rename for 4.0.
2021-09-15 03:12:18 +02:00
PouleyKetchoupp bb75aec8bc Rename WorldMarginShape to WorldBoundaryShape 2021-09-14 11:16:31 -07:00
Hugo Locurcio f7f8ae6372
Document caveats with StyleBoxFlat antialiasing and beveled corners 2021-09-14 18:49:00 +02:00
georgespatton fd8bdddd5d
doc: Clarify need to save ConfigFile to apply changes to file
See #52645 for context.
2021-09-14 14:52:26 +02:00
Rémi Verschelde f1dca7760c
Rename VisualScriptEditor singleton to VisualScriptCustomNodes
Follow-up to #51916, fixes inconsistency between singleton name and class
as documented in https://github.com/godotengine/godot/issues/52162#issuecomment-918979753.
2021-09-14 11:31:01 +02:00
Rémi Verschelde 8ecc571158
Merge pull request #49063 from Calinou/remove-16x-msaa
Remove 16× MSAA support due to driver bugs and low performance
2021-09-13 17:34:04 +02:00
Rémi Verschelde 4059cf2f02
Merge pull request #52068 from ThreeRhinosInAnElephantCostume/fixgdscript
Fix parse error on statement-less files with only newlines, add a warning for empty files.
2021-09-13 17:30:31 +02:00
mechPenSketch 9ea619c486 Add Graph Illustrations to Doc 2021-09-13 21:04:29 +08:00
Hugo Locurcio f85426e8ad
Merge pull request #51805 from skysphr/scrollbar-icons-pressed
Added increment_pressed and decrement_pressed icons to scrollbars
2021-09-13 14:57:21 +02:00
Rémi Verschelde dde48ebed6
Merge pull request #52298 from DeleteSystem32/meshlib-transform
implement individual mesh transform for meshlibrary items
2021-09-13 12:19:30 +02:00
Max Hilbrunner 9d4c84e154
Merge pull request #52587 from zacryol/call_example_change
Change example used for StringName call methods
2021-09-13 02:57:21 +02:00
Max Hilbrunner fbd326b1f3
Merge pull request #52614 from Calinou/doc-get-class-name
Document `Object.get_class()/is_class()` ignores `class_name` declaration
2021-09-13 02:42:58 +02:00
Hugo Locurcio a15847e5ca
Document `Object.get_class()/is_class()` ignores `class_name` declaration 2021-09-13 02:17:24 +02:00
Hugo Locurcio 4a745aa0b8
Improve documentation for `Engine.get_process_frames/get_physics_frames()` 2021-09-12 23:07:40 +02:00
Jummit a6108f8a3d clarify what duplicate does and its limitations 2021-09-12 09:18:52 +02:00
zacryol b587c77cb2 Change example used for StringName call methods
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2021-09-11 19:11:57 -06:00
Juan Linietsky 8aedcfced7
Merge pull request #52504 from V-Sekai/gltf_8_uv
8 uvs for glTF2, URI decode and Vertex Custom api
2021-09-11 16:42:35 -03:00
ThreeRhinosInAnElephantCostume e99730340b Fix error on parsing statement-less GDScript files,
add an empty file warning,
add relevant tests.
2021-09-11 20:38:15 +02:00
Hugo Locurcio 9c6ae95cb2
Document that ConfigFiles can use any file extension
The file extension given to a ConfigFile has no impact on its
formatting or behavior.
2021-09-11 16:08:11 +02:00
Haoyu Qiu d2aef4c439 Expose enum related methods in ClassDB 2021-09-11 20:33:05 +08:00
Juan Linietsky 6679790fac
Merge pull request #52406 from ellenhp/libvorbis
Replace stb_vorbis with libvorbis
2021-09-10 16:24:59 -03:00
Lyuma aca4b737f1 8 uvs for glTF2, URI decode and Vertex Custom api.
Add glTF2 uri decode for paths.

Add vertex custom apis.

Add scene importer api.

Change Color to float; add support for float-based custom channels in SurfaceTool and EditorSceneImporterMesh

Co-authored-by: darth negative hunter
 <thenegativehunter2@users.noreply.github.com>
2021-09-10 09:16:48 -07:00
Max Hilbrunner 8f8744a563
Merge pull request #52433 from groud/document_tiles
Tiles renames and documentation
2021-09-10 16:32:19 +02:00
Ellen Poe f5d9c7b487 Replace stb_vorbis with libogg+libvorbis 2021-09-09 19:39:04 -07:00
Juan Linietsky 729461b2a4
Merge pull request #51158 from YeldhamDev/potgen_enhancements
Make some enhancements to the POT generation
2021-09-09 20:21:29 -03:00
Juan Linietsky d0a7eeaaff
Merge pull request #44844 from KoBeWi/hey_listen!_but_2d
Add Listener2D
2021-09-09 19:19:10 -03:00
Juan Linietsky 3c554f09ea
Merge pull request #52252 from Calinou/sdfgi-use-light-indirect-energy
Use the Light3D Indirect Energy property in SDFGI
2021-09-09 17:17:48 -03:00
Vincent 70108fd850 implement individual mesh transform for meshlibrary items 2021-09-09 16:40:16 +02:00
Juan Linietsky 3174e2782c
Merge pull request #52203 from BastiaanOlij/expose_vulkan_info_to_extensions
Expose Vulkan internal values for access from extensions
2021-09-09 10:51:20 -03:00
Bastiaan Olij 506ae80876 Expose Vulkan internal values for access from extensions 2021-09-09 22:28:32 +10:00
Max Hilbrunner 7b846e3f01
Merge pull request #46656 from zaksnet/improve-thread-docs
Improve documentation for Thread
2021-09-09 14:10:35 +02:00
Max Hilbrunner 43a9a9f680
Merge pull request #49605 from likeich/jnisingleton_docs
Wrote JNISingleton docs
2021-09-09 13:53:25 +02:00
Max Hilbrunner e73eecfec5
Merge pull request #50336 from SirQuartz/patch-20
Add description to `Viewport`
2021-09-09 04:06:10 +02:00
Max Hilbrunner 7413dcb4f4
Merge pull request #52306 from CinchBlue/master
Add "Physics intro" docs link for State classes
2021-09-09 04:02:36 +02:00
Fabio Alessandrelli fd17ce1890
Merge pull request #52494 from mhilbrunner/rset-into-the-sunset
Docs: Remove references to (removed) RSETs
2021-09-08 16:57:10 +02:00
Gilles Roudière 0c85f3acc1 Tiles renames/bugfixing and documentation 2021-09-08 15:52:43 +02:00
Max Hilbrunner ff33ead8bd
Merge pull request #52310 from Calinou/doc-node-groups-unordered
Document that node groups don't have a guaranteed order
2021-09-08 14:54:58 +02:00
Max Hilbrunner b1430d8c2d Docs: Remove references to (removed) RSETs 2021-09-08 14:37:22 +02:00
Fabio Alessandrelli fd0a2b6cde
Merge pull request #52480 from mhilbrunner/network-rename
Multiplayer networking renames/simplification
2021-09-08 14:20:58 +02:00
Gilles Roudière f05b449562
Merge pull request #52470 from mhilbrunner/use-encryption-and-dont-get-secrets
Add new docs warning from HTTPRequest to HTTPClient
2021-09-08 12:55:58 +02:00
Gilles Roudière 197d9e2bbb
Merge pull request #52173 from AstroStucky/improve-camera2d-doc
Clarified how Camera2D's current property works with Viewports.
2021-09-08 12:16:04 +02:00
Max Hilbrunner 5b25457794 Multiplayer networking renames/simplification
Removes _networking_ prefix from some methods and members, now that multiplayer has been largely moved out of Node and SceneTree and is seperated into its own set of classes.
2021-09-08 12:05:54 +02:00
Juan Linietsky ca11f8ad30
Merge pull request #52237 from ellenhp/polyphony
Add optional polyphonic playback to built-in audio player nodes
2021-09-07 17:38:51 -03:00
Max Hilbrunner 5b49c6bba4 Fix docs for Array's slice() 2021-09-07 21:40:21 +02:00
Juan Linietsky 58388f8cec
Merge pull request #47391 from Calinou/platform-feature-tags-lowercase
Make platform feature tag names lowercase
2021-09-07 16:30:50 -03:00
Max Hilbrunner 90283b6645 Add new docs warning from HTTPRequest to HTTPClient 2021-09-07 18:55:15 +02:00
Max Hilbrunner 72ac470615
Merge pull request #52381 from arthurpaulino/httprequest-note-improvement-2
Another improvement on the HTTPRequest documentation
2021-09-07 18:47:29 +02:00
Ellen Poe 0e3cab41eb Add polyphony to Audio Stream Player nodes 2021-09-07 09:44:39 -07:00
Max Hilbrunner acc776f7b6
Merge pull request #52442 from Faless/mp/4.x_rpc_manager
[Net] Move multiplayer classes to own subfolder. Split RPC from MultiplayerAPI.
2021-09-07 18:44:39 +02:00
Max Hilbrunner 0cb22ff0a3
Merge pull request #52425 from HaSa1002/doc-slice-invalid-end
Specify description of `Array.slice`s end parameter
2021-09-07 18:21:48 +02:00
Juan Linietsky 93aa158b5e
Merge pull request #52277 from groud/implement_array_property_hint
Implement properties arrays in the Inspector.
2021-09-07 11:59:46 -03:00
Arthur Paulino 75530c5977 security tip when sending sensitive data on HTTP requests 2021-09-07 11:48:31 -03:00
Fabio Alessandrelli bf9aae09ba [Net] Move multiplayer to core subdir, split RPCManager.
Move multiplayer classes to "core/multiplayer" subdir.

Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.

Move the RPC handling code to its own class (RPCManager).

Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-07 11:14:30 +02:00
Gilles Roudière 88c3e3180a
Merge pull request #52050 from nobuyukinyuu/bind-get-tab-idx-at-point-40
Bind TabContainer::get_tab_idx_at_point() to ClassDB
2021-09-07 11:09:35 +02:00
Gilles Roudière 4bd7700e89 Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
Bastiaan Olij 461d31427c
Merge pull request #52205 from BastiaanOlij/blit_source_rect
Add source rectangle to blit
2021-09-07 09:21:13 +10:00
Bastiaan Olij 76b83ff615
Merge pull request #52405 from BastiaanOlij/xr_extension_missing_names
Add missing parameter names to _commit_views GDVIRTUAL_BIND
2021-09-07 09:20:49 +10:00
PouleyKetchoupp 82ea2a7045 Proper support for custom mass properties in 2D/3D physics bodies
Changes:
-Added support for custom inertia and center of mass in 3D
-Added support for custom center of mass in 2D
-Calculated center of mass from shapes in 2D (same as in 3D)
-Fixed mass properties calculation with disabled shapes in 2D/3D
-Removed first_integration which is not used in 2D and doesn't seem to
make a lot of sense (prevents omit_force_integration to work during the
first frame)
-Support for custom inertia on different axes for RigidBody3D
2021-09-06 10:20:16 -07:00
Camille Mohr-Daurat e1ae2708ee
Merge pull request #52271 from nekomatata/query-layer-default-mask
Harmonize default value for collision mask in ray/shape queries
2021-09-06 09:33:18 -07:00
Camille Mohr-Daurat a93fb2655a
Merge pull request #52286 from nekomatata/restore-kinematic-body
Add AnimatableBody inherited from StaticBody for moving platforms
2021-09-06 09:32:46 -07:00
follower 022f49437b
Fix the "AudioEffectRecord" descriptions.
The `AudioEffectRecord` effect has no microphone capture-specific functionality--it can be used with any audio bus.

This patch attempts to clarify this fact (so people like me who want to capture audio output know they're in the right place) while still providing a pointer use of the effect with `AudioStreamMicrophone` for microphone capture.
2021-09-07 01:45:22 +12:00
Johannes Witt 48a8a59ad7
Specify description of Array.slices end parameter 2021-09-05 21:49:57 +02:00
Bastiaan Olij 32ddcaf15e Add missing parameter names to _commit_views GDVIRTUAL_BIND 2021-09-05 11:51:13 +10:00
Hugo Locurcio 879c37d658
Rename Node's `NOTIFICATION_PATH_CHANGED` to `NOTIFICATION_PATH_RENAMED`
The new name is less misleading, as the notification is only emitted
when the node name (or one of its parents' names) is changed.
2021-09-04 00:15:15 +02:00
Arthur Paulino 1ed3d9a0b0 improving note on HTTPRequest class under the request method documentation 2021-09-03 11:10:33 -03:00
Michael Alexsander ee4b0108e0 Make some enhancements to the POT generation 2021-09-02 11:12:54 -03:00
Gilles Roudière c97afc033f
Merge pull request #38722 from KoBeWi/proposition
Add offset for TextureProgress progress texture
2021-09-01 16:20:05 +02:00
Hugo Locurcio 0adf1a6683
Document that node groups don't have a guaranteed order 2021-09-01 15:36:51 +02:00
Austin Tasato ce8eb09a25 Add "Physics intro" docs link for State classes 2021-09-01 06:03:03 -07:00
George Marques 8259a3b1c2
Merge pull request #51987 from aaronfranke/fix-docs-gdvirtual
Fix docs after GDVIRTUAL pull request
2021-09-01 09:39:35 -03:00
kobewi e78ee616f7 Add offset for TextureProgress progress texture 2021-09-01 14:39:08 +02:00
George Marques 25ae279317
Merge pull request #52270 from KoBeWi/goodbye_polar
Remove cartesian2polar and polar2cartesian
2021-09-01 09:33:13 -03:00
George Marques cf59028972
Merge pull request #48237 from KoBeWi/they_came_from_angle
Add Vector2.from_angle() method
2021-09-01 09:32:42 -03:00
PouleyKetchoupp 83baecdff0 Add AnimatableBody inherited from StaticBody for moving platforms
Instead of having a physics node named Static that can be either Static
or Kinematic, AnimatableBody is added again as a separate node:
-Inherited from StaticBody to make its usage clearer
-Still separated from CharacterBody to make its usage more focused

Properly implemented constant velocity for kinematic bodies in godot
physics servers (induced velocity without actually moving).

Also updated description for the different physics nodes to make their
usage clearer.
2021-08-31 18:14:32 -07:00
Hugo Locurcio 2daaf0fdc3
Make platform feature tag names lowercase
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.

- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
2021-08-31 20:34:44 +02:00
Juan Linietsky 7946066577
Merge pull request #49471 from nekomatata/body-state-sync-callback
Clean physics direct body state usage in 2D and 3D physics
2021-08-31 14:30:17 -03:00
kobewi f2cb0a8d4b Add Listener2D 2021-08-31 16:53:14 +02:00
Camille Mohr-Daurat a9fcbb1001
Merge pull request #51364 from bengtsts/master
Expose soft body pin methods to GDScript
2021-08-31 07:41:34 -07:00
fabriceci 1a481c8191 Change platform detection by allowing select layers by type (wall or floor) 2021-08-31 09:59:04 +02:00
kobewi 3f3739ccb5 Add Vector2.from_angle() method 2021-08-31 01:53:58 +02:00
Juan Linietsky bcd73fc00a
Merge pull request #52240 from Rubonnek/rename-rel-path
Rename `String::is_rel_path` to `String::is_relative_path`
2021-08-30 20:45:45 -03:00
PouleyKetchoupp 26bd432707 Harmonize default value for collision mask in ray/shape queries
The default mask for queries was 0, 0x7FFFFFFF or 0xFFFFFFFF depending
on the cases.

Now always using 0xFFFFFFFF (in the form of UINT32_MAX to make it clear)
in order to use all layers by default.
2021-08-30 16:42:49 -07:00
kobewi 017c94222e Remove cartesian2polar and polar2cartesian 2021-08-31 01:41:41 +02:00
Bengt Söderström 3a323c4b97 Documented soft body pinning methods 2021-08-30 21:48:52 +02:00
Hugo Locurcio 2c507cd426
Use the Light3D Indirect Energy property in SDFGI
The Indirect Energy property was previously ignored in SDFGI
(unlike VoxelGI).
2021-08-30 14:53:03 +02:00
Wilson E. Alvarez d11c1afc04
Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
Fabio Alessandrelli 64b9f30b92 [Net] Rename RPC "puppet" to "auth" (authority). Drop "master".
This commit completely removes the RPC_MODE_MASTER ("master" keyword),
and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword).

This commit also renames the "Node.[get|set]_network_master" methods to
"Node.[get|set]_network_authority".

This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY.

RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by
any puppet peer on the master, while RPC_MODE_PUPPET meant that it would
be callable by the master on any puppet.

Beside proving to be very confusing to the user (referring to where it
could be called instead of who can call it) the RPC_MODE_MASTER is quite
useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with
the exception that the network master cannot. While this could be useful
to check in some case, in such a function you would anyway need to check
in code who is the caller via get_rpc_sender_id(), so adding the check
there for those rare cases does not warrants a dedicated mode.
2021-08-30 00:54:38 +02:00
Fabio Alessandrelli 838a449d64
Merge pull request #51788 from Faless/mp/4.x_replicator_sync
[Net] MultiplayerReplicator state sync.
2021-08-30 00:48:10 +02:00
Juan Linietsky 72bf79186e
Merge pull request #30391 from KoBeWi/hiding_children
Add support for internal nodes
2021-08-29 19:36:30 -03:00
Juan Linietsky 07707a3627
Revert "Display a matrix for Node2D and don't display a duplicate origin" 2021-08-29 17:01:07 -03:00
Aaron Franke ee7bb9bbb9
Display a matrix for Node2D and don't display a duplicate origin 2021-08-29 10:34:50 -05:00
nobuyuki_nyuu 65d83cc99b Bind TabContainer::get_tab_idx_at_point() to ClassDB 2021-08-29 09:10:44 -05:00
Bastiaan Olij fbac863bfb Add source rectangle to blit 2021-08-29 14:57:16 +10:00
Max Hilbrunner a2473d7ebe Fix Array class docs after #47406 2021-08-28 22:17:41 +02:00
Bastiaan Olij b9c64df69b Fix double named size parameter 2021-08-28 13:30:43 +10:00
kobewi a913ae8d56 Add support for internal nodes 2021-08-28 02:07:23 +02:00
Thomas Stucky 3d586c7ba3 Clarified how Camera2D's current property works with Viewports. 2021-08-27 18:04:34 -06:00
Max Hilbrunner 4e67e9bca6
Merge pull request #52090 from balloonpopper/bug52060
Correct null and boolean values being capitalised by the str command
2021-08-27 21:05:47 +02:00
Ellen Poe 53843ba872 Require AudioStream::mix to return the number of frames successfully mixed 2021-08-27 10:27:58 -07:00
K. S. Ernest (iFire) Lee 90a35dac48
Merge pull request #51908 from bruvzg/msdf_fonts2
Make FontData importable resource. Add multi-channel SDF font rendering.
2021-08-27 08:51:37 -07:00
Camille Mohr-Daurat ca4f20529c
Merge pull request #51896 from nekomatata/restore-ray-shape
Refactor RayShape and rename to SeparationRayShape
2021-08-27 08:49:49 -07:00
Max Hilbrunner fec7516010
Merge pull request #52129 from AnilBK/skeleton2d-ik-doc
Document how to use IK in skeleton2D.
2021-08-27 17:49:17 +02:00
bruvzg 4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
Gilles Roudière 94e00216b4
Merge pull request #37209 from Calinou/add-array-pop-method
Add an `Array.pop_at()` method to pop an element at an arbitrary index
2021-08-27 09:36:30 +02:00
Anilforextra bd1a654e99 Document how to use IK in skeleton2D. 2021-08-27 09:54:24 +05:45
Bastiaan Olij c5f62fad90
Merge pull request #52003 from BastiaanOlij/xr_interface_extension
Adding GDExtension support to XRInterface
2021-08-27 11:51:43 +10:00
Hugo Locurcio 60116b17b5
Add an `Array.pop_at()` method to pop an element at an arbitrary index
Negative indices are supported to pop an element relative from the end.
2021-08-27 00:51:17 +02:00
Juan Linietsky d19b12dbd2
Merge pull request #52107 from timothyqiu/overriden
Fix misspelled "overriden"
2021-08-26 13:07:52 -03:00
Juan Linietsky 227ab24738
Merge pull request #51870 from BastiaanOlij/half_resolution_3d
Optionally render 3D content at scaled resolution
2021-08-26 10:24:48 -03:00
Bastiaan Olij 86ff7f8550 Adding GDExtension support to XRInterface 2021-08-26 23:24:44 +10:00
Juan Linietsky eb940ca2a0
Merge pull request #51928 from reduz/extension-loader
Implement Extension Loader
2021-08-26 10:24:25 -03:00
Juan Linietsky 34e286d6a3
Merge pull request #52077 from reduz/error-ret-doc
Implement error return documentation
2021-08-26 08:42:06 -03:00
Bastiaan Olij 64626cc435 Optionally scale 3D render content 2021-08-26 20:48:40 +10:00
Balloonpopper 4fae7ae9dc Correct null and boolean values being capitalised by the str command 2021-08-26 17:11:34 +10:00
Aaron Franke 02fa885402
Fix docs after GDVIRTUAL pull request 2021-08-25 19:45:27 -05:00
Juan Linietsky 5b01a3b3be
Merge pull request #52084 from reduz/engine-singleton-register
Add ability to register singletons from Engine API
2021-08-25 18:50:15 -03:00
K. S. Ernest (iFire) Lee b3ada9cb1a
Merge pull request #51969 from Calinou/doc-image-generate-mipmaps-no-threading
Document `Image.generate_mipmaps()` always running on the main thread
2021-08-25 11:17:23 -07:00
Haoyu Qiu eba7265a1c Fix misspelled "overriden"
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-26 01:44:01 +08:00
PouleyKetchoupp 6a9ed72185 Clean physics direct body state usage in 2D and 3D physics
Use a C++ callback instead of Callable for synchronizing physics nodes' state with physics servers.

Remove usage of PhysicsDirectBodyState in physics nodes when not
necessary.

Store PhysicsDirectBodyState for bodies individually instead of a
singleton to avoid issues when accessing direct body state for multiple
bodies.

PhysicsDirectBodyState is initialized only when needed, so it doesn't
have to be created when using the physics server directly.

Move PhysicsDirectBodyState2D and PhysicsDirectBodyState3D to separate
cpp files.
2021-08-25 08:57:42 -07:00
Max Hilbrunner 4bb65b2bc6
Merge pull request #52023 from mhilbrunner/vs-fix-reloaded
Fix VisualScriptEditor after namespaces
2021-08-25 14:41:28 +02:00
reduz e2f8df8c5b Add ability to register singletons from engine API
* Exposed functions in Engine to register and unregister singletons.
* Added the concept of user singletons, which can be removed (the system ones can't).
2021-08-25 08:32:25 -03:00
Hugo Locurcio bb0122c933
Merge pull request #48374 from Calinou/gradienttexture-add-hdr-property
Add an `use_hdr` property to GradientTexture to allow storing HDR colors
2021-08-25 08:03:34 +02:00
Hugo Locurcio 7192852da3
Remove 16× MSAA support due to driver bugs and low performance
In the `master` branch, 16× MSAA caused the entire system to freeze
on NVIDIA GPUs. This is likely caused by graphics drivers not actually
implementing 16× MSAA, but combining 8× MSAA with 2× SSAA instead.

On top of that, modern shader complexity makes 16× MSAA very difficult
to use while keeping a good framerate. 8× MSAA is hard enough to use
as it is.
2021-08-25 07:56:27 +02:00
PouleyKetchoupp 3d5dc80348 Rename RayShape to SeparationRayShape
Makes it clearer that it's used for special cases when picking a
collision shape.
2021-08-24 17:34:55 -07:00
PouleyKetchoupp aa4791735d Rename slips_on_slope to slide_on_slope
Also added some precision to the documentation.
2021-08-24 17:34:55 -07:00
PouleyKetchoupp d9720d4395 Fix CharacterBody motion with RayShape
Make separation ray shapes work properly in move_and_slide, wihtout the
specific code in CharacterBody like before.

Now most of the logic is handled inside the physics server. The only
thing that's needed is to use ray shapes only for recovery and ignore
them when performing the motion itself (unless we're snapping or slips
on slope is on).
2021-08-24 17:34:55 -07:00
PouleyKetchoupp 45c7af9862 Restore RayShape as a regular shape type
Partial revert from previously removing ray shapes completely, added
back as a shape type but without the specific character controller code.
2021-08-24 16:03:05 -07:00
reduz 96f8254b24 Implement error return documetation
Adds ability to add error return documetation to the binder and class reference.
Usage example:

```C++
void MyClass::_bind_method() {
	[..]
	BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED);
}
```

One function of ConfigFile was changed as example.
2021-08-24 15:28:29 -03:00
Max Hilbrunner c314203a70 Fix Visual Script editor 2021-08-24 19:33:40 +02:00
Max Hilbrunner 7e0f1fa2ec
Merge pull request #52041 from Rubonnek/expose-simplify-path
Expose `String.simplify_path`
2021-08-24 17:06:16 +02:00
Max Hilbrunner 8a2730cac3
Merge pull request #52044 from Rubonnek/update-string-abs-rel-docs
Update documentation for is_absolute_path and is_rel_path
2021-08-24 16:24:18 +02:00
Juan Linietsky 61141793ca
Merge pull request #51999 from lyuma/set_surface_material
Implement methods in EditorSceneImporterMesh, and add documentation.
2021-08-24 11:17:48 -03:00
Juan Linietsky 6609ce1944
Merge pull request #52000 from lyuma/set_editable_instance
Make Node editable_instance methods available to GDScript
2021-08-24 08:31:34 -03:00
Wilson E. Alvarez 17821603b4
Expose String.simplify_path 2021-08-24 00:48:45 -04:00
Lyuma 7eb6ae2798 Make Node editable_instance methods available to GDScript 2021-08-23 21:45:18 -07:00
Juan Linietsky 13bd020a23
Merge pull request #52045 from reduz/expose-rid-creation-utilities
Expose RID creation utilities.
2021-08-23 22:30:43 -03:00
reduz 65ca132a80 Expose RID creation utilities.
* Exposed as utility functions.
* Not very useful for script, but vital for creating servers using native extensions.
2021-08-23 21:55:45 -03:00
Wilson E. Alvarez 69caa1ab4c
Update documentation for is_absolute_path and is_rel_path 2021-08-23 19:55:06 -04:00
Camille Mohr-Daurat 770a1d00a3
Merge pull request #51751 from jeffrey-cochran/windforce
Created an area-specific wind force that interacts with soft bodies
2021-08-23 16:48:19 -07:00
reduz 44d62a9f4b Implement NativeExtension pointer arguments
* Allows calling into native extensions directly with a pointer
* Makes it easier to implement some APIs more efficiently
* Appears with a "*" in the documentation for the argument.
* Implementing the pointer handling is entirely up to the implementation, although the extension API provides some hint.
* AudioStream has been implemented as an example, allowing to create NativeExtension based AudioStreams.
2021-08-23 19:58:40 -03:00
Jeffrey Cochran e806397196 Enabled area-specific wind forces 2021-08-23 17:00:50 -04:00
Max Hilbrunner 583b6a594a
Merge pull request #51971 from aaronfranke/https
Replace HTTP URLs with HTTPS for sites with HTTPS versions
2021-08-23 15:58:54 +02:00
lawnjelly d354adc5d0
Merge pull request #51803 from LoipesMas/master
Add note about batching to Line2D's anti-aliasing
2021-08-23 13:48:42 +01:00
LoipesMas b047430702 Add note about batching to Line2D's anti-aliasing 2021-08-23 13:14:36 +02:00
reduz 5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
Lyuma e6962729d5 Implement set_surface_material and set_surface_name methods in EditorSceneImporterMesh, and add documentation. 2021-08-22 19:42:35 -07:00
Aaron Franke ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
K. S. Ernest (iFire) Lee fb176d5f6e
Merge pull request #50434 from QbieShay/particle-minmax
Particle params are expressed as min-max rather than value+range AND separate axes scaling
2021-08-22 10:07:08 -07:00
Michael Alexsander 2f8a58ad46
Merge pull request #51886 from Geometror/fix-layout-editor-file-dialog
Fix ItemList layout (+EditorFileDialog)
2021-08-22 16:47:11 +00:00
QbieShay d6672096fc moved particle parameters to minmax and split scale axis
This commit adds quite a chunk of modifications to particles
- particle (value + randomness) now use min and max instead
- passing a curveXYZtexture is now possible and will scale particles per-axis
- CPUParticle3D have an optional parameter to split the scale curve per-axis
2021-08-22 18:42:17 +02:00
K. S. Ernest (iFire) Lee 7cbf5a547f
Merge pull request #51700 from Geometror/fix-color-picker
Reimplement ColorPicker presets
2021-08-22 08:23:09 -07:00
reduz 3682978aee Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.

Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.

Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Juan Linietsky 1990721d1b
Revert "Add Node processing and physics processing cumulative (as opposed to delta) time" 2021-08-22 08:21:34 -03:00
K. S. Ernest (iFire) Lee 8cae1294b8
Merge pull request #51952 from Jummit/refactor-graphedit-connections
Refactor GraphEdit connections
2021-08-22 01:33:58 -07:00
Hugo Locurcio fb94b2e656
Merge pull request #41850 from MohammadKhashashneh/cumulative-time_issue_6999
Add Node processing and physics processing cumulative (as opposed to delta) time
2021-08-22 10:33:20 +02:00
Hugo Locurcio f02a040d48
Define a default minimum window size to workaround rendering issues
The minimum window size can still be set to `Vector2(0, 0)` in a script
if needed.

This closes #37242.
2021-08-22 08:19:49 +02:00
Hugo Locurcio 30a88f464b
Document `Image.generate_mipmaps()` always running on the main thread 2021-08-22 02:22:04 +02:00
Jummit e9ef6f9815 Refactor GraphEdit connections
Remove duplicate bezier code and use Curve instead.
Add an overridable method for retrieving the points of a connection line, which
makes it posible to create custom connections lines.
2021-08-21 22:15:26 +02:00
Hendrik Brucker 72e49eadec Fix ItemList layout (+EditorFileDialog) 2021-08-21 00:22:09 +02:00
Hugo Locurcio 2daef0400a
Merge pull request #51866 from requizm/fix/49455
Fix `line_separation` working incorrectly in `RichTextLabel`
2021-08-20 23:24:42 +02:00
requizm 39b90802d0 Fix line_separation constant working incorrectly in RichTextLabel 2021-08-20 23:03:13 +03:00
reduz 542e6e8ca6 Implement Extension Loader
* Extensions are now scanned and loaded on demand.
* Extensions found are cached into a file that is used to load them (which is also exported).
* Editor will ask to restart when an extension requires core functionality.
* Editor will attempt to load extensions always before importing or loading scenes. This ensures extensions can register the relevant types.
2021-08-20 16:02:24 -03:00
fabriceci 68f0cf97bc add motion mode to handle TPS 2021-08-20 17:32:33 +02:00
Hugo Locurcio 09eb98c530
Improve documentation for `String.get_extension()` 2021-08-20 03:07:15 +02:00
jfons 55e7832d7b Improvements to SpotLight3D and OmniLight3D's shadows
OmniLight3D:
* Fixed lack of precision in cube map mode by scaling the projection's
  znear.
* Fixed aliasing issues by making the paraboloids use two square regions instead of two half
  squares.
* Fixed shadowmap atlas bleeding by adding padding.
* Fixed sihadow blur's inconsistent radius and unclamped sampling.

SpotLight3D:
* Fixed lack of precision by scaling the projection's znear.
* Fixed normal biasing.

Both:
* Tweaked biasing to make sure it works out of the box in most situations.
2021-08-19 13:46:51 +02:00
Aaron Franke 70c0154cbe
Improve the docs for the float type 2021-08-18 13:27:22 -05:00
Paulb23 c13c738c88 Hide TextFile from the API 2021-08-18 17:56:23 +01:00
Fabio Alessandrelli b05cb0fd7d [Net] Add state sync to replicator.
Like the spawn/despawn feature, it can be completely overridden with 2
custom callables.
The callables will be called with the list of tracked objects.
In SERVER mode, objects are automatically tracked, while in CUSTOM mode
you can manually track them via `track`/`untrack` (but that's optional).
The default sync only happens from server to client, with batch updates,
over unreliable channel (but with custom ordering).
The default sync will warn you, if your state representation gets too
big.
2021-08-18 12:37:45 +01:00
Fabio Alessandrelli d4dd859991 [Net] MultiplayerReplicator with initial state.
Move the former "spawnables" functions to a dedicated
MultiplayerReplicator class.
Support custom overrides in replicator.
Spawn/despawn messages can now contain a state.
The state can be automatically encoded/decoded by passing the desired
object properties to `spawnable_config`.
You can use script properties to optimize the state representation.
2 Callables can be also specified to completely override the default
implementation for sending and receiving the spawn/despawn event.
(9 bytes overhead, and there's room for improvement here).
When using a custom implementation `spawn` and `despawn` can be called
with any Object, `send_spawn`/`send_despawn` can receive any Variant as
a state, and the path is not required.

Two new functions, `spawn` and `despawn`, convey the implementation
independent method for requesting a spawn/despawn of an Object, while
`send_spawn` and `send_despawn` represent the more low-level send event
for a Variant to be used by the custom implementations.
2021-08-18 10:21:29 +01:00
Rémi Verschelde a031579286
Merge pull request #50752 from Phischermen/indeterminate_checkmark_api
Added icons and API for indeterminate checkmarks for the Tree class.
2021-08-18 10:31:06 +02:00
Rémi Verschelde d7b843a060
Merge pull request #51787 from akien-mga/string-num-fix-default-decimals
String: Fix default decimals truncation in num and num_real
2021-08-18 09:31:34 +02:00
Hendrik Brucker ff9901f51e Reimplement ColorPicker presets 2021-08-18 02:09:48 +02:00
Rémi Verschelde 066dbc2f0c
String: Fix default decimals truncation in num and num_real
Fixes undefined behavior, and fixes the logic for negative powers of ten.
Fixes #51764.

Adds tests to validate the changes and prevent regressions.
Adds docs for `String.num`.
2021-08-18 00:48:03 +02:00
skysphr e27ab2708f Added increment_pressed and decrement_pressed icons to scrollbars 2021-08-17 22:09:29 +03:00
Mohammad Khashashneh 0c027ef0f1 Add Node processing and physics processing cumulative (as opposed to delta) time. 2021-08-17 21:34:50 +03:00
Rémi Verschelde 819aa47fee
Merge pull request #51768 from reduz/fixes-to-mobile-renderer-2
Fixes to mobile renderer
2021-08-17 19:50:10 +02:00
Rémi Verschelde 273d1ca932
Merge pull request #51775 from timothyqiu/disable-undo-redo
Improve Undo/Redo menu items
2021-08-17 19:09:56 +02:00
reduz 6027cd0a1d Fixes to mobile renderer
* Make sure shaders are named, to aid in debug in case of failure
* SceneRenderRD was being wrongly initialized (virtual functions being called when derivative class not initialized).
* Fixed some bugs resulting on the above being corrected.
2021-08-17 13:52:06 -03:00
Rémi Verschelde 913a7a63d5
Merge pull request #51793 from KoBeWi/direnam
Fix renaming directories
2021-08-17 16:06:30 +02:00
Haoyu Qiu 16c2d4ef22 Improve Undo/Redo menu items
* Make Undo/Redo menu items disabled when clicking it does nothing.
    * Context menu of `TextEdit`
    * Context menu of `LineEdit`
    * Editor's Scene menu
    * Script editor's Edit menu and context menu (for Script and Text)
* Make editor undo/redo log messages translatable.
* Mark `UndoRedo`'s `has_{un,re}do()` methods as `const`.
* Expose `TextEdit`'s `has_{un,re}do()` to scripts since `{un,re}do()` are already available.
2021-08-17 21:11:10 +08:00
kobewi 0dde3e5b59 Fix renaming directories 2021-08-17 14:38:48 +02:00
Rémi Verschelde be80d381d2
Merge pull request #50360 from m4gr3d/address_external_dir_access_master
Add support for Android scoped storage
2021-08-17 13:33:28 +02:00
Rémi Verschelde 45344c6a02
Merge pull request #51651 from pycbouh/editor-merge-custom-theme
Add support for partial custom editor themes
2021-08-17 13:13:08 +02:00
ne0fhyk 3a00ff1cce Add partial support for Android scoped storage.
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30.
In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
2021-08-16 23:11:56 -07:00
Kevin Fischer 75866c81e7 Added icons and API for indeterminate checkmarks for the Tree class. 2021-08-16 10:13:06 -07:00
Rémi Verschelde 43440228db
Merge pull request #51645 from fabriceci/improve-physics-api
API improvement on the physics (CharacterBody and related classes)
2021-08-16 17:05:08 +02:00
Rémi Verschelde fff9a451a1
Merge pull request #51368 from TwistedTwigleg/GSOC_2020_Working_Branch_IK_SQUASHED
New and improved IK system for Skeleton3D - Squashed!
2021-08-16 15:37:17 +02:00
Yuri Roubinsky 1e60fcc53c Fix incorrect inheritance of `VisualShaderNodeParticleAccelerator` 2021-08-16 14:17:31 +03:00
Yuri Roubinsky e537a1f10e Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
fabriceci d776b6c154 API improvement on physics, mainly CharacterBody
Changes:

- Rename few methods/property and group them in the editor when it's possible
- Make MotionResult API consistency with KinematicCollision
- Return a boolean in move_and_slide if there was a collision
- New methods:
  - get_floor_angle on CharacterBody to get the floor angle.
  - get_angle on KinematicCollision to get the collision angle.
  - get_last_slide_collision to quickly get the latest collision of move_and_slide.
2021-08-15 12:53:29 +02:00
TwistedTwigleg 5ffed49907 New and improved IK system for Skeleton3D
This PR and commit adds a new IK system for 3D with the Skeleton3D node
that adds several new IK solvers, as well as additional changes and functionality
for making bone manipulation in Godot easier.

This work was sponsored by GSoC 2020 and TwistedTwigleg

Full list of changes:
* Adds a SkeletonModification3D resource
  * This resource is the base where all IK code is written and executed
* Adds a SkeletonModificationStack3D resource
  * This node oversees the execution of the modifications and acts as a bridge of sorts for the modifications to the Skeleton3D node
* Adds SkeletonModification3D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in it's own file
* Several changes to Skeletons, listed below:
  * Added local_pose_override, which acts just like global_pose_override but keeps bone-child relationships intract
    * So if you move a bone using local_pose_override, all of the bones that are children will also be moved. This is different than global_pose_override, which only affects the individual bone
  * Internally bones keep track of their children. This removes the need of a processing list, makes it possible to update just a few select bones at a time, and makes it easier to traverse down the bone chain
  * Additional functions added for converting from world transform to global poses, global poses to local poses, and all the same changes but backwards (local to global, global to world). This makes it much easier to work with bone transforms without needing to think too much about how to convert them.
  * New signal added, bone_pose_changed, that can be used to tell if a specific bone changed its transform. Needed for BoneAttachment3D
  * Added functions for getting the forward position of a bone
* BoneAttachment3D node refactored heavily
  * BoneAttachment3D node is now completely standalone in its functionality.
    * This makes the code easier and less interconnected, as well as allowing them to function properly without being direct children of Skeleton3D nodes
  * BoneAttachment3D now can be set either using the index or the bone name.
  * BoneAttachment3D nodes can now set the bone transform instead of just following it. This is disabled by default for compatibility
  * BoneAttachment3D now shows a warning when not configured correctly
* Added rotate_to_align function in Basis
* Added class reference documentation for all changes
2021-08-14 15:57:00 -04:00
Rémi Verschelde 59879447a3
Merge pull request #51636 from Calinou/rename-lineshape2d
Rename LineShape2D to WorldMarginShape2D
2021-08-14 09:36:16 +02:00
Hugo Locurcio 8e3f71d750
Rename LineShape2D to WorldMarginShape2D
The new name makes it more obvious that it acts as an infinite plane,
and is consistent with its 3D counterpart (WorldMarginShape3D).
2021-08-14 03:12:13 +02:00
Yuri Sizov 855cfe1559 Add support for partial custom editor themes 2021-08-14 02:03:07 +03:00
Hugo Locurcio 1d257d02db
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.
2021-08-13 23:16:24 +02:00
Rémi Verschelde 761eb7e06a
Merge pull request #51585 from Paulb23/theme-update-optimisation 2021-08-13 21:33:36 +02:00
Paulb23 b73983340d Add bulk theme overrides to Control 2021-08-13 16:41:36 +01:00
Rémi Verschelde e499758a77
Merge pull request #51025 from reduz/fix-directional-shadow-bias
Fix directional shadow bias
2021-08-13 16:45:49 +02:00
Rémi Verschelde f0e420e981
Merge pull request #51519 from Chaosus/vs_transform_operator
Changed `TransformMult` node to `TransformOp` in visual shaders
2021-08-13 14:44:14 +02:00
Rémi Verschelde 1833c8b233
Merge pull request #51587 from Calinou/use-unicode-multiplication-symbol
Use the Unicode multiplication symbol where relevant
2021-08-13 14:27:48 +02:00
Pedro J. Estébanez abdfbef075 Add project setting for agile input event flushing
If enabled, key/touch/joystick events will be flushed just before every idle and physics frame.

Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per each idle frame, because of not being powerful enough to run at the target frame rate.

This will only work for platforms using input buffering (regardless event accumulation). Currenly, only Android does so, but could be implemented for iOS in an upcoming PR.
2021-08-13 11:45:50 +02:00
Bhuvan Vemula cc566c5485 `EditorCommandPalette` Documentation. 2021-08-13 14:41:03 +05:30
Rémi Verschelde a98589a449
Merge pull request #51581 from bruvzg/camera_feed_port
Port camera feed to the new RenderingServer API.
2021-08-12 23:28:10 +02:00
Hugo Locurcio 7612cff432
Use the Unicode multiplication symbol where relevant 2021-08-12 21:45:33 +02:00
Rémi Verschelde 244295a0c2
Merge pull request #51579 from Calinou/doc-editorfilesystem-get-file-type
Fix incorrect descriptions for EditorFileSystem's `get_file_type()`
2021-08-12 20:36:20 +02:00
Rémi Verschelde 5e0838c58e
Merge pull request #50372 from Paulb23/code_edit_breakpoint_fixes
Fix breakpoint toggle signal not firing when expected
2021-08-12 20:33:56 +02:00
bruvzg de30dfe6a5 Port camera feed to the new RenderingServer API. 2021-08-12 20:46:19 +03:00
Hugo Locurcio 1942e0c117
Fix incorrect descriptions for EditorFileSystem's `get_file_type()` 2021-08-12 18:38:57 +02:00
Rémi Verschelde c89ad92c96
Merge pull request #51532 from nekomatata/layer-mask-accessors
Uniformize layer names, script methods and documentation
2021-08-12 17:55:11 +02:00
PouleyKetchoupp 989acbbe81 Uniformize layer names, script methods and documentation
- Back to 1-based layer names to make it clearer in editor UI
- Layer bit accessors are renamed to layer value and 1-based too
- Uniform errors and documentation in render and physics
- Fix a few remaining collision_layer used in place of collision_mask
2021-08-12 08:06:42 -07:00
Paulb23 a736fb8ce9 Fix breakpoint toggle signal not firing when expected 2021-08-12 14:47:10 +01:00
Rémi Verschelde a695a6764e
Merge pull request #50371 from Paulb23/text_edit_cleanup 2021-08-12 15:30:12 +02:00
Paulb23 a4606c2806 Cleanup and complete TextEdit inspector and docs 2021-08-12 11:43:35 +01:00
Yuri Roubinsky 810c30dc09
Merge pull request #51517 from Chaosus/precise_graphedit_port_handling
Better port handling connection for `GraphEdit`
2021-08-12 11:40:52 +03:00
Paulb23 0a32a6907b Cleanup and expose viewport / scrolling methods 2021-08-12 09:29:58 +01:00
Paulb23 7dbb0f3233 Rename readonly to editable 2021-08-12 09:29:58 +01:00
Paulb23 b799e5583a Rename insert mode to overtype mode 2021-08-12 09:29:58 +01:00
Paulb23 9ec3e7f3d7 Cleanup TextEdit selection methods 2021-08-12 09:29:56 +01:00
Paulb23 7e70f9e0b9 Expose and cleanup TextEdit line wrap API 2021-08-12 09:29:16 +01:00
Paulb23 d5dcaee4c5 Cleanup and rename caret operations 2021-08-12 09:29:13 +01:00
Paulb23 e60900a353 Make TextEdit cut, copy and paste overridable 2021-08-12 09:27:10 +01:00
Rémi Verschelde 1c5a8592ca
Merge pull request #49346 from IcedQuinn/document-jsonrpc
doc: Add documentation for JSONRPC class
2021-08-12 08:41:59 +02:00
Rémi Verschelde e2ca1d413e
Merge pull request #51533 from Calinou/fix-nearest-mipmap-filter
Fix the Use Nearest Mipmap Filter project setting not working
2021-08-12 08:16:46 +02:00
Iced Quinn 3fc5646b98
doc: Add documentation for JSONRPC class 2021-08-12 08:13:35 +02:00
Yuri Roubinsky 61904d56ea Better port handling connection for `GraphEdit` 2021-08-12 09:09:24 +03:00
Hugo Locurcio 635f6cdf2e
Fix the Use Nearest Mipmap Filter project setting not working
The project setting wasn't being used anywhere.

This also tweaks the property hints to denote that these properties
are only effective after a restart.
2021-08-12 01:58:42 +02:00
PouleyKetchoupp f9176a39ce Make radius & height in CapsuleShape3D independent
Also changed CapsuleMesh to make settings consistent between render and
physics.
2021-08-11 14:54:53 -07:00
Max Hilbrunner 4e065a5242 Docs: Fix capitalisation of Warning in two places
These are the only places in the docs that were not cased like this. Now they are!
2021-08-11 22:46:14 +02:00
Yuri Roubinsky 9cf158019d Changed `TransformMult` node to `TransformOp` in visual shaders 2021-08-11 22:05:04 +03:00
Max Hilbrunner dd277aedc9 Fix CI after #38992 2021-08-11 19:46:29 +02:00
Rémi Verschelde d7a39cc346
Merge pull request #38992 from Dragoncraft89/master
Error handling functions for GdScript
2021-08-11 18:43:27 +02:00
Rémi Verschelde e30be92ce8
Merge pull request #41634 from KoBeWi/the_independence 2021-08-11 18:16:24 +02:00
Rémi Verschelde 3e2496b72e
Merge pull request #50329 from Calinou/decrease-default-dof-bokeh-quality
Decrease the default depth of field bokeh quality
2021-08-11 17:42:56 +02:00
Rémi Verschelde b7f0fc2a08
Merge pull request #51513 from mhilbrunner/ssl-warning
Docs: Add warnings about no SSL/(D)TLS revocation
2021-08-11 17:37:50 +02:00
Tomasz Chabora f12f5b36b5 Make radius & height in CapsuleShape2D independent 2021-08-11 17:34:27 +02:00
Hugo Locurcio d364ff2087
Decrease the default depth of field bokeh quality
This makes depth of field perform better out of the box, with little
visual difference.
2021-08-11 16:59:22 +02:00
Max Hilbrunner 4eb427afb8 Docs: Add warnings about no SSL/(D)TLS revocation 2021-08-11 16:02:38 +02:00
Rémi Verschelde 62047e4e48
Merge pull request #51486 from reduz/fixes-to-mobile-renderer
Fixes and optimizations to mobile renderer
2021-08-11 15:19:11 +02:00
Rémi Verschelde a57d420224
Merge pull request #51500 from timothyqiu/navmesh-doc 2021-08-11 14:12:56 +02:00
Haoyu Qiu 60298328ca Improve NavigationMesh typing, parameter validation and documentation 2021-08-11 18:18:10 +08:00
Rémi Verschelde c00303ff55
Merge pull request #47378 from aaronfranke/use-input-enums
Use key enum instead of plain integers for input code
2021-08-11 11:20:45 +02:00
Rémi Verschelde 80dec1948a
Merge pull request #41956 from Calinou/rename-engine-iterations-per-second
Rename `iterations_per_second` to `physics_ticks_per_second`
2021-08-11 08:05:33 +02:00
Rémi Verschelde 7d43da928f
Merge pull request #51490 from nekomatata/clean-character-body
Remove infinite inertia and ray shapes from CharacterBody
2021-08-11 08:04:09 +02:00
Rémi Verschelde 2c88e1c15d
Merge pull request #51178 from Geometror/layout-options-textline-textparagraph
Various text layout improvements (TextLine, TextParagraph, Label, TextServer)
2021-08-11 07:51:57 +02:00
Rémi Verschelde 588883eb4a
Merge pull request #51442 from Geometror/styleboxflat-fake-aa-float
StyleBox fake AA improvements (make anti aliasing size a float property)
2021-08-11 07:35:53 +02:00
reduz ca117910da Fixes and optimizations to mobile renderer
* Only apply final actions to attachments used in the last pass.
* Fixes to draw list final action (was using continue instead of read/drop).
* Profiling regions inside draw lists now properly throw errors.
* Ability to enable gpu profile printing from project settings. (used to debug).
2021-08-10 23:17:28 -03:00
Hugo Locurcio 937c1a716c
Rename `iterations_per_second` to `physics_ticks_per_second`
This makes it clearer that this property is only about physics FPS,
not rendering FPS.

The `physics_fps` project setting was also renamed to
`physics_ticks_per_second` for consistency.
2021-08-11 02:37:02 +02:00
Hendrik Brucker 403f4902d0 Various text layout improvements (TextLine, TextParagraph, Label, TextServer) 2021-08-11 00:09:48 +02:00
Hendrik Brucker db2460f43c StyleBox fake AA improvements (aa_size float property) 2021-08-10 23:37:06 +02:00
Aaron Franke fa3a32a2d6
Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
K. S. Ernest (iFire) Lee 18bd0fee5a
Merge pull request #49343 from theoway/node_auto_arrangement_graph_edit
Node Auto Arrangement in GraphEdit/VisualScript/VisualShader
2021-08-10 15:42:04 -04:00
Umang Kalra 12fc3f1eef Automatic arrangement of nodes in VisualScript/VisualShaders editors
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this 
feature is compact, with minimum crossings between connections
& uniform horizontal & vertical gaps between the nodes. 

This work has been sponsored by GSoC '21.

Full list of additions/changes:
• Added arrange_nodes() method in GraphEdit module.
    • This method computes new positions for all the selected
      nodes by forming blocks and compressing them.
      The nodes are moved to these new positions. 
    • Adding this method to GraphEdit makes it available for 
      use in VisualScript/VisualShaders editors and its other
      subclasses. 
• Button with an icon has been added to call arrange_nodes() in GraphEdit. 
    • This button is inherited by VisualScript/VisualShaders editors
       to invoke the method.
• Undo/redo is functional with this method.
    • By using signals in arrange_nodes(), position changes are registered 
       in undo/redo stack of the subclass that is using the method. 
• Metadata of the method has been updated in ClassDB
• Method description has been added to class reference of GraphEdit
2021-08-11 00:44:28 +05:30
PouleyKetchoupp 4da3a87f7d Remove infinite inertia and ray shapes from CharacterBody
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.

Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
2021-08-10 12:10:26 -07:00
Rémi Verschelde ac1dab5062
Merge pull request #51027 from fabriceci/improve-move-and-slide
Add properties to CharacterBody for more move_and_slide options
2021-08-10 18:55:58 +02:00
Rémi Verschelde dce488d8f7
Merge pull request #49417 from Bhu1-V/gsoc-cmd-plt
Command Palette For Godot
2021-08-10 18:55:22 +02:00
Rémi Verschelde d915c187d0
Merge pull request #51474 from aaronfranke/organize-viewport
Organize methods in Viewport and explicitly name 3D methods with 3D
2021-08-10 18:55:08 +02:00
Rémi Verschelde 46beaacec3
Merge pull request #51017 from vnen/extension-fixes 2021-08-10 16:42:31 +02:00
Aaron Franke 339687e04f
Organize methods in Viewport and explicitly name 3D methods with 3D 2021-08-10 09:10:34 -05:00
fabriceci c6666cc051 Add properties to CharacterBody for more move_and_slide options 2021-08-10 15:57:33 +02:00
Rémi Verschelde 50d5569ad4
Merge pull request #51457 from nekomatata/moving-platforms-3d
Fix 3D moving platform logic
2021-08-10 14:12:01 +02:00
Rémi Verschelde 16d73fefdb
Merge pull request #50682 from aaronfranke/basis-looking-at
Move code for looking_at to Basis
2021-08-10 11:28:12 +02:00
PouleyKetchoupp ec9fed69f4 Fix 3D moving platform logic
Same thing that was already done in 2D, applies moving platform motion
by using a call to move_and_collide that excludes the platform itself,
instead of making it part of the body motion.

Helps with handling walls and slopes correctly when the character walks
on the moving platform.

Also made some minor adjustments to the 2D version and documentation.

Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2021-08-09 20:21:04 -07:00
Rémi Verschelde 2de5d2361a
Merge pull request #51446 from nekomatata/fix-moving-platform-rotation
Fix applied rotation from moving platforms in move_and_slide
2021-08-09 23:20:44 +02:00
PouleyKetchoupp 5650c83e4b Fix applied rotation from moving platforms in move_and_slide
When synchronizing CharacterBody motion with moving the platform using
direct body state, only the linear velocity was taken into account.

This change exposes velocity at local point in direct body state and
uses it in move_and_slide to get the proper velocity that includes
rotations.
2021-08-09 12:30:17 -07:00
Fabio Alessandrelli 9fcf3b5a9c [Net] Basic extensible MultiplayerAPI spawn/despawn.
`PackedScene`s can be configured to be spawnable via a new
`MultiplayerAPI.spawnable_config` method.
They can be configured either to be spawned automatically when coming
from the server or to always require verification.
Another method, `MultiplayerAPI.send_spawn` lets you request a spawn on
the remote peers.
When a peer receive a spawn request:
- If it comes from the server and the scene is configured as
  `SPAWN_MODE_SERVER`:
  - Spawn the scene (instantiate it, add it to tree).
  - Emit signal `network_spawn`.
- Else:
  - Emit signal `network_spawn_request`.

In a similar way, `despawn`s are handled automatically in
`SPAWN_MODE_SERVER`.

In `SPAWN_MODE_SERVER`, when a new client connects it will also receive,
from the server all the spawned (and not yet despawned) instances.
2021-08-09 16:34:40 +02:00
Fabio Alessandrelli 9798d08ac2 [Core] Expose ResourceLoader.get_resource_uid. 2021-08-09 16:26:56 +02:00
Bhuvan Vemula a0a019a998 Added EditorCommandPalette 2021-08-09 17:41:50 +05:30
bruvzg 7c3c5603d0 [Text Server] Improve object (image/table) inline alignment. 2021-08-08 22:35:47 +03:00
Rémi Verschelde 73cd3f0b38
Merge pull request #51395 from angad-k/pseudolocalization-squashed
Add pseudolocalization to Godot. (GSoC'21)
2021-08-08 17:55:30 +02:00
Angad Kambli e79dde1cbb add pseudolocalization to Godot 2021-08-08 20:37:57 +05:30
follower b85688ac7d
Fix Unicode URL link tags to render correctly.
Change incorrect `[/code]` closing tags to `[/url]` tags.

The `url` tags for the links to the Unicode code points information use `[/code]` rather than `[/url]` to close them.

This results in the links being rendered incorrectly in the IDE--the entire rest of the documentation for each method gets turned into a giant underlined link.

This issue was introduced in a2271ba3bd.
2021-08-08 15:10:17 +12:00
Michael Alexsander 4bef900399 Invert how `global_rate_scale` value works, and rename it to `playback_speed_scale` 2021-08-07 12:32:42 -03:00
Yuri Sizov ecf42e2235 Improve the inspector plugin documentation and remove a confusing statement 2021-08-06 21:01:00 +03:00
Rémi Verschelde ed15d2c413
Merge pull request #49924 from BastiaanOlij/mobile_render_subpass
Use subpasses to do 3D rendering and resolve in mobile renderer
2021-08-06 17:00:00 +02:00
George Marques 08804922f2
Bind missing constants from PropertyHint and PropertyUsage 2021-08-06 11:19:44 -03:00
Bastiaan Olij b920bf05a4 Use subpasses to do 3D rendering and resolve in mobile renderer 2021-08-06 23:43:26 +10:00
Rémi Verschelde faad8833fe
Merge pull request #51234 from akien-mga/tests-file-get_csv_line
Tests: Improve coverage for `File::get_csv_line()`
2021-08-06 10:17:12 +02:00
George Marques 3f362cec68
Improve extension system
- Fix library loading and initialization.
- Add extra methods/parameters in the interface needed by extenstions.
- Add Variant destructors and functions for extracting values and
  creating Variants from values.
2021-08-05 14:57:31 -03:00
George Marques 97947bc063
Fix a few default parameters in bindings
They have the wrong type and cause issues with extensions.
2021-08-05 14:57:29 -03:00
Rémi Verschelde 4cf12d7895
Merge pull request #51215 from akien-mga/shortcut-rename-property-to-event
Shortcut: Rename `shortcut` property to `event`
2021-08-05 15:52:20 +02:00
Rémi Verschelde de2c2be19b
Shortcut: Rename `shortcut` property to `event`
Having a property which has the same name as its class leads to confusing
situations (e.g. `BaseButton` has a `shortcut` property of type `Shortcut`
which has a `shortcut` property of type `InputEvent`).

Also renames `is_event` to `matches_event`, and `is_valid` to `has_valid_event`
to better reflect what the methods check.
2021-08-05 13:48:43 +02:00
Yuri Sizov bf2839ea3e Add theme item descriptions to the online documentation 2021-08-04 22:27:10 +03:00
Rémi Verschelde b8c08ba5ad
Tests: Improve coverage for `File::get_csv_line()`
Adds a few more complex edge cases which are supported.

Also adds some documentation, simplifies the code a bit and forbids using
double quotes as a delimiter.
2021-08-04 11:53:21 +02:00
Anilforextra 0c06ed98fb Fixed awkwardly named AnimatedSprite Setters. 2021-08-04 15:31:40 +05:45
Rémi Verschelde 0cee8831b2
Merge pull request #51005 from Faless/mp/4.x_channels
[Net] Implement RPC channels in MultiplayerAPI.
2021-08-04 09:31:33 +02:00
Rémi Verschelde ba2e6c66cb
Merge pull request #50893 from KoBeWi/how_to_config_file
Improve ConfigFile example
2021-08-03 14:55:23 +02:00
kobewi 1721f0143e Improve ConfigFile example 2021-08-03 14:32:46 +02:00
Kevin Sanders 6db57b9da2
Grammar fix. 2021-08-03 00:37:57 -04:00
Rémi Verschelde c17a541650
Merge pull request #51039 from nekomatata/layer-grid-32
Refactor layer property editor grid
2021-08-02 21:14:16 +02:00
Yuri Roubinsky bd6b7c4b0f
Merge pull request #51144 from Chaosus/vs_version
Makes dictionary instead of string for visual shader version
2021-08-02 21:55:50 +03:00
Rémi Verschelde c620ede327
Merge pull request #50122 from Paulb23/code_edit_auto_brace_completion 2021-08-02 20:44:39 +02:00
Yuri Roubinsky 94c6817b51 Makes dictionary instead of string for visual shader version
Update doc/classes/VisualShader.xml

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-08-02 21:34:19 +03:00
Gilles Roudière ad8b5cd5a4 Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead 2021-08-02 13:54:39 +02:00
Aaron Franke 9f3ae0adcd
Move code for looking_at to Basis 2021-08-01 12:49:02 -05:00
Paulb23 809a32c045 Clean up and complete CodeEdit inspector and docs 2021-08-01 12:24:19 +01:00
Paulb23 dd5a37f556 Move symbol lookup into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23 8f900ac178 Move line length guidelines into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23 d1a1ad127e Move brace matching into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23 12f0053555 Move auto brace completion to CodeEdit 2021-08-01 12:06:33 +01:00
Rémi Verschelde 6acbcf7a86
Merge pull request #50625 from nekomatata/body-one-direction-layers
One-directional collision layer check for rigid bodies and soft bodies
2021-07-31 22:12:46 +02:00
Aaron Franke 2733b9abd8
Remove obsolete "dectime" method
Replaced by "move_toward"
2021-07-30 16:41:28 -05:00
PouleyKetchoupp 7a0c210f9b Refactor layer property editor grid
- Now able to display up to 32 layers in physics (still 20 for render)
- Adjustable grid size to fit available space in dock
- Expansion icon to display more layers vertically
- Layer numbers in cells to help with selection
2021-07-30 11:19:50 -07:00
Fabio Alessandrelli 2cf39b97ae [Net] Implement RPC channels in MultiplayerAPI. 2021-07-30 17:29:50 +02:00
Rémi Verschelde 7adf4cc9b5
doc: Use self-closing tags for `return` and `argument`
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
Raul Santos 55206ecb76 Add Input documentation for `exact_match` 2021-07-30 15:21:35 +02:00
Michael Alexsander 94a64d557e Add `auto_translate` toggle for automatic translation 2021-07-29 18:30:34 -03:00
reduz 55d357b1eb Fix directional shadow bias
* Simplified code a lot, bias based on normalized cascade size.
* Lets scale cascades, max distance, etc. without creating acne.
* Fixed normal biasing in directional shadows.

I removed normal biasing in both omni and spot shadows, since the technique can't be easily implemented there.
Will need to be replaced by something else.
2021-07-29 13:51:32 -03:00
Fabio Alessandrelli 1e8bf86379 [Net] Add generate_unique_id to MultiplayerPeer.
Used by ENetMultiplayerPeer and WebSocketServer to generate network IDs,
and exposed to the user for p2p networks (e.g. WebRTCMultiplayerPeer)
and custom MultiplayerPeer implementations.
2021-07-29 10:40:03 +02:00
Rémi Verschelde 60eb508fbb
Merge pull request #50961 from YeldhamDev/embed_windows_fixes
Multiple cosmetic fixes for embedded windows
2021-07-28 18:24:07 +02:00
Rémi Verschelde 6256936d77
Merge pull request #50677 from Calinou/doc-image-save-exr-editor-only
Document `Image.save_exr()` only being available in editor builds
2021-07-28 15:29:52 +02:00
Michael Alexsander 79fc188fc4 Multiple cosmetic fixes for embedded windows 2021-07-27 23:55:06 -03:00
jfons d7b58ebc9c 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.
2021-07-27 12:55:57 +02:00
Rémi Verschelde 8f6c16e4a4
Merge pull request #50847 from reduz/implement-binary-shader-compilation
Implement Binary Shader Compilation
2021-07-26 17:09:48 +02:00
reduz cf3f404d31 Implement Binary Shader Compilation
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.

This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
2021-07-26 08:40:39 -03:00
Hugo Locurcio 37c1cbdcb2
Document caveats with Control's `mouse_entered`/`mouse_exited` signals 2021-07-25 22:43:02 +02:00
Rémi Verschelde 2f221e5fd5
Merge pull request #50250 from luzpaz/typos
Fix various typos
2021-07-25 12:38:58 +02:00
Rémi Verschelde c91860bb11
ResourceUID: Fix `remove_id` binding
Fixes #50833.
2021-07-25 11:55:56 +02:00
luz paz 3564c16cb8
Fix various typos with codespell
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Raul Santos f8374b021e Fix typo in CollisionObject documentation 2021-07-24 22:57:18 +02:00
Rémi Verschelde fb821b8398
Merge pull request #50535 from ChristopheClaustre/packedbytearray_decode_api
Change in PackedByteArray decode api and docs
2021-07-24 21:54:48 +02:00
ChristopheClaustre 20818c12b7 New to_***_array method to decode PackedByteArray to Packed***Array
Documentation for new PackedByteArray::to_***_array methods
Documentation for to_byte_array method for PackedInt32/Int64/Float32/Float64Array
2021-07-24 21:06:47 +02:00
Rémi Verschelde 2b1e6e303e
Merge pull request #50786 from reduz/implement-resource-uids
Implement Resource UIDs
2021-07-24 17:18:12 +02:00
reduz 32b43cfeb3 Implement Resource UIDs
* Most resource types now have unique identifiers.
* Applies to text, binary and imported resources.
* File formats reference both by text and UID (when available). UID always has priority.
* Resource UIDs are 64 bits for better compatibility with the engine.
* Can be represented and used textually, example `uuid://dapwmgsmnl28u`.
* A special binary cache file is used and exported, containing the mappings.

Example of how it looks:

```GDScript
[gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"]

[ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"]
```

GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files.
This will be reserved for future PRs.
2021-07-24 09:16:52 -03:00
Rémi Verschelde 4c3d5850de
Merge pull request #50748 from JFonS/gizmo_rework
Node3D gizmo improvements
2021-07-23 21:55:16 +02:00
jfons cfb555a081 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.
2021-07-23 21:01:10 +02:00
Rémi Verschelde c25fa02c1c
Merge pull request #50765 from Calinou/resource-importer-expose-order-enum
Expose an ImportOrder enum in ResourceImporter
2021-07-23 19:32:44 +02:00
Rémi Verschelde eefc67a810
Merge pull request #50747 from bruvzg/move_alert_to_os
Move `alert` function from `DisplayServer` to `OS`.
2021-07-23 19:27:31 +02:00
Rémi Verschelde 9b034c9304
Merge pull request #50776 from SirQuartz/patch-30 2021-07-23 19:23:30 +02:00
Nicholas Huelin 9a72b0d3d0 Fix doc typos
This pull request fixes an assortment of typos and improves conciseness in `Animation`, `Area2D`,  `Array`, `ArrayMesh`, `Control`, `Directory`, `EditorPlugin`, `Engine`, and `OS`.
2021-07-23 12:15:15 -04:00
Hugo Locurcio 7f83977f37
Expose an ImportOrder enum in ResourceImporter
This avoids using magic numbers in code.
2021-07-23 12:12:25 +02:00
Fabio Alessandrelli 1147fa5c19 Make Object "meta" functions take StringName.
The various get_meta, set_meta, has_meta, get_meta_list, remove_meta
functions now uses StringName, allowing further optimizations via the
SNAME macro when used from C++ (this PR does not change the various
usage though).
2021-07-22 22:52:30 +02:00
bruvzg 618eb27e8b Move `alert` function from `DisplayServer` to `OS`. 2021-07-22 21:50:35 +03:00
Nicholas Huelin 9787e631aa Fix miscellaneous doc typos and inconsistencies
This pull request fixes an assortment of typos, improves conciseness, and enhances clarity.
2021-07-22 14:01:39 -04:00
Distrikt64 44eb041d60 Fix msec documentation description typo 2021-07-22 16:38:19 +02:00
Rémi Verschelde 594e3cac86
Merge pull request #50697 from Calinou/doc-rootmotionview
Document the RootMotionView class
2021-07-22 08:55:16 +02:00
Rémi Verschelde a4c863791e
Merge pull request #50716 from Deledrius/multimesh-typo
Fix grammar in MultiMesh documentation.
2021-07-21 23:47:52 +02:00
Rémi Verschelde d42f6f4718
Merge pull request #50370 from QbieShay/circle-emitter-particle
Ring emitter for 4.0
2021-07-21 16:50:26 +02:00
Hugo Locurcio 6880829a9a
Document the RootMotionView class 2021-07-21 15:18:42 +02:00
Gilles Roudière 5d34a81e52 Implement atlas merging and tile proxies 2021-07-21 12:36:37 +02:00
Hugo Locurcio a1784c64b4
Document `Image.save_exr()` only being available in editor builds 2021-07-21 03:46:16 +02:00
Rémi Verschelde c82daaed48
Merge pull request #38317 from verdog/get-cam-2d-4.0
add viewport.get_camera_2d()
2021-07-20 22:19:06 +02:00
Fabio Alessandrelli ddb68f76ff [Net] Single `rpc` annotation. "sync" no longer part of mode.
- Move the "sync" property for RPCs to RPCConfig.

- Unify GDScript annotations into a single one:
  - `@rpc(master)` # default
  - `@rpc(puppet)`
  - `@rpc(any)` # former `@remote`

- Implement three additional `@rpc` options:
  - The second parameter is the "sync" option (which also calls the
    function locally when RPCing). One of "sync", "nosync".
  - The third parameter is the transfer mode (reliable, unreliable,
    ordered).
  - The third parameter is the channel (unused for now).
2021-07-20 11:17:59 +02:00
Rémi Verschelde 1ba87f0c82
Merge pull request #50618 from reduz/implement-more-specialization-constants
Implement more rendering options as specialization constants
2021-07-20 08:54:21 +02:00
reduz 9293bc3935 Implement more rendering options as specialization constants
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.

These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
2021-07-19 21:51:29 -03:00
PouleyKetchoupp 940838c174 One-directional collision layer check for rigid bodies and soft bodies
Check for each body individually if it collides with the other one or
ignores it.

When a body is being ignored, the other body's mass is considered
infinite when applying impulses to avoid extra overlapping.
2021-07-19 17:24:04 -07:00
Joseph Davies 136567ebcf
Fix grammar in MultiMesh documentation. 2021-07-19 02:16:27 -07:00
Yuri Roubinsky 1597045b09 Fixed typos in `TextEdit::GutterType` enum 2021-07-19 11:18:54 +03:00
reduz a3fb76cd45 Create many types of popups on demand
* LineEdit popups created on demand.
* TextEdit popups created on demand.
* SpinSlider popups created on demand.
* ResourcePicker popups created on demand.

Improves editor responsiveness.
2021-07-17 10:57:14 -03:00
Hugo Locurcio 523d6b2ae8
Merge pull request #47395 from sygi/shape_idx_collision
Add shape_idx to CollisionObject2D mouse_entered signal
2021-07-16 19:05:08 +02:00
Rémi Verschelde 60add98a4c
Merge pull request #49328 from nekomatata/sync-to-physics-3d
Support for 3D sync to physics
2021-07-15 23:18:59 +02:00
PouleyKetchoupp 7f92127959 Support for 3D sync to physics
Same implementation as in 2D.
2021-07-15 10:15:13 -07:00
PouleyKetchoupp d12b44ca13 Move sync to physics to StaticBody2D
Now static body is used for moving platforms through kinematic motion
property, so sync to physics needs to be in StaticBody2D instead of
CharacterBody2D.

Constant kinematic motion is also supported in combination with sync to
physics for smoother movements.
2021-07-15 10:13:27 -07:00
fabriceci cee814e4df Fixing 2D moving platform logic
Fixing by applying the movement in two steps, first the platform
movement, and then the body movement. Plus, add the platform movement
when we are on_wall.
2021-07-15 11:54:43 +02:00
Rémi Verschelde 29c56f33a4
Merge pull request #48502 from KoBeWi/visual_button
Add set_pressed_no_signal method to BaseButton
2021-07-14 15:05:50 +02:00
Rémi Verschelde 8f6240a275
Merge pull request #49348 from Geometror/fix-particles-hidden-basecolor
Fix color properties of particle nodes/material
2021-07-14 15:05:20 +02:00
Rémi Verschelde d5b8abdb67
Merge pull request #50429 from pycbouh/classref-get-theme-items
Improve `Control`'s theme item methods documentation
2021-07-14 09:29:27 +02:00
Rémi Verschelde 96a69899d0
Merge pull request #50255 from Calinou/physicsserver3d-add-set-iterations
Add a method to set the number of physics solver iterations in 3D
2021-07-14 07:56:24 +02:00
Rémi Verschelde 536825d004
Rename Curve3Texture to CurveXYZTexture
Neither name is a perfect match but `Curve3Texture` looked too similar to
`CurveTexture` and `Curve3D`, which made things confusing when picking a
texture type or browsing the API reference.
2021-07-14 00:30:58 +02:00
Yuri Sizov 21b994ac99 Improve Control's theme item methods documentation 2021-07-14 01:26:02 +03:00
Tomasz Chabora 1054956461 Document remaining Visual Script classes 2021-07-13 23:43:46 +02:00
Hugo Locurcio a3fbd68781
Fix casing of the "to" stop word in editor strings
This also fixes a C# documentation example that had one of its
strings incorrectly converted.
2021-07-13 15:29:06 +02:00
Rémi Verschelde b44b277f6f
Merge pull request #50169 from pycbouh/theme-type-variations 2021-07-13 15:13:00 +02:00
kobewi 50c63bdc4c Add set_pressed_no_signal method to BaseButton 2021-07-13 13:57:26 +02:00
Rémi Verschelde aab6dc301c
Merge pull request #50086 from Geometror/label-improve-layout-options
Improvements to Label's layout options
2021-07-13 13:10:42 +02:00
Yuri Sizov 4ee0e6ddf5 Add type variations to Theme 2021-07-13 02:26:28 +03:00
Rémi Verschelde fc00a83901
Merge pull request #50262 from nekomatata/convex-hull-simplification
Options to clean/simplify convex hull generated from mesh
2021-07-12 22:15:40 +02:00
Fabio Alessandrelli b31e8530b2 [Net] Rename NetworkedMultiplayerENet to ENetMultiplayerPeer. 2021-07-12 16:36:34 +02:00
Fabio Alessandrelli 88d68346ee [Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer. 2021-07-12 16:36:34 +02:00
Fabio Alessandrelli 31142ac3ee [Net] Remove most multiplayer hooks from SceneTree.
Use `multiplayer` or `get_multiplayer()` instead of `get_tree()`.
2021-07-12 15:28:01 +02:00
Hendrik Brucker 74ab336fe3 Change VSync mode project setting enum type from string to integer 2021-07-12 03:35:51 +02:00
reduz b2f6db7aa8
Implement Specialization Constants
* Added support to our local copy of SpirV Reflect (which does not support it).
* Pass them on render or compute pipeline creation.
* Not implemented in our shaders yet.
2021-07-11 23:16:09 +02:00
QbieShay 9058367d14 This commits adds a new emitter type for particles material
and 3D CPU particles. The new emitter is called "ring"
and it can emit either in a ring or cylinder fashion.
This adds the following properties for the emitter:
1. emission_ring_axis: the axis along which the ring/cylinder
    will be constructed
2. emission_ring_radius: outer radius of the ring/cylinder
3. emission_ring_inner_radius: inner radius of the cylinder.
    when set to zero, particles will emit in the full volume.
4. emission_ring_height: height of the ring/cylinder emitter.
2021-07-11 17:30:47 +02:00
QbieShay c4d8eecfe5 added offset for plane mesh and quad mesh 2021-07-11 14:33:08 +02:00
Haoyu Qiu 422f821be9 Fix doc description of HTTPClient::request 2021-07-11 00:52:21 +08:00
Hugo Locurcio f0a145bbf5
Add a method to set the number of physics solver iterations in 3D
This is only for GodotPhysics, and adds a 3D counterpart to the 2D
method that was recently added.
2021-07-10 16:28:34 +02:00
Nick Huelin 7e56b7083d
Add method description to `is_embedding_subwindows` in `Viewport`
This pull request adds a missing method description to `Viewport` in the class docs.
2021-07-10 05:59:26 -04:00
Hugo Locurcio a2d5f191d8
Merge pull request #48622 from Geometror/reimplement-disableable-vsync 2021-07-10 01:02:23 +02:00
Nick Huelin 2e3cbbcd11 Add method description to `PopupMenu`
This pull request adds a missing method description to `PopupMenu`.

This completes the documentation for `PopupMenu` and enhances usability by doing so.

Update doc/classes/PopupMenu.xml

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-07-08 07:34:14 -04:00
PouleyKetchoupp 1de995ae99 Options to clean/simplify convex hull generated from mesh
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)

In the editor, single convex hull now uses the clean option.
Added a new editor entry to create a simplified convex hull, can be
useful for creating convex hull from highly tessellated triangle meshes.
2021-07-07 12:14:12 -07:00
Rémi Verschelde e4c940ee6a
Merge pull request #50208 from kleonc/accept_dialog-remove_button
Add AcceptDialog::remove_button method
2021-07-07 09:12:03 +02:00
Nick Huelin 4a0cadd4ed Add note to `RichTextLabel` 2021-07-07 02:11:59 -04:00
Hugo Locurcio 7f845d913a
Fix warning message spam when a VoxelGI node is selected in the editor
Support for anisotropy in VoxelGI was removed during its development
due to the high cost. This was a leftover from anisotropy support.
2021-07-06 23:02:59 +02:00
kleonc 714e6a595d Add AcceptDialog::remove_button method 2021-07-06 18:14:20 +02:00
Rémi Verschelde 9a1ce8e6c3
LineEdit: Respect `max_length` by truncating text to append
When appending text (either via `set_text()` or by pasting from clipboard),
if the input would make the `LineEdit` exceed its configured `max_length`,
the input text is truncated to fit. The discard part is passed as a parameter
in the `text_change_rejected` signal.

Fixes #33321.
Fixes #41278.

Also cleaned up unimplemented `max_chars` property in `TextEdit`.

Co-authored-by: Tony-Goat <70238376+Tony-Goat@users.noreply.github.com>
2021-07-06 18:03:03 +02:00
Nick Huelin d62175e009
Add note to `SceneTree` about pausing
This pull request adds a small amendment to `SceneTree` describing the behavior `_physics_process()` when pausing the scene.

`_physics_process` will completely stop processing collisions and signals whenever the scene is paused, however, the function will still receive calls.

This addresses: #47326
2021-07-06 11:17:14 -04:00
Hendrik Brucker 043ae91560 Restructure and reimplement vsync options
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
2021-07-06 16:34:26 +02:00
George Marques 0525467fbc
Fix TileSet::CellNeighbor enum binding
Having the TileSet:: prefix has some unintended consequences in the
bindings, in particular in the extension API dump.
2021-07-06 11:07:58 -03:00
Rémi Verschelde d31cf83bb3
Merge pull request #50203 from SirQuartz/docs
Add multiple descriptions to several classes
2021-07-06 14:10:33 +02:00
Nick Huelin 27e9df7778 Add multiple descriptions to several classes
This pull request adds several descriptions to multiple different classes.

This improves the completeness of the documentation and enhances usability by doing so.
2021-07-06 07:40:27 -04:00
reduz 7f6027927a Fix Subsurface Scattering
* Works again
* Transmittance also works again
* Removed the curve patamter, exp() function is good enough.
2021-07-05 17:17:45 -03:00
PouleyKetchoupp ccac36a6e2 Remove unused PhysicsShapeQueryResult3D & PhysicsShapeQueryResult2D 2021-07-05 11:16:11 -07:00
Nick Huelin e9cbe896cc
Add many descriptions to the `Window` class
This pull request adds many missing descriptions to `Window` in the class docs.
2021-07-05 09:43:51 -04:00
reduz f4379cbc82 Clean up Tree
Fixes some problems introduced by #49917

* Tree used minimum size as a stretch ratio, so it forced a minimum size of 1.
* Minimum size redone, stretch ratio moved to a separate setting
* Fitting to contents was enforced, this is more intuitive, but in many situations this is undesired.
* Added a clip content option for situations where fit to contents does not apply.
* Icon would scroll with the item, making it invislbe if the item is too long.
* Made icon always appear to the right (or left if RTL is enabled) of the visible item space.
2021-07-04 13:13:53 -03:00
Hendrik Brucker 56a8d3f30c Improvements to Label's layout options
- Added options to trim the text in case it overruns
- Added more autowrap modes
- Improved line breaking, which ignores trailing spaces
2021-07-04 16:43:55 +02:00
Hendrik Brucker 3a4a2198ed Fix color properties of particle nodes/material 2021-07-04 02:14:31 +02:00
Josh Chandler 879f84d8f8 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
2021-07-03 15:08:17 -04:00
Rémi Verschelde cb4e42155d
Merge pull request #50054 from reduz/curve-texture-3d
Implement Curve3Texture
2021-07-03 20:32:18 +02:00
reduz d6893cb2e8 Implement Curve3Texture
* This was required by users in some scenarios, such as animating individual axes over time with a single texture.
* Examples: Shaders, Particles, etc.
* CurveTexture now defaults to RGB, can be changed to Red if needed, this allows to freely exchange them.
2021-07-03 12:11:01 -03:00
reduz 6c55d2aad2 Fix Render Info
* Fixed and redone the process to obtain render information from a viewport
* Some stats, such as material changes are too difficult to guess on Vulkan, were removed.
* Separated visible and shadow stats, which causes confusion.
* Texture, buffer and general video memory can be queried now.
* Fixed the performance metrics too.
2021-07-03 10:15:04 -03:00
Rémi Verschelde b9b128cb1d
Merge pull request #50102 from nekomatata/expose-body-test-motion-3d
Expose body_test_motion in 3D physics server
2021-07-03 09:29:46 +02:00
PouleyKetchoupp 62e577267f Expose body_test_motion in 3D physics server
Results are exposed through PhysicsTestMotionResult3D, the same way it's
done for 2D.

Also cleaned a few things in the 2D version.
2021-07-02 18:03:44 -07:00
Rémi Verschelde a8fb450b3c
Merge pull request #50092 from YeldhamDev/window_get_contents_expose
Expose `Window.get_contents_minimum_size()` to scripts
2021-07-02 22:12:11 +02:00
sygi 6f3e7f7cb0 Add mouse_shape_entered and mouse_shape_exited signals to CollisionObject2D.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-07-02 20:50:27 +01:00
Michael Alexsander a829e88ddc Expose `Window.get_contents_minimum_size()` to scripts 2021-07-02 15:35:56 -03:00
Hugo Locurcio 5370f4876e
Remove leftovers from the DirectionalLight3D Optimized shadow depth range
The Optimized shadow depth range was removed in late 2020 in favor
of the Stable shadow depth range, but it still had a (broken) property
that allowed to enable it.
2021-07-02 20:32:43 +02:00
Hugo Locurcio 7d4c20f9db
Improve and clarify documentation for RandomNumberGenerator 2021-07-02 17:47:52 +02:00
Nick H c6f28ed62b Add `get_dead_zone()` method to `InputMap`
This commit adds a new method to the `InputMap`, allowing the user to get the value of an action's dead zone as a float.
2021-07-02 03:07:37 -04:00
Rémi Verschelde ad8a2b3d52
Merge pull request #50040 from reduz/fix-renderingserver-bindings
Clean up RenderingServer and its bindings
2021-07-01 15:17:33 +02:00
reduz 37776b2867 Clean up RenderingServer and its bindings
* Rewrote bindings for RenderingServer.
* They are now all up to date.
* Several unused methods and deprecated features were cleaned up.
2021-07-01 09:07:36 -03:00
Rémi Verschelde 230a24a49d
Merge pull request #50026 from lyuma/callable_is_valid
Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x
2021-07-01 12:57:14 +02:00
Lyuma 8f1efa656b Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x 2021-07-01 02:54:01 -07:00
Eric 525ad7c37e Enable Camera2D smoothing on limit change 2021-06-30 16:21:29 -07:00
Rémi Verschelde 915344fe76
Merge pull request #49834 from nekomatata/physics-disable-modes
Add support for controlling physics nodes' behavior when disabled
2021-06-30 20:36:36 +02:00
Rémi Verschelde 270f9d4c88
Merge pull request #50014 from reduz/remove-immediate
Deprecate ImmediateGeometry
2021-06-30 20:18:59 +02:00
reduz 85cf99f28e Deprecate ImmediateGeometry
* Removed entirely from RenderingServer.
* Replaced by ImmediateMesh resource.
* ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future.
* Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4).
* RootMotionView works again.
* Polygon3D editor works again.
2021-06-30 14:14:41 -03:00
Rémi Verschelde a02620f3a5
Merge pull request #50009 from reduz/fix-suffixes-and-degrees
Fix editor suffixes and degrees conversion
2021-06-30 18:47:40 +02:00
PouleyKetchoupp 5cbdc7a0ac Add support for controlling physics nodes' behavior when disabled
New property disable_mode to set different behaviors:
Remove: remove from physics simulation
MakeStatic: change body mode to static (doesn't affect area and soft body)
KeepActive: do nothing

Extra change:
Handle disable/enable node state with specific notifications, in order
to differentiate global pause from disabled nodes.
2021-06-30 09:20:44 -07:00
reduz 75688772b3 Fix editor suffixes and degrees conversion
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:

* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-30 12:38:25 -03:00
Rémi Verschelde bcd1fc832f
Merge pull request #49901 from nekomatata/move-and-collide-fix-slide
Fix move_and_collide causing sliding on slopes
2021-06-30 02:18:01 +02:00
reduz d07f7c8d25 Fixes to 2D viewport
* Editor 2D viewport now uses embedded subwindows (windows no longer pop up)
* Restored the ability to disable 3D on the 2D viewport (makes 3D not display on 2D when there is a camera on the scene)
2021-06-29 17:40:45 -03:00
Rémi Verschelde 76dc811c76
Merge pull request #49470 from levilindsey/master
Update File.store_var description to mention which properties of an object are included.
2021-06-29 13:59:17 +02:00
Rémi Verschelde 90982d60cb
Merge pull request #37181 from jitspoe/master.button_icon_alignment 2021-06-29 13:31:53 +02:00
Rémi Verschelde dfdde2c598
Merge pull request #49812 from nekomatata/node-path-editor-update
NodePath properly updated in the editor in more cases when nodes are moved or renamed
2021-06-29 12:51:38 +02:00
Rémi Verschelde 36d4314f15
Merge pull request #49921 from SirQuartz/patch-7
Update `Label.clip_text()` Method Description
2021-06-29 12:39:52 +02:00
jitspoe e192eb05db
Add alignment options to icons on buttons.
They can now be centered and right-aligned.

Fixes #11380.
2021-06-29 12:31:40 +02:00
Rémi Verschelde 8fb7a9f023
Merge pull request #49719 from LightningAA/rename-node-is-ancestor-of
Rename `is_a_parent_of()` to `is_ancestor_of()`
2021-06-29 12:07:25 +02:00
Gilles Roudière 30a615dd94 Implement painting properties over TileSets 2021-06-29 11:07:46 +02:00
PouleyKetchoupp 9758a75221 Fix move_and_collide causing sliding on slopes
Make sure the direction of the motion is preserved, unless the depth is
higher than the margin, which means the body needs depenetration in any
direction.

Also changed move_and_slide to avoid sliding on the first motion, in
order to avoid issues with unstable position on ground when jumping.

Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2021-06-28 17:17:52 -07:00
Rémi Verschelde 89f270f4c5
Merge pull request #49917 from groud/tree_disable_scroll
Allow disabling scrolling in Tree and implement horizontal scrolling
2021-06-28 18:41:23 +02:00
PouleyKetchoupp 3e4e530523 NodePath properly updated in the editor in more cases
Fix more cases of node path needing an update when nodes are renamed or
moved in the editor.

Built-in node properties:
Before, node paths were checked only for script export variables. Now
all properties are checked from the node, which includes built-in node
properties.
Allows proper node path updates for nodes like remote transform, physics
joints, etc.

Arrays and dictionaries:
Node paths nested in array and dictionary properties are now also
updated in the editor.

Also update the documentation to be clear about node path update in the
editor and at runtime.

Co-authored-by: latorril <latorril@gmail.com>
2021-06-28 09:28:29 -07:00
Gilles Roudière d7d32ced5b Implement Tree's internal minimum width calculation 2021-06-28 15:54:31 +02:00
Hugo Locurcio f28b55b551
Increase the default ReflectionProbe extents to Vector3(10, 10, 10)
On top of having a more realistic size out of the box, this matches
the default VoxelGI extents for better usability.
2021-06-27 16:46:03 +02:00
Nick H ea94aeac48
Amend `Label`.clip_text() Method Description
This update fixes an inconsistencies in the documentation about the `clip_text()` method.
2021-06-25 23:33:00 -04:00
reduz b1d15c51bc Implement native extension system
* Deprecates GDNative in favor of a simpler, lower level interface.
* New extension system allows registering core engine classes.
* Simple header interface in gdnative_interace.h
2021-06-25 17:32:45 -03:00
Gilles Roudière b2dddc3c82 Allow disabling scrolling in Tree 2021-06-25 21:19:46 +02:00
kobewi 452e10ba7b Remove clips_input() method and use clip_content 2021-06-25 15:46:37 +02:00
Rémi Verschelde e4430771db
Merge pull request #49885 from reduz/implement-render-pass-support
Implement Framebuffer Subpass support
2021-06-25 15:00:01 +02:00
reduz bde6f5eed1 Implement Framebuffer Subpass support
* Required for better optimizing mobile platforms
* Will be used by the Vulkan mobile renderer.
2021-06-24 15:59:15 -03:00
kobewi 678827bebc Correct the description of Tween.custom_step 2021-06-24 16:01:12 +02:00
Hugo Locurcio b4ed84ba2b
Allow a top and bottom radius equal to 0 in CylinderMesh
The CylinderMesh generation code handles this special case and
avoids generating the top and bottom faces if their radius is equal
to 0. This improves performance by reducing the number of vertices
to draw.

If both values are set to 0, nothing will be visible but the mesh
generation will still succeed.

This also improves the CylinderMesh class documentation.
2021-06-23 18:50:10 +02:00
Lightning_A 899e5f8685 Rename `is_a_parent_of()` to `is_ancestor_of()` 2021-06-21 08:39:28 -06:00
Paulb23 1a0cfc219b Move indent management to CodeEdit 2021-06-20 20:00:54 +01:00
Rémi Verschelde 953de68cfc
Merge pull request #35608 from golfinq/master 2021-06-20 18:51:15 +02:00
Aaron Franke 0ce49800ac
Use mouse and joypad enums instead of plain integers
Also MIDIMessage
2021-06-20 11:54:24 -04:00
golfinq 0c1d10d1ca Rich Text Label now allows for foreground colors and background colors 2021-06-20 11:29:37 -04:00
Hugo Locurcio e3ef50db38
Improve descriptions for ProjectSettings' `disable_stdout`/`disable_stderr` 2021-06-20 16:44:58 +02:00
Rémi Verschelde cca29b78b9
Merge pull request #48359 from Calinou/add-engine-print-error-property 2021-06-20 13:22:08 +02:00
Lightning_A e28fd07b2b Rename `instance()`->`instantiate()` when it's a verb 2021-06-19 20:49:18 -06:00
Rémi Verschelde 9c182b0f45
Merge pull request #41794 from KoBeWi/shiny_new_tweens 2021-06-20 00:35:28 +02:00
Rémi Verschelde 4effadc0ba
Merge pull request #48696 from madmiraal/fix-48692
Fix `InputMap.action_erase_event()` failing to erase events correctly.
2021-06-20 00:29:42 +02:00
Rémi Verschelde d88be9b70c
Merge pull request #44806 from madmiraal/consolidate_json
Consolidate JSON, JSONParseResults and JSONParser into JSON
2021-06-19 21:45:34 +02:00
Tomasz Chabora 900b2e0fdc Complete rewrite of Tweens
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween.
* Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot.
* Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget).
* There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener.
* The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners.
* Tweeners by default execute in sequence, so it's easy to create complex chained animations.
* You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
2021-06-19 12:08:50 +02:00
Marcel Admiraal 2bafcd3422 Consolidate JSON, JSONParseResults and JSONParser into JSON
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
2021-06-19 08:01:40 +01:00
Hugo Locurcio aa0976f47c
Expose OS data directory getter methods
This can be used by editor plugins and non-game applications to
store data in the correct directories according to the
XDG Base Directory specification.
2021-06-19 08:56:20 +02:00
PouleyKetchoupp 2bf145fa5d Make LineShape2D normal point upwards by default
Allows line shapes to collide with objects falling from the top by
default, which makes more sense for the most common cases.
2021-06-18 09:14:06 -07:00
Rémi Verschelde 92f20fd70e
Merge pull request #49659 from LightningAA/string-valid-integer-to-int 2021-06-18 16:14:14 +02:00
Rémi Verschelde 7aebb8f81c
Merge pull request #44156 from aaronfranke/quat-angle-to
Add Quaternion angle_to method
2021-06-18 12:35:58 +02:00
Rémi Verschelde 3fc39954ec
Merge pull request #49638 from aaronfranke/multiply-transforms
Allow multiplying Transforms and Basis by numbers
2021-06-18 12:35:14 +02:00
Rémi Verschelde 3e8620c275
Merge pull request #49475 from nekomatata/kinematic-collision-rid
Expose collider RID in 2D/3D kinematic collision
2021-06-18 12:32:26 +02:00
Aaron Franke 93b494d4ae
Add Quaternion angle_to method 2021-06-17 23:57:00 -04:00
Michael Alexsander Silva Dias 0ff4095b36 Better format arguments in variant parser 2021-06-18 00:06:40 -03:00
reduz 94d31ac327 Implement animation slice drawing in CanvasItem
* Added a function to ignore subsequent commands if they don't fall within the slice.
* This will be used by the new TileMap to properly provide animated tiles.
2021-06-17 12:42:27 -03:00
Rémi Verschelde 085e1d3c03
Merge pull request #49670 from reduz/rename-visibility-notifiers
Rename VisibilityNotifier2D/3D to VisibleOnScreenNotifier2D/3D
2021-06-17 15:14:44 +02:00
Rémi Verschelde 74850b3511
Merge pull request #38261 from pycbouh/adjust-graph-edit-zoom-levels
Make zoom limits and step adjustable in `GraphEdit`
2021-06-17 12:12:34 +02:00
reduz ab2456b740 Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD
* Renames for 2D and 3D
* Class name was confusing, given both 2D and 3D have a "visible" property that is unrelated to actual on-screen visibility.
* New name makes it clear that this is about visibility on screen.
2021-06-16 22:01:39 -03:00
Rémi Verschelde bb4c464fec
Merge pull request #49258 from megalobyte/editor-fix
Fixes for documentation search
2021-06-17 02:25:41 +02:00
reduz 6e98c4cd50 Refactor VisibilityNotifier3D
* This is the 3D counterpart to #49632
* Implemented a bit different as 3D works using instancing

After merged, both 2D and 3D classes will most likely be renamed in a separate PR to DisplayNotifier2D/3D.
2021-06-16 18:50:39 -03:00
Rémi Verschelde 341cb8da31
Merge pull request #49238 from Paulb23/code_edit_code_folding
Move code folding into CodeEdit and hide line hiding API
2021-06-16 20:11:39 +02:00
Gregory Basile 8ab13f8ace Documentation search fixes
Updates rich_text_label so that the built-in documentation can be searched
Previously, it would only find the first result and would not select other results
Renames "_entered" functions to "_submitted"
2021-06-16 09:43:34 -07:00
Lightning_A b6af2a29eb Rename `is_valid_integer()` to `is_valid_int()`
Method from `String`
2021-06-16 10:32:22 -06:00
Rémi Verschelde 48fe9c9794
Merge pull request #49657 from timothyqiu/postion
Fix typo in CodeEdit methods
2021-06-16 17:27:40 +02:00
Haoyu Qiu bf5f13e6a0 Fix typo in CodeEdit methods 2021-06-16 22:15:29 +08:00
reduz 38d164c74b Refactor VisibilityNotifier
* Works from RenderinServer
* Accurately tells when on or off-scren, its no longer approximate.
* VisibilityEnabler also simplified to use the process mode instead.
2021-06-16 10:48:57 -03:00
Yuri Sizov 0a82a669e3 Make zoom limits and step adjustable in GraphEdit 2021-06-16 16:39:18 +03:00
Levi Lindsey 2b7c0cfb34 Update File.store_var description to mention which properties of an object are included. 2021-06-15 20:00:19 -07:00
Aaron Franke bd6ed3fb09
Allow multiplying Transforms and Basis by numbers 2021-06-15 22:26:29 -04:00
Rémi Verschelde b574d29ed2
Merge pull request #48681 from Calinou/doc-audioeffectpitchshift
Complete documentation for the AudioEffectPitchShift class
2021-06-15 18:25:07 +02:00
Rémi Verschelde c2ba60f31a
Merge pull request #48682 from Calinou/doc-audio-generation
Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation
2021-06-15 16:55:14 +02:00
Rémi Verschelde b5da5543db
Merge pull request #49292 from KoBeWi/you_changed,_animation
Clarify animation_changed signal
2021-06-15 15:34:51 +02:00
Rémi Verschelde 529bf43134
Merge pull request #49432 from Calinou/tweak-physics-fps-property-hint
Tweak the physics FPS property hint to only allow reasonable values
2021-06-15 15:19:24 +02:00
Rémi Verschelde aa43b5a3f4
Merge pull request #48287 from aaronfranke/camera-is-frustum 2021-06-14 19:05:43 +02:00
Kyle 4eff57d39b Wrote JNISinglton docs
I added a few descriptions and links to the empty JNISingleton class doc.
2021-06-14 13:01:32 -04:00
Rémi Verschelde 07b8fffa7c
Merge pull request #49458 from JFonS/fix_unwrap_xform
Rename get_parent_spatial() to get_parent_node_3d()
2021-06-14 18:32:33 +02:00
Aaron Franke bd40474bd6
Add is_position_in_frustum to Camera3D 2021-06-14 12:03:18 -04:00
jfons ee702334a1 Rename get_parent_spatial() to get_parent_node3d()
Renames get_parent_spatial() to get_parent_node3d() and changes its
implementation. Before it was not returning a correct pointer if the
node wasn't added to a SceneTree. Now it uses the same implementation as
CanvasItem, which will be correct even for nodes outside a SceneTree.
2021-06-14 14:05:13 +02:00
jfons 3a53ae5d9f Implement visibility range and dependencies.
This commit adds the following properties to GeometryInstance3D: `visibility_range_begin`,
`visibility_range_begin_margin`, `visibility_range_end`, `visibility_range_end_margin`.

Together they define a range in which the GeometryInstance3D will be visible from the camera,
taking hysteresis into account for state changes. A begin or end value of 0 will be ignored,
so the visibility range can be open-ended in both directions.

This commit also adds the `visibility_parent` property to 'Node3D'.
Which defines the visibility parents of the node and its subtree (until
another parent is defined).

Visual instances with a visibility parent will only be visible when the parent, and all of its
ancestors recursively, are hidden because they are closer to the camera than their respective
`visibility_range_begin` thresholds.

Combining visibility ranges and visibility parents users can set-up a quick HLOD system
that shows high detail meshes when close (i.e buildings, trees) and merged low detail meshes
for far away groups (i.e. cities, woods).
2021-06-14 12:17:11 +02:00
Rémi Verschelde 4ebf248e1b
Merge pull request #48207 from BastiaanOlij/multiview_stereoscopic
Add stereoscopic rendering through multiview
2021-06-13 15:36:55 +02:00
Bastiaan Olij 15c1a76361 Add stereoscopic rendering through multiview 2021-06-13 22:52:20 +10:00
Rémi Verschelde ef7974f3d9
Merge pull request #49526 from Chaosus/fix_textureregion_errors 2021-06-13 14:44:50 +02:00
kobewi 3911e71a52 Fix some virtual methods 2021-06-13 02:02:39 +02:00
Rémi Verschelde 6d98f84abb
Merge pull request #48746 from KoBeWi/bane_of_all_virtual_compatibility
Consistently prefix bound virtual methods with _
2021-06-12 23:00:40 +02:00
Rémi Verschelde ac73059b56
Merge pull request #49123 from aaronfranke/it-is-time
Add a Time singleton
2021-06-12 22:55:25 +02:00
Hugo Locurcio 033985f9c2
Fix duplicate paragraph in `ArrayMesh.add_surface_from_arrays()` description 2021-06-12 17:48:56 +02:00
Yuri Roubinsky 19afaa0203 Fixed a bunch of connection errors in TextureEditorPlugin 2021-06-12 08:01:02 +03:00
kobewi 7ff135b015 Consistently prefix bound virtual methods with _ 2021-06-12 00:55:52 +02:00
Rémi Verschelde 243be93087
Merge pull request #47242 from sygi/bitmap-opaque-polygons
Bitmap opaque_to_polygons documentation
2021-06-11 23:44:47 +02:00
Rémi Verschelde ab29e3af53
Merge pull request #49515 from Calinou/doc-projectsettings-vram-compression-change
Document applying VRAM compression setting changes retroactively
2021-06-11 23:35:12 +02:00
Hugo Locurcio de39223503
Document applying VRAM compression setting changes retroactively 2021-06-11 22:47:50 +02:00
Rémi Verschelde 530e069bc3
Merge pull request #49312 from RandomShaper/reference_to_ref_count
Rename `Reference` to `RefCounted`
2021-06-11 19:46:25 +02:00
Rémi Verschelde 50d1e0ea99
Merge pull request #47835 from mortarroad/master-lossless-webp
Implement lossless WebP encoding
2021-06-11 19:34:36 +02:00
Pedro J. Estébanez 04688b92ff Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
Morris Tabor 1bc1e94208 Implement lossless WebP encoding 2021-06-11 18:46:04 +02:00
Rémi Verschelde 6b0183ec89
Merge pull request #49279 from Calinou/rename-string-is-abs-path-method
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11 15:58:16 +02:00
Rémi Verschelde 6107d9e180
Merge pull request #34566 from Heikki00/34541_to_json_precision
Increased String::num default decimal precision
2021-06-11 15:56:59 +02:00
Aaron Franke f64fea1b23
Add Time singleton 2021-06-11 09:32:39 -04:00
sygi a74791ed68 Add documentation to Bitmaps opaque_to_polygons. 2021-06-11 14:06:02 +01:00
Rémi Verschelde 74b3b0db0e
Merge pull request #47584 from HaSa1002/docs-lang-7 2021-06-11 14:35:45 +02:00
Johannes 23bc697239
Port code examples to C# (V)
Includes:
 * Variant
 * Viewport

and two fixes in Array that were pointed out in #40978
VisualScript classes are skipped on purpose.
That is the final commit of the inital code porting to C#. :)
2021-06-11 13:24:11 +02:00
Jonathan Gollnick 6710ad1737
Let var2str display StringName with correct sigil 2021-06-10 16:30:28 -05:00
Marcel Admiraal b3a962945e Add OS.get_external_data_dir() to get Android external directory 2021-06-10 16:48:17 +01:00
PouleyKetchoupp 0eb51b31d4 Expose collider RID in 2D/3D kinematic collision
Can be useful to access the colliding body information for bodies
created with the physics server directly.
2021-06-09 18:26:00 -07:00
reduz c66b2651a6 Refactor CommandQueueMT
* RingBuffer had no reason to be in this context
* A single buffer is used that can grow as much as the game needs.

This should make thread loading entirely reliable.
2021-06-09 13:10:49 -03:00
Rémi Verschelde 27cf525713
Merge pull request #42248 from Chaosus/vs_particles_shader
Continuation of work on visual particles system
2021-06-09 11:15:41 +02:00
Rémi Verschelde 38ce1fbe84
Merge pull request #49395 from nekomatata/floor-max-angle-degrees
Use degrees instead of rad for floor_max_angle property in CharacterBody
2021-06-09 09:00:43 +02:00
PouleyKetchoupp 863560c6ef Use degrees instead of rad for floor_max_angle property in CharacterBody 2021-06-08 16:00:31 -07:00
Hugo Locurcio 8f4ac7bc4a
Tweak the physics FPS property hint to only allow reasonable values
Physics FPS above 1000 cause the whole project to slow down
and are not very practical in the first place (since no CPU currently
available can keep up).
2021-06-08 19:52:48 +02:00
Yuri Roubinsky 4daca0b580 Removes deleted OrenNayar mode from shaders and materials 2021-06-08 15:50:40 +03:00
Rémi Verschelde abd2349988
Merge pull request #49378 from BastiaanOlij/fix_execute_modifications_bind
Fixed mistake in binding of Skeleton2D::execute_modifications
2021-06-08 08:16:38 +02:00
Bastiaan Olij 51ab10d3f4 Fixed mistake in binding of Skeleton2D::execute_modifications 2021-06-08 12:18:33 +10:00
Yuri Roubinsky f632e36ae5 Continuation of work on visual particles system 2021-06-07 20:33:17 +03:00
Rémi Verschelde 896aa94283
Merge pull request #49221 from Faless/mp/4.x_rpc_refactor
[Net] Refactor RPCs, remove RSETs
2021-06-07 17:00:08 +02:00
Rémi Verschelde d567abd714
Merge pull request #49382 from akien-mga/misc-cleanup
Style: Cleanup uses of double spaces between words
2021-06-07 11:57:47 +02:00
Rémi Verschelde 2ad9f7ca61
Merge pull request #49384 from madmiraal/rename-collisionobject3d-input_event
Rename CollisionObject3D input_event signal position and normal parameters
2021-06-07 11:08:46 +02:00
Rémi Verschelde c1c76850cb
Style: Cleanup uses of double spaces between words
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.
2021-06-07 11:03:08 +02:00
Marcel Admiraal be26a5e40e Rename CollisionObject3D input_event signal position and normal parameters 2021-06-07 08:52:24 +01:00
Rémi Verschelde afbabd12f3
Merge pull request #49337 from Chaosus/vs_texture_func
Adds `UVFunc` for panning/scaling on UV's to VisualShader's.
2021-06-07 09:38:37 +02:00
Rémi Verschelde 9ddc19d8bd
Merge pull request #49349 from SirQuartz/patch-5
Amend the quit() method description in `SceneTree` to include an exception for iOS
2021-06-07 09:26:49 +02:00
Yuri Roubinsky b2d2822a39 Adds `UVFunc` for panning/scaling on UV's to VisualShader's. 2021-06-07 08:31:48 +03:00
Rémi Verschelde aa251c310a
Merge pull request #49325 from reduz/rename-gi-classes
Rename GI Classes
2021-06-06 09:50:06 +02:00
Nick Huelin c63af17a31 Edit "quit()" method description in `SceneTree`
Updated the `SceneTree.quit()` method to include a note that on iOS this method won't work as apps are expected to be closed via the Home button, not programmatically.

Update Popup.xml
2021-06-05 20:30:36 -04:00
TwistedTwigleg 8aa3c2f091 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.
2021-06-05 15:19:51 -04:00
reduz 32625145c8 Rename GI Classes
* GIProbe is now VoxelGI
* BakedLightmap is now LightmapGI

As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-05 09:28:56 -03:00
Rémi Verschelde 6f7d45d210
Merge pull request #45364 from madmiraal/rename-quat
Rename Quat to Quaternion
2021-06-05 13:32:08 +02:00
andriyDev 9f4bf5ec80 Deleted YSort, moved its functionality directly into Node2D.
YSort now has a compatibility alias to Node2D.
Updated TileMap to use the existing Node2D y_sort_enabled property instead
of its own property.
Updated Node2D doc to include the new y_sort_enabled member.
Updated TileMap doc to remove its mention of cell_y_sort.
Deleted YSort doc.
2021-06-05 00:55:25 -07:00
PouleyKetchoupp 23abac9325 Linear velocity cleanup
CharacterBody has a linear_velocity property to replace the argument in
move_and_slide.

StaticBody handles reporting linear/angular velocity correctly when
kinematic motion is used (in 3D, used in vehicle and navigation).
2021-06-04 11:40:36 -07:00
PouleyKetchoupp b2bd9f4e51 Safe margin cleanup
Safe margin property on CharacterBody only, used as argument in
move_and_collide.

Removed kinematic_safe_margin in 3D physics server, not really useful
and now harmonized with 2D.
2021-06-04 11:40:36 -07:00
PouleyKetchoupp 65822559ce Support for kinematic_motion in StaticBody
Does the same thing as simulate motion from RigidBody in Kinematic mode,
and CharacterBody (previously KinematicBody).

Added support for constant linear/angular velocity with kinematic_motion
in StaticBody, which moves the body in physics.

Updated documentation for StaticBody and CharacterBody to describe their
functionalities more accurately.
2021-06-04 11:40:36 -07:00
PouleyKetchoupp ee4b756a51 More explanatory names for RigidBody modes
MODE_DYNAMIC instead of MODE_RIGID
MODE_DYNAMIC_LOCKED instead of MODE_CHARACTER

No more special case for sleeping behavior for MODE_DYNAMIC_LOCKED
(MODE_CHARACTER was forcing the body not to sleep, which is redundant
with can_sleep and wasn't done in Bullet).
2021-06-04 11:40:36 -07:00
PouleyKetchoupp 287c3900fd Properties for move_and_slide and remove move_and_slide_with_snap
- snap property to replace move_and_slide_with_snap()
- floor_max_angle, stop_on_slope, infinite_inertia, max_slides,
up_direction properties to replace arguments from move_and_slide()
- up direction now defaults to Vector3.UP and Vector2.UP
2021-06-04 11:40:36 -07:00
PouleyKetchoupp ba13d23140 KinematicBody split between new CharacterBody and PhysicsBody
PhysicsBody now has methods move_and_collide/test_move and needed
properties for these methods: safe margin, locked axes (3D only).

Moved collision_exceptions from StaticBody to PhysicsBody for 3D
(same as 2D, and conforms to documentation).

RigidBody doesn't have test_motion method anymore, it's now redundant
with PhysicsBody.test_move.
2021-06-04 11:40:36 -07:00
Marcel Admiraal 8acd13a456 Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
Rémi Verschelde 766c6dbb24
Merge pull request #48920 from aaronfranke/accept 2021-06-04 16:13:25 +02:00
Rémi Verschelde 5dc923d386
Merge pull request #49297 from aaronfranke/anim-type-tr3d
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D
2021-06-04 14:11:03 +02:00
Rémi Verschelde f0b17bcddb
doc: Sync classref after merge of #47336 2021-06-04 11:49:01 +02:00
Marcel Admiraal a6e44bd16c Rename Node3D's property translation to position 2021-06-04 09:54:52 +01:00
Aaron Franke 125d1a7cd3
Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3D 2021-06-03 21:11:54 -04:00
Aaron Franke bc5c10e0f8
Use a more specific type for AcceptDialog register_text_enter 2021-06-03 19:57:03 -04:00
kobewi 8d0cbded3f Clarify animation_changed signal 2021-06-03 23:17:52 +02:00
Rémi Verschelde 5d9cab3aeb
Merge pull request #38430 from aaronfranke/transform3d 2021-06-03 23:07:21 +02:00
Rémi Verschelde ea2a0b5455
Merge pull request #43450 from aaronfranke/mouse-mode-bitwise
Add MOUSE_MODE_CONFINED_HIDDEN to MouseMode enum
2021-06-03 22:00:15 +02:00
Rémi Verschelde 4e4f96f989
Merge pull request #49283 from KoBeWi/a&b
Improve sort_custom() description
2021-06-03 21:53:15 +02:00
Rémi Verschelde a9c6d2a96c
Merge pull request #45624 from aaronfranke/clamp
Allow clamping vectors and colors in addition to floats and ints
2021-06-03 21:20:37 +02:00
Aaron Franke 2e13e3ed4a
Allow clamping vectors and colors 2021-06-03 12:05:20 -04:00
Aaron Franke 94bc0bd919
Rename Vector2 clamped to limit_length and add limit_length to Vector3 2021-06-03 12:04:57 -04:00
Aaron Franke 98aa3b669e
Add MOUSE_MODE_CONFINED_HIDDEN
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-03 11:44:28 -04:00
kobewi 48f0368ddc Improve sort_custom() description 2021-06-03 17:43:39 +02:00
Yuri Sizov 638cd3b056 Replace get_settings_dir with get_config_dir when fetching configuration paths 2021-06-03 18:24:26 +03:00
Rémi Verschelde f288a79482
Merge pull request #38224 from Calinou/increase-audiostreamplayer3d-unit-size
Increase the default AudioStreamPlayer3D unit size to 10
2021-06-03 16:56:38 +02:00
Hugo Locurcio 5ea1c75d63
Rename `String.is_abs_path()` to `String.is_absolute_path()`
This is more consistent with `NodePath.is_absolute()`.
2021-06-03 16:00:06 +02:00
Rémi Verschelde 7ab34e1a96
Merge pull request #48889 from Calinou/file-rename-endian-swap
Rename File's `endian_swap` to `big_endian`
2021-06-03 15:19:07 +02:00
Yuri Sizov 21f0961610 Proofread add_*_plugin/remove_*_plugin descriptions in EditorPlugin 2021-06-03 15:00:19 +03:00
Aaron Franke 0ac4051c00
Update documentation for Transform3D 2021-06-03 07:30:01 -04:00
Rémi Verschelde b80494e633
Merge pull request #47922 from RoniPerson/patch-3
Added documentation to some `add_*_plugin` methods
2021-06-03 13:26:33 +02:00
reduz d95bc3fa67 Use bold fonts in editor
* Labels are now bold
* Categories in trees are bold
* Main editor buttons are bold
* Fixed section folding arrows in inspector
2021-06-02 12:47:57 -03:00
Rémi Verschelde 9990f28d84
Merge pull request #49026 from sarchar/multiple-dns-resolves 2021-06-01 18:41:41 +02:00
Paulb23 5c618dd03d Move code folding into CodeEdit and hide line hiding API 2021-06-01 17:07:01 +01:00
Rémi Verschelde c5f237eaf8
Merge pull request #45393 from Paulb23/code_edit_autocomplete 2021-06-01 17:58:19 +02:00
Fabio Alessandrelli d779b5aa3e [Net] Refactor RPCs, remove RSETs
In this PR:
- Removed rset
- rpc_config can now optionally configure transfer mode
  (reliable/unreliable/ordered) and channel (channels are not actually
  implemented yet.)
- Refactor how the RPC id is computed to minimize the logic in Node and
  scripts that now only needs a single `get_rpc_methods` function.
2021-06-01 17:24:21 +02:00
Paulb23 168427624e Update String/Comment, autocomplete and hints docs 2021-06-01 16:14:03 +01:00
Rémi Verschelde 0286495f59
Merge pull request #49024 from groud/restore_tilemap_show_debug
Restore TileMap's debug collision shapes and add navigation.
2021-06-01 12:51:28 +02:00
Rémi Verschelde 4c1d555b9a
Merge pull request #48770 from LightningAA/scrollcontainer-ensure-item-visible-4.0
ScrollContainer: Expose `_ensure_focused_visible` to the scripting API and rename it to `ensure_control_visible`
2021-06-01 11:01:40 +02:00
Chuck dd8fa11ac1 Support multiple address resolution in DNS requests
Add two new functions to the IP class that returns all addresses/aliases associated with a given address.

This is a cherry-pick merge from 010a3433df which was merged in 2.1, and has been updated to build with the latest code.

This merge adds two new methods IP.resolve_hostname_addresses and IP.get_resolve_item_addresses that returns a List of all addresses returned from the DNS request.
2021-06-01 11:24:34 +07:00
Lightning_A 6d5b5ba89f ScrollContainer: Expose `_ensure_focused_visible` to the API
Was renamed to `ensure_control_visible`
2021-05-31 17:14:57 -10:00
Rémi Verschelde 643da45e16
Merge pull request #49173 from KoBeWi/navigational_oblivion
Tweak arguments of list_dir_begin() (skips navigational and hidden files by default)
2021-05-31 14:33:58 +02:00
Rémi Verschelde c9ce5367e3
Merge pull request #49213 from Calinou/doc-resource-duplicate-copy-export-only
Document `Resource.duplicate()` only copying exported variables' values
2021-05-31 13:42:09 +02:00
Rémi Verschelde 4e3d5148ff
Merge pull request #49157 from Chaosus/vs_billboard
Added Billboard Node to Visual Shaders
2021-05-31 12:23:01 +02:00
kobewi bd50006aae Tweak arguments of list_dir_begin() 2021-05-31 12:16:26 +02:00
reduz 0d2e02945b Implement shader caching
* Shader compilation is now cached. Subsequent loads take less than a millisecond.
* Improved game, editor and project manager startup time.
* Editor uses .godot/shader_cache to store shaders.
* Game uses user://shader_cache
* Project manager uses $config_dir/shader_cache
* Options to tweak shader caching in project settings.
* Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled).
* Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated).
* Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-31 10:13:09 +02:00
Hugo Locurcio 2ba893e3ce
Document `Resource.duplicate()` only copying exported variables' values 2021-05-31 00:11:38 +02:00
Heikki Simojoki 09a905ca80
Increase String::num default decimal precision
Fixes #34541

Renamed MAX_DIGITS to MAX_DECIMALS, since it only changes the
amount of digits after the decimal point.

Increased MAX_DECIMALS to 32, and made String::num use
MAX_DECIMALS consistently. If -1 is passed as
decimal precision to String::num, it now gets changed to
the correct precision based on the number's magnitude,
instead of using printf default(which is 6)

String::num_real also calculates the correct precision now.

Also made the types used in floating-point math more
consistent in a few places.
2021-05-29 11:24:57 -04:00
Marcel Admiraal 570d65cd98 Clarify that eof_reached() cannot be used to check if more data is available 2021-05-28 16:20:51 +01:00
Yuri Roubinsky f06db8b778 Added Billboard Node to Visual Shaders 2021-05-28 09:24:06 +03:00
Marcel Admiraal 89e4917214 Update EditorResourcePreview queue_*() documentation 2021-05-26 08:39:40 +01:00
Rémi Verschelde 6a64a98039
Merge pull request #48546 from pycbouh/tree-highlight-selected-relationships 2021-05-25 19:42:55 +02:00
Rémi Verschelde 554382d8ad
Merge pull request #49068 from pycbouh/i-broke-inspector
Make `EditorFileDialog` only created on demand in `EditorResourcePicker`
2021-05-25 18:07:05 +02:00
Yuri Sizov 9c92e9d849 Add highlight to the relationship lines of selected Tree items 2021-05-25 18:56:06 +03:00
Yuri Sizov c8551b0eda Make EditorFileDialog only created on demand in EditorResourcePicker 2021-05-25 18:38:19 +03:00
Marcel Admiraal da5d7db610 Rename File::get_len() get_length() 2021-05-25 11:54:28 +01:00
Gilles Roudière 3b35733b4c Restore a way to show collsion/navigation on TileMap.
Also remove an unused function.
2021-05-25 11:51:15 +02:00
Rémi Verschelde af03e9c830
Merge pull request #48939 from Calinou/screen-orientation-use-enum
Use an enum to represent screen orientation in the Project Settings
2021-05-24 19:53:19 +02:00
Hugo Locurcio 660952a857
Use an enum to represent screen orientation in the Project Settings
- Tweak the setting property hint to be more informative.
- Make the setting a "basic" setting so it appears when Advanced Settings
  is disabled.
- Remove redundant orientation setting in the iOS export preset.
  The project setting is now used (like on Android).

Projects upgrading from a previous version will have to set the
screen orientation again in the Project Settings if it wasn't set
to the default value ("landscape").
2021-05-24 18:53:10 +02:00
Marcel Admiraal 963d8dad97 Clarify documentation of Camera3D.get_camera_transform() 2021-05-24 17:48:39 +01:00
Rémi Verschelde 6894559fb7
Merge pull request #49034 from madmiraal/fix-doc-2177
Unexpose methods and property for binding children to Bones in Skeleton3D
2021-05-24 18:34:57 +02:00
Marcel Admiraal 65faa12fd3 Unexpose methods and property for binding children to Bones 2021-05-24 16:44:17 +01:00
Rémi Verschelde 62efa30ed2
OS: Better validation of invalid input for get_unix_time_from_datetime
Default missing keys to Unix time 0 (1970-01-01 at 00:00:00 UTC).
Abort if year <= 0, this is not supported by the current algorithm.

Prevents an infinite loop further down.

Fixes #49022.
2021-05-24 13:37:36 +02:00
Rémi Verschelde 9cf1d034a7
Merge pull request #48894 from reduz/gpu-particles-2d-2
Support for 2D particles to collide against SDF
2021-05-24 12:49:34 +02:00
reduz 789713b008 Support for 2D particles to collide against SDF
-Added SDF collision support for 2D particles
-Changed the SDF generation to be fully signed
2021-05-23 16:43:36 -03:00
kobewi 5605454981 Change frame_coords to Vector2i 2021-05-23 21:38:27 +02:00
Hugo Locurcio 80f4e407b2
Add a keyboard shortcut to select the word under cursor in TextEdit
This also acts as a general-purpose "deselect" shortcut since pressing
it a second time will deselect text.

This is available both in the script editor and in TextEdit fields
in use, both in the editor and projects.

The Duplicate Line script editor shortcut was moved to Ctrl + Shift + D
since it conflicts with the new shortcut (Ctrl + D). The rationale for
doing so is that Duplicate Line is a less commonly used action, and
its behavior can be replicated by copying and pasting the current line
anyway. (With no selection active, the whole line will be copied.)
2021-05-22 23:47:43 +02:00
Paulb23 00e10a842f Add custom background line colour to TextEdit and remove marked lines 2021-05-22 14:41:55 +01:00
Rémi Verschelde 3b3a55ca04
Merge pull request #48918 from groud/fix_tilemap_y_sort
Fixes TileSet Y-sort not working and TileSet not saving correctly
2021-05-22 00:26:36 +02:00
Fabio Alessandrelli fdf66a21f1 [HTML5] Add easy to use download API.
New `JavaScript.download_buffer` method to create a prompt that let the
user download a file.
2021-05-21 15:31:23 +02:00
Rémi Verschelde d3ba922ba8
Merge pull request #48854 from pycbouh/editor-reuse-resource-picker
Use `EditorResourcePicker` in the Inspector
2021-05-21 12:03:27 +02:00
Gilles Roudière 7d80480b72 Fixes TileSet Y-sort not working and TileSet not saving correctly 2021-05-21 10:13:37 +02:00
Tomasz Chabora b1859510ab Change behavior of String.right 2021-05-20 23:07:57 +02:00
Rémi Verschelde aa5552278d
Merge pull request #48719 from Faless/js/4.x_interfaces
[HTML5] Implement Godot <-> JavaScript interface.
2021-05-20 17:13:02 +02:00
Hugo Locurcio 12462d9055
Rename File's `endian_swap` to `big_endian`
This new name is more consistent with ResourceSaver and StreamPeer.
2021-05-20 14:58:03 +02:00
Fabio Alessandrelli 9811035ebf [HTML5] Implement Godot <-> JavaScript interface. 2021-05-20 14:33:18 +02:00
Rémi Verschelde a6a75e2c09
Merge pull request #48812 from groud/tilemap_scenes_painting
Implement scenes tiles in TileMaps
2021-05-20 14:32:40 +02:00
Rémi Verschelde db4cf63482
Merge pull request #48860 from JohnM666/fix-basis-variant-initialization
Fix RigidBody3D.get_inverse_inertia_tensor() crash
2021-05-20 14:05:29 +02:00
Gilles Roudière d8bb53cd21 Implement scenes tiles in TileMaps 2021-05-20 13:12:03 +02:00
Rémi Verschelde 4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Fabio Alessandrelli e858f7c2ea [Doc] Remove reference to UNIX sockets in StreamPeer.
That class can be used as a base to implement them, but there is no
actual implementation for it in Godot.
2021-05-20 11:25:47 +02:00
JohnM666 b19544e91d Fix #46282 Executing RigidBody3D.get_inverse_inertia_tensor() crashes Godot 2021-05-20 10:46:24 +03:00
kleonc 99173fb0d7 Document valid range of Node2D.z_index 2021-05-20 01:22:13 +02:00
Yuri Sizov e9206a55ea Use EditorResourcePicker in the Inspector 2021-05-19 21:39:15 +03:00
Rémi Verschelde 896d84bd15
Merge pull request #48827 from Rhathe/set_iterations_master
Enable setting of collision iterations in PhysicsServer2D
2021-05-19 19:47:59 +02:00
Rhathe 88b1802132 Enable setting of collision iterations in PhysicsServer2D
This allows fine-tuning of collision iterations for more
accurate collision physics with a performance cost.
2021-05-19 10:54:10 -04:00
Marcel Admiraal 7104229a85 Fix InputMap.action_erase_event() failing to erase events correctly. 2021-05-19 11:43:02 +01:00
Rémi Verschelde d0aaf4a1fd
Merge pull request #48814 from Calinou/viewport-use-nonzero-default-size
Use a non-zero default size for SubViewports
2021-05-19 10:12:42 +02:00
Rémi Verschelde c340ed6394
Merge pull request #42742 from madmiraal/fix-12215
Return RID instead of Object id in area-body_shape_entered-exited signals.
2021-05-18 20:00:48 +02:00
Hugo Locurcio bbdfb715a6
Use a non-zero default size for SubViewports
This makes viewports visible out of the box.
2021-05-18 18:51:39 +02:00
Aaron Franke ab674a41aa
Area: Uncap the range for gravity and change the slider hints 2021-05-18 07:17:11 -04:00
Rémi Verschelde b2fb119c53
Merge pull request #36263 from Calinou/increase-default-2d-gravity 2021-05-18 10:54:47 +02:00
Rémi Verschelde 66dac8bda0
Merge pull request #47544 from pycbouh/control-expose-theme-type 2021-05-18 10:52:51 +02:00
Rémi Verschelde 95bb7207f3
Merge pull request #46773 from trollodel/TreeItem+
Improve TreeItem API and allow to move nodes
2021-05-18 10:49:45 +02:00
Rémi Verschelde 510030fedc
Merge pull request #48528 from sent44/textedit
Expose get_total_visible_rows method to GDScript
2021-05-18 09:06:24 +02:00
trollodel bca0d36fe6 Improve TreeItem API and allow to move nodes 2021-05-17 22:06:46 +02:00
Rémi Verschelde b3e3f0e34c
Merge pull request #48599 from Calinou/textedit-alt-scroll-faster
Scroll faster when holding Alt in TextEdit (and script editor)
2021-05-17 17:38:18 +02:00
Rémi Verschelde 6c367f8e0d
Merge pull request #48168 from LightningAA/control-to-ctrl-4.0 2021-05-17 17:38:02 +02:00
Rémi Verschelde fead3fff17
Merge pull request #47260 from pycbouh/editor-resource-picker 2021-05-17 17:33:59 +02:00
Yuri Sizov 9eaa139c1f Add theme_custom_type property to Control and Window 2021-05-17 17:20:42 +03:00
pycbouh e8f15f7996 Add EditorResourcePicker control based on the Inspector editor for Resources
Fix formatting for the docs
2021-05-17 15:26:22 +03:00
Rémi Verschelde 37c3b33253
Merge pull request #48605 from sent44/scripteditor_get_codeedit
Add `get_base_editor` to `ScriptEditorBase`
2021-05-16 23:06:01 +02:00
Rémi Verschelde 8e7b17429e
Merge pull request #48650 from AnilBK/graph-node-setters
Added GraphNode missing setters.
2021-05-16 17:37:12 +02:00
Hugo Locurcio c872819be6
Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation
- Mention audio sample rate caveats in other classes where relevant.
2021-05-15 23:23:06 +02:00
Hugo Locurcio 6be32d8cbc
Complete documentation for the AudioEffectPitchShift class 2021-05-15 23:20:48 +02:00
sent44 2b30728ebf Add get_base_editor to ScriptEditorBase 2021-05-15 18:47:00 +07:00
Rémi Verschelde a3dd18b12e
Merge pull request #39976 from aaronfranke/tilemap-vec2i
Update TileMap to use Vector2i
2021-05-13 14:48:16 +02:00
Anilforextra 2c3c3b2829 -Added missing setters to GraphNode.
-Improved various GraphNode documentation.
2021-05-13 17:45:07 +05:45
Hugo Locurcio 5895479a5e
Rename the audio `FFT_Size` enum to `FFTSize` for consistency 2021-05-13 02:42:49 +02:00
PouleyKetchoupp 3877ed73d0 Dynamic BVH broadphase in 2D & 3D Godot Physics
Port lawnjelly's dynamic BVH implementation from 3.x to be used in
both 2D and 3D broadphases.

Removed alternative broadphase implementations which are not meant to be
used anymore since they are much slower.

Includes changes in Rect2, Vector2, Vector3 that help with the template
implementation of the dynamic BVH by uniformizing the interface between
2D and 3D math.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2021-05-10 16:28:55 -07:00
Hugo Locurcio cf1cf6c6eb
Scroll faster when holding Alt in TextEdit (and script editor)
This feature is inspired by a similar feature found in
Visual Studio Code.
2021-05-10 01:27:54 +02:00
Hugo Locurcio 7350f90c57
Document caveats of `OS.get_unique_id()` 2021-05-09 13:23:53 +02:00
TwistedTwigleg 446460eaf9 Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides 2021-05-08 16:11:45 -04:00
Aaron Franke 75e3f6b732
Update TileMap to use Vector2i instead of two ints 2021-05-07 16:20:02 -04:00
Lightning_A 97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
Rémi Verschelde ee44982c45
Merge pull request #48538 from akien-mga/remove-native-video-api
OS: Remove native video API only implemented on iOS
2021-05-07 21:22:41 +02:00
Rémi Verschelde c3f7465b7e
Merge pull request #48535 from groud/tiles_squashed
TileSet and TileMap rework (squashed)
2021-05-07 20:46:06 +02:00
Rémi Verschelde 35ec0e9be7
OS: Remove native video API only implemented on iOS
See discussion in #43811, it was only implemented on iOS and even that
implementation was fairly limited. This would best be provided as plugins
for Android and iOS without cluttering the shared OS API.
2021-05-07 20:40:24 +02:00
Gilles Roudière a3dda2df85 Rework the TileSet resource and TileMap nodes:
- Move most properties from TileMap to TileSet,
- Make TileSet more flexible, supporting more feature (several
  collision layers, etc...),
- Fusion both the TileMap and TileSet editor,
- Implement TileSetSources, and thus a new way to index tiles in the TileSet,
- Rework the TileSet and TileMap editors completely,
- Implement an editor zoom widget (and use it in several places)
2021-05-07 18:06:17 +02:00
sent44 7bb12b0d6d Expose get_total_visible_rows as get_visible_line_count 2021-05-07 20:54:05 +07:00
kobewi a95c953c48 Improve docs for filter map and reduce 2021-05-07 14:09:44 +02:00
Rémi Verschelde bcbd480c32
Merge pull request #45144 from dalexeev/color-consts
Rename color constants (alternative)
2021-05-07 12:22:49 +02:00
Rémi Verschelde 3a5310ccb9
Merge pull request #35992 from Calinou/main-run-args-command-placeholder
Implement the `%command%` placeholder in the Main Run Args setting
2021-05-07 00:43:45 +02:00
Hugo Locurcio ce4aa07276
Implement the `%command%` placeholder in the Main Run Args setting
This can be used to tell Godot to run an executable that will run Godot
rather than running Godot directly. This is useful to make Godot start
on the dedicated GPU when using a NVIDIA Optimus setup on Linux:
`prime-run %command%`

The `editor/run/main_run_args` setting declaration was moved to make it
visible in the ProjectSettings documentation.
2021-05-07 00:05:02 +02:00
Rémi Verschelde 89e6f6ca2e
Merge pull request #48500 from groud/add_buttongroup_pressed_signal
Adds a pressed signal to ButtonGroup
2021-05-06 23:20:33 +02:00
Rémi Verschelde 01f80201bf
Merge pull request #38645 from KoBeWi/FMR
Add filter, map and reduce to Array
2021-05-06 20:44:01 +02:00
Gilles Roudière 323f176915 Adds a pressed signal to ButtonGroup 2021-05-06 12:16:27 +02:00
Hugo Locurcio 4a28f7e44f
Increase the default 2D gravity to 980.0
This makes 2D RigidBody physics feel less floaty out of the box.

This closes https://github.com/godotengine/godot-proposals/issues/98.
2021-05-05 22:49:06 -04:00
Hugo Locurcio 3f078c99f6
Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscores 2021-05-06 02:52:01 +02:00
Hugo Locurcio 87d107bb11
Increase the default AudioStreamPlayer3D unit size to 10
This makes it easier to hear sound while setting up the node.

Since this changes the default value, this may break existing projects
slightly.

This also tweaks the Unit Size editor property hint for better usability.

See discussion in #25468.
2021-05-06 02:45:46 +02:00
Hugo Locurcio b90adec417
Improve the AudioStreamPlayer(2D/3D) class descriptions 2021-05-05 20:39:36 +02:00
Tomasz Chabora c50acc7339 Add filter, map and reduce to Array 2021-05-05 15:54:57 +02:00
Rémi Verschelde e144ff0445
Merge pull request #48315 from nekomatata/expose-physics-debug-shape
Expose get_debug_mesh in Shape3D to scripting API
2021-05-05 15:17:36 +02:00
Rémi Verschelde d1801f976f
Merge pull request #48280 from Calinou/doc-file-open-compressed-godot-only
Document that `File.open_compressed()` can only open files saved by Godot
2021-05-05 15:16:23 +02:00
Rémi Verschelde c9e874b62d
Merge pull request #48442 from akien-mga/posmod-int64_t
Re-bind posmod, use int64_t instead of int
2021-05-04 15:15:52 +02:00
Rémi Verschelde ea9cab3e76
Merge pull request #48430 from reduz/add-rpc-to-callable
Add RPC support to Callable
2021-05-04 14:07:21 +02:00
Rémi Verschelde e196733e88
Re-bind posmod, use int64_t instead of int
Fixes #48420, fixes #48421.
The binding was missed when moving GDScript built-in to Global Scope it seems.

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2021-05-04 13:25:08 +02:00
Rémi Verschelde 4e7ca279fc
Merge pull request #47855 from aaronfranke/doubleclick
Rename `doubleclick` to `double_click`
2021-05-04 13:12:17 +02:00
Rémi Verschelde 9a8ef54b5a
Merge pull request #48008 from LightningAA/scrollcontainer-hide-scrollbars-4.0
Add the ability to hide `ScrollContainer`'s scrollbars
2021-05-04 12:58:12 +02:00
Rémi Verschelde bee7f8ff23
Merge pull request #48274 from groud/undoredo_dependencies
Allow to hook a callback into inspector's undo/redo
2021-05-04 11:26:55 +02:00
Aaron Franke 0de9a7d803
Rename `doubleclick` to `double_click` 2021-05-04 04:38:08 -04:00
Gilles Roudière b46672db72 Provide a way to hook into Inspectors UndoRedo. 2021-05-04 09:55:22 +02:00
reduz c76acf6890 Add RPC to Callable
-Up to each scripting language to implement this
-If not supported for the function, it will just error when you try to call
2021-05-03 19:21:37 -03:00
Rémi Verschelde a8f45efa43
doc: Sync classref with current source 2021-05-03 20:42:21 +02:00
Bastiaan Olij 58ff0dac1a Create mobile renderer 2021-05-03 21:54:11 +10:00
Hugo Locurcio 0eb9b414c1
Add `Engine.print_error_messages` property to disable printing errors
This can be used during unit test suite runs to hide error and warning
messages.

Care should be taken when using this feature, as it can hide important
information if used wrongly.
2021-05-01 23:11:08 +02:00
Rémi Verschelde 33a0fb6e02
Merge pull request #48345 from madmiraal/fix-48242-docs
Fix documentation following implementation of particle trails
2021-05-01 14:51:29 +02:00
Marcel Admiraal fcf8071ec9 Fix documentation following implementation of particle trails 2021-05-01 13:12:31 +01:00
Rémi Verschelde f3c1190dc9
Merge pull request #48283 from BastiaanOlij/xr_viewport
Move XR flag from subviewport into viewport
2021-05-01 12:54:35 +02:00
Bastiaan Olij e0bdf40d15 Move XR flag from subviewport into viewport 2021-05-01 19:58:11 +10:00
Hugo Locurcio 5f098d6db6
Document that `File.open_compressed()` can only open files saved by Godot 2021-05-01 01:24:01 +02:00
PouleyKetchoupp 7352a4c0d9 Expose get_debug_mesh in Shape3D to scripting API
Can be useful for custom drawing of physics shapes without having to add
a collision object node to the tree.
2021-04-29 18:18:39 -07:00
Hugo Locurcio 7516ff3805
Document that `SceneTree.call_group()` is deferred 2021-04-29 23:01:41 +02:00
Rémi Verschelde 28f56e2cbf
Merge pull request #48272 from Calinou/doc-standardmaterial3d-rim-unshaded
Document that clearcoat/rim lighting is not visible on unshaded materials
2021-04-29 13:36:40 +02:00
Rémi Verschelde cab5064f20
doc: Sync classref with current source
And typo fix from https://github.com/godotengine/godot-docs/pull/4882.
2021-04-29 12:11:40 +02:00
Rémi Verschelde 418fe155f9
Merge pull request #48269 from akien-mga/remove-largetexture
Remove obsolete LargeTexture, it's no longer useful since 3.x
2021-04-29 09:45:06 +02:00
Hugo Locurcio 126ea92a64
Document that clearcoat/rim lighting is not visible on unshaded materials 2021-04-28 17:38:44 +02:00
Lightning_A bb6bdcee1a Add the ability to hide scrollcontainer's scrollbars 2021-04-28 09:28:31 -06:00
Rémi Verschelde 9e9ac9f6ad
Merge pull request #46476 from DarknessCatt/master
Add fill method to Arrays and PackedArrays
2021-04-28 16:52:31 +02:00
Rémi Verschelde 0e93a1df79
Remove obsolete LargeTexture, it's no longer useful since 3.x
It existed in early Godot releases to allow working around hardware limitations
on max texture sizes (e.g. hardware limits of 1024x1024 pixels).

Nowadays the max texture size supported natively by Godot is 16384x16384, and
even low end mobile hardware should support at least 4096x4096.

The LargeTexture implementation is basically just an array with offsets, sizes
and textures and should be easy to replicate with a custom Texture resource if
needed - solving most of its bugs on the way as the implementation removed here
has various unimplemented or incomplete methods.
2021-04-28 15:51:55 +02:00
Florian Kothmeier 054d8852b9
Add error_string function 2021-04-27 22:02:35 +02:00
Rémi Verschelde 0582cefcbb
Merge pull request #48241 from akien-mga/tabs-panel-style-unused
Tabs: Remove unused 'panel' stylebox from default theme
2021-04-27 19:33:40 +02:00
Rémi Verschelde 95cfce661b
Merge pull request #48050 from JFonS/occlusion_culling 2021-04-27 19:07:12 +02:00
Rémi Verschelde cd8d321961
Tabs: Remove unused 'panel' stylebox from default theme
Cf. https://github.com/godotengine/godot/issues/37875#issuecomment-625297308.
2021-04-27 17:36:53 +02:00
Rémi Verschelde 72bd64c1d5
Merge pull request #47398 from Faless/feature/network-local-port-salvaged 2021-04-27 15:04:30 +02:00
Rémi Verschelde e0c1cc702c
Merge pull request #38349 from asheraryam/convex-decompose-master
Create GDScript bindings for creating multiple-convex collision bodies [4.0]
2021-04-27 10:05:12 +02:00
asheraryam ecfbb0fd28 Expose creating multiple-convex-collision static bodies to GDScript 2021-04-27 06:56:04 +03:00
Rémi Verschelde 473a660241
Merge pull request #48106 from Calinou/doc-project-settings-feature-tags
Link to Feature tags more explicitly in ProjectSettings documentation
2021-04-23 22:04:54 +02:00
jfons 4d9d99bb82 Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.

Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
2021-04-23 21:45:23 +02:00
Rémi Verschelde ff6f384618
Merge pull request #48129 from kleonc/args-master
Docs: Minor argument names fix
2021-04-23 17:13:09 +02:00
Rémi Verschelde 1a3d60944f
Merge pull request #47485 from rafallus/fix/rigidbody-crash
Fix crash on RigidBody _direct_state_changed
2021-04-23 16:02:26 +02:00
kleonc d13cfc8d62 Docs: Minor argument names fix 2021-04-23 15:46:51 +02:00
rafallus cfa06f0f76 Unexpose _direct_state_changed in PhysicsBody
Removed _direct_state_changed bindings
Affects 2D and 3D nodes
Callbacks now use Callable
Tests were changed accordingly
2021-04-22 23:20:58 -05:00
Tomasz Chabora 497c3f97b2 Call randomize() automatically 2021-04-22 21:13:43 +02:00
Hugo Locurcio 188bd5638c
Link to Feature tags more explicitly in ProjectSettings documentation 2021-04-22 20:07:54 +02:00
bruvzg b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00
Matheus Lima Cunha efd27a63c1 Add fill method to Arrays and PackedArrays 2021-04-21 11:33:53 -03:00
Hugo Locurcio 17591fc6a1
Improve the `Engine.editor_hint` property documentation 2021-04-20 22:56:44 +02:00
Rémi Verschelde b06116d62f
Merge pull request #42770 from madmiraal/fix-26680
Move collision layer and mask into CollisionObject.
2021-04-20 21:07:32 +02:00
Rémi Verschelde 8a8dd9cef4
Merge pull request #47896 from Calinou/videoplayer-stream-position-warning
Print a warning when trying to seek in VideoPlayer
2021-04-20 20:07:13 +02:00
Rémi Verschelde 399f55751e
Merge pull request #47983 from smix8/doc_animationnodetimeseek
Document AnimationNodeTimeSeek with clarified usage and code example
2021-04-20 20:05:08 +02:00
Rémi Verschelde 0c995a9790
Merge pull request #47976 from RoniPerson/patch-4
changed description of `merge_polygons`
2021-04-20 20:04:13 +02:00
Rémi Verschelde d85fa25318
Merge pull request #47953 from Calinou/doc-astar-thread-safety
Document `AStar.get_point_path()` not being thread-safe
2021-04-20 20:03:24 +02:00
Rémi Verschelde fdf041a466
Merge pull request #47347 from nekomatata/heightmap-support
Heightmap collision shape support in Godot Physics
2021-04-20 17:40:28 +02:00
Marcel Admiraal 071871b787 Move collision layer and mask into CollisionObject. 2021-04-20 10:38:42 +01:00
Rémi Verschelde aa677865e3
Merge pull request #47991 from LightningAA/regroup-area-inspector-4.0
`Area[X]D`: Put physics override parameters in their own group and document that areas can be used to influence audio
2021-04-20 09:54:07 +02:00
Rémi Verschelde 29775a1714
doc: Sync classref with current source 2021-04-19 12:26:37 +02:00
Rémi Verschelde 8ba06e3161
Merge pull request #47448 from madmiraal/rename-lineedit-cursor
Rename LineEdit getters and setters to match property names
2021-04-19 10:40:29 +02:00
Lightning_A 80b1a29c46 Put physics override parameters in their own group and document that areas can be used to influence audio 2021-04-18 21:27:06 -06:00
smix8 35c9192689 Document AnimationNodeTimeSeek with clarified usage and code example
Document AnimationNodeTimeSeek with clarified usage and code example
2021-04-17 21:36:48 +02:00
RoniPerson 8f01c261f2
changed description of `merge_polygons`
Clarified that the `merge_polygons` method can produce multiple holes.
2021-04-17 15:20:49 +02:00
Marcel Admiraal 86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
Rémi Verschelde 0ab928e060
Import: Cleanup and optimize etcpak compression method
Avoid unnecessary allocation of temporary buffers for each mip, and creates
only one Image with the compressed data.
Also renames variable and reorders code for clarity.

Clarify that squish is now only used for decompression.

Documented which formats can be decompressed in Image.
2021-04-16 17:08:36 +02:00
Hugo Locurcio cf64bad63e
Document `AStar.get_point_path()` not being thread-safe 2021-04-16 16:04:17 +02:00
RoniPerson e849157e07 Added documentation to some `add_*_plugin` methods
Added documentation to some `add_*_plugin` methods and the corresponding `remove_*_plugin` methods.
Added an example of how to register a plugin to `add_inspector_plugin` and linked to it in the other methods.
2021-04-15 19:23:27 +02:00
Rémi Verschelde c7a4e2196e
Merge pull request #47878 from clayjohn/rename-get_surface_material
Rename get_surface_material to get_surface_override_material
2021-04-15 07:57:15 +02:00
clayjohn 92731d292c Rename get_surface_material to get_surface_override_material 2021-04-14 20:24:03 -07:00
Hugo Locurcio ea46639e22
Print a warning when trying to seek in VideoPlayer
Seeking isn't implemented in built-in video formats and can only
be supported in GDNative-provided video formats.
2021-04-14 20:39:13 +02:00