Commit Graph

8772 Commits

Author SHA1 Message Date
Rémi Verschelde 3be3d5099c
Merge pull request #87340 from DarioSamo/rd_common_context
Finish splitting functionality of the `RenderingDevice` backends into `RenderingDeviceDriver`.
2024-02-12 23:29:32 +01:00
Rémi Verschelde c66f87daa7
Merge pull request #87175 from Mickeon/doc-peeves-basis-based-on-what
Overhaul Basis' documentation
2024-02-12 23:29:27 +01:00
Dario 73eff10c76 Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00
Rémi Verschelde 08b4dddf4c
Merge pull request #88106 from Calinou/editor-dev-build-show-update-spinner
Show update spinner by default in `dev_build=yes` editor builds
2024-02-12 13:34:38 +01:00
Rémi Verschelde 24bd30716e
Merge pull request #87959 from Scony/fix-navi-sync-errors
Add means for fixing navmap synchronization errors
2024-02-12 13:34:30 +01:00
Rémi Verschelde 687f840354
Merge pull request #87379 from groud/change_tilemap_editor_to_tilemaplayer_editor
Change TileMapEditor to TileMapLayerEditor
2024-02-12 13:34:04 +01:00
Rémi Verschelde 679fa26a99
Merge pull request #86903 from Mickeon/Post-merge-fixes-to-Node-documentation
Post-merge fixes to Node & OS documentation
2024-02-12 13:33:47 +01:00
Rémi Verschelde 9b189d24fe
Merge pull request #86715 from TokageItLab/revive-capture
Add `AnimationMixer::capture()` and `AnimationPlayer::play_with_capture()` as substitute of update mode capture
2024-02-12 13:33:39 +01:00
Rémi Verschelde 62fcc7e5d3
Merge pull request #78990 from RedMser/class-reference-keywords
Add search keywords to the class reference
2024-02-12 13:33:12 +01:00
Rémi Verschelde 2b36dcf70a
Merge pull request #75688 from mnemoli/pickone
Add setting for picking only top-most overlapping collision object
2024-02-12 13:33:08 +01:00
Gilles Roudière 5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
Silc Lizard (Tokage) Renew 85d66cb4e8 Add capture() and play_with_capture() as substitute of update capture 2024-02-12 17:02:05 +09:00
Pawel Lampe 9ea8d4fa38 Add means for fixing navmap synchronization errors 2024-02-11 21:06:47 +01:00
Micky e26f612f38 Post-merge fixes to Node & OS documentation 2024-02-11 16:44:24 +01:00
Hugo Locurcio 7e25292205
Show update spinner by default in `dev_build=yes` editor builds
This ensures contributors can see when something forces the
editor to redraw constantly.

The existing boolean `true` value will be casted to `1` in the setting,
so it'll switch to Enabled automatically if the setting was previously
enabled.
2024-02-10 00:45:56 +01:00
RedMser 5911a12db1 Update class reference to include some keywords
More should be added in future PRs, wherever there is demand.
2024-02-09 18:13:23 +01:00
Rémi Verschelde b604a0516e
Merge pull request #82950 from thygrrr/physics-damping-redocumentation
Rewrite docs for physics damping project settings
2024-02-09 18:09:00 +01:00
Rémi Verschelde 74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00
Tiger Jove 7d9f6da8e3
Rewrite docs for physics damping project settings
Signed-off-by: Tiger Jove <tiger@jupiter.blue>
2024-02-09 18:00:28 +01:00
Rémi Verschelde 158df3e7b9
Merge pull request #79815 from idbrii/patch-2
doc: Clarify when to construct a StringName ahead of time
2024-02-09 12:13:07 +01:00
David Briscoe 9cbc4026ee
doc: Clarify when to construct a StringName ahead of time
Fix docs don't give justification for manual construction.

Clarify how to apply manual StringName construction as an
optimization and that "string intern" means "work at parse time".

There are several godot-demo-projects (including 3d/platformer) that
incorrectly use StringName literals (they use & literals instead of just
passing strings), so clearly this is confusing.

AThousandShips did a disassembly test to prove it automatically converts
constant strings to StringName for annotated functions:

  func do_test(_var: StringName, _var2: String):
  pass

  func test():
  do_test("abc", "def")

Yields:

  Disassembling do_test(_var, _var2)
   0: line 2:     pass
   2: == END ==

  Disassembling test()
   0: line 5:     do_test("abc", "def")
   2: call self.do_test(const(&"abc"), const("def"))
   10: assign stack(3) = false
   12: == END ==

It also happens with built-in functions such as those of Input.
2024-02-09 12:08:12 +01:00
RedMser bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
Rémi Verschelde fd6f6a05bf
Merge pull request #82376 from MewPurPur/add-missing-docs
Document worker thread pool project settings and `TreeItem.uncollapse_tree()`
2024-02-08 13:45:50 +01:00
Rémi Verschelde e10a99f262
Merge pull request #88040 from Calinou/doc-projectsettings-initial-position
Document initial position project settings not affecting run from editor
2024-02-08 10:54:03 +01:00
Rémi Verschelde f8020d1364
Merge pull request #88026 from Calinou/editor-default-enable-add-type-hints
Enable Add Type Hints editor setting by default
2024-02-08 10:53:58 +01:00
Rémi Verschelde eaef76a06f
Merge pull request #87768 from DevPoodle/rasterization-state
Add descriptions to the remaining properties of RDPipelineRasterizationState
2024-02-08 10:53:45 +01:00
Rémi Verschelde 9484a3776b
Merge pull request #87583 from milkiq/master
Modify display and documentation of attenuation for Light3D
2024-02-08 10:53:40 +01:00
Rémi Verschelde 261952a4c7
Merge pull request #87378 from smix8/navmesh_bordersize
Add NavigationMesh `border_size` property for tile baking
2024-02-08 10:53:30 +01:00
Rémi Verschelde 163c00eb4d
Merge pull request #81655 from nlupugla/editor-interface-can-popup-dialogs
Expose `SceneTreeDialog` and `PropertySelector` via `EditorInterface`
2024-02-08 10:53:13 +01:00
Rémi Verschelde b98c2f23da
Merge pull request #48364 from Calinou/add-vsync-editor-setting
Add a V-Sync editor setting
2024-02-08 10:52:59 +01:00
Hugo Locurcio d3df15f823
Document initial position project settings not affecting run from editor 2024-02-07 18:25:25 +01:00
Rémi Verschelde 99f2ec862c
Merge pull request #87985 from allenwp/docs-8906-color-16-bit
Fix docs for Color class regarding bits per component.
2024-02-07 11:03:38 +01:00
Rémi Verschelde 011ed23ed2
Merge pull request #87983 from Calinou/doc-os-execute-android
Document `OS.execute()` limitations on Android
2024-02-07 11:02:52 +01:00
Rémi Verschelde 8daa633d0d
Merge pull request #87961 from smix8/navmesh2d_bordersize
Add NavigationPolygon `border_size` property for tile baking
2024-02-07 11:01:42 +01:00
Rémi Verschelde 251d5b3669
Merge pull request #87715 from Scony/add-is-baking
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
Hugo Locurcio 345f09d125
Enable Add Type Hints editor setting by default
Now that GDScript type hints improve performance since Godot 4.0
and the community is increasingly getting used to typed GDScript,
it makes sense to add type hints by default.

Official demos will also be moving to type hints at some point
in the future, further increasing the relevance of enabling type
hints out of the box.
2024-02-06 19:41:26 +01:00
milkiq cf453ae8d9 Modify display and documentation of attenuation for Light3D 2024-02-06 12:41:30 +08:00
Markus Sauermann 2235a1cbd0 Add screen-related attributes to mouse input events 2024-02-05 23:30:15 +01:00
Hugo Locurcio 6f9586443a
Add a V-Sync editor setting
The editor setting makes it possible to tweak V-Sync status
independently of the project setting.

Use cases:

- Decrease input lag and increase editor responsiveness when editing
  a project that has V-Sync enabled.
- Avoid tearing when editing a project that has V-Sync disabled.
2024-02-05 22:14:20 +01:00
Pawel Lampe c2cfc0d409 Expose `is_baking` method in navigation servers and region nodes. 2024-02-05 22:04:22 +01:00
Hugo Locurcio d94ee14123
Document `OS.execute()` limitations on Android 2024-02-05 20:17:24 +01:00
Allen Pestaluky 0e977e087c Fix docs for Color class regarding bits per component.
This fixes godot-docs#8906 ( https://github.com/godotengine/godot-docs/issues/8906 )
2024-02-05 12:55:58 -05:00
Rémi Verschelde 01fd96e19d
Merge pull request #87951 from AThousandShips/doc_link_fix
Fix inverted link in docs
2024-02-05 14:54:33 +01:00
Rémi Verschelde 8631f68509
Merge pull request #87928 from 31/dev/31/call-deferred-cs
Add `Callable` `call_deferred()` C# example
2024-02-05 14:52:14 +01:00
Rémi Verschelde fbd203401b
Merge pull request #87881 from smix8/height_min_max_helpers
Add HeightMapShape3D functions to get min / max height
2024-02-05 14:51:02 +01:00
Rémi Verschelde acde2a81ff
Merge pull request #84640 from aaronfranke/gravity-get
Expose a method to get gravity for any physics body
2024-02-05 14:48:31 +01:00
Zach Coleman fc7a63cbf3 Enhance mobile suspend MainLoop Notifications 2024-02-04 21:10:06 -05:00
smix8 085bc9504b Add NavigationPolygon border_size property for tile baking
Adds NavigationPolygon border_size property for tile baking. Also adds baking Rect2 bounds.
2024-02-05 00:38:28 +01:00
A Thousand Ships 17000bf8c3
Fix inverted link in docs
Title and url were swapped
2024-02-04 18:31:09 +01:00
31 0a9715d6b5 Add Callable call_deferred() C# example 2024-02-03 20:49:05 -08:00
smix8 0a485fc30a Add HeightMapShape3D functions to get min / max height
Adds HeightMapShape3D functions to get min / max height.
2024-02-04 01:23:30 +01:00
Rémi Verschelde c341d9704c
Merge pull request #87913 from OverloadedOrama/docs-feature-native-dialog
Minor fix in DisplayServer docs to include Linux & Windows in `FEATURE_NATIVE_DIALOG`
2024-02-03 23:22:58 +01:00
Rémi Verschelde 22d402e23d
Merge pull request #87863 from EterDelta/reload-notification
Expose `NOTIFICATION_EXTENSION_RELOADED` to `ClassDB`
2024-02-03 23:20:14 +01:00
Rémi Verschelde 673f1614c4
Merge pull request #87630 from dsnopek/openxr-passthrough-from-gdextension
OpenXR: Allow moving vendor passthrough extensions to GDExtension
2024-02-03 23:19:24 +01:00
Emmanouil Papadeas 2ba6066d5d Minor fix in DisplayServer.xml to include Linux & Windows in FEATURE_NATIVE_DIALOG 2024-02-03 21:36:02 +02:00
David Snopek e74a0f4b09 OpenXR: Allow moving vendor passthrough extensions to GDExtension 2024-02-03 12:40:41 -06:00
EterDelta fee70558f8 Expose NOTIFICATION_EXTENSION_RELOADED to ClassDB 2024-02-02 14:57:00 -05:00
Rémi Verschelde 10e111477d
Merge pull request #87856 from bruvzg/transpbg
Automatically set viewport background to transparent when window flag is set.
2024-02-02 12:06:29 +01:00
Rémi Verschelde fb5f34a75a
Merge pull request #87745 from dsnopek/openxr-change-reference-space
OpenXR: Allow changing play area mode during active session
2024-02-02 12:03:09 +01:00
Rémi Verschelde 88df5b871f
Merge pull request #87318 from ckaiser/feature/indeterminate_progressbar
Add indeterminate mode to ProgressBar
2024-02-02 12:02:19 +01:00
Rémi Verschelde 0858c4ecbc
Merge pull request #82889 from ershn/improve_process_mode_api_documentation
Improve Node's documentation on `process_mode` related members/methods
2024-02-02 12:00:35 +01:00
Rémi Verschelde 58ffe0958a
Merge pull request #74195 from TheSecondReal0/flow-top-to-bottom
Add option to reverse FlowContainer fill direction (HFlow bottom-to-top, VFlow right-to-left)
2024-02-02 12:00:07 +01:00
bruvzg 0d88aadd53
Automatically set viewport background to transparent when window flag is set. 2024-02-02 10:40:26 +02:00
TheSecondReal0 b8a7270567 Add option to reverse FlowContainer fill direction (HFlow bottom-to-top, VFlow right-to-left) 2024-02-01 10:41:31 -07:00
DevPoodle 3b8ef19689 Add descriptions to the remaining properties of RDPipelineRasterizationState 2024-01-31 19:27:41 -08:00
Christian Kaiser c00bd0008a Add indeterminate mode to ProgressBar 2024-01-31 18:11:18 -03:00
David Snopek 5935bfa860 OpenXR: Allow changing play area mode during active session 2024-01-31 12:58:22 -06:00
Ershn 61872e47af Improve Node's documentation on process_mode related members/methods 2024-01-31 23:25:56 +09:00
Rémi Verschelde f23fda39d3
Merge pull request #87776 from bruvzg/wl_nfd
[Wayland] Add support for native file dialogs.
2024-01-31 14:00:30 +01:00
bruvzg edb21e0573
[Wayland] Add support for native file dialogs. 2024-01-31 14:13:19 +02:00
Rémi Verschelde f8a039e9b5
Merge pull request #84745 from lawnjelly/lightcull
Shadow volume culling and tighter shadow caster culling
2024-01-31 11:13:19 +01:00
Rémi Verschelde ad8b136a31
Merge pull request #87436 from Mickeon/doc-peeves-Timer-s-out
Tweak Timer documentation
2024-01-31 10:54:30 +01:00
Rémi Verschelde eb105b9ae9
Merge pull request #87372 from Mickeon/documentation-SkeletonProfileHumanoid-bone-list
Document bone list for SkeletonProfileHumanoid
2024-01-31 10:53:43 +01:00
Micky 22421e134b Tweak Timer documentation 2024-01-31 09:40:05 +01:00
Aaron Franke aed5ea9460
Expose a method to get gravity for any physics body 2024-01-30 23:57:38 -06:00
Hugo Locurcio 253ad63005
Clarify the FOV setting in the 3D editor camera is vertical FOV 2024-01-31 01:20:21 +01:00
Rémi Verschelde 0cce6eb150
Merge pull request #87443 from YuriSizov/pms-hotter-younger-cousin
Improve layout and UX of the project manager
2024-01-30 19:10:46 +01:00
Yuri Sizov 4d97c33503 Add a network mode setting to bring the editor offline
This PR also adds default font styles for RichTextLabels
in the editor, and improves the introduction dialog
when you don't have any local projects available.

The offline mode is implemented in the asset library
plugin, alongside some code improvements.
2024-01-30 17:52:08 +01:00
Rémi Verschelde ba6ecf3e06
Merge pull request #87676 from Mickeon/oooh-Reduz-of-the-past-You're-so-quirky
Mention and deprecate InputEventJoypadButton's pressure
2024-01-30 17:48:02 +01:00
Rémi Verschelde f390b86acd
Merge pull request #87194 from kitbdev/tab-deselect
Allow no tabs to be selected in TabBar and TabContainer
2024-01-30 17:47:54 +01:00
Riteo 7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
lawnjelly 4577dfdb67 Shadow volume culling and tighter shadow caster culling
Existing shadow caster culling takes no account of the camera.
This PR adds the highly encapsulated class RenderingLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
2024-01-30 08:38:31 +00:00
Micky 25c0c95960 Mention and deprecate InputEventJoypadButton's pressure 2024-01-29 23:38:36 +01:00
kit a6af442b05 Apply TextEdit IME on most actions 2024-01-29 15:07:19 -05:00
kit 6e965f6c83 Allow tab deselection 2024-01-29 14:30:34 -05:00
kobewi 0de8a736da Allow Node.create_tween() outside SceneTree 2024-01-29 20:18:43 +01:00
Rémi Verschelde e59e58a68a
Merge pull request #87686 from radzo73/get_button_color
[TreeItem] Add `get_button_color()`
2024-01-29 13:18:05 +01:00
Rémi Verschelde 5c61803971
Merge pull request #87668 from bruvzg/add_baseline_offset
[TextServer / Font] Add support for customizable baseline offset.
2024-01-29 13:17:52 +01:00
Rémi Verschelde a248e8c78d
Merge pull request #87502 from mihe/soft-body-bindings
Bind physics server methods related to `SoftBody3D`
2024-01-29 13:17:09 +01:00
Rémi Verschelde 68957d2944
Merge pull request #87445 from KoBeWi/expand_the_Control_empire
Clarify sizing of main screen plugins
2024-01-29 13:17:05 +01:00
Rémi Verschelde ec08b323bf
Merge pull request #86927 from Mickeon/filling-docs
Fill the documentation of a few overlooked classes
2024-01-29 13:16:42 +01:00
Rémi Verschelde c2968e497d
Merge pull request #86693 from Mickeon/doc-peeves-midiiiiii
Improve all documentation about MIDI support
2024-01-29 13:16:37 +01:00
Rémi Verschelde 6d1e51c23e
Merge pull request #86273 from DevPoodle/sampler-state-descriptions
Add descriptions to remaining properties of RDSamplerState
2024-01-29 13:16:28 +01:00
Rémi Verschelde 2a862a6f6c
Merge pull request #85503 from 20kdc/bone2d-fix-apply_rest-master
Fix the documentation of `Bone2D::apply_rest`
2024-01-29 13:16:19 +01:00
Rémi Verschelde 964de297e4
Merge pull request #85450 from KoBeWi/advanced_properties_for_every_Object
Improve documentation for dynamic properties
2024-01-29 13:16:12 +01:00
Rémi Verschelde 8febe50797
Merge pull request #85448 from mxaddict/master
Update `blender_path` behavior to require exact path to executable instead of trying to guess it
2024-01-29 13:16:05 +01:00
Rémi Verschelde 0796d08b8f
Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons
Disable multi-window buttons instead of hiding them when support is unavailable
2024-01-29 13:16:01 +01:00
Rémi Verschelde f220d46cdc
Merge pull request #80231 from romlok/input-key-location
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
radzo73 de5b0d7103 Add `get_button_color(column, id)`
Docs should point to Color constuctor instead of just the class, but I unfortunately cannot.
2024-01-28 19:09:20 -05:00
kobewi c228e31a96 Clarify sizing of main screen plugins 2024-01-28 19:49:33 +01:00