Commit graph

8757 commits

Author SHA1 Message Date
MewPurPur
57d05ffc66 Improve the top docs sections of VFX classes 2023-08-11 21:17:04 +03:00
Septian
793cc080cb Fix get_method from named lambda 2023-08-11 20:31:08 +07:00
Mikael Hermansson
8be20c495c Add global_basis property to Node3D 2023-08-11 11:41:49 +02:00
Hugo Locurcio
cb0814f051
Document behavior of the application/config/version project setting
The alternative is to default to `1.0.0`, but this means that it
won't be saved to `project.godot` if the version number is equal to `1.0.0`.
2023-08-11 11:38:08 +02:00
Rémi Verschelde
33198d0df0
Merge pull request #75784 from Riteo/int-scale
Add content scale stretch modes, implement integer scaling
2023-08-11 10:32:11 +02:00
Riteo
87cfc415a3 Add content scale stretch modes, implement integer scaling
Integer scaling is achieved (after aspect expansion) by "lying" to the
stretching code about the window's size, telling it that it's always an
integer multiple of the viewport so that it only gets stretched to an
integer factor.

This approach works with all stretch and aspect modes and doesn't
require handling for each, only requiring to "loosen up" some
self-excluding conditions (in other words, replacing some `else if`s
with just `if`s) regarding viewport offset and margin calculation (black
bars).

Includes a tiny usability change that adds a range hint for the content
scale factor between 0.5 to 8.0.

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-08-10 19:45:47 +02:00
Rémi Verschelde
5ba34564b9
Merge pull request #80474 from Sai-Suraj-27/spelling_error_fix
Fixed tiny spelling error in `doc\classes\NavigationAgent2D.xml`
2023-08-10 14:55:33 +02:00
Rémi Verschelde
b78d52b693
Merge pull request #75694 from YuriSizov/editor-hot-singleton-interfaces-in-your-area
Make `EditorInterface` accessible as a singleton
2023-08-10 14:53:35 +02:00
Rémi Verschelde
11cfb23798
Merge pull request #62038 from KoBeWi/ChangedSettings
Add `settings_changed` signal to ProjectSettings
2023-08-10 14:53:07 +02:00
Sai-Suraj-27
c2fd9b6d72 Fixed tiny spelling error in doc\classes\NavigationAgent2D.xml 2023-08-10 12:07:56 +05:30
Rémi Verschelde
d76b97e904
Merge pull request #80443 from lotuspar/lotuspar-patch-1
Consistency for NodePath doc code examples
2023-08-10 00:43:50 +02:00
Yuri Sizov
951ea2415b Make EditorInterface accessible as a singleton
- EditorPlugin.get_editor_interface() is removed as redundant.
2023-08-09 16:01:31 +02:00
Rémi Verschelde
d255811443
Merge pull request #80404 from bruvzg/file_attribs
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows.
2023-08-09 15:20:32 +02:00
Rémi Verschelde
f6b9d445b5
Merge pull request #80285 from YeldhamDev/just_a_little_bit
Further separate icon from text of buttons in both editor and default themes
2023-08-09 15:20:25 +02:00
Markus Sauermann
59c13fea5d Fix nodes receiving mouse events in black bars of Window
Previously for InputEvents there was no distinction between
Window-area and Viewport-area.
This was problematic in cases where stretching was used and the Window
contained black bars at the sides of the Viewport.
This PR separates the area of Window and Viewport regarding InputEvents.
2023-08-09 12:34:22 +02:00
Hugo Locurcio
c751f190c9
Document RenderingServer.get_video_adapter_name() may report a fixed name
Firefox will always report the user's GPU as a GeForce GTX 980 in
an attempt to make fingerprinting more difficult.
This is not the case in Chromium-based browsers though.
2023-08-09 11:43:22 +02:00
Gio
15aa04314d
Consistency for NodePath doc code examples
Just makes a code example in NodePath.xml similar to the others
2023-08-09 17:20:30 +08:00
kobewi
c5ec847aa0 Add settings_changed signal to ProjectSettings 2023-08-08 23:57:31 +02:00
bruvzg
8aa6f29b56
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows. 2023-08-08 21:51:32 +03:00
Rémi Verschelde
1163dac9e3
Merge pull request #80215 from clayjohn/HDR-2D
Add option to enable HDR rendering in 2D
2023-08-08 16:57:33 +02:00
Michael Alexsander
98bdb56815
Further separate icon from text of buttons in both editor and default themes 2023-08-07 13:22:39 -03:00
smix8
8686e84b44 Add multi-threaded NavMesh baking to NavigationServer
Adds multi-threaded NavMesh baking to NavigationServer.
2023-08-07 17:14:37 +02:00
Rémi Verschelde
01758ea4ce
Merge pull request #80264 from AttackButton/doc-current_scene
Clarify `SceneTree.current_scene` functionality
2023-08-07 14:52:46 +02:00
Rémi Verschelde
5146096869
Merge pull request #80254 from marcospb19/edit-description-of-node3d-basis
Clarify relationship between `basis` and `transform` properties of `Node3D`
2023-08-07 14:51:11 +02:00
Rémi Verschelde
75976a282a
Merge pull request #79933 from SamDevelopsCode/softbody3d-documentation-update
Document `linear_stiffness` in SoftBody3D
2023-08-07 14:49:34 +02:00
Rémi Verschelde
7eb047a5ed
Merge pull request #79643 from smix8/navgenerator_4.x
Move navigation mesh baking to NavigationServer
2023-08-07 14:48:15 +02:00
Rémi Verschelde
5fc0d71ecd
Merge pull request #78266 from Faolan-Rad/master
Move registration of `fallbacks` property in the base Font class
2023-08-07 14:44:09 +02:00
Rémi Verschelde
3fa5a15a2c
Merge pull request #72091 from MewPurPur/fix-nearest-po2
Improve documentation of `nearest_po2()`
2023-08-07 14:42:49 +02:00
AttackButton
b02d25605d Clarify SceneTree.current_scene functionality 2023-08-07 14:34:20 +02:00
Faolan
b3b791350b
Move registration of fallbacks property in the base Font class 2023-08-07 13:46:44 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
João Marcos
9e6da4e00e
Clarify relationship between basis and transform properties of Node3D 2023-08-07 12:13:22 +02:00
clayjohn
57eb762bae Add option to enable HDR rendering in 2D
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance

Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00
samdevelopscode
7ca6e94c36 Add description for SoftBody3D linear_stiffness property 2023-08-07 01:20:06 -05:00
Yuri Sizov
dc6ea03101
Merge pull request #35555 from Calinou/add-version-project-setting
Add a "version" project setting and use it in new export presets
2023-08-04 21:01:15 +02:00
Rémi Verschelde
bf299233bc
Merge pull request #80245 from timothyqiu/float-color-alpha
Fix wrong example output of `float*Color` in classref
2023-08-04 16:59:31 +02:00
Rémi Verschelde
8e0c898fc3
Merge pull request #80243 from timothyqiu/classref-typos
Fix various typos in classref
2023-08-04 16:59:27 +02:00
Rémi Verschelde
b8fa19cc19
Merge pull request #79495 from Chaosus/astargrid_all_solid
Add a `fill_region` method to the `AStarGrid2D`
2023-08-04 16:59:11 +02:00
Haoyu Qiu
54f26c66ab Fix wrong example output of float*Color in classref 2023-08-04 17:00:40 +08:00
Haoyu Qiu
097c849395 Fix various typos in classref 2023-08-04 16:29:55 +08:00
Hugo Locurcio
ad4480bf2e
Add a "version" project setting and use it in new export presets
This makes it easy to retrieve the project version at runtime
for display purposes, while simplifying the export preset configuration.
You can now leave the version empty unless you need to override it on a per-preset
basis.

Since export presets save the values of default values to the `export_presets.cfg`
file, this change only affects export presets created after this commit was merged.
2023-08-04 10:29:33 +02:00
Luke Hubmayer-Werner
9e844cc0c8 PulseAudio: Remove get_latency() caching 2023-08-04 15:35:13 +09:30
Yuri Sizov
1610fc2ae7 Merge pull request #78539 from EIREXE/input-info
Add the ability to get per-platform information for joypads
2023-08-03 22:37:45 +02:00
Yuri Sizov
a56e960150 Merge pull request #71233 from PrecisionRender/barycentric-coords
Add ability to get face index and barycentric coordinates from raycast
2023-08-03 22:37:30 +02:00
smix8
744fa87da2 Move navigation mesh baking to NavigationServer
Moves navigation mesh baking to NavigationServer.
2023-08-03 19:49:07 +02:00
Rémi Verschelde
df57d0b569
Merge pull request #80141 from Mickeon/doc-peeves-boolwing
Overhaul bool documentation
2023-08-03 18:33:53 +02:00
Rémi Verschelde
c97e4a31ac
Merge pull request #80217 from Mickeon/oops-rects
Revert incorrect `Rect2.expand` description.
2023-08-03 15:12:45 +02:00
Micky
f17d3a66fe Revert incorrect Rect2.expand description.
Also affects Rect2i of course.
2023-08-03 14:59:07 +02:00
Rémi Verschelde
f9d960c925
Merge pull request #80178 from YeldhamDev/override_all_the_things
Expose `Window`'s `_get_contents_minimum_size()` to scripting
2023-08-03 14:46:52 +02:00
Rémi Verschelde
ae8f1015e0
Merge pull request #79064 from MewPurPur/rename-button-pressed-THIS-IS-NOT-A-COMPAT-BREAK
Rename `button_pressed` default signal binding to avoid shadowing
2023-08-03 14:46:39 +02:00
Mounir Tohami
2cec27a3f1 Add shortcut handling to OptionButton 2023-08-03 08:38:20 +00:00
Álex Román Núñez
3aa340d081 Add the ability to get per-platform information for joypads.
This adds the ability for games to obtain platform-specific information about joypads such as their vendor/product ID, their XInput gamepad index or the real name of the device before it gets swapped out by the gamecontrollerdb's name.

This PR also includes a rebased version of #76045, this is because this PR is intended to be mainly to help people implementing Steam Input, as having the gamepad index is essential.
2023-08-02 22:30:30 +02:00
PrecisionRender
af7f787c6e Add ability to get barycentric coordinates from ray 2023-08-02 15:16:44 -05:00
Michael Alexsander
f270163ab0
Expose Window's _get_contents_minimum_size() to scripting 2023-08-02 14:40:38 -03:00
RedMser
84a2778e28 Simpler default values for AudioStreamRandomizer 2023-08-02 17:20:40 +02:00
Rémi Verschelde
f5b2d7d393
Merge pull request #79774 from aaronfranke/scene-import-root-type-name
Improve overriding the root type or root name in the scene importer
2023-08-02 12:19:34 +02:00
Rémi Verschelde
d8cbb6d645
Merge pull request #79563 from danny88881/drag-and-drop-text-setting
Add drag'n'drop text option for `LineEdit` and `RichTextLabel`
2023-08-02 12:17:56 +02:00
Rémi Verschelde
2a9aaae8a5
Merge pull request #79293 from ItsNL/add-accept-dialog-close-on-unfocused
Check `FLAG_POPUP` to close an AcceptDialog when parent is focused
2023-08-02 12:17:06 +02:00
Rémi Verschelde
df616c9a17
Merge pull request #69816 from Mickeon/doc-peeves-rect2m
Overhaul Rect2 & Rect2i Documentation
2023-08-02 12:14:53 +02:00
Micky
69146f6b30 Overlay bool documentation 2023-08-02 09:54:20 +02:00
Aaron Franke
aa187d8d69
Improve overriding the root type or root name in the scene importer 2023-08-01 13:30:57 -05:00
Micky
ce95c83622 Overhaul Rect2 & Rect2i Documentation 2023-08-01 20:08:43 +02:00
Yuri Sizov
f37d192860 Merge pull request #80109 from timothyqiu/not-markdown
Fix invalid use of markdown syntax in classref
2023-08-01 20:04:00 +02:00
Yuri Sizov
defaac6058 Merge pull request #67791 from Sauermann/fix-visual-mouse-notifications
Refactor mouse_entered and mouse_exited signals
2023-08-01 20:03:33 +02:00
Yuri Sizov
f4b6bc0913 Merge pull request #79962 from viksl/update-tween-docs
Update C# example of `tween_method` with a parameter to the lambda method
2023-08-01 17:25:48 +02:00
Yuri Sizov
cc1ee3e599 Merge pull request #79911 from BastiaanOlij/fix_barrier_breakage
Add exceptions for breakage introduced in RD barriers
2023-08-01 17:25:40 +02:00
Yuri Sizov
1c40263665 Merge pull request #79606 from clayjohn/ShaderRD-compilation-groups
Shader rd compilation groups
2023-08-01 17:25:16 +02:00
Haoyu Qiu
c4b5161ed1 Fix invalid use of markdown syntax in classref
Also:
* changed `[b]true[/b]` to `[code]true[/code]`
* use `[i]` for mathematical constant "e"
* use `[b]` for button text & menu item text
* improve markups about "tap1" and "tap2" in AudioEffectDelay
2023-08-01 22:44:31 +08:00
Markus Sauermann
1c3c17c608 Refactor mouse_entered and mouse_exited notifications
The previous implementation for signals mouse_entered and mouse_exited
had shortcomings that relate to focused windows and pressed mouse buttons.
For example a Control can be hovered by mouse, even if it is occluded by
an embedded window.

This patch changes the behavior, so that Control and Viewport send
their mouse-enter/exit-notifications based solely on mouse position,
visible area, and input restrictions and not on which window has
focus or which mouse buttons are pressed. This implicitly also
changes when the mouse_entered and mouse_exited signals are sent.

This functionality can not be implemented as a part of
Viewport::_gui_input_event, because of its interplay with Windows and
because Viewport::_gui_input_event is based on input and not on
visibility.
2023-08-01 13:28:49 +02:00
Marcin Nowak
34ab1c8a36 Implement loading DDS textures at run-time 2023-07-31 21:31:26 +02:00
Yuri Sizov
dcd187da95 Merge pull request #80066 from timothyqiu/no-pun-intended
Avoid punning `[param enabled]` in documentation
2023-07-31 21:01:50 +02:00
Yuri Sizov
3de7dd902c Merge pull request #79880 from dalexeev/gds-fix-id-shadowing-below
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-31 21:01:36 +02:00
Yuri Sizov
79d3468246 Merge pull request #79696 from reduz/call-on-render-thread
Add ability to call code on rendering thread
2023-07-31 21:01:21 +02:00
Haoyu Qiu
f3dc1bc7c2 Avoid punning [param enabled] in documentation 2023-07-31 00:31:23 +08:00
viksl
45b757e5df Update C# example of tween_method in Tween class with a parameter to the lambda method 2023-07-28 13:46:33 +02:00
detomon
d275a7487d Initialize MSDF parameters in BaseMaterial3D with default 2023-07-28 13:24:44 +02:00
Bastiaan Olij
10f796dae3 Add exceptions for breakage introduced in RD barriers and prevent future breakage 2023-07-28 14:21:34 +10:00
Hugo Locurcio
4cab77094a
Add a --max-fps command-line argument to set a FPS limit
This allows limiting framerate on any project, which is useful to
reduce power usage and latency with certain setups (such as VRR displays).

This is particularly useful in projects that do not expose a setting to change
the FPS limit. While external FPS limiters can be used, they can be cumbersome
to set up and result in increased input lag compared to a built-in FPS limiter.
2023-07-28 02:51:27 +02:00
Yuri Sizov
da81ca62a5
Merge pull request #79405 from Calinou/doc-import-options
Fill in descriptions for import options in the class reference
2023-07-27 20:32:04 +02:00
Hugo Locurcio
bc58a8a34e Fill in descriptions for import options in the class reference 2023-07-27 19:18:27 +02:00
Yuri Sizov
6c11fcd01a
Merge pull request #74717 from KoBeWi/tilesetmap_handler_plugin
Add separate editor plugin for TileMap and TileSet
2023-07-27 19:11:37 +02:00
Yuri Sizov
7a9a0dc51f Merge pull request #79934 from Sauermann/fix-mousefilter-doc
Add note about mouse movement input events in `MouseFilter` constants
2023-07-27 15:22:50 +02:00
Yuri Sizov
1fe49e7271 Merge pull request #79142 from BastiaanOlij/register_render_buffers
Expose RenderSceneBuffers(RD) through ClassDB
2023-07-27 15:22:27 +02:00
Yuri Sizov
37c3e2e55b Merge pull request #68259 from konczg/openxr_extension_wrapper_gdextension
Add GDExtension support for OpenXR extension wrappers
2023-07-27 15:22:22 +02:00
Yuri Sizov
0c2399d6ec Merge pull request #63826 from deakcor/dev_clipboard
Add `clipboard_has/get_image` methods to DisplayServer
2023-07-27 15:22:16 +02:00
Yuri Sizov
41a7f6b380
Merge pull request #77537 from henriquelalves/feature/ei_save_all_scenes
Expose `save_all_scenes` method to EditorInterface
2023-07-26 23:43:08 +02:00
Markus Sauermann
3330f2cf2f Add note about mouse movement input events in MouseFilter constants 2023-07-26 19:33:40 +02:00
Yuri Sizov
e25a368133 Merge pull request #79401 from smix8/navagent_desc_4.x
Add detail to NavigationAgent signal descriptions
2023-07-26 18:40:10 +02:00
Yuri Sizov
d49ea2b7d8 Merge pull request #79288 from BastiaanOlij/custom_texture_api
Add custom texture create function
2023-07-26 18:40:01 +02:00
Yuri Sizov
67873d0d5d Merge pull request #79248 from Sauermann/fix-svc-focus-propagation
Make `SubViewportContainer` event propagation aware of focused Control
2023-07-26 18:39:57 +02:00
Yuri Sizov
6f6f7db911 Merge pull request #79129 from smix8/navbase_enabled_4.x
Add NavigationServer API to enable regions and links
2023-07-26 18:39:47 +02:00
Yuri Sizov
e8df8c5e2c Merge pull request #78988 from RandomShaper/fix_change_scene
Reimplement scene change
2023-07-26 18:39:43 +02:00
Yuri Sizov
c4e582262f Merge pull request #76582 from reduz/threaded-debugger
Support threads in the script debugger
2023-07-26 18:39:16 +02:00
Yuri Sizov
1ad95f27ab Merge pull request #72664 from paddy-exe/additional-vs-nodes
Add more useful Visual Shader nodes
2023-07-26 18:39:12 +02:00
Yuri Sizov
3bc842b1b1 Merge pull request #54524 from Calinou/animation-editor-add-bypass-confirmation
Skip keyframe creation dialog when holding Shift in the animation editor
2023-07-26 18:39:01 +02:00
kobewi
ec24d50469 Add separate editor plugin for TileMap and TileSet 2023-07-26 17:23:41 +02:00
Bastiaan Olij
4874b96033 Expose RenderingSceneBuffers through ClassDB 2023-07-26 23:48:30 +10:00
Bastiaan Olij
63d6e9c557 Add custom texture create function 2023-07-26 20:46:34 +10:00
Juan Linietsky
c7fb6cea3d Add ability to call code on rendering thread
As more users use compute in Godot 4, the way they do is most likely incompatible when running
on separate threads and will start erroring soon as we improve the thread safety of the render thread.

To properly run code on the render thread, this function was added. Use like this:

```GDScript

func initialize_compute_code():
	....

func update_compute_code(custom_data):
	...

func _ready():
	RenderingServer.call_on_render_thread( initialize_compute_code )

func _process():
	RenderingServer.call_on_render_thread( update_compute_code.bind(with_data) )

```
2023-07-26 12:28:00 +02:00
Juan Linietsky
5e512b705e Support threads in the script debugger
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.

This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
2023-07-26 12:06:45 +02:00