Commit Graph

3624 Commits

Author SHA1 Message Date
PouleyKetchoupp 9bc1b4b90e Improved logic for KinematicBody collision recovery depth
Allows more flexible collision detection with different safe margin values.

Kinematic 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
2021-10-05 17:00:55 -07:00
Rémi Verschelde 77f52bdf99
Merge pull request #52137 from Ansraer/3.x-2d-scale-factor 2021-10-05 19:12:19 +02:00
Ansraer d44aa61735 implement better ui scaling 2021-10-05 14:30:38 +02:00
Rémi Verschelde 4e85135c37
Merge pull request #53429 from KoBeWi/listener3.x 2021-10-05 13:57:28 +02:00
kobewi f9720a9bf2 Add Listener2D 2021-10-05 13:29:59 +02:00
lawnjelly 192ec963ae Create 'rendering/misc' project settings section
To prevent the project settings `rendering` section getting out of hand, this PR moves some of the smaller new settings into a `misc` category.
2021-10-05 11:47:03 +01:00
Rémi Verschelde 59930dca00
Merge pull request #53263 from Calinou/editor-inspector-warning-yellow-3.x 2021-10-05 11:12:44 +02:00
Rémi Verschelde 72a922eb4e
Merge pull request #53300 from Calinou/viewport-tweak-configuration-warning-3.x 2021-10-04 20:31:05 +02:00
Rémi Verschelde 55c9cc21e9
Merge pull request #53397 from pycbouh/theme-improve-change-propagation-3.x
[3.x] Make `Theme` report property list changes less often, and other backports
2021-10-04 18:05:16 +02:00
Yuri Sizov 98cf645258 Expose API to retrieve Theme's default font 2021-10-04 17:44:53 +03:00
Hugo Locurcio d71ed9d287
Document SurfaceTool must generate tangents for proper normal display
(cherry picked from commit d339388942)
2021-10-04 15:15:27 +02:00
zacryol 3e4e87fb90
Fix typo with example variable name in Dictionary docs, and fix error in C# example
(cherry picked from commit 9359bee75c)
2021-10-04 14:36:59 +02:00
Hugo Locurcio ebdbace62a
Document that tangents are required for normal mapping in SpatialMaterial 2021-10-01 19:05:58 +02:00
Hugo Locurcio c6617e956c
Tweak the Viewport configuration warning to mention 2×2 size requirement 2021-10-01 16:43:33 +02:00
Hugo Locurcio deeeabc2ba
Clarify what the `Node.filename` property contains
(cherry picked from commit f23b917007)
2021-10-01 08:01:47 +02:00
Haoyu Qiu 44ea7e7c4f
Fix doc for Dictionary.erase
(cherry picked from commit 1e0fe9f817)
2021-10-01 08:00:59 +02:00
Hugo Locurcio 26671e7407
Use a yellow color for editable children properties instead of red
This matches the usual "Changes may be lost!" warning color.
2021-09-30 18:41:46 +02:00
O01eg cddabf2a8b
Implement override of get_message 2021-09-29 14:06:57 +03:00
Rémi Verschelde 462b8dfe96
Merge pull request #53041 from pycbouh/docs-color-picker-and-button-3.x 2021-09-28 12:14:00 +02:00
Michael Alexsander b4d6afb7ad
Expose `TabContainer`'s tab hidding for scripts
(cherry picked from commit 7ce02b642e)
2021-09-27 18:06:36 +02:00
skyace65 370fa82b2c
Add note that for _gui_input(event) event position is relative to the control origin
(cherry picked from commit 824259aca0)
2021-09-27 17:57:50 +02:00
Yuri Sizov dd2a01cbbe Add usability notes to ColorPicker and ColorPickerButton descriptions
Co-authored-by: follower <follower@rancidbacon.com>
2021-09-25 02:21:39 +03:00
kobewi d0a8e6d563
Improve call_group documentation
(cherry picked from commit 31ef94f2ec)
2021-09-21 20:33:12 +02:00
Rémi Verschelde b4fc24b73f
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.

(cherry picked from commit def99c7baf)
2021-09-21 20:33:12 +02:00
bruvzg 131f913747
Improve `OS::get_locale()` on macOS and Windows, replace "-" with "_" and use system macros instead of bitwise AND. Add locale format info to the documentation.
(cherry picked from commit f797e1c078)
2021-09-21 20:33:11 +02:00
Hugo Locurcio 6702e37a88
Document how to delay code execution in a non-blocking manner
(cherry picked from commit 1529bf7c10)
2021-09-21 20:33:11 +02:00
mechPenSketch 68b8cf75ea
Add Graph Illustrations to Doc
(cherry picked from commit 9ea619c486)
2021-09-21 20:33:11 +02:00
Nick Huelin e902ee06ef
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

(cherry picked from commit d62175e009)
2021-09-21 17:15:01 +02:00
Nick Huelin 03af0f3e94
Add note to `RichTextLabel`
(cherry picked from commit 4a0cadd4ed)
2021-09-21 17:15:01 +02:00
Jummit d29095027b
clarify what duplicate does and its limitations
(cherry picked from commit a6108f8a3d)
2021-09-21 17:15:00 +02:00
Marcus Brummer c75aa69774
Documented that mutexes are implemented recursively
(cherry picked from commit 46bbeb2b60)
2021-09-21 17:15:00 +02:00
georgespatton de009a29c8
doc: Clarify need to save ConfigFile to apply changes to file
See #52645 for context.

(cherry picked from commit fd8bdddd5d)
2021-09-21 17:15:00 +02:00
Hugo Locurcio df0210a508
Document caveats with StyleBoxFlat antialiasing and beveled corners
(cherry picked from commit f7f8ae6372)
2021-09-21 17:15:00 +02:00
skysphr f53294f874
Added increment_pressed and decrement_pressed icons to scrollbars
(cherry picked from commit e27ab2708f)
2021-09-21 17:14:59 +02:00
kobewi 44a56c9742
Add offset for TextureProgress progress texture
(cherry picked from commit e78ee616f7)
2021-09-21 17:14:59 +02:00
Hugo Locurcio 415b7a7bfc
Improve documentation for `String.get_extension()`
(cherry picked from commit 09eb98c530)
2021-09-21 17:14:58 +02:00
Hugo Locurcio 3872986f1f
Document `Object.get_class()/is_class()` ignores `class_name` declaration
(cherry picked from commit a15847e5ca)
2021-09-21 17:14:58 +02:00
Hugo Locurcio 348152b3c9
Document that ConfigFiles can use any file extension
The file extension given to a ConfigFile has no impact on its
formatting or behavior.

(cherry picked from commit 9c6ae95cb2)
2021-09-21 17:14:58 +02:00
Rémi Verschelde 8ea1ad6725
Merge pull request #52772 from Calinou/editor-default-enable-doppler-3.x 2021-09-21 11:30:03 +02:00
Rémi Verschelde 91d0e985cd
Merge pull request #52572 from timothyqiu/expose-enum-3x
[3.x] Expose enum related methods in ClassDB
2021-09-20 16:12:16 +02:00
Zak fb17ac885a
Improve docs for Thread
An attempt to improve the documentation for Thread
- Adds documentation on how and when the `wait_to_finish` should be used
- Adds a note on what to be careful about when using `wait_to_finish`

(cherry picked from commit 9e2882a989)
2021-09-20 12:49:13 +02:00
Kyle cc04b4ceba
Wrote JNISinglton docs
I added a few descriptions and links to the empty JNISingleton class doc.

(cherry picked from commit 4eff57d39b)
2021-09-20 12:47:43 +02:00
Austin Tasato af76e5fddc
Add "Physics intro" docs link for State classes
(cherry picked from commit ce8eb09a25)
2021-09-20 12:42:17 +02:00
Hugo Locurcio e1330418ab
Document that node groups don't have a guaranteed order
(cherry picked from commit 0adf1a6683)
2021-09-20 12:31:56 +02:00
Arthur Paulino e1be41b2c6
improving note on HTTPRequest class under the request method documentation
(cherry picked from commit 1ed3d9a0b0)
2021-09-19 11:30:21 +02:00
Rémi Verschelde 1a30a285a9
Merge pull request #52454 from skyace65/ExpRange34 2021-09-17 23:12:36 +02:00
Hugo Locurcio 4914b57222
Enable Doppler preview in the 3D editor by default
This makes setting up AudioStreamPlayer3D nodes for Doppler playback
a bit easier.

- Move AudioStreamPlayer3D's Doppler Tracking property outside a group
  since the group only had 1 property, which resulted in unnecessary
  folding in the inspector.
- Put the AudioStreamPlayer3D Playing and Autoplay properties higher up
  in the inspector since these are likely to be modified often.
2021-09-17 18:51:09 +02:00
Camille Mohr-Daurat bb885c5704
Merge pull request #52369 from bengtsts/3.x
Expose soft body pin methods to GDScript
2021-09-17 06:19:54 -07:00
Bengt Söderström 2117584690 Documented soft body pinning methods 2021-09-17 11:25:53 +02:00
Álex Román Núñez 43bc8830f1 Fix InputMap.action_erase_event() failing to erase events correctly.
Fixes #52733

(3.x backport of 7104229a85)
2021-09-17 03:08:21 +02:00
Max Hilbrunner f8e3840913
Merge pull request #49039 from madmiraal/fix-docs-3407-3.x
[3.x] Clarify documentation of Camera.get_camera_transform()
2021-09-16 00:22:06 +02:00
Max Hilbrunner 1d07feca54
Merge pull request #49042 from madmiraal/fix-docs-4085-3.x
[3.x] Clarify that eof_reached() cannot be used to check if more data is available
2021-09-16 00:20:12 +02:00
Rémi Verschelde 25cbb858bc
Merge pull request #51935 from nekomatata/android-transparency-3.x
[3.x] Window transparency support on Android
2021-09-15 22:34:12 +02:00
Fabio Alessandrelli 97a8b7c68e
Merge pull request #52723 from Faless/js/3.x_mix_rate
[3.x] [HTML5] Use browser mix rate by default on the Web.
2021-09-15 21:49:26 +02:00
Fabio Alessandrelli b800438efb [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 20:36:19 +02:00
PouleyKetchoupp 52fdb4ece9 Window transparency support on Android
Implements per-pixel transparency feature on Android.
Allows plugins to do specific rendering and render godot UI on top
(useful for camera support with drawing on top).
2021-09-15 10:41:08 -07:00
Hugo Locurcio 622f0b7d38
Document that most emoji won't display correctly on Windows 2021-09-15 18:52:21 +02:00
Yuri Roubinsky b36b81cbdd
Better port handling connection for `GraphEdit`
(cherry picked from commit 61904d56ea)
2021-09-14 13:41:27 +02:00
Hugo Locurcio 9aee1a3992
Document `Image.generate_mipmaps()` always running on the main thread
(cherry picked from commit 30a88f464b)
2021-09-14 13:41:26 +02:00
LoipesMas 7f0094ca9f
Add note about batching to Line2D's anti-aliasing
(cherry picked from commit b047430702)
2021-09-14 13:41:25 +02:00
Vincent ea13ff860d
implement individual mesh transform for meshlibrary items
(cherry picked from commit 70108fd850)
2021-09-14 13:41:22 +02:00
Rémi Verschelde 37fab65e00
Merge pull request #52477 from Lauson1ex/3.x
Add a new high quality tonemapper: ACES Fitted (3.x)
2021-09-13 17:37:22 +02:00
Hugo Locurcio 31c07bcca7
Improve documentation for `Engine.get_idle_frames/get_physics_frames()` 2021-09-12 23:10:06 +02:00
Haoyu Qiu 468a2a2a65 Expose enum related methods in ClassDB 2021-09-11 20:33:29 +08:00
Endri Lauson 077083938e Add a new high quality tonemapper: ACES Fitted 2021-09-08 19:12:09 -03:00
Max Hilbrunner 76693aa364
Merge pull request #52182 from lawnjelly/portals_pvs_enum
Portals - Fix RoomManager PVS enum
2021-09-07 21:23:48 +02:00
Gilles Roudière cf48297ea2
Merge pull request #52047 from nobuyukinyuu/bind-get-tab-idx-at-point
[3.x] Bind TabContainer::get_tab_idx_at_point() to ClassDB
2021-09-07 11:10:27 +02:00
skyace65 b926059f78 Fix EXP range property hint description 2021-09-06 21:29:39 -04:00
Hugo Locurcio ef1c509372
Merge pull request #52241 from Rubonnek/fix-simplify-path-ret
[3.x] Fix `String::simplify_path` return type
2021-09-03 15:49:53 +02:00
Aaron Franke ee69b57434
[3.x] Fix KinematicBody axis lock 2021-08-29 20:38:09 -05:00
Wilson E. Alvarez f5409e7c3f
Fixed String::simplify_path Variant return type 2021-08-29 20:25:00 -04:00
nobuyuki_nyuu 522af5c614 Bind TabContainer::get_tab_idx_at_point() to ClassDB 2021-08-29 09:11:41 -05:00
lawnjelly 7ea35da462 Portals - Fix RoomManager PVS enum
The PVS mode enum had been declared using scope operator, which does not seem to work correctly from GDScript with the BIND_ENUM_CONSTANT macro.

This PR removes the scope operator in the declaration.
2021-08-28 07:27:50 +01:00
Hugo Locurcio d717eb537b
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 01:27:07 +02:00
Haoyu Qiu 5183c473f7 Backport new methods for KinematicBody and KinematicCollision
For both 2D and 3D, three methods are added:

- `get_floor_angle` on `KinematicBody` 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-26 12:16:40 +08:00
Clay John 46ad2560a1
Merge pull request #51780 from BastiaanOlij/output_linear_gles2
Convert output of GLES2 to linear color space
2021-08-25 22:22:05 -03:00
Hugo Locurcio f5e83e7305
Merge pull request #52052 from Calinou/dynamicfont-allow-woff
Allow using WOFF fonts in DynamicFont
2021-08-25 10:37:15 +02:00
Hugo Locurcio 1ab3ddf94a
Allow using WOFF fonts in DynamicFont
This is already supported by FreeType, but it wasn't exposed.

Adding support for WOFF2 would require linking a Brotli decompression
library in Godot, so only WOFF1 is exposed here.
2021-08-25 08:09:23 +02:00
Wilson E. Alvarez fb5417a17b
[3.x] Expose String.simplify_path 2021-08-24 00:48:20 -04:00
Max Hilbrunner 8c98320f93
Merge pull request #51967 from Calinou/spatialmaterial-gles2-allow-more-features
Allow clearcoat, anisotropy and refraction in SpatialMaterial in GLES2
2021-08-23 16:01:55 +02:00
Bastiaan Olij 73722f3c65 Convert output of GLES2 to linear color space if keep_3d_linear is enabled 2021-08-23 15:59:56 +10:00
Hugo Locurcio 2370fe5c26
Merge pull request #51973 from Calinou/define-minimum-window-size-3.x
Define a default minimum window size to workaround rendering issues (3.x)
2021-08-23 04:10:55 +02:00
Hugo Locurcio 59f24d8867
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.
2021-08-23 04:10:24 +02:00
Hugo Locurcio 43da1790c8
Remove deprecation warning for `BaseButton.enabled_focus_mode`
There were too many instances of false positives that are difficult
to fix. The note in the class reference has been clarified instead.
2021-08-22 21:47:53 +02:00
Hugo Locurcio 33d23281cb
Allow clearcoat, anisotropy and refraction in SpatialMaterial in GLES2
These SpatialMaterial features work just fine in GLES2,
but they were not exposed in the inspector when GLES2 was used.
2021-08-22 02:18:36 +02:00
kobewi 6eb52b0768
Fix renaming directories
(cherry picked from commit 0dde3e5b59)
2021-08-18 23:19:44 +02:00
Aaron Franke 02a94ee977
[3.x] Improve the docs for the float type 2021-08-18 13:27:43 -05:00
Rémi Verschelde 92a7ae022d
Merge pull request #51769 from The-O-King/oct_split_stream_fix
Fix Octahedral/Split Stream Options
2021-08-18 08:01:56 +02:00
Omar El Sheikh a63028e172 Fix Octahedral/Split Stream Options
Update mesh_surface_get_format_stride and
mesh_surface_make_offsets_from_format to return an array of offsets and
an array of strides in order to support vertex stream splitting

Update _get_array_from_surface to also support vertex stream splitting

Add a condition on split stream usage to ensure it does not get used on
dynamic meshes

Handle case when Tangent is compressed but Normal is not compressed

Make stream splitting option require a restart in the settings

Update SoftBody and Sprite3D to support and use strides and offsets
returned by updated visual_server functions

Update Sprite3D to use the dynamic mesh flag
2021-08-17 16:11:47 -04:00
Haoyu Qiu 5f316aa216 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-18 00:46:51 +08:00
Rémi Verschelde c0fc475078
Merge pull request #51521 from lawnjelly/portals_occluders
Sphere occluders (portals and general use)
2021-08-17 13:55:34 +02:00
Rémi Verschelde 53cc7a9be9
Merge pull request #51648 from pycbouh/editor-merge-custom-theme-3.x
[3.x] Add support for partial custom editor themes
2021-08-17 13:12:49 +02:00
lawnjelly 115f4dce55 Sphere occluders (portals and general use)
Add framework for supporting geometrical occluders within rooms, and add support for sphere occluders.
Includes gizmos for editing.

They also work outside the portal system.
2021-08-17 09:02:06 +01:00
Rémi Verschelde 028a2a7205
Merge pull request #50359 from m4gr3d/address_external_dir_access
[3.x] Add support for Android scoped storage
2021-08-16 09:48:34 +02:00
Hugo Locurcio 5335a0368c
Add a Viewport property to use full floating-point precision in HDR
This is only available on the GLES3 backend.

This can be useful for advanced shaders, but it should generally
not be enabled otherwise as full precision has a performance cost.
For general-purpose rendering, the built-in debanding filter should
be used to reduce banding instead.
2021-08-16 03:16:01 +02:00
Yuri Sizov ab25266213 Add support for partial custom editor themes 2021-08-14 02:11:54 +03:00
Rémi Verschelde 632844e464
Merge pull request #51320 from pycbouh/docs-extract-theme-items-3.x
[3.x] Add theme item descriptions to the online documentation
2021-08-13 22:39:09 +02:00
ne0fhyk c88d1608ab 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-13 11:04:17 -07:00
Hugo Locurcio f77b228b2c
Fix incorrect descriptions for EditorFileSystem's `get_file_type()`
(cherry picked from commit 1942e0c117)
2021-08-13 09:55:18 +02:00
Rémi Verschelde 54d14a912a
Merge pull request #51402 from tinmanjuggernaut/texture_array_anisotropic
[3.x] Add Anisotropic Filter option for TextureArrays
2021-08-13 08:46:22 +02:00
Rémi Verschelde f75d8d5c04
Merge pull request #51589 from Geometror/improve-stylebox-aa-3.x
StyleBox fake AA improvements (make anti aliasing size a float property) [3.x]
2021-08-13 01:33:01 +02:00
Rémi Verschelde 4b514bfdff
Merge pull request #51577 from m4gr3d/update_external_texture_config
Update external texture flag configuration.
2021-08-12 22:55:15 +02:00
Rémi Verschelde ffc372b002
Merge pull request #42220 from RandomShaper/agile_input_3.2
[3.x] Improve responsiveness on underpowered Android devices
2021-08-12 22:46:17 +02:00
Hendrik Brucker 6d05ef9ccb StyleBox fake AA improvements (aa_size float property) 2021-08-12 22:21:34 +02:00
Fredia Huya-Kouadio 2cc1cdc27b Update external texture flag configuration. 2021-08-12 10:46:09 -07:00
Cory Petkovsek fb609b22e4 Add Anisotropic Filtering option for TextureArrays 2021-08-12 23:56:03 +08:00
Rémi Verschelde f0b37b1519
doc: Point URLs to 3.4 version of the online docs 2021-08-12 17:08:10 +02:00
Iced Quinn c5f01173a4
doc: Add documentation for JSONRPC class
(cherry picked from commit 3fc5646b98)
2021-08-12 16:43:45 +02:00
Max Hilbrunner 235fec4316
Docs: Add warnings about no SSL/(D)TLS revocation
(cherry picked from commit 4eb427afb8)
2021-08-12 16:42:17 +02:00
follower abc18e9a4f
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.

(cherry picked from commit b85688ac7d)
2021-08-12 16:42:16 +02:00
Hugo Locurcio 0e0af7fa83
Add high quality glow mode
This backports the high quality glow mode from the `master` branch.

Previously, during downsample, every second row was ignored.
Now, when high-quality is used, we sample two rows at once to ensure
that no pixel is missed. It is slower, but looks much better and has
a much high stability while moving.

High quality also takes an additional horizontal sample the width of the
horizontal blur matches the height of the vertical blur.
2021-08-11 17:00:41 +02:00
Haoyu Qiu f4a6737eed Improve NavigationMesh typing, parameter validation and documentation 2021-08-11 18:18:27 +08:00
Rémi Verschelde 03c41fa34c
Merge pull request #51458 from nekomatata/moving-platforms-3d-3.x
[3.x] Fix 3D moving platform logic
2021-08-10 14:12:47 +02:00
Rémi Verschelde a9b585dd1a
Fixup doc formatting after #47416 2021-08-10 12:11:30 +02:00
Rémi Verschelde 7c6bdea33c
Merge pull request #47416 from Calinou/add-contrast-adaptive-sharpening-3.x
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
2021-08-10 10:08:24 +02:00
PouleyKetchoupp da159cd258 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 18:55:49 -07:00
Rémi Verschelde 0403cb8ad5
Merge pull request #51447 from nekomatata/fix-moving-platform-rotation-3.x
[3.x] Fix applied rotation from moving platforms in move_and_slide
2021-08-09 23:20:35 +02:00
PouleyKetchoupp f101349225 Fix applied rotation from moving platforms in move_and_slide
When synchronizing KinematicBody 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:04:57 -07:00
lawnjelly f3e6547a99 Portals - fix PVS generation and move settings
Fixed a bug in the complex PVS generation which was causing recursive loop.
Move some of the settings out of RoomManager into Project Settings.
Allow PVS generation method to be selected from Project Settings, and control PVS logging.
2021-08-08 19:57:27 +01:00
Pedro J. Estébanez 31a0ca2cac 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-08 12:37:55 +02:00
Rémi Verschelde b44f2126f6
Merge pull request #51334 from pycbouh/classref-get-theme-items-3.x
[3.x] Improve `Control`'s theme item methods documentation
2021-08-07 12:41:54 +02:00
Yuri Sizov 71ec6dba67 Improve Control's theme item methods documentation 2021-08-06 22:31:58 +03:00
Yuri Sizov 974e76a082 Improve the inspector plugin documentation and remove a confusing statement 2021-08-06 21:01:48 +03:00
Yuri Sizov fcbe5a3fde Add theme item descriptions to the online documentation 2021-08-06 18:20:51 +03:00
Rémi Verschelde b3c555504f
Improve documentation and simplifies code for `File::get_csv_line()`
Also forbids using double quotes as a delimiter.

(cherry picked from commit b8c08ba5ad)
2021-08-06 11:13:43 +02:00
lawnjelly 770d9f8220 Portals - add gizmo handles for editing portals and rooms
Gizmo handles are added for much more user friendly editing of portals and room bounds.
2021-08-06 07:53:22 +01:00
Bastiaan Olij cc1f7f2edc Revert "Combined the DOF far and DOF near passes"
This reverts commit 39658b4e07.
2021-08-05 23:22:31 +10:00
kobewi 5692bc8dd0
Improve ConfigFile example
(cherry picked from commit 1721f0143e)
2021-08-03 14:56:51 +02:00
merumelu ffec0799cb
makerst: use link titles for external tutorials
(cherry picked from commit b8752d91dc)
2021-08-03 10:20:19 +02:00
Rémi Verschelde f5836b40d4
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.

(cherry picked from commit 7adf4cc9b5)
2021-08-03 10:20:19 +02:00
Kevin Sanders 88ad05c5dc
Grammar fix.
(cherry picked from commit 6db57b9da2)
2021-08-03 09:33:25 +02:00
Rémi Verschelde 7b97243521
Merge pull request #51040 from nekomatata/layer-grid-32-3.x
[3.x] Refactor layer property editor grid
2021-08-02 21:14:43 +02:00
Hugo Locurcio 93f4f9e076
Link to the Random number generation tutorial in RandomNumberGenerator
This was done in `master` already, but not in `3.x`.
2021-07-31 22:54:30 +02:00
PouleyKetchoupp e0e9f575ae 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:43:04 -07:00
Rémi Verschelde 9735f2803c
Merge pull request #46800 from The-O-King/normal_compression
[3.x] Implement Octahedral Map Normal/Tangent Attribute Compression
2021-07-30 17:34:47 +02:00
Omar El Sheikh d274284069 Octahedral Normal/Tangent Compression
Implement Octahedral Compression for normal/tangent vectors
*Oct32 for uncompressed vectors
*Oct16 for compressed vectors

Reduces vertex size for each attribute by
*Uncompressed: 12 bytes, vec4<float32> -> vec2<unorm16>
*Compressed: 2 bytes, vec4<unorm8> -> vec2<unorm8>

Binormal sign is encoded in the y coordinate of the encoded tangent

Added conversion functions to go from octahedral mapping to cartesian
for normal and tangent vectors

sprite_3d and soft_body meshes write to their vertex buffer memory
directly and need to convert their normals and tangents to the new oct
format before writing

Created a new mesh flag to specify whether a mesh is using octahedral
compression or not
Updated documentation to discuss new flag/defaults

Created shader flags to specify whether octahedral or cartesian vectors
are being used

Updated importers to use octahedral representation as the default format
for importing meshes

Updated ShaderGLES2 to support 64 bit version codes as we hit the limit
of the 32-bit integer that was previously used as a bitset to store
enabled/disabled flags
2021-07-30 10:29:09 -04:00
EricEzaM 0e5c6e0d55 Allow checking for exact matches with Action events.
Added additional param to action related methods to test for exactness.
If "p_exact_match" is true, then the action will only be "matched" if the provided input event *exactly* matches with the action event.

Before:
* Action Event = KEY_S
* Input Event = KEY_CONTROL + KEY_S
* Is Action Pressed = True

Now:
You can still do the above, however you can optionally check that the input is exactly what the action event is:
* Action Event = KEY_S
* Input Event = KEY_CONTROL + KEY_S
* p_exact_match = True
* Is Action Pressed = False
* If the Input Event was only KEY_S, then the result would be true.

Usage:

```gdscript
Input.is_action_pressed(action_name: String, exact_match: bool)
Input.is_action_pressed("my_action", true)

InputMap.event_is_action(p_event, "my_action", true)

func _input(event: InputEvent):
  event.is_action_pressed("my_action", false, true) # false = "allow_echo", true = "exact_match"
  event.is_action("my_action", true)
```

Co-authored-by: Eric M <itsjusteza@gmail.com>
2021-07-30 15:35:39 +02:00
lawnjelly d0ba355520 Portals - add autoplace priority setting to CullInstance
The default autoplace algorithm places instances in the highest priority Room. It became apparent that there are some situations in which users will want to override this and force placement in a Room from a particular RoomGroup, especially an "outside" RoomGroup.

This setting allows the user to specify a preference for Room priority. When set to 0, the setting is ignored and the highest priority Room is chosen.
2021-07-28 17:23:20 +01:00
Hugo Locurcio 7e3c0a0c1f
Document `Image.save_exr()` only being available in editor builds
(cherry picked from commit a1784c64b4)
2021-07-28 15:35:52 +02:00
Rémi Verschelde 6a6b6fa5cb
Merge pull request #50827 from Calinou/bakedlightmap-add-bounce-indirect-energy 2021-07-27 10:44:41 +02:00
Rémi Verschelde a71169c0e0
Merge pull request #50788 from aaronfranke/3.x-input-get-axis 2021-07-26 16:30:44 +02:00
Hugo Locurcio 94f79fa474
Document caveats with Control's `mouse_entered`/`mouse_exited` signals
(cherry picked from commit 37c1cbdcb2)
2021-07-26 13:36:37 +02:00
Raul Santos f20ace5cd2
Fix typo in CollisionObject documentation
(cherry picked from commit f8374b021e)
2021-07-26 13:31:19 +02:00
Hugo Locurcio af3f83407f
Expose an ImportOrder enum in ResourceImporter
This avoids using magic numbers in code.

(cherry picked from commit 7f83977f37)
2021-07-26 13:26:58 +02:00
Hugo Locurcio 974d3aa9cd
Add a property to control the bounce indirect energy in BakedLightmap
Higher values will make indirect lighting brighter.
A value of 1.0 represents physically accurate behavior, but higher values
can be used to make indirect lighting propagate more visibly when using
a low number of bounces.

This can be used to speed up bake times by lowering the number of bounces
then increasing the bounce indirect energy. Unlike BakedLightmapData's
energy property, this property does not affect direct lighting
emitted by light nodes or emissive materials.
2021-07-25 03:04:40 +02:00
Aaron Franke 69fb14256b
[3.x] Allow getting Input axis/vector values from multiple actions
For get_vector, use raw values and handle deadzones appropriately
2021-07-23 19:17:55 -04:00
Nicholas Huelin 6d58ea6ce7
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`.

(cherry picked from commit 9a72b0d3d0)
2021-07-24 01:06:38 +02:00
Nicholas Huelin bd8747f7f1
Fix miscellaneous doc typos and inconsistencies
This pull request fixes an assortment of typos, improves conciseness, and enhances clarity.

(cherry picked from commit 9787e631aa)
2021-07-24 01:00:37 +02:00
Distrikt64 1e49b6299a
Fix msec documentation description typo
(cherry picked from commit 44eb041d60)
2021-07-24 00:59:57 +02:00
Joseph Davies b98a06b259
Fix grammar in MultiMesh documentation.
(cherry picked from commit 136567ebcf)
2021-07-24 00:58:30 +02:00
Hugo Locurcio 244425998f
Document the RootMotionView class
(cherry picked from commit 6880829a9a)
2021-07-24 00:58:11 +02:00
Rémi Verschelde 86054e00bf
Merge pull request #50446 from AnilBK/graphnode-improv-3.x
[3.x]Add missing graphnode setters.
2021-07-22 16:41:20 +02:00
Rémi Verschelde 0b4080ba4d
Merge pull request #48555 from lawnjelly/delta_sync
Add option to sync frame delta after draw
2021-07-22 13:33:57 +02:00
Rémi Verschelde 214106d6e3
Merge pull request #50723 from BastiaanOlij/combine_far_near_dof
Combined the DOF far and DOF near passes
2021-07-22 13:19:39 +02:00
lawnjelly 93557927e4 Add option to sync frame delta after draw
Investigations have showed that a lot of the random variation in frame deltas causing glitches may be due to sampling the time at the wrong place in the game loop.

Although sampling at the start of Main::Iteration makes logical sense, the most consistent deltas may be better measured after the location likely to block at vsync - either the OpenGL draw commands or the SwapBuffers.

Here we add an experimental setting to allow syncing after the OpenGL draw section of Main::Iteration.
2021-07-22 12:04:22 +01:00
Rémi Verschelde d3f500cf33
Merge pull request #48390 from lawnjelly/delta_smooth
Add frame delta smoothing option
2021-07-22 12:43:39 +02:00
Rémi Verschelde 801205b2c1
Merge pull request #48892 from lawnjelly/bvh_robust
BVH - thread safety option
2021-07-22 12:41:42 +02:00
Bastiaan Olij 39658b4e07 Combined the DOF far and DOF near passes 2021-07-22 13:45:57 +10:00
Rémi Verschelde 028bf846a8
Merge pull request #50640 from goostengine/add-engine-print-error-property-3.x
[3.x] Add `Engine.print_error_messages` property to disable printing errors
2021-07-20 13:31:04 +02:00
Andrii Doroshenko (Xrayez) 726111f38f Add Engine.print_error_messages property to disable printing errors
Backports #48359 to 3.x.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-07-20 13:58:07 +03:00
Rémi Verschelde f131a77f46
Merge pull request #46574 from The-O-King/split_stream_3.2
[3.4] Split Vertex Buffer Stream in Positions and Attributes
2021-07-20 10:48:37 +02:00
Aaron Franke 7dc2edc430
[3.x] Allow reading shaders from .gdshader files 2021-07-19 23:34:23 -04:00
Omar El Sheikh 7f8487a900 Split Vertex Position and Attribute Streams
Implemented splitting of vertex positions and attributes in the vertex
buffer

Positions are sequential at the start of the buffer, followed by the
additional attributes which are interleaved

Made a project setting which enables/disabled the buffer formatting
throughout the project

Implemented in both GLES2 and GLES3

This improves performance particularly on tile-based GPUs as well as
cache performance for something like shadow mapping which only needs
position data

Updated Docs and Project Setting
2021-07-19 13:23:46 -07:00
Rémi Verschelde 526447b86f
Merge pull request #50495 from nekomatata/move-and-slide-fixes-3.x
[3.x] Backport KinematicBody move_and_slide and move_and_collide fixes
2021-07-19 20:11:51 +02:00
PouleyKetchoupp 2fbb6fff4e 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-07-19 08:09:16 -07:00
Yuri Sizov e05eb8a6ad Make zoom limits and step adjustable in GraphEdit 2021-07-16 22:43:28 +03:00
Rémi Verschelde 4d3c11e85e
Merge pull request #49446 from nekomatata/sync-to-physics-3d-3.x
[3.x] Support for 3D sync to physics
2021-07-16 07:15:17 +02:00
Rémi Verschelde 231efe0c6d
Merge pull request #50166 from fabriceci/fix-2d-moving-platform
[3.x] Fixing 2D moving platform logic
2021-07-15 13:34:30 +02:00
fabriceci fba4c9d552 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:57:58 +02:00
kobewi 4941d2001c
Add set_pressed_no_signal method to BaseButton
(cherry picked from commit 50c63bdc4c)
2021-07-15 10:52:22 +02:00
Tomasz Chabora 6021ab5b01
Document remaining Visual Script classes
(cherry picked from commit 1054956461)
2021-07-15 10:46:04 +02:00
Hendrik Brucker fe616d443a
Fix color properties of particle nodes/material
(cherry picked from commit 3a4a2198ed)
2021-07-15 10:25:35 +02:00
Rémi Verschelde a3310c1da2
Merge pull request #46130 from lawnjelly/portals
Portal occlusion culling [3.4]
2021-07-14 13:38:01 +02:00
lawnjelly eb6f98ec55 Portal occlusion culling
Adds support for occlusion culling via rooms and portals.
2021-07-14 11:43:23 +01:00
Rémi Verschelde aa3a5c9f6a
Merge pull request #50184 from JFonS/cpu_lightmapper_soft_shadows
[3.x] Add soft shadows to the CPU lightmapper
2021-07-14 12:18:08 +02:00
Anilforextra d9e48a9c58 Add missing graphnode setters.
Documentation Updates.
2021-07-14 15:37:59 +05:45
lawnjelly 6914d7c6e0 Add frame delta smoothing option
Frame deltas are currently measured by querying the OS timer each frame. This is subject to random error. Frame delta smoothing instead filters the delta read from the OS by replacing it with the refresh rate delta wherever possible.

This PR also contains code to estimate the refresh rate based on the input deltas, without reading the refresh rate from the host OS.
2021-07-14 08:44:31 +01:00
Rémi Verschelde b0b2b7df31
Merge pull request #50257 from Calinou/physicsserver3d-add-set-iterations-3.x
Add a method to set the number of physics solver iterations in 3D (3.x)
2021-07-14 07:56:57 +02:00
Haoyu Qiu a29b834930
Fix doc description of HTTPClient::request
(cherry picked from commit 422f821be9)
2021-07-13 10:20:03 +02:00
Hugo Locurcio bcfa5beb8d
Make makerst.py create folders automatically, print a message when done
(cherry picked from commit f05aa9cc01)
2021-07-13 10:20:03 +02:00
Nick Huelin 88fc178d57
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>
(cherry picked from commit 2e3cbbcd11)
2021-07-13 10:20:02 +02:00
Rémi Verschelde 32f5bee985
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>
(cherry picked from commit 9a1ce8e6c3)
2021-07-13 10:20:02 +02:00
Rémi Verschelde 9d2cbe2c02
Merge pull request #50328 from nekomatata/convex-hull-simplification-3.x
[3.x] Options to clean/simplify convex hull generated from mesh
2021-07-12 22:34:22 +02:00
Rémi Verschelde 6ec2caf12c
Merge pull request #48763 from QbieShay/plane-offset
[3.x] Added a center_offset property to both plane primitive and quad primitive
2021-07-12 10:32:19 +02:00
Hugo Locurcio 9259b4adc4
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:29:41 +02:00
PouleyKetchoupp 240c33708c 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.

Specific change for 3.x:
Add support for Vector<Vector3> and PoolVector<Vector3> in the convex hull generator.
2021-07-09 17:45:59 -07:00
JestemStefan 9513354f68 Added signed_angle_to for Vector3
Added signed_angle_to method for Vector3

Added signed_angle_to for Vector3

formatting fix...
2021-07-09 12:49:12 +02:00
kleonc 23ad87cc92 Add AcceptDialog::remove_button method 2021-07-06 18:27:03 +02:00
Nick Huelin ad1aea9a46
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.

(cherry picked from commit 27e9df7778)
2021-07-06 15:30:13 +02:00
PouleyKetchoupp daa0977c68
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>
(cherry picked from commit 3e4e530523)
2021-07-06 11:10:47 +02:00
Nick H ca1a2e1124
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.

(cherry picked from commit c6f28ed62b)
2021-07-06 11:10:45 +02:00
Eric 09b231e15f
Enable Camera2D smoothing on limit change
(cherry picked from commit 525ad7c37e)
2021-07-06 11:10:35 +02:00
PouleyKetchoupp 9eb6a43cff Remove unused PhysicsShapeQueryResult & Physics2DShapeQueryResult 2021-07-05 11:21:15 -07:00
JFonS a2ba7910ba Add soft shadows to the CPU lightmapper
Adds the "light_size" property to Lights. It's only considered in baked
lightmaps for soft shadowing purposes.
2021-07-05 19:02:35 +02:00
Rémi Verschelde 6fe9a0d717
Merge pull request #50103 from nekomatata/expose-body-test-motion-3d-3.x
[3.x] Expose body_test_motion in 3D physics server
2021-07-03 09:30:10 +02:00
PouleyKetchoupp c89476ad41 Expose body_test_motion in 3D physics server
Results are exposed through PhysicsTestMotionResult, the same way it's
done for 2D.

Also cleaned a few things in the 2D version.
2021-07-02 18:04:39 -07:00
Hugo Locurcio 9c4ebea9ef
Document debanding being broken on mobile 2021-07-01 12:25:23 +02:00
Rémi Verschelde ef3c346df2
Merge pull request #49835 from nekomatata/soft-body-disable-physics-3.x
[3.x] Support for disabling physics on SoftBody
2021-07-01 10:01:33 +02:00
Levi Lindsey f72ce41700
Update File.store_var description to mention which properties of an object are included.
(cherry picked from commit 2b7c0cfb34)
2021-06-29 14:02:24 +02:00
Nick H d08717d0ee
Amend `Label`.clip_text() Method Description
This update fixes an inconsistencies in the documentation about the `clip_text()` method.

(cherry picked from commit ea94aeac48)
2021-06-29 14:02:23 +02:00
Hugo Locurcio e7d6f8b8b8
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.

(cherry picked from commit b4ed84ba2b)
2021-06-29 14:02:22 +02:00
Hugo Locurcio 17b6771778
Improve descriptions for ProjectSettings' `disable_stdout`/`disable_stderr`
(cherry picked from commit e3ef50db38)
2021-06-29 13:15:51 +02:00
PouleyKetchoupp 4694b2b3e4 Support for disabling physics on SoftBody
New property physics_enabled, can be useful for optimization purpose.
2021-06-22 11:38:17 -07:00
Hugo Locurcio a9c0c5484f
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
This is an older, easier to implement variant of CAS as a pure
fragment shader. It doesn't support upscaling, but we won't make
use of it (at least for now).

The sharpening intensity can be adjusted on a per-Viewport basis.
For the root viewport, it can be adjusted in the Project Settings.

Since `textureLodOffset()` isn't available in GLES2, there is no
way to support contrast-adaptive sharpening in GLES2.
2021-06-21 15:37:31 +02:00
Rémi Verschelde 09c2bd597a
Merge pull request #49732 from Calinou/expose-data-dirs-3.x
Expose OS data directory getter methods (3.x)
2021-06-20 00:31:41 +02:00
Hugo Locurcio 21ad630e11
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 09:28:53 +02:00
Hugo Locurcio a6a6ad5c08
Add custom debug shape thickness and color options to RayCast
This backports the improved RayCast debug drawing functionality
from the `master` branch.

`ArrayMesh.clear_surfaces()` was also backported from the `master`
branch and exposed because the new debug drawing code requires it.
2021-06-19 06:01:25 +02:00
Aaron Franke 85a0345d57
[3.x] Add Quat angle_to method 2021-06-18 11:00:44 -04:00
Rémi Verschelde fc95c4d84c
Merge pull request #49476 from nekomatata/kinematic-collision-rid-3.x
[3.x] Expose collider RID in 2D/3D kinematic collision
2021-06-18 12:32:42 +02:00
Rémi Verschelde c7f27f1d9d
Merge pull request #48651 from tavurth/3.x
Port HTTPRequest gzip compression to 3.4
2021-06-18 02:01:11 +02:00
Hugo Locurcio 63d0485a6a
Fix duplicate paragraph in `ArrayMesh.add_surface_from_arrays()` description
(cherry picked from commit 033985f9c2)
2021-06-17 12:47:54 +02:00
Hugo Locurcio 6d60d92b87
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).

(cherry picked from commit 8f4ac7bc4a)
2021-06-17 12:47:53 +02:00
kobewi bdc8d29749
Clarify animation_changed signal
(cherry picked from commit 8d0cbded3f)
2021-06-17 12:47:53 +02:00
Hugo Locurcio 483f8e0ef8
Improve AudioStreamGenerator and AudioEffectSpectrumAnalyzer documentation
- Mention audio sample rate caveats in other classes where relevant.

(cherry picked from commit c872819be6)
2021-06-17 12:47:52 +02:00
Hugo Locurcio 45e8f75952
Complete documentation for the AudioEffectPitchShift class
(cherry picked from commit 6be32d8cbc)
2021-06-17 12:47:52 +02:00
kleonc c20d097636 Clarify Transform.xform_inv docs 2021-06-16 19:22:41 +02:00
Rémi Verschelde 2d3c0d311c
Merge pull request #49516 from Calinou/doc-projectsettings-vram-compression-change-3.x
Document applying VRAM compression setting changes retroactively
2021-06-11 19:42:32 +02:00
Rémi Verschelde c45ce768b1
Merge pull request #47854 from mortarroad/3.x-lossless-webp
[3.x] Implement lossless WebP encoding
2021-06-11 19:35:47 +02:00
Morris Tabor 5de08ef1d6 Implement lossless WebP encoding 2021-06-11 18:48:04 +02:00
Hugo Locurcio d0d717809e
Document applying VRAM compression setting changes retroactively 2021-06-11 18:44:37 +02:00
Rémi Verschelde e6a6293146
Merge pull request #49487 from pycbouh/theme-utility-methods-3.x 2021-06-11 13:40:21 +02:00
Rémi Verschelde 72ae4ca94f
Merge pull request #49491 from pycbouh/editor-expose-resource-picker-3.x 2021-06-11 13:39:44 +02:00
Yuri Sizov b622dfa956 Use EditorResourcePicker in the Inspector
Backported from #48854
2021-06-11 13:32:15 +03:00
Yuri Sizov 343ba504d3 Add EditorResourcePicker control based on the Inspector editor for Resources
Backported from #47260
2021-06-11 13:32:15 +03:00
Marcel Admiraal 6d63ccba31 Add OS.get_external_data_dir() to get Android external directory 2021-06-10 16:48:37 +01:00
Yuri Sizov de1ba1f260 Add utility methods to Theme, improve error messages and documentation
Backport of relevant parts of #47251, #49308
2021-06-10 16:44:24 +03:00
Yuri Sizov 83012d6927 Expose missing Theme methods
Backport of relevant, non-breaking parts of #37759
2021-06-10 15:31:23 +03:00
PouleyKetchoupp a146e79758 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:16 -07:00
Chuck 17ee8ff0d9 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-09 12:06:46 +07:00
PouleyKetchoupp 8a095b2b15 Support for 3D sync to physics
Same implementation as in 2D, specific to 3.x branch.
2021-06-08 16:28:58 -07:00
Nick Huelin 8b09112d5f
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.

(cherry picked from commit c63af17a31)
2021-06-07 12:14:30 +02:00
kobewi 457ccb21b6
Improve sort_custom() description
(cherry picked from commit 48f0368ddc)
2021-06-07 12:11:52 +02:00
RoniPerson f5fe8ddacc
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.

(cherry picked from commit e849157e07)

Proofread add_*_plugin/remove_*_plugin descriptions in EditorPlugin

(cherry picked from commit 21f0961610)
2021-06-07 12:10:19 +02:00
Rémi Verschelde 80e1585a6e
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.

(cherry picked from commit c1c76850cb)
2021-06-07 12:06:59 +02:00
Marcel Admiraal fd982ecd15 Rename CollisionObject3D input_event signal position and normal parameters 2021-06-07 09:50:47 +01:00
Rémi Verschelde f102ba8b2f
Merge pull request #48367 from Calinou/doc-navigation-get-simple-path
Document `Navigation.get_simple_path()` often returning non-optimal results
2021-06-03 22:37:07 +02:00
Marcel Admiraal 18825ad4ff Fix game controllers ignoring the last listed button 2021-06-03 15:45:05 +01:00
Hugo Locurcio 8e4afdc71d
Document `Navigation.get_simple_path()` often returning non-optimal results 2021-06-03 16:05:56 +02:00
Hugo Locurcio e0facdaf61
Uncap the range for gravity and change the slider hints
There's not really a reason to cap the gravity amount, and we can also
give better hints for the range (for 3D, ±32 is much more sensible
than ±1024).
2021-06-03 02:08:57 +02:00
Rémi Verschelde e0fb05ad30
Merge pull request #49237 from akien-mga/3.x-cherrypicks 2021-06-01 13:35:56 +02:00
Rémi Verschelde fb294606b5
Merge pull request #48771 from LightningAA/scrollcontainer-ensure-item-visible-3.x
[3.x] ScrollContainer: Expose `_ensure_focused_visible` to the scripting API and rename it to `ensure_control_visible`
2021-06-01 12:58:56 +02:00
Hugo Locurcio 822b3ec0b1
Document `Resource.duplicate()` only copying exported variables' values
(cherry picked from commit 2ba893e3ce)
2021-06-01 12:53:31 +02:00
Rémi Verschelde fd4475f652
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.

(cherry picked from commit 62efa30ed2)
2021-06-01 12:52:18 +02:00
PouleyKetchoupp 87ed7d32de
Added flip_h and flip_v properties in TextureButton
(cherry picked from commit 5f1d94bb7d)
2021-06-01 12:52:14 +02:00
Lightning_A 6f58e6ce2c ScrollContainer: Expose `_ensure_focused_visible` to the API
Was renamed to `ensure_control_visible`
2021-05-31 19:05:30 -10:00
Aaron Franke 753d0fca1d
[3.x] Fix Camera FOV documentation 2021-05-31 05:25:12 -04:00
Marcel Admiraal 72446bab1b Update EditorResourcePreview queue_*() documentation 2021-05-26 08:39:52 +01:00
Rémi Verschelde 94b5a82e7d
Merge pull request #48943 from Calinou/screen-orientation-remove-ios-duplicate-3.x
Remove duplicate orientation settings in the iOS export preset
2021-05-26 00:24:17 +02:00
Hugo Locurcio 914b5dc525
Remove duplicate orientation settings in the iOS export preset
The screen orientation is now sourced from the Project Settings
like it is done for Android already.
2021-05-25 23:55:37 +02:00
Rémi Verschelde 00abdaf333
Merge pull request #49075 from nekomatata/tilemap-collision-debug-fix-3.x
Fix logic for showing tilemap debug collision
2021-05-25 21:12:48 +02:00
PouleyKetchoupp 114da550ec Fix logic for showing tilemap debug collision
In editor: only when show_collision property is enabled
In game: only when 'Visible collision shapes' is enabled
2021-05-25 11:49:47 -07:00
lawnjelly 14ce176f10 BVH - thread safety option
Added optional thread safe version through template argument and runtime switch, that wraps access with a mutex.
2021-05-25 10:47:32 +01:00
Marcel Admiraal b84714055b Clarify that eof_reached() cannot be used to check if more data is available 2021-05-24 19:42:37 +01:00
Marcel Admiraal cfc984aff1 Clarify documentation of Camera3D.get_camera_transform() 2021-05-24 17:54:53 +01:00
Rémi Verschelde 2660fafcc0
Merge pull request #48869 from tavurth/feature/hmac-port
Backport HMACContext to 3.x
2021-05-21 19:06:18 +02:00
Fabio Alessandrelli bf078814cc [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 16:03:38 +02:00
Hugo Locurcio 8d9cef3726
Remove high radiance sizes from the editor due to issues on specific GPUs
These values can still be set by code, but are no longer presented in
the editor.
2021-05-20 23:54:12 +02:00
Rémi Verschelde d025f6f797
Merge pull request #48824 from aaronfranke/3.x-scd-minsize
Set a minimum size for status panel elements in ScriptCreateDialog
2021-05-20 18:03:45 +02:00
Rémi Verschelde f0fa8a103b
Merge pull request #48691 from Faless/js/3.x_interfaces
[HTML5] [3.x] Implement Godot <-> JavaScript interface.
2021-05-20 17:13:12 +02:00
Fabio Alessandrelli 203beb69a9
[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.

(cherry picked from commit e858f7c2ea)
2021-05-20 14:35:04 +02:00
Fabio Alessandrelli 730a894bcf [HTML5] Implement Godot <-> JavaScript interface. 2021-05-20 14:33:00 +02:00
Aaron Franke 573b7247bf
Set a minimum size for status panel elements in ScriptCreateDialog 2021-05-20 08:08:24 -04:00
Rémi Verschelde eb78f80f03
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:56:56 +02:00
Will Whitty 3f606263d5 Backport HMac crypto to 3.x
Fix headers

Fix docs formatting

Changes for PR

Fix tests
2021-05-20 13:29:38 +03:00
kleonc 4871bf4668 Document valid range of Node2D.z_index 2021-05-20 01:24:54 +02:00
Rémi Verschelde cca2a9d2d5
Merge pull request #38387 from Rhathe/set_iterations
[3.x] Enable setting of collision iterations in Physics2DServer
2021-05-19 19:48:08 +02:00
Marcel Admiraal 09456c2a01 Return RID instead of Object id in area-body_shape_entered-exited signals. 2021-05-19 10:51:59 +01:00
Hugo Locurcio 333dfb96da
Scroll faster when holding Alt in TextEdit (and script editor)
This feature is inspired by a similar feature found in
Visual Studio Code.

(cherry picked from commit cf1cf6c6eb)
2021-05-18 11:58:09 +02:00
Rémi Verschelde 0053b31592
Merge pull request #47801 from QbieShay/ring-emitter-3.x 2021-05-18 10:54:15 +02:00
QbieShay 1ec46cb1eb added offset for plane mesh and quad mesh 2021-05-17 22:07:16 +02:00
Will Whitty c1135cf006 Work on porting HTTPRequest compression to 3.3
Fix doc issues

Use memcpy

Bind RESULT_BODY_DECOMPRESS_FAILED

Docs update
2021-05-14 12:20:31 +03:00
Rémi Verschelde 39826d3a94
Merge pull request #47310 from mortarroad/3.x-fix-particles-material-spread
[3.x] Fix ParticlesMaterial spread.
2021-05-11 09:10:31 +02:00
Hugo Locurcio 8b06085249
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.

(cherry picked from commit ce4aa07276)
2021-05-09 17:47:38 +02:00
Gilles Roudière 472f7e9756
Adds a pressed signal to ButtonGroup
(cherry picked from commit 323f176915)
2021-05-09 17:47:37 +02:00
Hugo Locurcio cb2cb46907
Document caveats of `OS.get_unique_id()`
(cherry picked from commit 7350f90c57)
2021-05-09 17:14:36 +02:00
Hugo Locurcio 9b01143380
Improve the AudioStreamPlayer(2D/3D) class descriptions
(cherry picked from commit b90adec417)
2021-05-09 17:14:35 +02:00
QbieShay 3af20b9bdf Added ring emitter for 3D particles
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. ring_emitter_axis: the axis along which the ring/cylinder
    will be constructed
2. ring_emitter_radius: outer radius of the ring/cylinder
3. ring_emitter_inner_radius: inner radius of the cylinder.
    when set to zero, particles will emit in the full volume.
4. ring_emitter_height: height of the ring/cylinder emitter.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-09 13:18:05 +02:00
Pedro J. Estébanez 4da9a501f6 Add animation reset track feature
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2021-05-09 09:40:16 +02:00
Marcel Admiraal 8766769fd4 Move collision layer and mask into CollisionObject. 2021-05-08 11:40:57 +01:00
Rémi Verschelde 84061ab03d
Merge pull request #48251 from TwistedTwigleg/skeletonik_changes_and_bug_fixes_regressionfix3_Godot3
[3.x] Fixed issue in SkeletonIK leading to some root bones being twisted incorrectly
2021-05-08 10:40:38 +02:00
Rémi Verschelde e96f0ea1d7
Android: Remove non-functional native video OS methods
Those methods are only properly implemented for iOS.

Supersedes #43811.
2021-05-07 16:42:17 +02:00
TwistedTwigleg c1bc87ed0d Fixes the SkeletonIK twisting issue by using the skeleton global pose without overrides 2021-05-06 20:11:21 -04:00
bruvzg dab4cf3ed6
Add `physical_scancode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2021-05-06 23:19:45 +03:00
Hugo Locurcio c0ccde9752
Document that `File.open_compressed()` can only open files saved by Godot
(cherry picked from commit 5f098d6db6)
2021-05-05 15:28:12 +02:00
Rémi Verschelde 2a1fb62e96
Merge pull request #48316 from nekomatata/expose-physics-debug-shape-3.x
[3.x] Expose get_debug_mesh in Shape to scripting API
2021-05-05 15:17:48 +02:00
Rémi Verschelde 32cc022267
Merge pull request #48314 from nekomatata/physics-2d-dynamic-bvh
[3.x] Support for Dynamic BVH as 2D Physics broadphase
2021-05-04 09:23:04 +02:00
Rémi Verschelde 136c3b1a16
doc: Sync classref with current source 2021-05-03 21:39:44 +02:00
PouleyKetchoupp d8f681029f Support for Dynamic BVH as 2D Physics broadphase
List of changes:
- Modified bvh class to handle 2D and 3D as a template
- Changes in Rect2, Vector2, Vector3 interface to uniformize template
calls
- New option in Project Settings to enable BVH for 2D Physics (enabled
by default like in 3D)
2021-04-30 15:53:15 -07:00
Hugo Locurcio 1f0e570216
Document that `SceneTree.call_group()` is deferred
(cherry picked from commit 7516ff3805)
2021-04-30 12:15:24 +02:00
PouleyKetchoupp 0ba5001fb6 Expose get_debug_mesh in Shape 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:20:29 -07:00
Rémi Verschelde 0c14d10522
Merge pull request #48296 from akien-mga/3.x-cherrypicks 2021-04-29 13:48:49 +02:00
Rémi Verschelde e20b8b00d5
Merge pull request #48273 from Calinou/doc-spatialmaterial-rim-unshaded
Document that clearcoat/rim lighting is not visible on unshaded materials (3.x)
2021-04-29 13:36:47 +02:00
Rémi Verschelde f94e76644a
Merge pull request #47938 from smix8/doc_skeletonik_3x
[3.x] Document SkeletonIK
2021-04-29 13:34:16 +02:00
Rémi Verschelde d54c13ac1a
Tabs: Remove unused 'panel' stylebox from default theme
Cf. https://github.com/godotengine/godot/issues/37875#issuecomment-625297308.

(cherry picked from commit cd8d321961)
2021-04-29 12:30:10 +02:00
Lightning_A e4addffde1
Put physics override parameters in their own group and document that areas can be used to influence audio
(cherry picked from commit 80b1a29c46)
2021-04-29 12:27:31 +02:00
Lyuma 11b8b8ad27
Allow renaming bones and blendshapes.
(cherry picked from commit d13568a8d1)
2021-04-29 11:27:56 +02:00
skyace65 c05ff94b84
Improve SpriteFrames get_animation_loop description
(cherry picked from commit d311c48d6a)
2021-04-29 11:09:20 +02:00
Rémi Verschelde 0469698b5f
Merge pull request #48270 from akien-mga/3.x-deprecate-largetexture
doc: Mark LargeTexture as deprecated (removed in 4.0)
2021-04-29 09:45:20 +02:00
Hugo Locurcio 8df0e61cc2
Document that clearcoat/rim lighting is not visible on unshaded materials 2021-04-28 17:40:14 +02:00
Rémi Verschelde f85d59c97f
Merge pull request #47349 from nekomatata/heightmap-support-3.x
[3.x] Heightmap collision shape support in Godot Physics
2021-04-28 16:57:29 +02:00