Commit graph

2990 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
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