Commit Graph

2641 Commits

Author SHA1 Message Date
Hugo Locurcio 5a1f94ba47 Document the `in` operator in String, Array and Dictionary classes
This also clarifies the `in` operator behavior in Object.

(cherry picked from commit 7f01f68226)
2020-06-15 14:34:34 +02:00
bruvzg 2256946f79
[3.2] Add keyboard layout enumeration / set / get functions (macOS, Windows, Linux/X11). 2020-06-13 11:01:49 +03:00
Rémi Verschelde c80ab247b7 doc: Sync classref with current source
(cherry picked from commit fef49bff0b)
2020-06-11 10:00:07 +02:00
Victoria Fisher aa448a2a07 Adds full description for AudioEffectRecord.xml
(cherry picked from commit 718221a2ff)
2020-06-11 10:00:06 +02:00
Hugo Locurcio c87128fa06 Improve the 3D light documentations
See https://github.com/godotengine/godot-docs/issues/3670.

(cherry picked from commit f7e21d8e88)
2020-06-11 10:00:06 +02:00
SaviHex fda49b74a1 Added a "title" attribute for the link tag in the docs xml
(cherry picked from commit 18c08f65d6)
2020-06-11 09:44:14 +02:00
Rémi Verschelde 3fb9c776ff
Merge pull request #39437 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.2) - 8th batch
2020-06-10 17:33:50 +02:00
Rémi Verschelde 3c7e03510c
Merge pull request #39256 from lawnjelly/tilemap_pixel2
GLES2 batching - Add UV precision adjustment for tilemaps
2020-06-10 15:52:00 +02:00
Rémi Verschelde 7bf9787921 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.

(cherry picked from commit cd4e46ee65)
2020-06-10 15:30:52 +02:00
Hugo Locurcio 8e8861ed06 Mention ordering caveats for `Dictionary.hash()`
See https://github.com/godotengine/godot/issues/27615.

(cherry picked from commit 77b89263dd)
2020-06-10 15:30:52 +02:00
Rémi Verschelde 3202df9b5c doc: Make File store/get integer methods clearer
Add an example on how to store signed integers on less than 64 bits,
using one bit for the signedness.

(cherry picked from commit cd25d184a5)
2020-06-10 15:30:52 +02:00
Marcel Admiraal 7200a0eac5 Update Rigidbody 2D and 3D sleep documentation.
(cherry picked from commit 1b738a77c1)
2020-06-10 15:30:52 +02:00
Rémi Verschelde 51de6732c9 AStar: Make get_closest_point() deterministic for equidistant points
Closes godotengine/godot-docs#3667.
Supersedes #39405.

(cherry picked from commit 187ba4c5a8)
2020-06-10 15:30:52 +02:00
Michael Alexsander 2652a2d184 Add generic file icon and its modulation to the 'FileDialog'
(cherry picked from commit 637927f803)
2020-06-10 15:30:52 +02:00
Hugo Locurcio 0832ecc4a3
Document enlarging Particles visibility AABB when they cast shadows
This closes https://github.com/godotengine/godot/issues/17267.
2020-06-07 21:35:40 +02:00
lawnjelly 275183ef15 GLES2 batching - Add UV precision adjustment for tilemaps
Scaling tilemaps can cause border artifacts around the edges of tiles. This has been traced to precision issues in the GPU. This PR adds an adjustment to allow a minor contraction of the UVs of rects in order to compensate for the incorrect classification of texels across the UV border.
2020-06-07 16:29:40 +01:00
Rémi Verschelde 6e1af78df4
Merge pull request #39068 from lawnjelly/kessel_settings_rename
Rename batching project settings in preparation for GLES3
2020-06-07 14:25:50 +02:00
Pedro J. Estébanez 1ff7b0a0a9 Add shader time scaling
Shaders' `TIME` will be affected by the new shader time scale, that is set via the also new `VisualServer::set_time_scale()`.
2020-06-06 23:59:48 +02:00
Maganty Rushyendra b4ca613138 Clarify usage of AnimationPlayer with AnimationTree and fill in empty method descriptions
Add clarification to docs to explain that when an `AnimationPlayer`
object is paired with an `AnimationTree`, several properties and
methods exposed by the `AnimationPlayer` class may not work as expected.
The issues occur because an `AnimationTree` runs independently, and
uses its member `AnimationPlayer* player` primarily for its
`Map<StringName, AnimationData> animation_set`.

Added descriptions for `root_motion_track` and `get_root_motion_transform`.

(cherry picked from commit 0451248ff1)
2020-06-04 12:16:39 +02:00
Hugo Locurcio 61da4882aa Add performance hints to the DirectionalLight shadow mode property hint
This also clarifies some parts in the DirectionalLight documentation.

(cherry picked from commit b46756c723)
2020-06-04 12:16:39 +02:00
Hugo Locurcio 9e01a0cd28 Add a getter and property for the editor distraction-free mode
(cherry picked from commit cc1859efed)
2020-06-04 12:16:39 +02:00
Hugo Locurcio d56b9d5ebf Disable antialiasing on the DynamicFont outline as well when requested
This partially addresses
https://github.com/godotengine/godot-proposals/issues/943.

(cherry picked from commit 2919fc7317)
2020-06-04 12:09:40 +02:00
Hugo Locurcio a3bd201cc7 makerst: Print status messages to make the CI output clearer
This also removes an unused method.

(cherry picked from commit 9065b7ed4e)
2020-06-04 12:09:39 +02:00
Maganty Rushyendra 25af738762 Expose `get_char_size()` from Font instead of BitmapFont
`get_char_size()` is a public virtual function defined in the `Font`
class. Implementations exist for both `BitmapFont` and `Dynamic Font`.
However, it was only exposed to the GDScript API through the Bitmap
Font, and not for Dynamic Font.

This commit exposes the function through `Font` instead.

Fixes #23967

(cherry picked from commit a4413710f9)
2020-06-04 12:09:39 +02:00
Gustav 26c617654e Fix ProjectSettings.save_custom documentation
(cherry picked from commit 728c0c1e14)
2020-06-04 12:09:39 +02:00
Maganty Rushyendra e51767b3c0 Document usage requirement for Viewport to sample ViewportTexture as HDR
Modified class documentation to specify that `USAGE_3D` or
`USAGE_3D_NO_EFFECTS` is required in order to use HDR in a ViewPort.

Fixes #38702
2020-05-29 08:05:35 +08:00
lawnjelly c7d18dec70 Rename batching project settings in preparation for GLES3
As it now seems like we will soon have GLES3 batching working using the same intermediate layer as GLES2, it makes more sense to reuse the same batching settings for both renderers rather than duplicate project settings for GLES2 and GLES3.
2020-05-26 18:15:35 +01:00
Rémi Verschelde acb83db1d1 doc: Sync classref with current source 2020-05-25 17:00:22 +02:00
Rémi Verschelde 11d6c0f20d
Merge pull request #38984 from Calinou/bakedlightmap-configuration-warning
Document known bugs in BakedLightmap
2020-05-25 11:28:16 +02:00
Hugo Locurcio 5fb5fb135a
Document known bugs in BakedLightmap
See #30929.
2020-05-24 21:29:12 +02:00
Rémi Verschelde b6c551e864
Merge pull request #38875 from bruvzg/tab_drv_sel_32
[Windows, 3.2] Add tablet driver selection.
2020-05-20 13:58:26 +02:00
bruvzg 71b2abbfa3
[Windows, 3.2] Add tablet driver selection. 2020-05-20 09:36:56 +03:00
Hugo Locurcio 8ebcdeb3d7 Document that Dictionary is always passed as reference
See #38792.

(cherry picked from commit 675fea1648)
2020-05-18 16:40:33 +02:00
Max Hilbrunner ebc63dac30
Merge pull request #38784 from remram44/patch-1
[DOC] Update description of Object.free() method
2020-05-17 20:33:57 +02:00
Fredia Huya-Kouadio a71a338c59 Implementation of the Godot Android Plugin configuration file 2020-05-16 23:09:45 -07:00
Remi Rampin ccf5703568
Update description of Object.free() method
Clarify that variables pointing to an object don't become `null` when that object is freed, it just makes them invalid.
2020-05-16 12:32:41 -04:00
Rémi Verschelde d45b96d2b1 Android: Check for deprecated GodotPaymentV3 module, direct to new plugin
Fixes #38581.
2020-05-15 13:32:30 +02:00
Marcel Admiraal dd7f9b1c08 Make it clear that PhysicsDirectSpaceState is only available from
within _physics_process().

(cherry picked from commit bb9c104695)
2020-05-13 16:13:47 +02:00
Hugo Locurcio 47d003fbb8 Clarify that the SSL certificate setting overrides the default bundle
See https://github.com/godotengine/godot-docs/issues/2531.
2020-05-12 11:52:57 +02:00
Hugo Locurcio e77313b3ed Clarify the `id` parameter in `TileMap.get_used_cells_by_id()` 2020-05-12 09:26:38 +02:00
Chris Bradfield 752f61d4fe [DOCS] minor description changes
(cherry picked from commit 975ed93794)
2020-05-11 11:01:13 +02:00
Tomasz Chabora 79f3725bdd Add documentation for the VisualShader nodes
(cherry picked from commit fecf79f287)
2020-05-11 11:01:13 +02:00
lawnjelly dcb19ed735 Add Nvidia Workaround for GLES3
Ported GLES2 workaround code to GLES3.
2020-05-07 14:54:14 +01:00
Rémi Verschelde 4daba9bfc5 doc: Sync classref with current source 2020-05-07 13:47:06 +02:00
Thakee Nathees 1a39b4ea22 method bind TextEdit::set_line() added
(cherry picked from commit b9acf1cedf)
2020-05-07 13:43:43 +02:00
Marcel Admiraal 87de81258d Make 2D and 3D KinematicBody stop_on_slope documentation the same.
(cherry picked from commit da13b74cc8)
2020-05-07 13:37:19 +02:00
follower 90f9f01a2f Fix suffix property doc typo: "prefix" -> "suffix"
(cherry picked from commit ae067413a5)
2020-05-06 23:30:45 +02:00
bruvzg 78266c09c4
Add support for the WinTab API for pen input. (3.2) 2020-05-05 14:56:02 +03:00
Hugo Locurcio 2293cf61c6 Document the expected normal map coordinate system where relevant
(cherry picked from commit d8808fba85)
2020-05-05 13:41:29 +02:00
Rémi Verschelde ef715f37d5
Merge pull request #35091 from Faless/dtls/enet
[3.2] DTLS support + optional ENet encryption
2020-05-05 13:40:59 +02:00
lawnjelly 53f6dafdde Added 'disable_half_float' project setting to the class reference.
Just forgot to do this in the original PR.
2020-05-05 09:31:10 +01:00
Rémi Verschelde e363b65b99 doc: Sync classref with current source 2020-05-04 16:10:57 +02:00
Bastiaan Olij 02b1a5de47 Added missing spring enums for generic_6dof_joint
(cherry picked from commit 45d1f41837)
2020-05-04 16:10:22 +02:00
Hugo Locurcio 23ee40deff Tweak Tween cheatsheet link formatting to avoid rST conversion bug
reStructuredText doesn't allow embedding links in bold/italic text.

(cherry picked from commit e8a2fa6b7d)
2020-05-04 16:10:22 +02:00
Rémi Verschelde 01a085d05f
Merge pull request #38320 from lawnjelly/kessel_pr_light_join
GLES2 2D batching - item reordering, light joining and light modulate fix
2020-05-01 15:03:03 +02:00
Revan Ji 6a7d50403a Add set_frame, pause, and oneshot to AnimatedTexture
Add API documentation for said changes.

(cherry picked from commit f5029e18ca)
2020-05-01 11:00:10 +02:00
Hugo Locurcio be56ec9e65 Document the formats supported by `Image.load()`
This partially addresses #32166.

(cherry picked from commit a26649de42)
2020-05-01 10:56:58 +02:00
Hugo Locurcio 6fb6107e6a Warn when trying to open `res://` or `user://` with `OS.shell_open()`
`OS.shell_open()` will pass on the path directly to the OS' shell
handler (which can handle file paths or URLs). It can't handle
Godot-specific paths, so these need to be converted with
`ProjectSettings.globalize_path()` first.

(cherry picked from commit d46e411b44)
2020-05-01 10:56:58 +02:00
Bojidar Marinov 4b58d453d4 Expose the cell_size affecting VisibilityNotifier2D precision
Refs: #4803
(cherry picked from commit d49ff7aff7)
2020-05-01 10:56:58 +02:00
Hugo Locurcio 782d9536f3 Improve the compression project settings documentation
(cherry picked from commit b2b8db7897)
2020-05-01 10:56:58 +02:00
Tomasz Chabora 6bb87d7d23 Mention how to remove TreeItem from a Tree
(cherry picked from commit f6aec99d27)
2020-05-01 10:56:58 +02:00
Markus Sauermann e88cde0415 Clarify Transform scaled Method description.
(cherry picked from commit 19c8b0be45)
2020-05-01 10:56:58 +02:00
Avantir-Chaosfire fd6424aa04 doc: Improve Node2D to_local/to_global description
(cherry picked from commit 5c6f824e71)
2020-05-01 10:56:57 +02:00
lawnjelly 451c3fc0fb GLES2 2D batching - item reordering, light joining and light modulate fix
Although 2D draws in painters order with strict ordering, in certain circumstances items can be reordered to increase batching / decrease state changes, without affecting the end result. This can be determined by an overlap test.

In situation with item:
A-B-A
providing the third item does not overlap the second, they can be reordered:
A-A-B

Items already contain an AABB which can be used for this overlap test.

1)
To utilise this, I have implemented item reordering (only for single rects for now), with the lookahead adjustable in project settings. This can increase performance in situations where items may not be grouped in the scene tree by texture. It can also be switched off (by setting lookahead to 0).

2)
This same trick can be used to help join items that are lit. Lit items previously would prevent joining completely, thus missing out on performance gains other than multi-command items such as tilemaps.

In this PR, lights are assigned as bits in a bitfield (up to 64, the optimization is disabled above this), and on each try_item (for joining), the bitfield for lights and shadows is constructed and compared with the previous items. If these match the 2 items can potentially be joined. However, this can only be done without changing the rendered result if an overlap test is successful.

This overlap test can be adjusted to join items up to a specific number of item references, selectable in project settings, or turned off.

3)
The legacy uniform single rect drawing routine seems to have been identified as the source of flicker, particularly on nvidia. However, it can also be up to 2x as fast. Because of the speed the batching contains a fallback where it can use the legacy single rect method, but I have now added a project setting to make this switchable. In most cases with batching it should not be necessary (as single rects are drawn less frequently) and thus the flickering can be totally avoided.

4)
This PR also fixes a color modulate bug when drawing light passes, in certain situations (particularly custom _draw routines with multiple rects).

5)
This PR also fixes #38291, a bug in the legacy renderer where light passes could draw rects in wrong position.
2020-05-01 07:47:33 +01:00
Fredia Huya-Kouadio 9b9f70bd20 Update the documentation for `ExternalTexture` to match the restriction on Android platforms 2020-04-28 08:04:41 -07:00
Hugo Locurcio ae0bc06eba Improve `pitch_scale` descriptions in AudioStreamPlayer documentation
This closes #29439.

Co-authored-by: Cheeseness <contact@jbushproductions.com>
(cherry picked from commit 4751dee7f4)
2020-04-27 10:18:41 +02:00
Hugo Locurcio 24265c498b Improve the procedural geometry class documentations
This references Godot's winding order at the top of every
procedural geometry class, as well as referencing other classes
within a given geometry class.

A warning about ImmediateGeometry3D performance was also added.

(cherry picked from commit ed7347d73d)
2020-04-27 10:14:42 +02:00
Hugo Locurcio bbd381c987 Add an easing/transition type cheatsheet to the Tween documentation
Related to https://github.com/godotengine/godot-docs/pull/3403.

(cherry picked from commit 5972a9138e)
2020-04-27 10:12:11 +02:00
Hugo Locurcio f3cd7e3808 Document how some editor classes should be accessed as singletons only
This closes #37687.

(cherry picked from commit a225265b0a)
2020-04-27 10:11:53 +02:00
Rémi Verschelde 253fc093b8 DocData: Skip unexposed classes
Properly expose classes that we actually want accessible.

(cherry picked from commit 0ef8bcac4d)
2020-04-21 14:15:34 +02:00
Hugo Locurcio 469f398e70 Document how to workaround UI anchor issues when using BackBufferCopy
This closes #6880.

(cherry picked from commit f8a413bb1f)
2020-04-21 14:11:29 +02:00
Hugo Locurcio e8ead37725 Check for errors when saving in the ResourceSaver example documentation
This also replaces a non-breaking space that was accidentally added in
the EditorFeatureProfile documentation.

This closes #31393.

(cherry picked from commit 2f46f1e7b1)
2020-04-21 14:11:15 +02:00
Hugo Locurcio 3a2cdf7d5b Improve the VisibilityEnabler and VisibilityNotifier documentations
This closes #4803.

(cherry picked from commit 7f2d602106)
2020-04-21 14:10:50 +02:00
Rémi Verschelde faf858fe41 Revert "Made possible to specify where to dump the contents when loading a ".pck" file"
This reverts commit ffcfd9c8ea.

This was not so useful as is due to the way dependency paths are stored
in scenes and resources.
2020-04-20 13:48:02 +02:00
Dominik 'dreamsComeTrue' Jasiński ac0a55ce75 Update TextEdit docs - explaining 'override_selected_font_color' role
(cherry picked from commit 6a0e6c2852)
2020-04-20 11:55:47 +02:00
Marcel Admiraal 339c10889d Correct the addition of a key and the duplication of a variable name
in Dictionary class documentation.

(cherry picked from commit 4d41535fa3)
2020-04-20 11:55:31 +02:00
Hugo Locurcio 4e73fcc959 Document DynamicFont limitations and a possible workaround
This closes #30014.

(cherry picked from commit 46b8e108e2)
2020-04-20 11:55:04 +02:00
Hugo Locurcio 4f7296a869 Document image size limits
This closes #30238.

(cherry picked from commit 5497cec7a1)
2020-04-20 11:54:47 +02:00
Hugo Locurcio bb753aaf17 Clarify that angles must be specified as radians in the documentation
This closes #36356.

(cherry picked from commit cae5260dab)
2020-04-20 11:53:40 +02:00
Rémi Verschelde 50582446ad Sync classref with current source 2020-04-17 13:43:43 +02:00
Michael Alexsander ffcfd9c8ea Made possible to specify where to dump the contents when loading a ".pck" file
(cherry picked from commit 3c261e0dfa)
2020-04-17 13:00:52 +02:00
Rémi Verschelde 008e0748c1
Merge pull request #37349 from lawnjelly/kessel32_1
GLES2 2d Batch rendering (across items)
2020-04-17 12:55:33 +02:00
lawnjelly 72adefa5cf Add frame diagnostics for GLES2 Batch renderer
Added project setting to enable / disable print frame diagnostics every 10 seconds. This prints out a list of batches and info, which is useful to optimize games and identify performance problems.
2020-04-17 08:54:33 +01:00
Rémi Verschelde 07aa524a42 doc: Sync classref with current source 2020-04-16 13:02:36 +02:00
Michael Alexsander b4429c325a Fix incorrect TabContainer documentation for 'get_tab_control()'
(cherry picked from commit 8f925b1970)
2020-04-16 12:57:22 +02:00
Hugo Locurcio 26614a37b8 Mention `keep_pressed_outside` caveat in the BaseButton documentation
This closes #37790.

(cherry picked from commit e799dc954e)
2020-04-16 12:57:22 +02:00
Hugo Locurcio 6c4a0ec75a Improve the Dictionary class documentation
This closes https://github.com/godotengine/godot-docs/issues/3376.

(cherry picked from commit 88da90f2bf)
2020-04-16 12:57:22 +02:00
PouleyKetchoupp eab7342321 More details in Rigid Body add_force documentation
(cherry picked from commit 219c5712f0)
2020-04-16 12:57:22 +02:00
Tomasz Chabora edd5d9c78e Improve Camera2D documentation
(cherry picked from commit 630096fa74)
2020-04-16 12:57:22 +02:00
Hugo Locurcio ab4ea9379c Improve the AudioStreamSample class documentation
This closes #37915.

(cherry picked from commit 52786b54ef)
2020-04-16 12:57:22 +02:00
Markus Sauermann 7607fafda1 Clarify documentation and indicate that rect_clip_content affects only CanvasItem based nodes.
Resolves #37683

(cherry picked from commit 3f19b5e0b3)
2020-04-16 12:47:18 +02:00
Nannaquin 27989ae8f8 Add reference of Color8 function to Color class documentation
(cherry picked from commit 06aeff3044)
2020-04-16 12:47:18 +02:00
lucaslcode cd10966652 clarify autotile_coord in docs
I had no idea what 'coordinate' meant in the context of autotiles, so just adding some clarification for future people who have the same problem.

(cherry picked from commit cbe73766e3)
2020-04-16 12:47:18 +02:00
Zak Grumbles 294008015e Clarify Dictionary duplicate params godotengine#37162
* Added additional clarification for the function of the 'deep'
parameter in the Dictionary's `duplicate` method.

(cherry picked from commit 469b7c948f)
2020-04-16 12:02:18 +02:00
Yuri Sizov 22ebdd72d9 Add more verbosity for property overrides in RST documentation
(cherry picked from commit 38821dc6d7)
2020-04-16 11:57:50 +02:00
Zak Grumbles 5d9108c9c6 Fix OptionButton docs godotengine#36803
* item_selected and item_focused docs incorrectly had 'id' as the parameter. Changed to
'index'.
* Fix parameter name in ADD_SIGNAL callin code.

(cherry picked from commit a8de034f78)
2020-04-16 11:45:19 +02:00
Danil Alexeev 2ef1ee9da7 Improve the `File.store_{8,16,32,64}()` documentation
Added information about the intervals of values that the functions
`store_{8,16,32,64}()` can correctly write to the file.

(cherry picked from commit 97e20b2f30)
2020-04-16 11:44:58 +02:00
Yuri Roubinsky 5914fdc067 Implements estimate/compute_cost for AStar2D
(cherry picked from commit bad77bcb52)
2020-04-16 11:35:52 +02:00
Hugo Locurcio e88cfedf0e Document the EditorFeatureProfile class
(cherry picked from commit 7ab279403d)
2020-04-06 20:58:21 +02:00
Zak Grumbles 011602447c Clarify docs for Thread.start() godotengine#36032
* Updated docs for Thread.start() to specify that the method argument
must accept one parameter.

(cherry picked from commit d09644dff3)
2020-04-06 18:17:43 +02:00