Commit Graph

5381 Commits

Author SHA1 Message Date
Silc 'Tokage' Renew
865da09871 Implement cubic_interpolate() as MathFunc for refactoring 2022-02-12 18:11:17 +09:00
Hugo Locurcio
b7b18a4940
Tweak default ProceduralSkyMaterial and PhysicalSkyMaterial appearance
- Tweak colors to be less saturated and more balanced (in terms of hue).
  The cool blue sky is balanced by a warm brown ground,
  which makes reflections look closer to how they'd look like when using
  an HDRI panorama texture.
- Make the ground color dark on both ProceduralSkyMaterial and
  PhysicalSkyMaterial to reduce indoor light leaking, especially
  when using GI.
- Tweak the PhysicalSkyMaterial colors to be as close as possible
  to ProceduralSkyMaterial (with the default sun orientation).
- Tweak editor environment defaults to be identical to the default
  ProceduralSkyMaterial colors. Previously, the default editor sky
  color was different from the colors of a newly created
  ProceduralSkyMaterial resource.

Both new skies were tested without GI, with SDFGI and with VoxelGI.
They were tuned to look best when using ACES tonemapping with a
whitepoint set to 6, but they still look good with other
tonemapping operators.
2022-02-12 02:22:40 +01:00
Hugo Locurcio
c6ef8fb6d4
Improve documentation for GeometryInstance3D.transparency 2022-02-12 00:42:45 +01:00
bruvzg
7d59b81d79
Add exclusive window handling to DisplayServer (on macOS and Windows). 2022-02-12 00:14:09 +02:00
Rémi Verschelde
006ce4d83d
Merge pull request #57938 from jordigcs/negative-refresh-rate-fallback 2022-02-11 23:02:58 +01:00
jordi
7a9972afc2 Change SCREEN_GET_REFRESH_RATE_FALLBACK to -1.0 2022-02-11 10:25:38 -06:00
Yuri Sizov
175088db25 Add an explicit way to remove a theme type 2022-02-11 17:57:52 +03:00
Hugo Locurcio
ab1eaac315
Improve the AudioStreamPlayer2D/3D.area_mask documentation
The documentation was stating that the area mask affects where sounds
can be heard, which is not true. Instead, the area mask affects audio
bus redirection.

Thanks to Azedaxen on the Godot forums for providing this description :)
2022-02-10 23:26:29 +01:00
Rémi Verschelde
80332049ee
Merge pull request #57932 from pycbouh/docs-extract-links 2022-02-10 22:26:15 +01:00
Rémi Verschelde
69ddf2fd05
Merge pull request #55157 from pycbouh/control-inspector-reorg 2022-02-10 22:13:28 +01:00
JFonS
b2da1a5c20
Merge pull request #57889 from Calinou/doc-occlusion-culling
Document occlusion culling classes and settings
2022-02-10 20:35:38 +01:00
Yuri Sizov
2b35ecaee4 Extract link titles for translation if available 2022-02-10 22:16:27 +03:00
Hugo Locurcio
09563e4bd8
Default to real-time radiance map filter for environment sky reflections
This makes radiance map updates much faster, which improves performance
when rotating the sun in the editor or at run-time.

This real-time filter is also much less prone to "fireflies" that can
appear when using a sky with a bright sun.
2022-02-10 20:12:33 +01:00
Yuri Sizov
107b6f299c Reorganize inspector layout workflow for Control nodes 2022-02-10 20:29:34 +03:00
Rémi Verschelde
38c851a3fa
Merge pull request #57916 from akien-mga/doc-translations-exclude-DOCS_URL-links 2022-02-10 18:26:23 +01:00
Hugo Locurcio
dee43ea650
Document occlusion culling classes and settings 2022-02-10 18:24:32 +01:00
Rémi Verschelde
d6abf8f158
Merge pull request #57873 from markdibarry/add_get_content_width_RichTextLabel 2022-02-10 18:24:13 +01:00
Rémi Verschelde
d2fa379f2b
Merge pull request #54158 from Calinou/decrease-default-soft-shadow-quality 2022-02-10 17:38:24 +01:00
Rémi Verschelde
7332aff3fd
Merge pull request #54677 from Calinou/voxelgi-default-low-quality 2022-02-10 17:35:52 +01:00
Rémi Verschelde
c6199da8b8
Merge pull request #39965 from Calinou/tweak-sdfgi-defaults 2022-02-10 17:31:54 +01:00
Rémi Verschelde
2fafcfebdf
Merge pull request #57707 from Calinou/sdfgi-tweak-default-num-cascades 2022-02-10 17:27:42 +01:00
markdibarry
29c21ac590 Add get_content_width method
Adds a get_content_width method to RichTextLabel
2022-02-10 10:56:11 -05:00
Rémi Verschelde
40691b2ebe
i18n: Exclude $DOCS_URL links from classref translations 2022-02-10 15:38:21 +01:00
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
Rémi Verschelde
d22ac13bc2
Merge pull request #57715 from Faless/debugger/4.x_core_includes_and_servers
[Debugger] Move most profilers to ServersDebugger, fix core includes.
2022-02-09 21:57:32 +01:00
Markus Sauermann
ba565bec1b Update Popup and PopupMenu descriptions 2022-02-09 18:59:41 +01:00
Rémi Verschelde
77c2bfb636
Merge pull request #57838 from TechnicalSoup/ClassRefPatch2 2022-02-09 13:25:40 +01:00
Rémi Verschelde
f88a83f611
Merge pull request #57810 from timothyqiu/tree-button-id 2022-02-09 11:11:01 +01:00
TechnicalSoup
d5ea8547d6 Correct C# code example in Color class reference
Correct C# example code for html method in the Color class reference.
2022-02-09 20:26:51 +11:00
Rémi Verschelde
196801fc64
Merge pull request #57837 from YeldhamDev/that_was_pointless 2022-02-09 09:38:39 +01:00
Michael Alexsander
ef81dc1831 Remove code to update the layout direction of submenus from PopupMenu 2022-02-09 01:36:20 -03:00
Rémi Verschelde
f111768ba9
Merge pull request #57813 from MisoMosiSpy/disabled_icons 2022-02-09 01:20:58 +01:00
MisoMosiSpy
839b8cae1e
Updated alpha value for disabled icons in default theme. 2022-02-09 01:16:39 +01:00
Ellen Poe
41a158af56
Add AudioStreamRandomizer, replacing AudioStreamRandomPitch
Add additional randomization options.
2022-02-09 00:05:32 +01:00
Rémi Verschelde
25d4c14fef
Merge pull request #57627 from JFonS/occluder_improvements 2022-02-08 23:23:50 +01:00
Haoyu Qiu
374299c6fb Improve TreeItem button API 2022-02-08 23:56:13 +08:00
Rémi Verschelde
e776580c30
Merge pull request #57801 from reduz/fix-blend-shape-mask-2 2022-02-08 15:21:31 +01:00
Rémi Verschelde
b6ddf4a629
Merge pull request #57692 from YeldhamDev/popping_options 2022-02-08 14:04:28 +01:00
reduz
db43237c78 Fix BLEND_SHAPE_MASK
* Should now be correct
* Supersedes 53738
2022-02-08 13:50:01 +01:00
Rémi Verschelde
e26598b4a1
Merge pull request #40140 from hinlopen/tree-scroll-center 2022-02-08 13:43:19 +01:00
bruvzg
b801742b77
[GDExtension] Add binds for missing methods, operators, and constants required for GDExtension TextServer implementation. 2022-02-08 09:49:14 +02:00
TechnicalSoup
acd562be5d Add method descriptions to Color Class Reference
Add definitions and code examples for the html and html_is_valid methods
2022-02-08 16:37:11 +11:00
TechnicalSoup
8a1d924896 Add method description to Vector3i Class Reference
Add description for the abs method in the Vector3i class. Description added is identical to the abs method for the other vector classes
2022-02-08 07:52:11 +11:00
Michael Alexsander
59e9a8c275 Fix theming for floating window docks 2022-02-07 09:55:25 -03:00
Rémi Verschelde
6a33d8b93f
Merge pull request #57718 from Faless/js/4.x_pwa_prefer_cache_pr 2022-02-07 13:21:53 +01:00
jfons
dd970482c5 Improvements and fixes to occluders
Improvements:
* Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders.
* Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default.
* Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window.

Fixes:
* Fixed saving of occluder files after bake.
* Fixed a small error where occluders didn't correctly update in the rendering server.

Bonus content:
* Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders.
* Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-07 13:04:51 +01:00
Rémi Verschelde
bfb75d107c
Merge pull request #57741 from Chaosus/vs_fixes 2022-02-07 12:50:44 +01:00
Rémi Verschelde
ec00283f91
ResourceImporter: Restore default append logic for new importers
This was changed in #56943 to allow adding new importers from plugins that
take precedence over built-in ones, but this should be opt-in, not the default
behavior.

Fixes #57730.
2022-02-07 09:47:16 +01:00
Yuri Roubinsky
a6e280c5de Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
Michael Alexsander
21bf23d966 Enhancements and fixes for OptionButton and PopupMenu 2022-02-06 16:03:18 -03:00
Fabio Alessandrelli
948e66c3d6 [HTML5] Implement JavaScript PWA update callbacks.
Allows detecting when a new version of the progressive web app service
worker is waiting (i.e. an update is pending), along a function to force
the update and reload all clients.
2022-02-06 18:53:50 +01:00
Yuri Roubinsky
db18faf660 Rename PORT_TYPE_VECTOR to PORT_TYPE_VECTOR_3D 2022-02-06 20:15:28 +03:00
Fabio Alessandrelli
789e648f4d [Debugger] New extensible EngineProfiler class.
Uses GDExtension, replaces old Callable system for profilers, and is
also used internally.
2022-02-06 17:33:45 +01:00
Hugo Locurcio
7721e19ccc
Tweak default SDFGI settings for better quality
- Enable Read Sky Light to get proper outdoors lighting out of the box.
- Set bounce feedback to 0.5 by default to get a better quality result.
  - Higher values may cause infinite feedback with bright surfaces.
- Increase the number of frames to converge to improve quality
  at the cost of latency. Most scenes are fairly static after all.
- Use 75% Y scale by default as most scenes are not highly vertical.

- Reorder the Y scale enum to go from the lowest Y scale to the highest.
  Also rename the "Disabled" setting to "100%" for clarity.
2022-02-06 15:28:59 +01:00
Hugo Locurcio
b9cfc74f29
Decrease the default number of SDFGI cascades to 4
This improves rendering performance noticeably, especially when the
camera moves fast.

On a medium-sized test scene on a GTX 1080 in 2560×1440, going
from 6 to cascades saves 0.5 ms of frame time while looking visually
identical (as most of the scene fits within the 4 cascades).
2022-02-06 15:01:25 +01:00
reduz
8c7268664d
Fix integer vector mul/div operators and bindings.
* Vector2i and Vector3i mul/div by a float results in Vector2 and Vector3 respectively.
* Create specializations to allow proper bindings.

This fixes #44408 and supersedes #44441 and keeps the same rule of int <op> float returnig float, like with scalars.
2022-02-06 13:34:41 +01:00
Rémi Verschelde
5f42e0d0ab
Merge pull request #57646 from Faless/mp/4.x_interfaces
[Net] Move RPC, Node cache out of MultiplayerAPI.
2022-02-05 18:26:04 +01:00
Rémi Verschelde
feb34dfb2e
Merge pull request #57385 from madmiraal/update-mouse-pointer-definitions
Update definitions of get_mouse_position methods
2022-02-05 16:09:52 +01:00
kobewi
189dab2d76 Add visibility to CanvasLayer 2022-02-05 14:02:21 +01:00
Stijn Hinlopen
31824420e4 Center when scrolling to tree item. 2022-02-05 10:59:33 +01:00
Rémi Verschelde
df1724470d
Merge pull request #49775 from fire/faster-cvtt
Faster CVTT by lowering default quality
2022-02-05 10:28:07 +01:00
Rémi Verschelde
9fd095011e
Merge pull request #57639 from Sauermann/fix-onready-docs
Add @ to onready annotated variables in docs
2022-02-05 10:11:13 +01:00
kobewi
e714f5e56e Rework TextureButton stretch 2022-02-05 02:11:32 +01:00
Fabio Alessandrelli
347d2dfc42 [Net] Move RPC, Node cache out of MultiplayerAPI.
Now uses two interfaces so it can be overridden in the future, and
core no longer depends on Node.

The interfaces are implements in scene/multiplayer.
Replaces root_node with root_path.
Remove all Node references from MultiplayerAPI.
2022-02-05 02:00:23 +01:00
Markus Sauermann
70da14db68 Add @ to onready annotated variables in docs 2022-02-05 01:08:41 +01:00
Rémi Verschelde
d091995e05
Merge pull request #57518 from pycbouh/docs-theme-refinement 2022-02-05 00:58:43 +01:00
K. S. Ernest (iFire) Lee
419b342a9a Faster CVTT by reducing quality.
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04 15:15:26 -08:00
Rémi Verschelde
2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes 2022-02-04 19:03:10 +01:00
Yuri Sizov
54b47b8fa6 Refine Theme documentation to make it more factual 2022-02-04 20:29:54 +03:00
Marcel Admiraal
012809d8ae Update definitions of get_mouse_position methods 2022-02-04 14:21:47 +00:00
Fabio Alessandrelli
d219547c96 [Net] New replication interface, spawner and synchronizer nodes.
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).

New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.

New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
Rémi Verschelde
89eb6d372d
Merge pull request #57591 from vnen/gdscript-enum-fixes 2022-02-04 13:49:15 +01:00
Rémi Verschelde
225a3b2545
Merge pull request #57341 from bruvzg/win_multiwin_fs 2022-02-04 13:28:56 +01:00
Rémi Verschelde
d235c1bb19
Merge pull request #57335 from jordigcs/display-refresh-rate 2022-02-04 11:51:07 +01:00
bruvzg
f4ea9cd9f3
[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
[Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-04 12:08:46 +02:00
Rémi Verschelde
2a3c4f00c8
Merge pull request #57541 from reduz/node-add-remove-hook 2022-02-04 10:13:29 +01:00
jordi
54dec44dba Add screen_get_refresh_rate to DisplayServer 2022-02-03 21:50:32 -06:00
Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda String: Add contains(). 2022-02-04 01:28:02 +05:45
Rémi Verschelde
7191605324
Merge pull request #57587 from bruvzg/gde_fix_ptr_and_enum_returns
[GDExtension] Fix registration of functions with enum or native pointer return type.
2022-02-03 20:36:59 +01:00
Rémi Verschelde
bf0253bab9
Merge pull request #56764 from madmiraal/fix-45592-2 2022-02-03 18:10:30 +01:00
George Marques
ad6e2e82a9
GDScript: Consolidate behavior for assigning enum types
This makes sure that assigning values to enum-typed variables are
consistent. Same enum is always valid, different enum is always
invalid (without casting) and assigning `int` creates a warning
if there is no casting.

There are new test cases to ensure this behavior doesn't break in
the future.
2022-02-03 13:32:16 -03:00
Rémi Verschelde
5e39a8eded
Merge pull request #56992 from YeldhamDev/smarter_popmenu_focus 2022-02-03 17:15:06 +01:00
Rémi Verschelde
45d5aa5d47
Merge pull request #56365 from aaronfranke/default-shape-size 2022-02-03 16:59:07 +01:00
bruvzg
ead6f67670
Add auto-wrap mode property to the RichTextLabel, set default auto-wrap mode to AUTOWRAP_WORD_SMART to match 3.x behavior. 2022-02-03 16:04:07 +02:00
bruvzg
ddd96b3059
[GDExtension] Fix registration of functions with enum or native pointer return type. 2022-02-03 16:03:23 +02:00
Gilles Roudière
73e784de1e Remove get_focus_owner() from Control, replaced by get_viewport()->gui_get_focus_owner() 2022-02-03 11:59:32 +01:00
Rémi Verschelde
36880714e4
Merge pull request #57517 from groud/viewport_expose_gui_focus 2022-02-03 11:20:20 +01:00
Rémi Verschelde
309b9d3301
Merge pull request #57575 from timothyqiu/doc-stream-peer-buffer 2022-02-03 10:24:12 +01:00
Haoyu Qiu
b30c566c19 Add documentation for StreamPeerBuffer 2022-02-03 16:00:55 +08:00
TechnicalSoup
3dc1fad262
Expand description for warp_mouse_position method
Add more detail to the description for the warp_mouse_position method, clarifying that the vector is in screen coordinates and relative to an origin at the top of the game window.
2022-02-03 10:11:25 +11:00
Yuri Roubinsky
ca42bfb2a5
Merge pull request #57504 from Chaosus/vs_vector2 2022-02-02 21:12:45 +03:00
Yuri Roubinsky
59af063636 Add support for 2D vector type to visual shaders 2022-02-02 19:59:34 +03:00
Max Hilbrunner
68e62fb5cd
Merge pull request #57540 from mhilbrunner/docs-object-set
DOCS: Object.set() does nothing on type mismatch
2022-02-02 16:31:26 +01:00
Max Hilbrunner
c8ee8082f4
Merge pull request #57531 from Calinou/doc-area-overlaps
Clarify Area2D/Area3D `overlaps_area()`/`overlaps_body()` documentation
2022-02-02 15:22:38 +01:00
reduz
fbd9599b04 Add a signal to notify when children nodes enter or exit tree
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950
2022-02-02 11:28:11 +01:00
Max Hilbrunner
bb7d003881 DOCS: Object.set() does nothing on type mismatch 2022-02-02 11:24:47 +01:00
bruvzg
215bede6ff
[TextServer] Add function to change font, font size, and OpenType features without invalidating line break points, justification points, or recreating shaped text buffer. 2022-02-02 11:20:44 +02:00
Hugo Locurcio
2ea08134c3
Clarify Area2D/Area3D overlaps_area()/overlaps_body() documentation 2022-02-01 22:20:29 +01:00
Hugo Locurcio
10e7977be3
Clarify documentation for Rect2/Rect2i's has_no_area() 2022-02-01 18:00:05 +01:00