Commit graph

3043 commits

Author SHA1 Message Date
lawnjelly
b1e24597e7 Renaming rendering/2d project settings.
The rendering/quality/2d section of project settings is becoming considerably expanded in 3.2.4, and arguably was not the correct place for settings that were not really to do with quality.

3.2.4 is the last sensible opportunity we will have to move these settings, as the only existing one likely to break compatibility in a small way is `pixel_snap`, and given that the whole snapping area is being overhauled we can draw attention to the fact it has changed in the release notes.

Class reference is also updated and slightly improved.

`pixel_snap` is renamed to `gpu_pixel_snap` in the project settings and code to help differentiate from CPU side transform snapping.
2021-03-01 11:38:46 +00:00
lawnjelly
7d5cf60149 Disallow antialiasing for software skinned 2d polys
Antialiasing is not supported for batched polys. Currently due to the fallback mechanism, skinned antialiased polys will be rendered without applying animation.

This PR simply treats such polys as if antialiasing had not been selected. The class reference is updated to reflect this.
2021-03-01 08:26:59 +00:00
Delf Neumärker
7df977c3ed
Fix crash during drag if user freed the drag preview 2021-02-27 15:16:06 +01:00
Fabio Alessandrelli
43e429fa93 [HTML5] Add jsdoc2rst tool.
A template for `jsdoc` that generat the HTML5 public classref.

The script can be run via `npm run docs` to print to stdout.

You can dry run via `npm run docs -- --d dry-run` or write to file via
`npm run docs -- -d /path/to/file.rst`

Also update Makefile in `doc/` and add dry run test to CI.

(cherry picked from commit 472482013e)
2021-02-26 15:35:45 +01:00
Haoyu Qiu
2003a41f0f Fixes typo in Array::bsearch_custom doc
(cherry picked from commit 31243e377f)
2021-02-26 11:29:35 +01:00
Hugo Locurcio
b2725cb4b9 Improve the OS.get_environment()/OS.set_environment() documentation
(cherry picked from commit 355803db1b)
2021-02-25 22:38:07 +01:00
Rémi Verschelde
6fc9c409dd
Merge pull request #46420 from nekomatata/draw-collision-outline-option-3.2
[3.2] Added option in project settings to draw Shape2D outlines
2021-02-25 17:15:52 +01:00
PouleyKetchoupp
d94cd42ccd Added option in project settings to draw Shape2D outlines
Disabling collision outlines can be useful for performance when the game
is running and many collision shapes are displayed.
2021-02-25 07:48:33 -07:00
Jummit
0a9190134d expose edit_selected in Tree
(cherry picked from commit 13fb24cb6f)
2021-02-25 15:14:32 +01:00
Bastiaan Olij
e9ce9a8422 Expose set_environment to GDScript 2021-02-25 22:07:38 +11:00
bruvzg
5bbacc85bd
Expose String contents to the GDScript as PoolByteArray. 2021-02-23 13:43:36 +02:00
lawnjelly
27aa03cac1 Small class reference update for 3.2.4
Changed batching entries now that it is available in GLES3 and GLES2.
Added entry for camera_snap.
2021-02-23 10:00:37 +00:00
hungrymonkey
1716423c97 Added sample code to the bsearch_custom function
bsearch_custom arguments

name - type - description
value - Variant - bisection search value
obj - Any object instance - Location of the 2 argument comparison function
func - String - Name of the function declared in obj
before - boolean - first and second resolver

Fixes https://github.com/godotengine/godot-docs/issues/4564
2021-02-22 15:55:33 +01:00
Rémi Verschelde
38c168b53b
Merge pull request #46301 from Calinou/gles2-improve-shadow-rendering
Improve PCF13 shadow rendering in GLES2 by using a soft PCF filter
2021-02-22 14:07:10 +01:00
Hugo Locurcio
83eec8f7db
Improve PCF13 shadow rendering in GLES2 by using a soft PCF filter
This suppresses the blocky shadow appearance, bringing the shadow rendering
much closer to GLES3. This soft filter is more demanding as it requires
more lookups, but it makes PCF13 shadows more usable.

The soft PCF filter was adapted from three.js.
2021-02-22 13:36:15 +01:00
Rémi Verschelde
aa5993c98b
Merge pull request #46308 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.4) - 24th batch
2021-02-22 11:53:51 +01:00
Rémi Verschelde
0abf702d4b
Merge pull request #45957 from lupoDharkael/natural-comp
[3.2] Add natural string comparison
2021-02-22 11:07:54 +01:00
Andy Maloney
e262c6b8bc [docs] Clarification on theme's get_stylebox
Remove reference to "icon" (must have been a copy-paste error) & clarify where to find out what names & node_types are valid.

(cherry picked from commit d397c32169)
2021-02-22 10:41:30 +01:00
Hugo Locurcio
3122d12365 Document theming a SpinBox's background
This closes #46248.

(cherry picked from commit 159581739a)
2021-02-22 10:17:09 +01:00
Hugo Locurcio
e5d0889c49 Document that Button doesn't interpret touch input (= no multitouch)
TouchScreenButton should be used for gameplay actions instead.

(cherry picked from commit f6087d3f2b)
2021-02-22 10:16:06 +01:00
Lyuma
069c08e155 Backport d800329 AudioEffectCapture to 3.2 2021-02-21 20:14:58 -08:00
Yuri Sizov
57e57872fd Add documentation for EditorPlugin's build method
(cherry picked from commit 724ed88215)
2021-02-19 15:55:57 +01:00
Hugo Locurcio
9f236d48e6 Don't allow negative values for OS.delay_usec()/OS.delay_msec()
This closes #46190.

(cherry picked from commit 76f1f9b3c5)
2021-02-19 15:52:54 +01:00
Luke Hubmayer-Werner
0974cf15f6 Documentation: Correct CanvasItem.draw_string position description.
Also add height warnings to Font.get_char_size and Font.get_string_size
2021-02-19 18:33:27 +10:30
Rémi Verschelde
8651838268 doc: Fixup RichTextLabel bbcode_enabled note 2021-02-19 00:04:32 +01:00
skyace65
72aef9d67e Add information on bb code enabled 2021-02-18 23:46:33 +01:00
Jitesh
d968a03cbc
Add animation_finished signal and fix frame_changed signal for AnimatedSprite3D
Fixes #40301.
Fixes #45947.

(cherry picked from commit c3be0c2c04)
2021-02-18 00:36:20 +01:00
Rémi Verschelde
30c69c296b
Merge pull request #46093 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.4) - 23rd batch
2021-02-16 15:17:00 +01:00
David Buchmann
26e2eaf068 doc: Clarify TileMap world_to_map and map_to_world usage
Per discussion in #38551.
Fixes #31663.
Fixes #37394.
2021-02-16 14:52:51 +01:00
Rémi Verschelde
7c3602dc8c
doc: Sync classref with current source 2021-02-16 14:47:29 +01:00
Sylvain Beucler
dc1264af0a
doc: explain TouchScreenButton passby mode
(cherry picked from commit 9e21077fad)
2021-02-16 14:27:40 +01:00
Andrii Doroshenko (Xrayez)
34eea26c67
makerst: Add an option to filter which XML classes to output
Usage:
```
# Output `VisualScript` classes only (found in `modules/visual_script`)
python doc/tools/makerst.py "doc/classes" "modules" --filter "visual_script"

# Output CSG classes only (found in `modules/csg`)
python doc/tools/makerst.py "doc/classes" "modules" --filter "csg"
```

(cherry picked from commit 7fcdd15f0c)
2021-02-16 14:27:39 +01:00
hoontee
d91a5e7883
Implement CollisionPolygon3D margin
(cherry picked from commit fbb1ef759c)
2021-02-16 14:27:39 +01:00
Hugo Locurcio
6c6f4e9895
Expose a File.flush() method to scripting
This can be used to ensure a file has its contents saved
even if the project crashes or is killed by the user
(among other use cases).

See discussion in #29075.

(cherry picked from commit ab397460e9)
2021-02-16 14:27:38 +01:00
Hugo Locurcio
15d9f77f97
Add a project setting to enable stdout flushing in release builds
This can be used in server builds for journalctl compatibility.

(cherry picked from commit 341b9cf15a)

Fixes crash when exiting with --verbose with leaked resources

(cherry picked from commit 25c4dacb88)
2021-02-16 14:27:38 +01:00
JFonS
56bf256d76 Add options to reduce lightmaps disk usage.
Added BakedLightmap.use_hdr and BakedLightmap.use_color properties
that can reduce the flie size of lightmap texture at the expense of quality.

Changed the denoiser to work in a single buffer, reducing RAM
usage. Also added the `-mstackrealign` flag in the denoiser compilation
for MinGW builds. This flag helped fix a bug in Embree, so I want to see
if it will help fix GH #45296.
2021-02-16 13:20:27 +01:00
lupoDharkael
460e1b94c3 [3.2] Add natural string comparison 2021-02-13 15:13:58 +01:00
Emily
92dd573053
fixed typo in packedscene
(cherry picked from commit 7368bc534a)
2021-02-12 11:11:35 +01:00
Kongfa Waroros
adb93d7120
Update GraphEdit when GraphNode's slot is updated
(cherry picked from commit fe6c8d48e6)
2021-02-11 13:14:33 +01:00
Ryan Roden-Corrent
08d556f677
Clarify EditorImportPlugin.get_visible_name.
According to the docs at
https://docs.godotengine.org/en/stable/tutorials/plugins/editor/import_plugins.html#the-editorimportplugin-class

> The get_visible_name() method is responsible for returning the name of
> the type it imports and it will be shown to the user in the Import dock.
> You should choose this name as a continuation to "Import as", e.g.
> "Import as Silly Material"

I've verified Godot's behavior reflects this, so the code examples
should reflect this.

Also document propagating save error in EditorImportPlugin.

It seems that the suggested code ignores any error from
`ResourceSaver.save`, but I think we should return it.

(cherry picked from commit 9676650f2f)
2021-02-11 13:12:06 +01:00
Rémi Verschelde
f55c23d8f2
Merge pull request #44476 from Calinou/doc-object-new-bug
Document known bug with `Object.new()` and workaround
2021-02-11 12:26:25 +01:00
Rémi Verschelde
5e7df2da08
Merge pull request #45876 from Calinou/doc-particles2d-no-atlas
Document Particles2D not supporting AtlasTexture region
2021-02-10 19:47:42 +01:00
Hugo Locurcio
97b43e816b Document Particles2D not supporting AtlasTexture region
See #13923.
2021-02-10 18:09:51 +01:00
Aaron Franke
f201382a85
[3.2] Use instance and first arg in Basis is_equal_approx
Discards the second argument.
2021-02-09 05:09:51 -05:00
Rémi Verschelde
398a625a9f
Merge pull request #39421 from RandomShaper/pause_aware_picking_3.2
Implement pause-aware picking (3.2)
2021-02-09 10:43:48 +01:00
Hugo Locurcio
2261e738c2
Improve the SurfaceTool.generate_normals() documentation
(cherry picked from commit b8df8b1043)
2021-02-08 22:36:36 +01:00
Pedro J. Estébanez
745c711289 Implement pause-aware picking
This adds a new project setting (`physics/common/enable_pause_aware_picking`). It's disabled by default.

When enabled, it changes the way 2D & 3D physics picking behaves in relation to pause:
- When pause is set, every collision object that is hovered or captured (3D only) is released from that condition, getting the relevant mouse-exit callback., unless its pause mode makes it immune from pause.
- During the pause. picking only considers collision objects immune from pause, sending input events and enter/exit callbacks to them as expected.
- When pause is left, nothing happens. This is a big difference with the classic behavior, which at this point would process all the input events that have been queued against the current state of the 2D/3D world (in other words, checking them against the current position of the objects instead of those at the time of the events).
2021-02-08 20:48:13 +01:00
Marcel Admiraal
3dd57a22df Add support for new SDL gamecontroller keywords. 2021-02-07 16:41:23 +00:00
Hugo Locurcio
898327b312
Document known bug with Object.new() and workaround 2021-02-07 16:15:24 +01:00
Hugo Locurcio
ee89da129f Improve the File.endian_swap documentation
(cherry picked from commit c5f0db45df)
2021-02-05 09:26:09 +01:00
James Westman
7ce1789597
docs: Add TreeItem method descriptions
(cherry picked from commit 2f5164d78c)
2021-02-02 13:02:46 +01:00
Hugo Locurcio
38a94ce2bc
Reference the control gallery image in the Control class documentation
Like the Tween cheatsheet or Color constants cheatsheet, this references
a "cheatsheet" image from the documentation repository.

(cherry picked from commit 200f1cf015)
2021-02-02 13:02:46 +01:00
kleonc
995388cf6f
Docs: Fix TileMap::map_to_world description
(cherry picked from commit e62ec6c6b1)
2021-02-02 13:02:46 +01:00
HaSa1002
4ff0df702d Expose bookmark, breakpoint, and mark safe functions in TextEdit 2021-01-27 22:41:07 +01:00
Hugo Locurcio
eb0ca31ac1
Add an OS.get_thread_caller_id() method
This can be used to print thread IDs in logs. This can make it easier
to debug multi-threaded applications.

Co-authored-by: Khaos <khaos@khaos-coders.org>
(cherry picked from commit 35b046ddf7)
2021-01-26 22:10:30 +01:00
Hugo Locurcio
1c9ee4baa2
Improve the Array.hash() documentation
Co-authored-by: Laguzus <67963093+Laguzus@users.noreply.github.com>
(cherry picked from commit 435848192e)
2021-01-26 22:10:30 +01:00
Andrii Doroshenko (Xrayez)
0ff0fdef5c
Document shape metadata for TileMap
(cherry picked from commit 0c2dbd01dc)
2021-01-26 17:24:39 +01:00
Hugo Locurcio
9a3c5033f7
Document the expected low performance of VideoPlayer on HTML5
(cherry picked from commit b98540dd9d)
2021-01-26 17:00:17 +01:00
Hugo Locurcio
e2a2005a48
Document low performance of Array.push_front() and Array.pop_front()
(cherry picked from commit 7ce3cc0478)
2021-01-26 17:00:16 +01:00
Hugo Locurcio
af891cebe4
Document that the high-level multiplayer API is only for Godot servers
(cherry picked from commit 1b03f3f72b)
2021-01-26 17:00:16 +01:00
Nils Reid
349f25429b
Exposed find_next_valid_focus and find_prev_valid_focus.
(cherry picked from commit 3e94c23fa5)
2021-01-26 17:00:16 +01:00
Hugo Locurcio
22bb9fcd82
Document a built-in use of Resource.resource_name
(cherry picked from commit 1a606b1a04)
2021-01-26 17:00:16 +01:00
Ryan Roden-Corrent
c31bb02a3e
Clarify that create_timer does not require cleanup.
This is how I would expect it to work, but the docs didn't clarify, so I
had to check the source just to make sure I wasn't responsible for
freeing the timer:

d39f6386ce/scene/main/scene_tree.cpp (L473)
(cherry picked from commit 6e7e4f82ec)
2021-01-26 17:00:16 +01:00
Andrii Doroshenko (Xrayez)
ee73e4aa24
Document GPU particles visibility rect/aabb behavior
(cherry picked from commit b4675973fd)
2021-01-26 17:00:15 +01:00
Hugo Locurcio
86ca5ff5f0
Document that ShaderMaterial doesn't support GIProbe emission 2021-01-25 18:19:10 +01:00
Hugo Locurcio
9dbdec7e33
Document workaround for storing 64-bit floats in PoolRealArray 2021-01-16 21:46:01 +01:00
Hugo Locurcio
e2c13c00f7
Document that PoolRealArray stores 32-bit floats
This closes #45230.
2021-01-16 16:48:09 +01:00
Phischermen
708f690b50
Add info about how gizmos affect transform notifications
(cherry picked from commit 72d1d7e948)
2021-01-15 16:49:46 +01:00
Andrii Doroshenko (Xrayez)
b124c0c466
Expose Resource.emit_changed() to script
Also known as `emit_signal("changed")`.

(cherry picked from commit e94f46dcdb)
2021-01-15 16:49:46 +01:00
Alexander Pech
d73281a350
Keep RichTextLabel visible character properties in sync
The RichTextLabel class is inconsistent in how it updates the
visible_characters and percent_visible properties when either is changed.

To keep both properties consistent, update percent_visible when setting the
visible_characters property.
For both properties, when setting one, notify change for the other.

Docs updated for member set_visible_characters on RichTextLabel class.

(cherry picked from commit 463e2002ab)
2021-01-15 16:49:46 +01:00
Rémi Verschelde
497653ab53
Merge pull request #44628 from JFonS/new_cpu_lightmapper_3.2
[3.2] New CPU lightmapper
2021-01-15 13:25:46 +01:00
JFonS
b1ca82c43a CPU lightmapper fixes.
- Fix Embree runtime when using MinGW (patch by @RandomShaper).
- Fix baking of lightmaps on GridMaps.
- Fix some GLSL errors.
- Fix overflow in the number of shader variants (GLES2).
2021-01-15 12:32:54 +01:00
JFonS
d909592fc5 Add documentation for new CPU lightmapper. 2021-01-15 12:31:46 +01:00
Marcel Admiraal
253b1c22da Rename the final parameter of area_shape_entered-exited local_shape. 2021-01-15 09:46:19 +00:00
Marcel Admiraal
cdcd425432 Update area-body_shape_entered-exited signal documentation. 2021-01-15 09:46:17 +00:00
Rémi Verschelde
d298949513
Merge pull request #42882 from madmiraal/fix-39767-3.2
[3.2] Set Bullet collision shape index to zero when using a single shape or ConcavePolygonShape
2021-01-14 20:46:06 +01:00
Rémi Verschelde
152415a006
Merge pull request #43924 from madmiraal/fix-43588-3.2
[3.2] Fix cast_motion sometimes failing
2021-01-14 20:44:40 +01:00
Rémi Verschelde
b9c5e2f9eb
doc: Sync classref with current source
And fix copyright headers in new code.
2021-01-13 16:55:27 +01:00
TechnoPorg
d824efda75
Fix incorrect parameter in audio_track_set_key_stream.
The description for audio_track_set_key_stream referenced a parameter called offset, which is not a parameter for that method. The description now references the correct parameter, stream.

(cherry picked from commit 81dc9be973)
2021-01-13 16:17:10 +01:00
skyace65
45cdb8aab3
Remove the implication that references and resources are not objected from their description
(cherry picked from commit dca298d22b)
2021-01-13 16:17:10 +01:00
Andrii Doroshenko (Xrayez)
9c9ac159e9
Clarify lstrip()/rstrip() methods in String for removed characters
(cherry picked from commit a2c82bbf5f)
2021-01-13 16:17:09 +01:00
kobewi
d16f2bddee
Clarify class_get_method_list() in release exports
(cherry picked from commit 84acafb2ce)
2021-01-13 16:17:07 +01:00
Andrii Doroshenko (Xrayez)
acd9abe507 Add AspectRatioContainer class
Backported from ba68383706.

Co-authored-by: Ugis Brekis <ugis.brekis@productmadness.com>
2021-01-12 16:25:26 +02:00
lawnjelly
690e07b509 Dynamic BVH for rendering and godot physics
Complete rewrite of spatial partitioning using a bounding volume hierarchy rather than octree.

Switchable in project settings between using octree or BVH for rendering and physics.
2021-01-12 12:12:10 +00:00
Andrii Doroshenko (Xrayez)
47899e67c5 Add ability to restore RandomNumberGenerator state
3.2 version of b5107715f1.

`get_seed()` still returns the previous state and not the initial seed,
because users may rely on this behavior for resetting the state in 3.2.
Documented this is going to be fixed in 4.0.

Co-authored-by: MidZik <matt.idzik1@gmail.com>
2021-01-08 15:02:02 +02:00
Rémi Verschelde
3d31433229
doc: Remove links to RNG tutorial, not yet in 3.2 branch 2021-01-07 14:33:36 +01:00
Hugo Locurcio
cec16357ef
Document the requirement to update GPU particle visibility
This also updates some option names in the editor for consistency
and accuracy.

See #44955.
2021-01-06 19:17:57 +01:00
Rémi Verschelde
d7102ac78f
doc: Sync classref with current source 2021-01-05 21:33:34 +01:00
Hugo Locurcio
7fb212fdb6
Mention that the delta argument is in seconds in Node documentation
(cherry picked from commit fcb6ecaf21)
2021-01-05 21:33:34 +01:00
Maganty Rushyendra
90d1d580af
Explain A Star pathfinding algorithm cost calcuation
(cherry picked from commit f6634648ce)
2021-01-05 21:33:33 +01:00
Rémi Verschelde
66bfe855a8
Revert "Add a project setting to enable stdout flushing in release builds"
This reverts commit 341b9cf15a.

This makes the logger crash when used during cleanup: #44850.
2021-01-05 21:33:33 +01:00
Maganty Rushyendra
d2241a2b5f
Specify order of drawing of Nodes in raise() description
(cherry picked from commit a67ef5999d)
2021-01-05 21:33:32 +01:00
Hugo Locurcio
58efe5f313
Document the desktop-only file logging setting override
This closes https://github.com/godotengine/godot-docs/issues/4505.

(cherry picked from commit bd0b7003e0)
2021-01-05 20:49:00 +01:00
Eoin O'Neill
650f7c6f35
StateMachinePlayback: Added missing bindings to get_current_play_pos and get_current_length.
This allows the user to query the AnimationNodeStateMachinePlayback's current
play position and total length of current animation state. These methods are currently
used in the editor plugin, but can also be useful for querying general playback state
information.

Added documentation for AnimationNodeStateMachinePlayback's `get_current_play_position`

(cherry picked from commit 674fb52f52)
2021-01-05 20:48:57 +01:00
Yuri Roubinsky
adfc646f8c
Added optional id parameter to PopupMenu::add_separator
(cherry picked from commit ca8c794d04)
2020-12-30 09:57:01 +01:00
Hugo Locurcio
e2ff3ab88f
Document RichTextLabel not supporting entangled BBCode tags
See #44634.

(cherry picked from commit 3b6612e48e)
2020-12-30 09:56:17 +01:00
Rémi Verschelde
a24a6d510f
doc: Sync classref with current source 2020-12-29 16:02:45 +01:00
kobewi
151fa897fb
Complete documentation of EditorExportPlugin
(cherry picked from commit 8b231aff28)
2020-12-29 16:02:03 +01:00
kobewi
a227eefd2d
Rename offset to point in remove_point()
(cherry picked from commit 4f72a07eaa)
2020-12-29 16:02:03 +01:00
Jummit
27bfacd425
fix missing "s" in Viewport docs
(cherry picked from commit 63456bdd8a)
2020-12-29 16:02:03 +01:00