Commit Graph

10681 Commits

Author SHA1 Message Date
Slashscreen
8b3fbd51dc Fixed docs for add_context_submenu_item 2024-12-27 15:12:22 -08:00
Silc Lizard (Tokage) Renew
24f5361b8a Make transform elements BitField in RetargetModifier 2024-12-28 07:19:48 +09:00
ydeltastar
64788069a0
Fix scroll to symbol's documentation 2024-12-27 17:12:05 -03:00
kobewi
4e48b19e1f Add Color.from_rgba8 and deprecate Color8 2024-12-27 11:26:59 +01:00
Michael Alexsander
38ff1500c7
Add toggle to hide filtered out parents in the "SceneTree" dock 2024-12-24 13:43:01 -03:00
Lyuma
637fe3ccdd Allow post-import plugins to modify _subresources
The old code fetched some data before the `EditorScenePostImportPlugin._pre_process` callback.
While the callback could modify existing keys, this prevented users from adding new data on a fresh import.

By fetching the keys after pre_process, this means users can consistently modify import options for nodes, meshes, materials and animations in a post-import plugin.
2024-12-24 07:34:24 -08:00
AThousandShips
8d1a3e2a76
[Core] Align naming and args of (SceneTree)Timer time scale methods
Renamed `get_ignore_time_scale` to `is_ignoring_time_scale` following general naming standards.
2024-12-23 16:47:00 -05:00
Micky
ca4b29b18d Standardize all "Prints" comments in documentation 2024-12-23 21:26:00 +01:00
Thaddeus Crews
b97c8b37f6
Merge pull request #98441 from Yelloween10/fix-modifier-mask
Fix incorrect `KEY_MODIFIER_MASK` value
2024-12-23 11:15:17 -06:00
Thaddeus Crews
7b42fb969e
Merge pull request #100685 from raulsntos/dotnet/collection-expressions
[.NET] Use collection expressions in docs
2024-12-23 11:15:15 -06:00
Thaddeus Crews
53a7e08491
Merge pull request #100702 from spoxii/patch/unused_gridmap_editor_side
Remove unused editor setting `editors/grid_map/editor_side`
2024-12-23 11:15:14 -06:00
Thaddeus Crews
b77fde8e07
Merge pull request #100731 from Lazy-Rabbit-2001/popup_create_dialog_as_experimental
Mark `EditorInterface.popup_create_dialog()` as experimental
2024-12-23 11:15:10 -06:00
tvenclovas96_bigblackc
dbc0cc1437 Add Tween::ignore_time_scale 2024-12-22 18:39:54 +02:00
SPOXY
143e10e020 Remove unused editor setting editors/grid_map/editor_side
This option is no longer used after the rework in GH-96922
2024-12-22 12:27:21 +01:00
Lazy-Rabbit-2001
0d182cf9c2 Marked EditorInterface.popup_create_dialog() as experimental in the doc 2024-12-22 15:50:19 +08:00
smix8
d51615b334 Change navigation map synchronization to an async process
Changes the navigation map synchronization to an async process to avoid stalling the main thread.
2024-12-22 02:03:59 +01:00
Raul Santos
072ff85f82
[.NET] Use collection expressions in docs
As of C# 12 we can now use collection expressions to reduce some boilerplate when initializing collections.
2024-12-21 02:28:59 +01:00
Rémi Verschelde
a7a2a12bfd
Merge pull request #100671 from bruvzg/get_menu
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
[MenuBar] Use PopupMenu title property as a menu name.
2024-12-20 23:57:47 +01:00
Rémi Verschelde
87855e04ad
Merge pull request #100643 from ze2j/follow_up_of_array_mesh_surface_remove
Follow-up of `ArrayMesh::surface_remove` addition
2024-12-20 23:57:20 +01:00
Rémi Verschelde
a11364d1e6
Merge pull request #99010 from Hilderin/embedding-game-process
Embed game process in editor
2024-12-20 23:56:43 +01:00
Rémi Verschelde
7d5b23c5b0
Merge pull request #96626 from hakro/steady_as_she_goes
Allow Timer nodes to ignore engine time scale
2024-12-20 23:56:33 +01:00
Pāvels Nadtočajevs
9604e98a52 [MenuBar] Use PopupMenu title property as a menu name. 2024-12-20 23:35:07 +02:00
ze2j
97b093617d Follow-up of ArrayMesh::surface_remove addition 2024-12-20 10:53:43 +01:00
Thaddeus Crews
76956286d0
Merge pull request #100586 from tetrapod00/refraction-screen-texture
Document limitations of refraction from using screen texture
2024-12-19 20:00:09 -06:00
Thaddeus Crews
075567a5b3
Merge pull request #100456 from Sauermann/proposal-hovered-connection-highlight
Highlight hovered `GraphEdit` connection by widening the line
2024-12-19 20:00:08 -06:00
Thaddeus Crews
b715fabd70
Merge pull request #76371 from ze2j/array_mesh_surface_remove
Add `ArrayMesh::surface_remove`
2024-12-19 19:59:56 -06:00
Thaddeus Crews
2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
Add transparency support for LightmapGI
2024-12-19 19:59:52 -06:00
Thaddeus Crews
3d523ee86d
Merge pull request #92997 from Calinou/styleboxflat-antialiasing-adjust-for-stretch-scale
Adjust StyleBoxFlat antialiasing to account for 2D stretch scale
2024-12-19 19:59:48 -06:00
Thaddeus Crews
37d1e7fc89
Merge pull request #99268 from Meorge/add-volume-linear
Add `volume_linear` property and getter/setter methods for audio-related classes
2024-12-19 19:59:47 -06:00
Thaddeus Crews
d3e5b62ea2
Merge pull request #99230 from paddy-exe/instance_uniforms_compatability_renderer
Implement 2D instance uniforms
2024-12-19 19:59:37 -06:00
Markus Sauermann
0a875ab3bb Highlight hovered GraphEdit connection by widening the line
This change causes the connections to be additionally highlighted by
widening the line with a configurable factor.
2024-12-20 00:55:35 +01:00
Hakim
483c1348d0 Allow Timer nodes to ignore engine time scale 2024-12-19 18:40:24 +01:00
tetrapod00
861ae87f52 Document limitations of refraction from using screen texture 2024-12-18 15:53:39 -08:00
Hilderin
9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
Malcolm Anderson
2f5b97c7f9 Add volume_linear property and methods for audio-related classes
Remove default value from `volume_linear` property documentation

Remove `volume_linear` internal property from `AudioBusLayout`

Update doc/classes/AudioEffectAmplify.xml [no ci]

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Make documentation more concise [no ci]
2024-12-18 12:41:57 -08:00
kobewi
ba54a2805a Add more menus support to EditorContextMenuPlugin 2024-12-18 21:30:45 +01:00
Hendrik Brucker
a3525bc015 Add transparency support for LightmapGI
Co-authored-by: Guerro323 <kaltobattle@gmail.com>
2024-12-18 19:36:16 +01:00
Rémi Verschelde
46c8f8c5c5
Merge pull request #100093 from dalexeev/fix-collision-shape-2d-3d-debug-color
Fix `CollisionShape{2D,3D}.debug_color` inconsistencies
2024-12-18 18:23:54 +01:00
Pāvels Nadtočajevs
1e982a49c3 [Dictionary Property Editor] Use property editors instead of labels to display keys. 2024-12-18 08:14:38 +02:00
Yelloween
0153cb8c16 Fix incorrect MODIFIER_MASK value
Updated key modifier mask and documented API change

Changed the old value

Changed the old value inside the .expected file

Resolved Conflicts

Moved changes to the end
2024-12-18 02:59:29 +03:00
Rémi Verschelde
4e46e8beb7
Merge pull request #100464 from bruvzg/start_drag_port
Implement `window_start_drag` on Windows and Linux.
2024-12-18 00:39:56 +01:00
Rémi Verschelde
90555e6b4d
Merge pull request #100378 from clayjohn/particles-preprocess
Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes
2024-12-18 00:39:49 +01:00
Rémi Verschelde
cb5b1ecc25
Merge pull request #100200 from syntaxerror247/android-base-color
Android: Support for `base color` retrieval
2024-12-18 00:39:45 +01:00
Rémi Verschelde
d0a0f5834e
Merge pull request #97571 from j20001970/camerafeed-virtual
Add `activate_feed` and `deactivate_feed` virtual bind to CameraFeed
2024-12-18 00:39:38 +01:00
kobewi
ceefc0d38a Implement 2D instance shader parameters
Co-authored-by: kobewi <kobewi4e@gmail.com>
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com>
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
2024-12-17 23:59:16 +01:00
Rémi Verschelde
d4f4129dba
Merge pull request #98978 from tetrapod00/astar-nonsense
Docs: Update AStar3D examples
2024-12-17 22:59:25 +01:00
Rémi Verschelde
66b8101cef
Merge pull request #95460 from m4gr3d/enable_mouse_forward_back_buttons
Enable `BUTTON_FORWARD` and `BUTTON_BACK` mouse buttons on Android
2024-12-17 22:59:20 +01:00
Anish Mishra
70b24c3d16 Android: Support for base color retrieval 2024-12-18 02:14:48 +05:30
Hugo Locurcio
7a04d85ec3
Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh
If an invalid type is supplied (which can still be done from a script),
a warning is printed (along with a workaround for ViewportTexture).

This also adds support for "negative" resource hints such as
"Texture2D,-ViewportTexture" to exclude one or more subclasses
from a class hint.

Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-12-17 20:41:12 +01:00
Rémi Verschelde
4b22e97e2a
Merge pull request #100449 from tetrapod00/camera-feed-limitation
Document CameraFeed platform limitations
2024-12-17 16:19:33 +01:00
Rémi Verschelde
9830780b3d
Merge pull request #100416 from TokageItLab/anode-ex
Make `AnimationNodeExtension` extend `AnimationNode` instead of `AnimationRootNode`
2024-12-17 16:19:22 +01:00
Rémi Verschelde
4866c4a8c5
Merge pull request #99925 from Mickeon/documentation-no-static-typing-yet
Remove uses of static typing from the documentation
2024-12-17 16:19:08 +01:00
Rémi Verschelde
d60c0e21a6
Merge pull request #88313 from wagnerfs/run-time-anisotropic-filtering
Allow changing the anisotropic filter level at run-time per Viewport
2024-12-17 16:18:38 +01:00
Rémi Verschelde
bf0f1054db
Merge pull request #87542 from Mickeon/code-editor-idle-parse-delay-I-am-speed
Make the Script Editor's parser execute sooner on edit after error was found
2024-12-17 16:18:33 +01:00
Rémi Verschelde
d701bc0032
Merge pull request #83917 from Calinou/directionallight3d-add-specular
Implement per-light Specular property in DirectionalLight3D
2024-12-17 16:18:29 +01:00
Pāvels Nadtočajevs
293be04ec8 Implement window_start_drag on Windows and Linux. 2024-12-17 16:49:27 +02:00
Jason Kuo
3720de4b6f Add activate_feed and deactivate_feed virtual bind to CameraFeed 2024-12-17 10:48:10 +08:00
MJacred
40832387ce Fix Input::remove_joy_mapping
Erasing a joypad mapping can invalidate other attached joypads and the fallback mapping guid
2024-12-16 20:27:33 +01:00
Andrew_Shobbrook
e42def12d0
Implement per-light Specular property in DirectionalLight3D 2024-12-16 19:18:18 +01:00
Thaddeus Crews
b1fb0f5f2f
Merge pull request #100442 from GuilhermeGSousa/rename-animation-node-process
Rename animation node process function to avoid gdextension name collision
2024-12-16 12:10:02 -06:00
Thaddeus Crews
4d4c229a83
Merge pull request #100432 from markdibarry/add_get_line_range_rtl
Add `get_line_range()` to `RichTextLabel`
2024-12-16 12:09:54 -06:00
Thaddeus Crews
3bc4936498
Merge pull request #95928 from ryanbraganza/webmidi-support
Add Web MIDI support
2024-12-16 12:09:49 -06:00
Thaddeus Crews
9c9af038d5
Merge pull request #91060 from dalexeev/code-edit-add-doc-tooltips
Code Editor: Add documentation tooltips
2024-12-16 12:09:45 -06:00
Thaddeus Crews
7254761a46
Merge pull request #98861 from MJacred/get_joypad_infos_on_windows
Get joypad's vendor ID, product ID and name on Windows for XInput devices.
2024-12-16 12:09:44 -06:00
Thaddeus Crews
017f0eb33a
Merge pull request #97449 from Geometror/ge-connections-prop
[GraphEdit] Make connections a property
2024-12-16 12:09:43 -06:00
Thaddeus Crews
ee7de7d088
Merge pull request #99361 from havi05/itemlist-hover-on-selected
`ItemList` highlight selected items and draw `cursor`-stylebox last
2024-12-16 12:09:42 -06:00
Thaddeus Crews
a7fa0528bb
Merge pull request #100372 from Calinou/os-add-get-version-alias
Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
2024-12-16 12:09:40 -06:00
Thaddeus Crews
07af56bcc5
Merge pull request #94603 from aaronfranke/editor-insp-edit
Expose EditorInspector.edit to scripting
2024-12-16 12:09:37 -06:00
Rémi Verschelde
08508d2e01
Merge pull request #99700 from hpvb/scene_tree_editor_performance
Improve Scene Tree editor performance
2024-12-16 17:16:00 +01:00
Micky
02cc1879fd Make Script Editor's parser execute sooner if errors are known to exist 2024-12-16 17:02:07 +01:00
tetrapod00
0480c2cc7d Document CameraFeed platform limitations 2024-12-16 07:30:18 -08:00
Hendrik Brucker
e5be03a42b [GraphEdit] Make connections a property 2024-12-16 02:28:34 +01:00
Mark DiBarry
53a1be61a1 Add get_line_range to RTL 2024-12-15 19:09:42 -05:00
MJacred
01a2726c59 Get joypad's vendor ID, product ID, and name on Windows 2024-12-15 23:59:11 +01:00
Guilherme Sousa
469f5a8fbc Rename animation node process function 2024-12-15 18:27:21 +01:00
Ryan Braganza
a7505ee0bc Add Web MIDI support
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-15 21:24:15 +11:00
Danil Alexeev
80d11500b5
Code Editor: Add documentation tooltips 2024-12-15 10:51:33 +03:00
Aaron Franke
298daa8b6f
Expose EditorInspector.edit to scripting 2024-12-14 23:51:12 -08:00
Silc Lizard (Tokage) Renew
8d5a5f130a Make AnimationNodeExtention extend AnimationNode instead of RootNode 2024-12-15 06:36:47 +09:00
havi05
b05111799b ItemList - highlight selected items && draw cursor last 2024-12-14 19:03:43 +01:00
Hugo Locurcio
928982891e Add OS.get_version_alias() to return a human-readable Windows/macOS version number
Windows 11's major version number is actually 10.x.x, which can be confusing
if you don't know about this quirk. `OS.get_version_alias()` avoids this
by displaying the "branding" version number and the build number as a suffix,
so that individual updates can still be distinguished from each other.

On macOS, `OS.get_version_alias()` returns the version number prepended
with the version name (e.g. Sequoia for macOS 15).

On other operating systems, this returns the same value as `OS.get_version()`.
2024-12-14 18:47:50 +01:00
Rémi Verschelde
ffe0cdebab
Merge pull request #99355 from havi05/itemlist-toggle-mode
Add `Toggle` selection mode to `ItemList`
2024-12-14 18:25:25 +01:00
Rémi Verschelde
e271b2ca08
Merge pull request #99145 from dsnopek/xr-lock-camera
XR: Allow locking the camera to the `XROrigin3D` for benchmarking or automated testing
2024-12-14 18:25:21 +01:00
Rémi Verschelde
f7f2361fa8
Merge pull request #90057 from ryevdokimov/fix-inherit2
Add ability to create a new inherited scene from code
2024-12-14 18:25:01 +01:00
Thaddeus Crews
244f7931d2
Merge pull request #100369 from Calinou/doc-gpuparticles-emit-subparticle
Document `GPUParticles.emit_particle()` only working on Forward+ and Mobile
2024-12-13 16:19:31 -06:00
Thaddeus Crews
3c6896fd2a
Merge pull request #99181 from GuilhermeGSousa/animation-node-extension
Add animation node extension
2024-12-13 16:19:30 -06:00
Thaddeus Crews
d7e4b9e31b
Merge pull request #95660 from Meorge/remove-texturebutton-needs-normal-texture
Remove incorrect statement about TextureButton normal texture
2024-12-13 16:19:27 -06:00
clayjohn
f2a993aa1d Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes 2024-12-13 11:36:36 -08:00
Hugo Locurcio
49ca40cdbf
Document GPUParticles.emit_particle() only working on Forward+ and Mobile 2024-12-13 16:41:41 +01:00
Malcolm Anderson
46c9089ddc Remove incorrect statement that TextureButton needs a texture for normal state in docs
Update doc/classes/TextureButton.xml

Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>

Improve explanation of texture fallback behaviors for TextureButton

Remove a bit of incorrect information from TextureButton documentation

Most other state textures are not overlaid (only `texture_focused`)

Apply suggestions from code review
2024-12-12 15:34:38 -08:00
Thaddeus Crews
7c015a768f
Merge pull request #99958 from lander-vr/reflection-probe-blend-property
Add Blend Distance property to ReflectionProbe
2024-12-12 16:13:32 -06:00
Thaddeus Crews
31bc6afcad
Merge pull request #96802 from dsnopek/expose-resource-importer-get-format-version
Expose `ResourceImporter::get_format_version` via `EditorImportPlugin::_get_format_version()`
2024-12-12 16:13:26 -06:00
Thaddeus Crews
c5f0d571b5
Merge pull request #97985 from RobProductions/add-tablet-nav-preset
Add `Tablet/Trackpad` 3D navigation preset
2024-12-12 16:13:24 -06:00
HP van Braam
6f7525c396 Improve Scene Tree editor performance
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.

Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.

In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.

We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.

SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.

There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.

This fixes #83460

I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Robin Ward
b3e970dde8 Adds get_selection_line_offset to RichTextLabel
This new method allow you to get the line offset of the current
selection (returns -1 if nothing is selected.)

This is useful if you want to pop up a control or menu above the
currently selected text. Previously there was no accurate way to get
this information.

The logic is moved from the implementation of `scroll_to_selection`
verbatim, and that method has been adjusted to avoid repetition.
2024-12-12 16:02:21 -05:00
havi05
b29e93bb51 ItemList - Add Toggle mode 2024-12-12 17:33:04 +01:00
Robert Yevdokimov
7f09804154 Add inherit parameter to open_scene_from_path 2024-12-12 10:24:58 -05:00
David Snopek
af47df1005 Expose ResourceImporter::get_format_version via EditorImportPlugin::_get_format_version() 2024-12-12 08:15:28 -06:00
Rémi Verschelde
4cf1b0d94c
Merge pull request #100135 from Lazy-Rabbit-2001/expose-create-dialog-new
Add `popup_create_dialog()` for `EditorInterface` to create custom create dialog
2024-12-12 14:10:13 +01:00
Rémi Verschelde
d1b683d413
Merge pull request #97140 from BastiaanOlij/xr_action_map_enhancements
OpenXR: Add support for binding modifiers
2024-12-12 14:09:41 +01:00
Rémi Verschelde
0e5c337453
Merge pull request #85653 from BlueCube3310/lightmap-gi-shadowmask
Implement LightmapGI shadowmasks
2024-12-12 14:09:30 +01:00
Lazy-Rabbit-2001
9c34ad1791 Add popup_create_dialog() for EditorInterface to create custom create dialog 2024-12-12 18:13:31 +08:00
BlueCube3310
189c8eb671 Implement shadowmasks for LightmapGI
Co-authored-by: dearthdev <nathandearthdev@gmail.com>
2024-12-12 11:00:28 +01:00
Thaddeus Crews
dee79d55fe
Merge pull request #100204 from KoBeWi/nananananan
Clarify `limit_length()` for infinite vectors
2024-12-11 17:36:03 -06:00
Thaddeus Crews
e9d343805e
Merge pull request #94636 from Calinou/doc-process-delta-low-fps
Document `_process()` and `_physics_process()` delta behavior at low FPS
2024-12-11 17:35:42 -06:00
Thaddeus Crews
153ef23483
Merge pull request #100129 from smix8/pathunspaghettification
Despaghettify NavigationServer path queries
2024-12-11 17:35:38 -06:00
Thaddeus Crews
db2088b0cd
Merge pull request #100126 from dsnopek/gdextension-missing-gdvirtual-bind
Add missing `GDVIRTUAL_BIND()` for `AudioStream::_has_loop()` and `::_get_bar_beats()`
2024-12-11 17:35:33 -06:00
Thaddeus Crews
4146bcc0dc
Merge pull request #99089 from Mickeon/documentation-truth-csharp-rabbit-hoole
Fix C# boolean "Prints" comments in documentation
2024-12-11 17:35:30 -06:00
Thaddeus Crews
c5e6f6276b
Merge pull request #100110 from DarioSamo/rd-get-data-async
Implement `RD::buffer_get_data_async()` and `RD::texture_get_data_async()`
2024-12-11 17:35:29 -06:00
Thaddeus Crews
f20ab9b2cf
Merge pull request #99338 from KoBeWi/consider_it_fixed
Clarify Button's text clipping
2024-12-11 17:35:27 -06:00
Thaddeus Crews
61f2001aba
Merge pull request #99081 from Mickeon/documentation-floats-now-print-the-trailing-zero
Update documentation's "Prints" comments after #47502
2024-12-11 17:35:26 -06:00
Bastiaan Olij
0a61ebdcea OpenXR: Add support for binding modifiers 2024-12-12 09:46:19 +11:00
smix8
476479419b Despaghettify NavigationServer path queries
Despaghettify NavigationServer path queries.
2024-12-11 22:29:48 +01:00
Dario
054891de04 Implement buffer_get_data_async and texture_get_data_async. 2024-12-11 11:55:23 -08:00
Rémi Verschelde
44dfa7e710
Merge pull request #99895 from mihe/jolt-physics
Add Jolt Physics as an alternative 3D physics engine
2024-12-11 14:53:57 +01:00
Mikael Hermansson
d470c2ac6a Add Jolt Physics as an alternative 3D physics engine
Co-authored-by: Jorrit Rouwe <jrouwe@gmail.com>
2024-12-11 13:57:25 +01:00
Thaddeus Crews
69c67ede17
Merge pull request #88950 from bruvzg/excap
[macOS, Windows] Add support for excluding windows from a screenshot.
2024-12-10 14:16:10 -06:00
Thaddeus Crews
66dea152b5
Merge pull request #99257 from darksylinc/matias-TheForge-pr04-excluded-ubo+render_opt
Improvements from TheForge
2024-12-10 14:15:55 -06:00
Thaddeus Crews
8f16f864a6
Merge pull request #99765 from dalexeev/core-fix-json-from-to-native
Core: Fix `JSON.{from,to}_native()` issues
2024-12-10 14:15:53 -06:00
Thaddeus Crews
ef0d1e0eb9
Merge pull request #100001 from clayjohn/rd-uniform-set-cache
Increase the size of the uniform set cache to 4096 to avoid cache thrashing from projects with high numbers of unique textures
2024-12-10 14:15:48 -06:00
bruvzg
9fece033ab [macOS, Windows] Add support for excluding windows from a screenshot. 2024-12-10 11:00:13 +02:00
Thaddeus Crews
e9679a28ff
Merge pull request #91604 from nongvantinh/implement-7946
Save color palette as resources to reuse later
2024-12-09 14:33:29 -06:00
Thaddeus Crews
94711acfe1
Merge pull request #87375 from limbonaut/instantiate_property_editor
Export `EditorInspector::instantiate_property_editor` for use by plugins
2024-12-09 14:33:28 -06:00
Thaddeus Crews
473c28b1ad
Merge pull request #98118 from bruvzg/escape_colors
Add support for 24-bit color escape sequences, simplify `print_rich` BBCode parsing.
2024-12-09 14:33:25 -06:00
kobewi
3aebcaf4d3 Clarify limit_length() for infinite vectors 2024-12-09 15:53:11 +01:00
Matias N. Goldberg
c77cbf096b Improvements from TheForge (see description)
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.

This is the most "risky" PR so far because the previous ones have been
miscellaneous stuff aimed at either [improve
debugging](https://github.com/godotengine/godot/pull/90993) (e.g. device
lost), [improve Android
experience](https://github.com/godotengine/godot/pull/96439) (add Swappy
for better Frame Pacing + Pre-Transformed Swapchains for slightly better
performance), or harmless [ASTC
improvements](https://github.com/godotengine/godot/pull/96045) (better
performance by simply toggling a feature when available).

However this PR contains larger modifications aimed at improving
performance or reducing memory fragmentation. With greater
modifications, come greater risks of bugs or breakage.

Changes introduced by this PR:

TBDR GPUs (e.g. most of Android + iOS + M1 Apple) support rendering to
Render Targets that are not backed by actual GPU memory (everything
stays in cache). This works as long as load action isn't `LOAD`, and
store action must be `DONT_CARE`. This saves VRAM (it also makes
painfully obvious when a mistake introduces a performance regression).
Of particular usefulness is when doing MSAA and keeping the raw MSAA
content is not necessary.

Some GPUs get faster when the sampler settings are hard-coded into the
GLSL shaders (instead of being dynamically bound at runtime). This
required changes to the GLSL shaders, PSO creation routines, Descriptor
creation routines, and Descriptor binding routines.

 - `bool immutable_samplers_enabled = true`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.

Immutable samplers requires that the samplers stay... immutable, hence
this boolean is useful if the promise gets broken. We might want to turn
this into a `GLOBAL_DEF` setting.

Instead of creating dozen/hundreds/thousands of `VkDescriptorSet` every
frame that need to be freed individually when they are no longer needed,
they all get freed at once by resetting the whole pool. Once the whole
pool is no longer in use by the GPU, it gets reset and its memory
recycled. Descriptor sets that are created to be kept around for longer
or forever (i.e. not created and freed within the same frame) **must
not** use linear pools. There may be more than one pool per frame. How
many pools per frame Godot ends up with depends on its capacity, and
that is controlled by
`rendering/rendering_device/vulkan/max_descriptors_per_pool`.

- **Possible improvement for later:** It should be possible for Godot
to adapt to how many descriptors per pool are needed on a per-key basis
(i.e. grow their capacity like `std::vector` does) after rendering a few
frames; which would be better than the current solution of having a
single global value for all pools (`max_descriptors_per_pool`) that the
user needs to tweak.

 - `bool linear_descriptor_pools_enabled = true`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.
Setting it to false is required when workarounding driver bugs (e.g.
Adreno 730).

A ridiculous optimization. Ridiculous because the original code
should've done this in the first place. Previously Godot was doing the
following:

  1. Create a command buffer **pool**. One per frame.
  2. Create multiple command buffers from the pool in point 1.
3. Call `vkBeginCommandBuffer` on the cmd buffer in point 2. This
resets the cmd buffer because Godot requests the
`VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT` flag.
  4. Add commands to the cmd buffers from point 2.
  5. Submit those commands.
6. On frame N + 2, recycle the buffer pool and cmd buffers from pt 1 &
2, and repeat from step 3.

The problem here is that step 3 resets each command buffer individually.
Initially Godot used to have 1 cmd buffer per pool, thus the impact is
very low.

But not anymore (specially with Adreno workarounds to force splitting
compute dispatches into a new cmd buffer, more on this later). However
Godot keeps around a very low amount of command buffers per frame.

The recommended method is to reset the whole pool, to reset all cmd
buffers at once. Hence the new steps would be:

  1. Create a command buffer **pool**. One per frame.
  2. Create multiple command buffers from the pool in point 1.
3. Call `vkBeginCommandBuffer` on the cmd buffer in point 2, which is
already reset/empty (see step 6).
  4. Add commands to the cmd buffers from point 2.
  5. Submit those commands.
6. On frame N + 2, recycle the buffer pool and cmd buffers from pt 1 &
2, call `vkResetCommandPool` and repeat from step 3.

**Possible issues:** @dariosamo added `transfer_worker` which creates a
command buffer pool:

```cpp
transfer_worker->command_pool =
driver->command_pool_create(transfer_queue_family,
RDD::COMMAND_BUFFER_TYPE_PRIMARY);
```

As expected, validation was complaining that command buffers were being
reused without being reset (that's good, we now know Validation Layers
will warn us of wrong use).
I fixed it by adding:

```cpp
void RenderingDevice::_wait_for_transfer_worker(TransferWorker
*p_transfer_worker) {
	driver->fence_wait(p_transfer_worker->command_fence);
	driver->command_pool_reset(p_transfer_worker->command_pool); //
! New line !
```

**Secondary cmd buffers are subject to the same issue but I didn't alter
them. I talked this with Dario and he is aware of this.**
Secondary cmd buffers are currently disabled due to other issues (it's
disabled on master).

 - `bool RenderingDeviceCommons::command_pool_reset_enabled`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.

There's no other reason for this boolean. Possibly once it becomes well
tested, the boolean could be removed entirely.

Adds `command_bind_render_uniform_sets` and
`add_draw_list_bind_uniform_sets` (+ compute variants).

It performs the same as `add_draw_list_bind_uniform_set` (notice
singular vs plural), but on multiple consecutive uniform sets, thus
reducing graph and draw call overhead.

 - `bool descriptor_set_batching = true;`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.

There's no other reason for this boolean. Possibly once it becomes well
tested, the boolean could be removed entirely.

Godot currently does the following:

 1. Fill the entire cmd buffer with commands.
 2. `submit()`
    - Wait with a semaphore for the swapchain.
- Trigger a semaphore to indicate when we're done (so the swapchain
can submit).
 3. `present()`

The optimization opportunity here is that 95% of Godot's rendering is
done offscreen.
Then a fullscreen pass copies everything to the swapchain. Godot doesn't
practically render directly to the swapchain.

The problem with this is that the GPU has to wait for the swapchain to
be released **to start anything**, when we could start *much earlier*.
Only the final blit pass must wait for the swapchain.

TheForge changed it to the following (more complicated, I'm simplifying
the idea):

 1. Fill the entire cmd buffer with commands.
 2. In `screen_prepare_for_drawing` do `submit()`
    - There are no semaphore waits for the swapchain.
    - Trigger a semaphore to indicate when we're done.
3. Fill a new cmd buffer that only does the final blit to the
swapchain.
 4. `submit()`
    - Wait with a semaphore for the submit() from step 2.
- Wait with a semaphore for the swapchain (so the swapchain can
submit).
- Trigger a semaphore to indicate when we're done (so the swapchain
can submit).
 5. `present()`

Dario discovered this problem independently while working on a different
platform.

**However TheForge's solution had to be rewritten from scratch:** The
complexity to achieve the solution was high and quite difficult to
maintain with the way Godot works now (after Übershaders PR).
But on the other hand, re-implementing the solution became much simpler
because Dario already had to do something similar: To fix an Adreno 730
driver bug, he had to implement splitting command buffers. **This is
exactly what we need!**. Thus it was re-written using this existing
functionality for a new purpose.

To achieve this, I added a new argument, `bool p_split_cmd_buffer`, to
`RenderingDeviceGraph::add_draw_list_begin`, which is only set to true
by `RenderingDevice::draw_list_begin_for_screen`.

The graph will split the draw list into its own command buffer.

 - `bool split_swapchain_into_its_own_cmd_buffer = true;`

Setting it to false enforces the old behavior. This might be necessary
for consoles which follow an alternate solution to the same problem.
If not, then we should consider removing it.

PR #90993 added `shader_destroy_modules()` but it was not actually in
use.

This PR adds several places where `shader_destroy_modules()` is called
after initialization to free up memory of SPIR-V structures that are no
longer needed.
2024-12-09 11:49:28 -03:00
David Snopek
3866a7f818 Add missing GDVIRTUAL_BIND() for AudioStream::_has_loop() and ::_get_bar_beats() 2024-12-08 06:38:47 -06:00
Serhii Snitsaruk
803fa8f2e8
Export EditorInspector::instantiate_property_editor for use by plugins
And export useful properties and methods in the `EditorProperty` class.
2024-12-07 14:07:04 +01:00
Nông Văn Tình
e6a49ab6ac Save color palette as resources to reuse later
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
2024-12-06 20:16:06 +07:00
Danil Alexeev
8bf2afd341
Fix CollisionShape{2D,3D}.debug_color inconsistencies 2024-12-06 15:12:20 +03:00
landervr
05010180ce ReflectionProbe add Blend Distance 2024-12-05 23:29:47 +01:00
David
174e659a48
Add 3D translation sensitivity to Editor Settings 2024-12-05 22:50:52 +01:00
Thaddeus Crews
637239e979
Merge pull request #94193 from BastiaanOlij/buildin_includes
Add ability to include built-in include files
2024-12-05 14:12:23 -06:00
Thaddeus Crews
a27d744506
Merge pull request #100002 from wyvrtn/master
Fix a very slight grammatical issue
2024-12-05 14:11:48 -06:00
clayjohn
2535423719 Increase the size of the uniform set cache to 4096 to avoid cache thrashing from projects with high numbers of unique textures. 2024-12-05 12:01:05 -08:00
Michael Alexsander
eb5839dcbb
Add "At Start" mode for sub-emitter particles 2024-12-05 11:48:34 -03:00
Wyv
8a5eef95aa Fix a very slight grammatical issue
Changed the incorrect verb "have" into its correct form, "has."
Fixes #99972

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-05 14:14:32 +00:00
Guilherme Sousa
d7462d223c Add animation node extension 2024-12-05 04:27:16 -08:00
Matt Enad
bd47e4f1ba Add Tablet/Trackpad nav preset
This commit adds a new navigation preset called `Tablet/Trackpad` which enables "Emulate 3 Button Mouse" to more quickly set up good default keys for tablet users.

It also adds support for mouse buttons 4 and 5 in the navigation settings which will be helpful if users want to customize 3D navigation further for specific pens/mice.
2024-12-04 13:02:11 -05:00
Hugo Locurcio
b43c47d6dd Adjust StyleBoxFlat antialiasing to account for 2D stretch scale
This prevents the antialiasing feather from becoming too wide
at viewport sizes higher than the default, which can lead to blurry visuals.

This is adjusted to account for the 2D scale factor returned on the root
Window, so it takes both the `canvas_items` scaling and
`content_scale_factor` into account.
2024-12-04 01:07:25 +01:00
Thaddeus Crews
47bc374edf
Merge pull request #99325 from Calinou/doc-zipreader-extract-all
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Add a code sample that extracts all files to ZIPReader documentation
2024-12-03 14:41:08 -06:00
Thaddeus Crews
44cda51110
Merge pull request #98812 from bruvzg/macos_bundles_as_file
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
Thaddeus Crews
ec333a8c32
Merge pull request #99564 from JekSun97/get_connetion_count_method_graphedit
Add `get_connection_count` function to `GraphEdit`
2024-12-03 14:41:02 -06:00
Thaddeus Crews
156bc92282
Merge pull request #98397 from adamscott/add-tmp-support
Add temp utilities (alias `OS::get_temp_dir()`, `FileAccess::create_temp()`, and `DirAccess::create_temp()`)
2024-12-03 14:40:59 -06:00
Thaddeus Crews
26e7b6bdd6
Merge pull request #99164 from bruvzg/int_files
[Export] Write text server data from memory, instead of using temporary file.
2024-12-03 14:40:58 -06:00
Thaddeus Crews
40a65e739d
Merge pull request #99371 from bruvzg/beep
Implement `DisplayServer.beep`.
2024-12-03 14:40:50 -06:00
Thaddeus Crews
42eb4fbc07
Merge pull request #93831 from what-is-a-git/wav-runtime
Add runtime file loading to `AudioStreamWAV`
2024-12-03 14:40:42 -06:00
Pāvels Nadtočajevs
84650f2018 Implement DisplayServer.beep. 2024-12-03 12:43:26 +02:00
bruvzg
d5e599f77e [macOS] Handle bundles as files in the embedded file dialogs. 2024-12-03 12:41:52 +02:00
what-is-a-git
707f1038c3 Add runtime file loading to AudioStreamWAV 2024-12-02 20:03:53 -05:00
Hugo Locurcio
4db9c112ff
Add a code sample that extracts all files to ZIPReader documentation
Tested with various ZIP files found on the web, with a single root
folder or multiple files at its root.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-12-03 00:37:50 +01:00
Michael Alexsander
f7f6432af6
Make PopupMenu/Panel shadows properly visible again 2024-12-02 14:20:58 -03:00
Adam Scott
1b3e483899
Add file and dir temporary utilities
Co-authored by @Alex2782 for the Android bindings.
Many thanks to the reviewers also.

Co-authored-by: Alex <alex.hart.278@gmail.com>
2024-12-02 12:08:14 -05:00
Pāvels Nadtočajevs
c5ca56f40b [Export] Write text server data from memory, instead of using temporary file. 2024-12-02 18:22:55 +02:00
Rémi Verschelde
0f20e67d8d
Merge pull request #99900 from BlueCube3310/betsy-doc-update
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
🔗 GHA / 🪲 Godot CPP (push) Has been cancelled
Betsy: Update docs to reflect BC3 and BC5
2024-12-02 17:20:46 +01:00
Rémi Verschelde
0c4ad02e6d
Merge pull request #99668 from bruvzg/rtl_rn_notes
[RTL] Parse "\r\n" as a single paragraph break, add some documentation notes.
2024-12-02 17:20:35 +01:00
Rémi Verschelde
60e1490df1
Merge pull request #99644 from bruvzg/fd_all_name
Change file dialog all files filter name from `All Files (*)` to `All Files (*.*)`.
2024-12-02 17:20:23 +01:00
Rémi Verschelde
bb09a6f061
Merge pull request #99642 from bruvzg/mac_win_tile
[macOS] Use native window drag for the custom editor title bars.
2024-12-02 17:20:19 +01:00
Rémi Verschelde
fa264115ce
Merge pull request #98664 from bruvzg/ts_reset_subpixel_shift
[TextServer] Reset subpixel shift on blank glyphs.
2024-12-02 17:20:07 +01:00
Pāvels Nadtočajevs
2210dd1126 [RTL] Parse "\r\n" as a single paragraph break, add some documentation notes. 2024-12-02 17:50:04 +02:00
Pāvels Nadtočajevs
b248d66265 [macOS] Use native window drag for the custom editor title bars. 2024-12-02 17:40:27 +02:00
BlueCube3310
f5648ac9c9 Betsy: Update docs to reflect BC3 and BC5 2024-12-02 16:23:13 +01:00
Micky
109fcbb43a Remove uses of static typing from the documentation 2024-12-02 15:56:46 +01:00
Rémi Verschelde
d741a646a5
Merge pull request #99924 from Mickeon/documentation-no-implicit_static-typing-yet
Remove uses of implicit static typing from the documentation
2024-12-02 15:52:25 +01:00
Rémi Verschelde
ab54ba92a4
Merge pull request #99752 from Faless/mp/fix_offlfine_mp_docs
[MP] Move OfflineMultiplayerPeer docs to the module
2024-12-02 15:51:34 +01:00
Rémi Verschelde
4a887ceffd
Merge pull request #99736 from Bossdell113/gdellProject
Add C# examples to PropertyTweener docs
2024-12-02 15:51:29 +01:00
Rémi Verschelde
200bb202ba
Merge pull request #99481 from bruvzg/meta_tooltip
[RTL] Add tooltip support to meta/url tag.
2024-12-02 15:51:12 +01:00
Rémi Verschelde
cebf2130ca
Merge pull request #98744 from tetrapod00/rendering-method-driver-backend
Docs: Standardize names and terms for renderers
2024-12-02 15:50:40 +01:00
Rémi Verschelde
ed93ab2f53
Merge pull request #98657 from ydeltastar/stay-sane-using-evaluator
Add editor setting to stop the bottom panel from switching to the Stack Trace
2024-12-02 15:50:31 +01:00
Micky
7539a3a7cf Remove uses of implicit static typing from the documentation 2024-12-02 15:40:42 +01:00
Florent Guiocheau
3cc43abab0 Document inverse aspect ratio convention of Projection::get_fovy() 2024-12-02 15:10:28 +01:00
Bossdell113
34c7528d3d
Add C# examples to PropertyTweener docs
Co-Authored-By: tetrapod <145553014+tetrapod00@users.noreply.github.com>
2024-12-02 14:32:17 +01:00
Pāvels Nadtočajevs
dc71fbacc5 [RTL] Add tooltip support to meta/url tag. 2024-12-02 15:26:14 +02:00
JekSun97
95ca0aa7ad Add get_connetion_count function to GraphEdit 2024-12-02 19:15:37 +06:00
A Thousand Ships
77549dd1f3
[Tree] Allow disabling auto generated tooltip for TreeItem 2024-12-01 14:39:51 +01:00
Markus Sauermann
8e00035f08 Introduce Viewport functions for keeping the mouse over state consistent 2024-12-01 11:22:11 +01:00
Micky
d90f045d24 Update documentation's "Prints" comments after #47502 2024-11-30 16:14:11 +01:00
tetrapod00
141737d168 Docs: Standardize names and terms for renderers 2024-11-29 19:53:52 -08:00
Wagner
6995b6a03e Allow changing the anisotropic filter level at run-time per Viewport 2024-11-30 00:50:45 -03:00
Rémi Verschelde
31edb7ea3b
Merge pull request #99841 from Calinou/doc-basematerial3d-billboard-mode-remove-outdated-note
Remove outdated note about `BaseMaterial3D.billboard_mode` shadow issue
2024-11-29 22:51:41 +01:00
Rémi Verschelde
1745fe15a4
Merge pull request #99837 from thiagola92/docs_window_files_dropped
Docs: update example from Window signal files_dropped
2024-11-29 22:51:38 +01:00
Rémi Verschelde
5125b66871
Merge pull request #99827 from syntaxerror247/patch-1
Update `use_system_accent_color` note in EditorSettings
2024-11-29 22:51:31 +01:00
Rémi Verschelde
05e93a6010
Merge pull request #99691 from Sauermann/fix-consume-mouse-over
Rename `SubViewportContainer` option `consume_drag_and_drop` to `mouse_target`
2024-11-29 22:51:10 +01:00
Rémi Verschelde
e4ee8a3b32
Merge pull request #99611 from bruno-brant/patch-1
Fix missing sign in ease function curve description
2024-11-29 22:51:06 +01:00
Rémi Verschelde
74db6a1acc
Merge pull request #99584 from arkology/radial-center-offset-bounds
Document `radial_center_offset` bounds for `TextureProgressBar`
2024-11-29 22:51:02 +01:00
Rémi Verschelde
f37fd1c3f2
Merge pull request #99238 from Calinou/doc-node2d-no-z-index
Update Z Index property location in Node2D class reference
2024-11-29 22:47:11 +01:00
Rémi Verschelde
778723d935
Merge pull request #99204 from berarma/patch-1
Clarify documentation for TileSetAtlasSource `texture_region_size`
2024-11-29 22:47:06 +01:00
Rémi Verschelde
5e87bdae74
Merge pull request #98605 from bruvzg/lbl_mult_para
[Label] Handle text as multiple independent paragraphs.
2024-11-29 22:46:42 +01:00
Rémi Verschelde
bfa38e463c
Merge pull request #98022 from vPumpking/editor_file_dialog_filter_master
Unify filter feature and improve space management for EditorFileDialog
2024-11-29 22:46:18 +01:00
Rémi Verschelde
5d74c5370b
Merge pull request #97963 from bruvzg/rtl_valign
[RTL] Add support for vertical alignment.
2024-11-29 22:46:14 +01:00
Rémi Verschelde
8d3fc48abf
Merge pull request #97521 from pafuent/enhance_scroll_container_focus
Add a focus border on `ScrollContainer`
2024-11-29 22:46:09 +01:00
Rémi Verschelde
a0a459ebd8
Merge pull request #78289 from bruvzg/fo_write_errs
[FileAccess] Return error codes from `store_*` methods.
2024-11-29 22:45:27 +01:00
Rémi Verschelde
5d462ee4c5
Merge pull request #67857 from anvilfolk/extended-curve
Extend Curve to allow for domains outside of [0, 1].
2024-11-29 22:45:19 +01:00
bruvzg
a4b17e7852 [FileAccess] Return error codes from store_* methods. 2024-11-29 23:22:31 +02:00
Rémi Verschelde
56a7dba10b
Merge pull request #99799 from akien-mga/fix-typos
Fix various typos and code style issues
2024-11-29 22:02:53 +01:00
Rémi Verschelde
0b2b8f0a53
Merge pull request #99754 from kthang55/fix_follow_viewport
Update CanvasLayer 'Follow Viewport' documentation to match its behavior
2024-11-29 22:02:37 +01:00
Rémi Verschelde
ba488490fc
Merge pull request #99650 from Mickeon/documentation-transform-basis-quaternion-consistency
Make Transform2D/3D, Basis, and Quaternion docs more consistent
2024-11-29 22:02:18 +01:00
Bernat
279dce3d2d
Clarify documentation for TileSetAtlasSource texture_region_size 2024-11-29 22:00:57 +01:00
Hugo Locurcio
e499563faf
Remove outdated note about BaseMaterial3D.billboard_mode shadow issue
The linked pull request was merged in Godot 4.3.
2024-11-29 19:57:26 +01:00
Micky
82bd7db275 Make Transform2D/3D, Basis, and Quaternion docs more consistent 2024-11-29 16:10:11 +01:00
thiagola92
e30da67ce9 Docs: update example from Window signal files_dropped 2024-11-29 11:38:04 -03:00
Anish Mishra
72be8d1b69
Update "use_system_accent_color" note in EditorSettings. 2024-11-29 15:27:17 +05:30
Danil Alexeev
bd1a35ce9e
Core: Fix JSON.{from,to}_native() issues 2024-11-29 12:43:06 +03:00
Rémi Verschelde
88e81ee730
Fix various typos and code style issues 2024-11-28 17:40:42 +01:00
Kent Thang
5d111e852e
Update CanvasLayer 'Follow Viewport' documentation to match its behavior 2024-11-28 16:26:01 +01:00
Thaddeus Crews
ed01f5f2aa
Merge pull request #98670 from DarioSamo/rd-transient-targets
Automatically resolve initial and final action for draw lists.
2024-11-27 10:47:29 -06:00
Thaddeus Crews
8f603c901e
Merge pull request #99679 from timothyqiu/custom-tooltip-doc
Improve documentation for tooltip-related methods
2024-11-27 10:47:21 -06:00
Thaddeus Crews
539be43dad
Merge pull request #99677 from syntaxerror247/patch-1
Update `screen_get_scale` documentation.
2024-11-27 10:47:16 -06:00
Thaddeus Crews
9c300a6c05
Merge pull request #80965 from Calinou/viewport-add-get-stretch-scale-factor
Add a Viewport method to get automatically computed 2D stretch transform
2024-11-27 10:47:12 -06:00
Thaddeus Crews
c5cd7c66ee
Merge pull request #85443 from smix8/gridmap_castshadows
Add ShadowCastingSetting to MeshLibrary / GridMap items
2024-11-27 10:47:10 -06:00
Thaddeus Crews
06f4bcdefb
Merge pull request #97346 from DevPoodle/vertex-attribute-docs
Add descriptions to RDVertexAttribute's properties
2024-11-27 10:47:09 -06:00
Thaddeus Crews
2a147f3ce1
Merge pull request #99091 from Mickeon/documentation-object-boolean-context-4.4
Add documentation note on Object's boolean context
2024-11-27 10:46:54 -06:00
Thaddeus Crews
ed443ccd25
Merge pull request #99079 from FlooferLand/patch-1
Add note about LightmapGI only baking nodes under its parent
2024-11-27 10:46:52 -06:00
ze2j
97e0b43faa Add ArrayMesh::surface_remove 2024-11-27 13:46:15 +01:00
Fabio Alessandrelli
f511ef26f1 [MP] Move OfflineMultiplayerPeer docs to the module
Was missing from the module config, causing the XML to be added to the
main doc folder
2024-11-27 13:18:33 +01:00
smix8
612981c1ea Add ShadowCastingSetting to MeshLibrary / GridMap items
Adds ShadowCastingSetting to MeshLibrary / GridMap items.
2024-11-27 01:06:21 +01:00
Thaddeus Crews
19dd3eda19
Merge pull request #99364 from Mickeon/documentation-global-scope-keys-plus-minus
Rewrite some `@GlobalScope` keys in documentation to use `[code]` tags
2024-11-26 13:04:49 -06:00
Thaddeus Crews
04786f0ee8
Merge pull request #97824 from TokageItLab/retarget-modifier
Add RetargetModifier3D for realtime retarget to keep original rest
2024-11-26 13:04:47 -06:00
Thaddeus Crews
dc0fcf9753
Merge pull request #99612 from TokageItLab/lkat-bn
Make LookAtModifier3D adopt the bone name method
2024-11-26 13:04:44 -06:00
Micky
e653f19032 Rewrite some @GlobalScope keys in documentation to use [code] tags 2024-11-26 18:42:36 +01:00
Jamie Greunbaum
0fc082e1ee
Add CollisionShape3D custom debug colours
This allows changing the display colour of a CollisionShape3D node on a per-shape basis.
It also adds the ability to display a solid coloured preview of a CollisionShape3D.

Closes https://github.com/godotengine/godot-proposals/issues/906
2024-11-26 16:28:13 +01:00
Haoyu Qiu
fb5a4bac6e Improve documentation for tooltip-related methods 2024-11-26 10:04:51 +08:00
Markus Sauermann
003647972f Rename consume_drag_and_drop to mouse_target
The functionality of the parameter is not limited to drag-and-drop
operations, but it has also other uses.
So its name should not be tied to drag-and-drop.

The API was created in the not yet released Godot 4.4-dev6, so this
change should not be considered compatibility breaking.
2024-11-25 21:36:29 +01:00
Thaddeus Crews
0d88737a9f Merge pull request #99542 from bruvzg/stdin_str
Convert line breaks to `\n` and strip line break from the end of string returned by `OS::read_string_from_stdin`/`OS::get_stdin_string`.
2024-11-25 13:22:30 -06:00
Thaddeus Crews
ec01ad65fd Merge pull request #99620 from tetrapod00/doc-control-children
Docs: Update Control class to properly reflect behavior of Themes on Control Children
2024-11-25 13:22:20 -06:00
Dario
6d5ac8f7ef Resolve load and store ops automatically for render passes for discardable textures. 2024-11-25 11:27:48 -03:00
Anish Mishra
3413c6ce9d
Update screen_get_scale documentation. 2024-11-25 19:07:05 +05:30
Silc Lizard (Tokage) Renew
b76cdf525b Make LookAtModifier3D adopt to bone name method 2024-11-25 15:47:10 +09:00
tetrapod00
13b565c64d Docs: Update Control class to properly reflect behavior of Themes on Control Children
Document fact that themes only propagate to control children
(not Node2D, etc). Wording is copied from Theme docs.
Also clarifies line somewhat.

Co-Authored-By: Allyson Chan <allysonn.chann@gmail.com>
2024-11-24 10:30:02 -08:00
Pāvels Nadtočajevs
1d43fa9a64 Change file dialog all files filter name from All Files (*) to All Files(*.*). 2024-11-24 20:09:05 +02:00
Pablo Andres Fuente
86ea0127a3 Add a focus border on ScrollContainer
Also added new unit tests for `Control`.

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2024-11-23 23:54:38 -03:00
Bruno Brant
84f4178850
Fix missing sign in ease function curve description
The range was broken because -1.0 was informed as being 1.0.
2024-11-23 23:02:14 -03:00
Lane Barnes
2e8c941812
Fix example code snippet in AudioStreamGenerator.xml
I was playing around with C# code snippet but I kept hearing a clipping sound. I think this is because the phase variable is being set to 0 in the wrong spot.

The phase at the end of the FillBuffer() method is some non zero number. When FillBuffer is called again, the phase is suddenly changed back to zero. This causes the end of one sin wave segment to be out of sync with the next sin wave segment. The sin wave needs to be continuous between FillBuffer calls so no clipping sound occurs.

Moving the phase variable out of FillBuffer and putting it in a scope above makes it retain its value between FillBuffer calls, making the sin wave continuous, and the clipping sound is gone.

For further proof, the demo project "Audio Generator Demo" has the phase variable be one scope above FillBuffer and it does not set phase=0 inside of FillBuffer. If anything, I'm fixing this documentation to match the working demo
2024-11-23 15:36:03 -07:00
Bastiaan Olij
1bffefb346 Adding ability to include build-in include files (precursor to custom shader templates) 2024-11-24 08:47:45 +11:00
arkology
6c38824d03 Document radial_center_offset bounds 2024-11-23 20:40:00 +03:00
Pāvels Nadtočajevs
e9b57fce82 Convert line breaks to \n and strip line break from the end of string returned by OS::read_string_from_stdin/OS::get_stdin_string. 2024-11-23 15:11:50 +02:00
Thaddeus Crews
7faad0cc7a Merge pull request #97388 from tetrapod00/visualshader-linear-srgb
VisualShader: Add LinearToSRGB and SRGBToLinear to ColorFunc node
2024-11-22 14:54:47 -06:00
Thaddeus Crews
ea3154a0d4 Merge pull request #99424 from dalexeev/core-fix-builtin-enum-const-binds
Core: Fix built-in enum constant bindings
2024-11-22 14:54:31 -06:00
Thaddeus Crews
37305e40bc Merge pull request #95711 from TokageItLab/warn-oneshot-prop
Add hint for oneshot property & warning when it will be updated continuously by Force Continuous in `AnimationMixer`
2024-11-22 14:54:30 -06:00
Thaddeus Crews
a0211b0f2e Merge pull request #99533 from crei0/look_at_modifier3d_documentation_data_typos
Fix wording in `LookAtModifier3D` docs
2024-11-22 14:54:27 -06:00
Thaddeus Crews
fe1c044c73 Merge pull request #99394 from TokageItLab/root-local
Add `root_motion_local` option to AnimationMixer to pre-multiply root motion rotation accumulator before blending
2024-11-22 14:54:24 -06:00
Thaddeus Crews
336eeda6f8 Merge pull request #99521 from mechalynx/update-packedarray-class-descriptions
Correct PackedInt64Array comparison in description
2024-11-22 14:54:23 -06:00
Thaddeus Crews
c35e4c41d2 Merge pull request #97716 from pafuent/add_half_precision_floating_point_to_stream_peer
Add half precision floating point support to `StreamPeer` and `FileAccess`
2024-11-22 14:54:19 -06:00
Thaddeus Crews
47f3e95308 Merge pull request #99352 from Mickeon/documentation-aabb-coords-are-complicated
Fix incorrect Z direction for AABB's position
2024-11-22 14:54:12 -06:00
Thaddeus Crews
0430b977b6 Merge pull request #99348 from TokageItLab/explicit_elapse
Add `explicit_elapse` option to AnimationNodeTimeSeek to handle some processes
2024-11-22 14:54:11 -06:00
Micky
e0b13004a0 Fix incorrect Z direction for AABB's position 2024-11-22 20:25:50 +01:00
vPumpking
0542bccee0 Improve space management for EditorFileDialog
Move buttons related to the file view on the container above so that they take less horizontal space and make search bar similar to the one in FileDialog
2024-11-22 18:59:03 +01:00
André Guedes
e1fa489f77 Fix wording in LookAtModifier3D docs 2024-11-22 13:15:55 +01:00
Danil Alexeev
03b05cf9ac
Core: Fix built-in enum constant bindings 2024-11-22 14:03:21 +03:00
mechalynx
acf351fa6a
Update PackedVector4Array description to include explanation shared by PackedArray classes 2024-11-22 07:12:56 +02:00