Commit Graph

5023 Commits

Author SHA1 Message Date
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 1a9e3d581b
doc: Fix `make_rst.py` hyperlinks for theme items
Fixup to #55092.
2021-11-19 10:41:17 +01:00
Rémi Verschelde a777f01052
i18n: Sync classref translations with Weblate
(cherry picked from commit f737ed4da0)
2021-11-19 09:55:14 +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 5341e6010e
Allow dehardcoding documentation branch and URL in docs links
This makes it possible to change the branch of the documentation that
URLs are pointing to without having to modify all class reference
files.

In the XML class reference, the `$DOCS_URL` placeholder should be used,
and will be replaced automatically in the editor and when generating
the RST class reference.

The documentation branch string is set in `version.py`.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
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
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
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 518ec9ca75
Merge pull request #54520 from pycbouh/docs-ctor-operator-descriptions 2021-11-04 17:05:38 +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 804406fcaf
i18n: Sync classref translations with Weblate
German (de) is now above the threshold for inclusion.

(cherry picked from commit 0b694eb8e7)
2021-11-03 15:06:09 +01: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
Yuri Sizov 51b251e889 Restore constructor/operator information in online docs 2021-11-02 22:33:55 +03: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
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 cce7797a75
Another rename for makerst.py 2021-10-26 08:46:16 +02:00
Rémi Verschelde 2ecab0491c
Merge pull request #54179 from aaronfranke/make-rst 2021-10-26 08:43:07 +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
Aaron Franke 8f05e26198
Rename "makerst.py" to "make_rst.py" 2021-10-24 01:58:59 -05:00
Rémi Verschelde b2ab5cb504
Merge pull request #54045 from ConteZero/primary_clipboard_linux_fix_warning 2021-10-23 19:13:34 +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 efa3ff6b95
Merge pull request #54024 from akien-mga/editor-i18n-thresholds 2021-10-20 16:05:30 +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 01aec21d25
i18n: Only include editor translations above a threshold
This reduces the size of the editor binaries significantly, as we otherwise
embed all WIP translations, including ones with very low completion ratios,
and end up paying for the size of all `msgid`s for each locale.

Cf. https://github.com/godotengine/godot-proposals/issues/3421 for details.

The thresholds used are:
- 30% for the editor interface (should already include most common strings
  while more obscure ones like UndoRedo action names might be untranslated).
- 10% for the class reference: this is a HUGE resource and 10% is already
  a lot of useful content, especially if focused on the most used APIs.

This currently reduces the size of the editor binary by 17% on Linux.

The list will be synced manually every now and then.

(cherry picked from commit 8425c58991)
2021-10-20 15:10:13 +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 d802d67a0e
i18n: Sync classref translations with Weblate
(cherry picked from commit c17f051ee9)
2021-10-18 12:02:11 +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
Anutrix a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
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
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 c8dea45f55
i18n: Sync classref translations with `3.x` branch
The files are directed copied from the version which was merged in `3.x`
together with the translations from Weblate.

For future commits we can do cherry-picks from `3.x` to `master` like usual
for the editor translations.
2021-10-07 14:08:44 +02: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