Commit Graph

3313 Commits

Author SHA1 Message Date
Sergey Pershenkov 431c032d8c Make various improvements to OptionButton
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.

(cherry picked from commit 3b146c5eaa)
2022-05-16 22:47:46 +03:00
kobewi 16fb788853 Clarify seek() in relation to animation_finished
(cherry picked from commit 74e135c90b)
2022-05-16 21:13:24 +02:00
Hugo Locurcio 5b19a5d4a8 Improve documentation for `Camera3D.project_ray_{normal,origin}`
This mentions that internally, the inverse camera projection is used
to perform projections.

(cherry picked from commit fbec10179a)
2022-05-16 21:12:21 +02:00
FireForge 5968dbd747 Expose EditorSpinSlider.hide_slider
(cherry picked from commit 8e752b06e8)
2022-05-16 21:12:21 +02:00
smix8 214a00ca2e Add missing class doc to NavigationMeshGenerator
Adds missing class documentation for NavigationMeshGenerator bake() and clear() functions.

(cherry picked from commit 375c4ef312)
2022-05-16 21:12:20 +02:00
smix8 3977eb9107 Add NavigationServer2D/3D API functions to find missing RID info
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....

Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.

(cherry picked from commit 371054e3e5)
2022-05-16 21:10:36 +02:00
smix8 c3b39ca1e9 Disable threaded NavigationMesh bake on unsupported OS
Automatically disables threaded NavigationMesh bake when OS does not support threads.

(cherry picked from commit 49c603e127)
2022-05-16 17:52:07 +02:00
smix8 b11708c50d Expose NavigationObstacle2D/3D get_rid() and add config warning
Exposes get_rid() function for scripting.
Adds configuration warning when obstacle is used with not intended static body parent.

(cherry picked from commit 001d89223f)
2022-05-16 17:52:07 +02:00
SnailRhymer a656243a4e Document Shape2D's collide_and_get_contacts() and collide_with_motion_and_get_contacts()
Expand on the format of the output array for collide_and_get_contacts and collide_with_motion_and_get_contacts, and describe how the contact point pairs can be used to calculate collision normals and depths.

(cherry picked from commit bdf086c781)
2022-05-16 17:52:07 +02:00
Megamega53 559c20aa2f Improve AnimatedSprite2D description in the class reference
(cherry picked from commit de968baca9)
2022-05-16 17:52:07 +02:00
kobewi bdbbc78da4 Mention that Area2D doesn't support one_way_collision
(cherry picked from commit c836bdf5b1)
2022-05-16 16:27:51 +02:00
Nicholas Huelin 5cedb395dc Fix inconsistent naming in Time
(cherry picked from commit 8409d92282)
2022-05-16 15:58:36 +02:00
Haoyu Qiu 58650af062 Make auto_accept_quit and quit_on_go_back properties 2022-05-14 18:24:43 +08:00
Haoyu Qiu 4c70c5b0cd Swap the meaning of CURSOR_WAIT and CURSOR_BUSY 2022-05-14 10:24:25 +08:00
Hugo Locurcio b47466bc59
Improve documentation related to Pool*Array value passing caveats 2022-05-12 23:40:31 +02:00
FireForge f17c5fa7bd Add interpolation modes to Gradient
- Linear, Constant, and Cubic interpolation modes
- Partial backport of #53321
2022-05-12 14:24:04 -05:00
Hugo Locurcio 069c955af7
Use a floating-point number for the `timeout` property in HTTPRequest
This allows for greater precision when specifying a timeout in
HTTPRequest in `3.x`, similar to what is already possible in `master`.
2022-05-11 08:41:40 +02:00
Rémi Verschelde 288370609c
Merge pull request #60856 from timothyqiu/pool-array-find 2022-05-10 13:40:00 +02:00
Rémi Verschelde 16abb7f471
Merge pull request #60858 from lawnjelly/fti_add_mode_property
Physics Interpolation - add interpolation mode property to node
2022-05-10 08:42:41 +02:00
Michael Alexsander 2e4e76b2e3 Add `font_separator` to `PopupMenu` 2022-05-08 14:11:59 -03:00
Haoyu Qiu 3d1644f7c3 Add search methods for pool arrays
* has()
* count()
* find()
* rfind()
2022-05-08 11:07:00 +08:00
lawnjelly 0ab077fcef Physics Interpolation - add interpolation mode property to node
Exposes the "interpolated" flag on nodes via a property, physics_interpolation_mode.

Mode can be INHERIT, OFF and ON. This makes it easy to turn off interpolation for nodes in the editor, versus via code.
2022-05-07 13:51:49 +01:00
Rémi Verschelde db48b80707
Merge pull request #60816 from timothyqiu/tweener-doc 2022-05-06 08:48:18 +02:00
Haoyu Qiu 9b8c77fbf0 Fix wrong link in PropertyTweener doc 2022-05-06 12:58:49 +08:00
smix8 da9a88a35a Allow AStar/AStar2D zero point weight
Allow AStar/AStar2D zero point weight.

Limit was set to 1 which seemed like an arbitrary value as lower values down to zero can be useful for common gameplay navigation elements like teleports.
2022-05-06 02:33:31 +02:00
Hugo Locurcio 99d9228a2e
Handle CLI arguments without a value in `OS.get_cmdline_args()` example
Command lines such as `--host --address 127.0.0.1` are now parsed as
`{"host": "", "address": "127.0.0.1"}`.
2022-05-05 19:19:15 +02:00
Rémi Verschelde 4dfc44ecc3
Merge pull request #60788 from akien-mga/3.x-cherrypicks 2022-05-05 15:54:33 +02:00
kleonc b0bcbcc094 Tree::get_edited Fix in docs example code 2022-05-05 15:07:40 +02:00
Rémi Verschelde 9e37599f36 Core: Rename math 'phi' arguments to 'angle'
(cherry picked from commit e7a58a7eb6)
2022-05-05 15:02:46 +02:00
Micky 15f9803d28 Specify return value of Transform3D.scaled() and more
Add more `[code]` (Transform3D)

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

Add more `[code]` (Transform2D)

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
(cherry picked from commit 87599054d2)
2022-05-05 15:02:46 +02:00
mdavisprog 53fb0440d3 Add OS::is_process_running function.
Adds the is_process_running function to the native OS class and exposes it to script.

This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.

Documentation is updated to reflect new API function.

(cherry picked from commit f3c1232c59)
2022-05-05 15:02:46 +02:00
kobewi 68b4cdfaf9 Clarify InputMap.action_get_events() in the editor
(cherry picked from commit 5235584066)
2022-05-05 14:07:56 +02:00
PureAsbestos 46c4e2e704 Change 'throws an error' to 'prints an error' in classref
(cherry picked from commit a89b3f872d)
2022-05-05 13:49:35 +02:00
Chris verBurg e7329c0cfc Link to Container tutorial
Users happening across any of the Container pages may not already know the intent of Containers, or which others are available.  This commit adds a link to the existing "GUI containers" page in their tutorials sections.

(cherry picked from commit 3b941ed98c)
2022-05-05 13:44:17 +02:00
Pawel Lampe 505ace250d Add ability to `bake_navigation_mesh` off thread.
This feature makes it possible to workaround problems such as:
 - long baking time due to heavy synchronization when parsing geometry
   from mesh instances
 - crash when freeing `NavigationMeshInstance` while baking
 - errors when actively baking node tree is being detached from the
   scene tree
2022-05-04 22:41:38 +02:00
Haoyu Qiu e1441890eb Document RichTextLabel append_bbcode/parse_bbcode always return OK 2022-05-03 16:00:51 +08:00
Rémi Verschelde c1a0e6b5c9
Merge pull request #59952 from Calinou/doc-line2d-polygon2d-antialiasing 2022-05-02 10:50:23 +02:00
Rémi Verschelde 6ee64331db
Merge pull request #60527 from KoBeWi/unique_names_demastered 2022-05-02 10:48:27 +02:00
Rémi Verschelde d8e702b010
Merge pull request #60552 from madmiraal/implement-3466-3.x
[3.x] Add a method for obtaining display cutouts on Android
2022-05-02 07:58:05 +02:00
Rémi Verschelde 973bbb5c0e
Merge pull request #60661 from smix8/navigation_region_rid_3.x
[3.x] Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
2022-05-01 14:18:05 +02:00
Rémi Verschelde f12f41d343
Merge pull request #60662 from Calinou/doc-tonemap-3.x 2022-04-30 16:31:32 +02:00
Hugo Locurcio 035cb7fcb0
Improve documentation for tonemapping operators 2022-04-30 16:21:10 +02:00
smix8 ebcbbec563 Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
2022-04-30 15:54:12 +02:00
Rémi Verschelde 12cc0b8699
Merge pull request #60636 from Calinou/doc-proximitygroup
Document the ProximityGroup class
2022-04-30 10:13:20 +02:00
Haoyu Qiu b395731517 Add missing description of finished signal of SceneTreeTween 2022-04-30 09:39:20 +08:00
Hugo Locurcio fb345a924d
Document the ProximityGroup class
Co-authored-by: MJacred <loesch.benny92@gmx.de>
2022-04-29 20:26:29 +02:00
Hugo Locurcio 1bdcba2d76
Document workarounds for 2D line and polygon antialiasing 2022-04-29 19:39:11 +02:00
Rémi Verschelde 8ee69a88c1 doc: Fix a couple broken links to a moved page 2022-04-29 14:16:34 +02:00
Haoyu Qiu 153dc4d57e Backport the new Tween system as SceneTreeTween
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2022-04-29 20:01:12 +08:00
Rémi Verschelde 73e6b7c145
Merge pull request #60592 from Calinou/styleboxflat-add-skew-3.x 2022-04-28 22:29:56 +02:00
Hugo Locurcio 4b399b2285
Add a Skew property to StyleBoxFlat
This makes it possible to create more aesthetically pleasing
styleboxes for GUI theming, especially in games that have
a futuristic appearance (where skewed buttons and progress bars
are common).
2022-04-28 20:40:01 +02:00
Rémi Verschelde f06e68f2a2
Merge pull request #54682 from smix8/textureproxy 2022-04-28 19:47:20 +02:00
smix8 ca1216fcef Expose VisualServer.texture_set_proxy() to GDScript
Expose VisualServer.texture_set_proxy() to GDScript
2022-04-28 18:53:29 +02:00
Rémi Verschelde 4cfc96fea7
Merge pull request #60531 from lawnjelly/fti_usage_warnings 2022-04-28 12:00:49 +02:00
twi 718533552c Update link to vector2_angle_to_point.png 2022-04-27 18:34:16 -05:00
kobewi b7336524f2 Expose move_to_trash()
(cherry picked from commit b80e52f048)
2022-04-27 12:41:01 +02:00
kleonc 6f01a949c2 Fix `Image.blit_rect/blend_rect()` for negative `p_dest` point
(cherry picked from commit 4038bc0c36)
2022-04-27 12:38:27 +02:00
kobewi 6891d719f6 Improve descriptions for drag methods
(cherry picked from commit 31a23ab33f)
2022-04-27 12:27:20 +02:00
GTcreyon 81bbde5b9f Changed "pair" to "triplet" in Vector3 definition
(cherry picked from commit ce1fcfcff9)
2022-04-27 12:25:16 +02:00
Haoyu Qiu bcc93c3e7c Document timestamp decimal fraction in Time
(cherry picked from commit 1b891069cd)
2022-04-27 12:24:16 +02:00
Timo Schwarzer 8fb9c96df9 Vibrate using iOS haptics engine on supported devices (3.x) 2022-04-27 09:46:42 +02:00
lawnjelly ad9b2b3794 Physics Interpolation - add helper warnings
When physics interpolation is active on a node, it is essential that transforms are updated during "_physics_process()" rather than "_process()" calls, for the interpolation to give the correct result.

This PR adds optional warnings for instances, cameras and multimeshes which can flag updates being incorrectly called, and thus make these problems much easier to fix.
2022-04-26 13:56:02 +01:00
kobewi e1c74ae83f Implement Scene Unique Nodes 2022-04-26 13:55:48 +02:00
Marcel Admiraal ec2270b88f Add a method for obtaining display cutouts on Android 2022-04-26 13:52:33 +02:00
Rémi Verschelde 82e375d0a2
Merge pull request #60451 from timothyqiu/pool-array-doc
Remove `Array` link in description of `Pool*Array`
2022-04-25 23:05:45 +02:00
Rémi Verschelde 5e4358eb73
Merge pull request #60426 from timothyqiu/array-fill
[3.x] Add fill method to `Array` and `Pool*Array`
2022-04-25 23:00:17 +02:00
Haoyu Qiu 8f0f98ffab Bind Semaphore.try_wait() 2022-04-25 20:47:09 +08:00
Haoyu Qiu 77b6f7595a Add fill method to Array and PoolArrays
Co-authored-by: Matheus Lima Cunha <matheus.limacunha@hotmail.com>
2022-04-23 19:29:17 +08:00
Haoyu Qiu 4fda4f31c2 Remove Array link in description of PoolArrays 2022-04-23 11:07:55 +08:00
Rémi Verschelde 9a45eb70b4
Merge pull request #60204 from akien-mga/3.x-cherrypicks 2022-04-13 14:23:56 +02:00
Rémi Verschelde 57b53f5b53
Merge pull request #60035 from Calinou/camera-allow-lower-size-3.x 2022-04-13 12:48:17 +02:00
Markus Sauermann b0b1e55305 Add a note about collisions in different canvases.
(cherry picked from commit b9c91d620e)
2022-04-13 11:43:49 +02:00
Haoyu Qiu 6598eb9547 Improves EditorInspector documentation
(cherry picked from commit 2fa3c65d30)
2022-04-13 11:43:49 +02:00
Ryan Roden-Corrent 24d40ebed9 Clarify Array.erase for nonexistant element.
The docs specify that Array.remove does nothing if the index does not
exist. Array.erase does not have a similar phrase, so it's unclear if
erase will print an error, or silently do nothing.

(cherry picked from commit f84e2db35e)
2022-04-13 11:43:49 +02:00
kobewi 427480aa35 Mention how to add dragging for SpinBox's LineEdit
(cherry picked from commit c8de265307)
2022-04-13 11:43:49 +02:00
Fredia Huya-Kouadio a3b445d7e8 Remove duplicate `resizable` settings
(cherry picked from commit f1a7caf9bb)
2022-04-13 11:43:49 +02:00
nova++ 8235005c99 Fixing some of my own typos...
(and a little improvement to wording that was bugging me)

(cherry picked from commit 05718796db)
2022-04-13 11:43:49 +02:00
kobewi e86a64a2a5 Add optional 'default' argument to get_meta()
(cherry picked from commit 3eb7fc4bfd)
2022-04-13 11:43:49 +02:00
Rémi Verschelde 8855d73e12
Merge pull request #60018 from timothyqiu/nav-server-free-3.x
[3.x] Rename `NavigationServer`'s `free` method to `free_rid`
2022-04-13 08:33:51 +02:00
Yuri Roubinsky e54a4646c7 Add selection getter methods to `LineEdit`
Co-authored-by: Yuri Roubinsky <chaosus89@gmail.com>
2022-04-12 14:31:51 +02:00
Hugo Locurcio 4bf6cbe4fe
Allow `size` values as low as `0.001` in Camera's orthogonal/frustum mode
This allows for lower field of view (or higher zoom) in orthogonal
and frustum camera modes.

The property hint also allows setting the size with greater precision.
2022-04-08 18:53:07 +02:00
Haoyu Qiu f24312380f Rename NavigationServer's free method to free_rid 2022-04-08 17:31:04 +08:00
ConteZero 820728aa52 [3.x] Expose get_selected_text in RichTextLabel 2022-04-05 22:38:10 +02:00
Rémi Verschelde a4bbc87acc
Merge pull request #59900 from timothyqiu/remove-theme-type
[3.x] Add an explicit way to remove a theme type
2022-04-05 08:29:17 +02:00
Haoyu Qiu f6251724af Add an explicit way to remove a theme type
Co-Authored-by: Yuri Sizov <yuris@humnom.net>
2022-04-05 11:51:15 +08:00
Haoyu Qiu bba6d18973 Add missing period in classref of 3D render layer 2022-04-05 09:43:38 +08:00
ConteZero 5e714051ea [3.x] Add deselect() to RichTextLabel 2022-04-04 22:46:13 +02:00
Rémi Verschelde bac58e898e
Merge pull request #59713 from Calinou/doc-canvasitem-top-level-3.x 2022-03-31 23:19:10 +02:00
Hugo Locurcio 4e6dfac969
Improve documentation related to 3D material vertex lighting 2022-03-31 18:11:18 +02:00
Hugo Locurcio 196c4fff13
Clarify what `set_as_toplevel()` does in CanvasItem 2022-03-31 02:07:16 +02:00
Rémi Verschelde 81eda4eee0 doc: Fix String.rsplit code example
Fixes #36898.
Supersedes and closes #36951.

(cherry picked from commit e7fd0ec31f)
2022-03-28 23:51:32 +02:00
Haoyu Qiu 98069fa6f1 Document how to specify explicit value for `PROPERTY_HINT_ENUM` names
(cherry picked from commit 405bc96a1e)
2022-03-28 23:49:06 +02:00
Haoyu Qiu f062e967f5 Mention default output node name for AnimationNodeBlendTree
(cherry picked from commit 6bf01e0567)
2022-03-28 23:45:23 +02:00
bruvzg fd2fba7c2c
Add binary MO translation file support. Add brotli decoder and WOFF2 support.
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
2022-03-25 19:51:39 +02:00
Hugo Locurcio 292ad704e6
Increase the maximum number of concurrent DNS queries from 32 to 256
This makes the following error message less likely to be printed
when performing many concurrent HTTP requests:

    Condition ' resolving == IP::RESOLVER_INVALID_ID ' is true. returned: ERR_BUG
2022-03-25 17:13:51 +01:00
Rémi Verschelde 788abafb77
Merge pull request #57673 from Calinou/doc-bakedlightmap-atlas-size
Document BakedLightmap atlas generation only being compatible with GLES3
2022-03-22 20:12:31 +01:00
Hugo Locurcio ff8e0519a8
Document BakedLightmap atlas generation only being compatible with GLES3 2022-03-22 17:36:15 +01:00
zacryol 3fe37f9635 update _init() description
Specify details regarding required parameters.

(cherry picked from commit 21fc3cbe81)
2022-03-22 10:29:25 +01:00
Hugo Locurcio 0e25cd0788 Mention that Node's `owner` must be set for persistence to work
This is already done in `Node.add_child()` documentation, but
this copies the note in `Node.owner` for good measure.

(cherry picked from commit be1acf3b92)
2022-03-22 08:55:07 +01:00
Jason Knight 09e4672f0d Bind NOTIFICATION_LOCAL_TRANFORM_CHANGED 2022-03-20 11:34:29 -06:00
Rémi Verschelde 9e44fb166d
Merge pull request #59344 from madmiraal/fix-57943-3.x
[3.x] Ensure minimum modifiers are pressed when matching actions
2022-03-20 11:27:20 +01:00
Marcel Admiraal 88c723c33c Ensure minimum modifiers are pressed when matching actions 2022-03-20 08:08:40 +00:00
Rémi Verschelde cec7fc4ffe
Merge pull request #58479 from ChronicallySerious/use-time-in-vcs
Use Time singleton in VersionControlEditorPlugin
2022-03-18 20:34:56 +01:00
ChronicallySerious 9e978bf989 Use Time singleton in VersionControlEditorPlugin
Instead of displaying the exact string, now Godot uses the Time
singleton to calculate the date string from the UTC Unix timestamp and
also uses Time's timezone offset conversion to string function
2022-03-19 00:50:37 +05:30
Ricardo Buring 812d45ea7c Document that PhysicsServer's get_process_info is implemented only for Godot Physics 2022-03-18 20:01:45 +01:00
Rémi Verschelde 6a524b2cc0
Merge pull request #57661 from lawnjelly/bind_mesh_merging 2022-03-17 19:54:31 +01:00
taigi100 e49d8f8b4c Update color constants to use HEX codes
(cherry picked from commit bd247fa315)
2022-03-17 15:49:58 +01:00
Haoyu Qiu d537a88299 Add item tooltip access to OptionButton
(cherry picked from commit a635ecf6d4)
2022-03-17 14:45:19 +01:00
Hugo Locurcio 1a300503c6 Document Range's `value_changed` signal is also emitted with code changes
This also mentions that the signal is potentially emitted every frame,
which can have performance implications.

(cherry picked from commit cdbb31adc9)
2022-03-17 14:45:19 +01:00
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
Marcel Admiraal d2c0ee700a Update documentation for Control rect_pivot_offset to include rotation 2022-03-15 10:28:45 +00:00
Rémi Verschelde ee818e1631
Merge pull request #54026 from ConteZero/primary_clipboard_linux_3.x 2022-03-14 18:52:20 +01:00
ConteZero 2ff0735329 Added primary clipboard for Linux 2022-03-14 15:28:36 +01:00
Rémi Verschelde fdaf0de3f0
Merge pull request #59100 from RandomShaper/mouse_drop_on_disable_3.x 2022-03-14 11:25:12 +01:00
Pedro J. Estébanez 3d7821bf1f Drop mouse focus and over when gui input is globally disabled
Since some porjects may be relying on the former behavior, this is opt-in via a new project setting, disabled by default, but enabled for new projects, since it's the new standard behavior (and the only one in 4.0).
2022-03-14 11:06:26 +01:00
ConteZero 0ffacff998 [3.x] Add option to make selection unique 2022-03-14 09:48:09 +01:00
Rémi Verschelde 08c3e00b95
Merge pull request #55355 from ConteZero/drag_and_drop_3.x 2022-03-14 08:43:22 +01:00
ConteZero 4167e98088 Add drag and drop to TextEdit, LineEdit, RichTextLabel 2022-03-14 08:15:25 +01:00
Hugo Locurcio caf2c20655 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.

(cherry picked from commit 2ad6e11b78)
2022-03-13 15:46:01 +01:00
Rémi Verschelde 3eee2f45a3
Merge pull request #57674 from RandomShaper/fix_ubershader_android
Improve ubershader compatibility
2022-03-13 00:53:48 +01:00
Hugo Locurcio c731cda3d8 Clarify the position of points in `Curve{2D,3D}.add_point()`
(cherry picked from commit 35c8d332b5)
2022-03-12 15:10:28 +01:00
Aaron Franke 3040285b27 Add offset string from minutes conversion method to Time singleton
(cherry picked from commit 55aabb8b06)
2022-03-12 14:44:23 +01:00
Rémi Verschelde f6895fbb46
Merge pull request #59034 from lawnjelly/docs_background_keep 2022-03-12 14:28:00 +01:00
Rémi Verschelde eb36566c34
Merge pull request #58812 from Calinou/os-add-get-screen-refresh-rate-3.x
Add `get_screen_refresh_rate()` to OS
2022-03-11 17:31:20 +01:00
lawnjelly bc924d4b41 Correct docs for Environment background keep mode
The docs incorrectly stated that KEEP was the fastest mode. This is not the case with modern hardware.
2022-03-11 15:44:40 +00:00
Markus Sauermann 2cafaf3adb Fix documentation about depth and width of Height map 2022-03-11 01:03:07 +01:00
Hugo Locurcio cec7c908ca
Add `get_screen_refresh_rate()` to OS
This method can be used to get the refresh rate of a given screen.
It is supported on Windows, macOS, Linux, Android and iOS (but not
HTML5).
2022-03-10 22:10:48 +01:00
Rémi Verschelde 1cf444aff0
Merge pull request #58686 from vnen/gdscript-warn-export-type-mismatch 2022-03-10 21:12:05 +01:00
Rémi Verschelde 1639b3a6a9
Merge pull request #58674 from Calinou/smooth-trimesh-collision-always-setting-3.x 2022-03-10 21:11:44 +01:00
Haoyu Qiu 94a5f9edb0 Fix capitalization of boolean output in classref 2022-03-09 21:56:55 +08:00
Wilson E. Alvarez c37be0f31b
Expose TextEdit get_visible_rows() and get_total_visible_rows() to GDScript 2022-03-08 22:32:22 -05:00
Rémi Verschelde 85b4848ca8
Merge pull request #54188 from Rubonnek/increase_var_arg_max_3x 2022-03-08 13:10:48 +01:00
Wilson E. Alvarez 424dbf70af
Increase VARIANT_ARG_MAX to 8 2022-03-07 10:03:49 -05:00
Hugo Locurcio 413689559c
Always register the Smooth Trimesh Collision project setting
This ensures the project setting never disappears from the editor,
even if the current physics engine is GodotPhysics.

This also adds documentation for the Smooth Trimesh Collision
project setting.
2022-03-02 18:50:21 +01:00
George Marques f2166ba92f
GDScript: Don't coerce default values to the export hint type
This behavior is inconsistent with non tools builds and can create
issues. Instead, a warning is emitted if there's a type mismatch. If the
type can't be converted, an error is shown instead.

For the editor it gives a converted value to avoid issues with the
property editor, which expects the correct type.
2022-03-02 12:26:17 -03:00
Nova c4041ca8c0 Added or improved documentation to a few more String methods
(cherry picked from commit f159e7e5ab)
2022-03-02 11:00:26 +01:00
Markus Sauermann 54eac2aba5 Update doc for match: empty argument doesn't match anything
(cherry picked from commit 70ae6c21de)
2022-03-02 11:00:26 +01:00
skyace65 310adf533d Add more information on triangulate polygon
(cherry picked from commit bcc4d26c48)
2022-02-24 10:33:52 +01:00
Hugo Locurcio 595d67ae8b
Document glow rendering caveats when using GLES3 on mobile 2022-02-23 17:47:16 +01:00
lawnjelly b90f1a3ec0 Disable jitter fix when physics interpolation is enabled. 2022-02-21 10:32:42 +00:00
Hugo Locurcio cfba65fa23 Expose `AudioServer.capture_device` as a property
This is more consistent with `AudioServer.device` (for output),
which is already exposed as a property.

(cherry picked from commit 1d35b37499)
2022-02-19 15:57:36 +01:00
Haoyu Qiu f61ce6ee89 Fix wording in AnimationNode classref
(cherry picked from commit bc37b0508b)
2022-02-19 15:45:43 +01:00
Hugo Locurcio def35898e4
Document that meshes and lights must be fully set up before baking GIProbe 2022-02-18 21:42:06 +01:00
Yuri Sizov df13466139 Add type variations to Theme 2022-02-17 15:24:10 +03:00
Rémi Verschelde 47e34dc4e2
Merge pull request #58157 from Calinou/os-add-get-processor-name-3.x 2022-02-17 12:34:16 +01:00
Hugo Locurcio ac0d37dcef
Add a property hint for the Line2D Round Precision property
This prevents choosing extremely high values which cause performance
issues for no visual benefit.

(cherry picked from commit 6b52aa67b8)
2022-02-17 09:59:28 +01:00
Haoyu Qiu c9f9e06775
Fix documentation about TreeItem button ID
(cherry picked from commit bb766a8fb6)
2022-02-17 09:59:28 +01:00
Wagner Scholl Lemos 2ed43f940b
Added show and hide methods and updated doc API.
(cherry picked from commit 160ee4ef8e)
2022-02-17 09:52:47 +01:00
Rémi Verschelde 125e419f61
Merge pull request #35316 from Calinou/contact-shadows-hide-from-editor
Document Light contact shadows often looking broken
2022-02-17 07:37:45 +01:00
Haoyu Qiu 8f14941ffd Fix mismatched BBCode tags in classref 2022-02-17 10:19:28 +08:00
Hugo Locurcio 9171737e2b
Document Light contact shadows often looking broken 2022-02-17 02:04:07 +01:00
Hugo Locurcio 7f9e974a8b
Add an `OS.get_processor_name()` method
This method can be used to get the CPU model name.
It can be used in conjunction with
`VisualServer.get_video_adapter_name()` and
`VisualServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
2022-02-16 18:39:02 +01:00
Haoyu Qiu 0e9a9a7ee2 Fix description of OccluderShapePolygon.two_way 2022-02-17 01:21:32 +08:00
Rémi Verschelde 2dd545b512
Merge pull request #58141 from lawnjelly/occluder_shared_resources 2022-02-16 13:29:55 +01:00
lawnjelly 3c2df49832 Fix Occluder to properly share resources
In order to properly support the resource sharing paradigm, Occluders are split into Instances and Resources in the VisualServer. Instances are owned by a Scenario, and Resources are global. OccluderShape resources can now correctly be shared by multiple OccluderInstances.
2022-02-16 09:55:11 +00:00
lawnjelly 522bce1159 Fixed Timestep Interpolation (3D)
Adds fixed timestep interpolation to the visual server.
Switchable on and off with project setting.

This version does not add new API for set_transform etc, when nodes have the interpolated flag set they will always use interpolation.
2022-02-16 09:41:23 +00:00
Hugo Locurcio 7dcb25e37b
Improve documentation for AudioServer device properties and methods
(cherry picked from commit 743b5608e3)
2022-02-15 12:30:58 +01:00
Hugo Locurcio 5ca3a360d1
Clarify identical `hash()` return values due to collisions
(cherry picked from commit 08541fe11d)
2022-02-15 12:27:57 +01:00
Hugo Locurcio 08128351a5
Clamp environment light sky contribution to the [0.0; 1.0] range
The value is already clamped in the editor, but it wasn't being
clamped when the value was set via code. Values outside the [0.0; 1.0]
range can result in broken rendering.
2022-02-14 17:15:06 +01:00
Hugo Locurcio 53b96095eb
Improve completion scroll bar visibility in the script editor (3.x)
This makes the scroll bar bar thicker and more opaque (roughly
matching the editor theme's scroll bar by default).
2022-02-14 14:54:35 +01:00
Hugo Locurcio f1d289f6eb
Improve the `AudioStreamPlayer2D/3D.area_mask` documentation
The documentation was stating that the area mask affects where sounds
can be heard, which is not true. Instead, the area mask affects audio
bus redirection.

Thanks to Azedaxen on the Godot forums for providing this description :)

(cherry picked from commit ab1eaac315)
2022-02-11 09:51:50 +01:00
Rémi Verschelde 7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
reduz e4e3f7d157
Add a signal to notify when children nodes enter or exit tree
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950

(cherry picked from commit fbd9599b04)
2022-02-11 09:50:58 +01:00
TechnicalSoup 49059e3f26
Expand description for warp_mouse_position method
Add more detail to the description for the warp_mouse_position method, clarifying that the vector is in screen coordinates and relative to an origin at the top of the game window.

(cherry picked from commit 3dc1fad262)
2022-02-11 09:50:57 +01:00
Max Hilbrunner 12841d536f
DOCS: Object.set() does nothing on type mismatch
(cherry picked from commit bb7d003881)
2022-02-11 09:50:06 +01:00
Haoyu Qiu 8231303dec Backport FlowContainer 2022-02-11 14:48:40 +08:00
Haoyu Qiu f49ffe4bb0 Backport CanvasLayer visibility 2022-02-11 01:00:35 +08:00
Rémi Verschelde 0c7c640112
Merge pull request #57643 from YeldhamDev/smarter_pm_focus_port 2022-02-10 16:52:08 +01:00
lawnjelly f0af29346b ProjectSettings add dirty flag and project_settings_changed signal
Most frames there will be no change in project settings, and it makes no sense to read settings every frame in case of changes, as a large number of string compares are involved.

This PR adds a signal to ProjectSettings that can be subscribed to in order to keep local settings up to date with ProjectSettings.

In addition a function `ProjectSettings::has_changes()` is provided for objects outside the signal system (e.g. Rasterizers).
2022-02-09 11:20:25 +00:00
Haoyu Qiu a3f6033513 Improve TreeItem button API 2022-02-08 23:56:19 +08:00
Raul Santos 1d3de163dc Add alignment options to icons on buttons.
They can now be centered and right-aligned.

Co-authored-by: jitspoe <jitspoe@yahoo.com>
2022-02-07 21:29:37 +01:00
Fabio Alessandrelli 4c23a902c1 [HTML5] Implement JavaScript PWA update callbacks.
Allows detecting when a new version of the progressive web app service
worker is waiting (i.e. an update is pending), along a function to force
the update and reload all clients.
2022-02-06 18:33:13 +01:00
Marcel Admiraal a4f0e02798 Update definitions of get_mouse_position methods 2022-02-06 09:32:46 +00:00
Pedro J. Estébanez 0d1ec9a7cf Improve ubershader compatibility
- Prevent debug enforced use of ubershader on shaders not supporting it
- Use unsigned integer for ubershader flags
- Add project setting for disabling async shader compilation on mobile
- Stop sampling some textures through different kinds of samplers at the same time
2022-02-05 22:12:31 +01:00
lawnjelly cf1b3fdd55 Bind mesh merging functionality in MeshInstance
The portal system introduced basic mesh merging functionality, this has wide ranging uses outside of the portal system.
For this reason, this PR binds the mesh merging functionality.
It also slightly modifies the calling from RoomManager to use a Vector of Node *, in order to allow binding of the function.
2022-02-05 13:18:17 +00:00
Rémi Verschelde 689f59dca0
Merge pull request #53463 from lawnjelly/vital_redraws
Add editor vital redraws only option
2022-02-04 21:42:49 +01:00
Michael Alexsander f63bea9ef2 Make popup menus focus items automatically when not using the mouse 2022-02-04 17:20:26 -03:00
Hugo Locurcio 92376633f3
Clamp Viewport shadow atlas sizes to improve usability
- Add a range hint to the Viewport `shadow_atlas_size` property.
- Add range steps to the shadow resolution project settings that
  match the lowest allowed values (since lower increments don't
  make sense).
2022-02-04 18:01:16 +01:00
lawnjelly 10eb9564ca Portals - Improve mesh merging
Some improvements to robustness to account for more properties.
Addition of an "allow merging" flag in the cull instance.
2022-02-04 08:40:46 +00:00
Rémi Verschelde 176de98dd6
Merge pull request #57576 from timothyqiu/doc-stream-peer-buffer-3.x 2022-02-03 09:59:20 +01:00
Haoyu Qiu 9150fe5c9a Add documentation for StreamPeerBuffer 2022-02-03 16:01:28 +08:00
Pawel Lampe 6c6e50bf0c Fix navigation merge errors, fixes #56786
- improved `detail/sample_max_error` default value
- improved floating point precision handling in cell key calculations
- improved `merge error` error message
- exposed `cell_height` of `nav_map` to the `Navigation`
- fixed cell key `y` calculation
2022-02-02 23:52:29 +01:00
Rémi Verschelde 78f230885b
Merge pull request #57475 from snailrhymer/look-at-update 2022-02-02 23:07:20 +01:00
lawnjelly a0c6d16c90 Add editor vital redraws only option
When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.

This can be fine on high power desktops but can be an annoyance on lower power machines.

This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.

An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:

* Continuous
* Update all changes
* Update vital changes
2022-02-02 11:26:45 +00:00
Hugo Locurcio 7f00317f67
Clarify documentation for Rect2's `has_no_area()` 2022-02-01 22:43:02 +01:00
Rémi Verschelde b6dbff7621
Merge pull request #57361 from lawnjelly/occ_poly_only 2022-02-01 14:04:24 +01:00
lawnjelly 8ea20f5fdd Add OccluderShapePolygon
Add OccluderShapePolygon, glue to Occluder and gizmos etc.
2022-02-01 11:31:06 +00:00
Ev01 fa906f70e9
Fixes invalid links to tutorials in AudioStreamGenerator, AudioStreamGeneratorPlayback, and AudioEffectSpectrumAnalyzer class references
(cherry picked from commit b6c543179c)
2022-01-31 22:54:22 +01:00
Hugo Locurcio 3fd186c0c2
Improve documentation for `ReflectionProbe.max_distance` property
(cherry picked from commit c35968e276)
2022-01-31 22:54:17 +01:00
SnailRhymer 83298da9b8 Backport improved look_at docs and errors
Take extra constraint info and function description from Node3D.look_at to improve Spatial.look_at docs.
Add an explicit error for up == 0
2022-01-31 11:52:15 +00:00
Manolis Papadeas 941879f601
Expose BitMap's `convert_to_image` and `resize` methods to GDScript
(cherry picked from commit 453912d48d)
2022-01-25 18:55:52 +01:00
Wysocki Patryk 6340e4c83f
Expose AnimationNodeOneShot::mix_mode as a property
Fixes #23458.

(cherry picked from commit f16c483c9d)
2022-01-25 18:55:51 +01:00
Rémi Verschelde 2eb12f1d71
doc: Clarify expected type of `Object *` parameters in Tree methods
They're meant to be `TreeItem *` but this can't be bound in Variant.

Fixes #20538.

(cherry picked from commit 81f2ce4e46)
2022-01-25 18:24:02 +01:00
SnailRhymer 6ac800aab7 Add clarification to tile_set_modulate
To resolve 45677, adds a note to tile_set_modulate clarifying how to use tile_modulate in shaders.
2022-01-24 21:23:04 +00:00
Pawel Lampe 67cf622935 Improve `Navigation2D` default settings, fixes #56852
This commit reduces `cell_size` and `edge_connection_margin` default
values so that `Navigation2D` behaves more like in Godot <= `3.4` by default.
2022-01-23 14:07:31 +01:00
Rémi Verschelde e33f8df9ca
Merge pull request #56984 from Calinou/doc-softbody-no-gameplay-3.x 2022-01-23 12:54:36 +01:00
LoserFox 0af26280b6
Fix some errors in Environment documentation
Co-authored-by: Clay John <claynjohn@gmail.com>
Co-authored-by: Max Hilbrunner <mhilbrunner@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-23 00:45:27 +01:00
Rémi Verschelde 6c0c0c4b29
Merge pull request #54165 from Calinou/directional-shadow-runtime-change-3.x
Allow changing directional shadow size at run-time
2022-01-22 15:25:09 +01:00
Mak Kma 1c3d3af6ef backported method get_rid for NavigationAgent 2022-01-21 00:15:16 +03:00
Rémi Verschelde a9b10054b8
Merge pull request #56950 from timothyqiu/has-clipboard-3.x 2022-01-20 12:09:53 +01:00