Commit graph

56349 commits

Author SHA1 Message Date
Rémi Verschelde
611123f7fd
CI: Free disk space on Linux runners
Removing the Android toolchain saves 14 GiB, which gives us more room
for growth and to avoid running into out-of-space errors in the Linux
sanitizers + debug symbols builds.

Related to #79919, though the caches were just one part of the problem,
the real issue is that our Linux sanitizers builds take 12 GiB, and
adding godot-cpp on top with 2 GiB leaves only a few GiB left for the
cache itself.
2023-08-01 14:29:20 +02:00
Joseph Davies
510de82f43
Fix typo in modulo error message. 2023-08-01 04:47:18 -07:00
MewPurPur
182db99a61 Add an icon to the Performancce object 2023-08-01 14:29:43 +03: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
Spencer Chang
57d9e3bb0e Added path to output of missing import texture metadata 2023-08-01 01:28:36 -07:00
MewPurPur
4fa123ca56 Add FileAccess and DirAccess icons 2023-08-01 09:54:34 +03:00
Fabio Alessandrelli
61e7d47344 [Web] Update npm packages 2023-07-31 21:43:59 +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
0387defcbe Merge pull request #80037 from KoBeWi/we_are_reaching_levels_of_hacks_that_should_not_be_possible
Edit TileSet source on double click
2023-07-31 21:01:47 +02:00
Yuri Sizov
fbe7602bd3 Merge pull request #79945 from hvarga/fix-current-scene-update
Fix out of bounds access when updating current scene
2023-07-31 21:01:43 +02:00
Yuri Sizov
f15898161a Merge pull request #79917 from hvarga/fix-scene-tab-close
Fix crash when using "Close All Tabs"
2023-07-31 21:01:40 +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
8b12849fef Merge pull request #79876 from LRFLEW/mobalpha
Fix transparent viewport backgrounds with custom clear color
2023-07-31 21:01:32 +02:00
Yuri Sizov
0be587521e Merge pull request #79737 from Calinou/resourceloader-load-error-clarify-expected-type
Mention expected resource type in ResourceLoader load error
2023-07-31 21:01:28 +02:00
Yuri Sizov
9fbb349a33 Merge pull request #79681 from m4gr3d/fix_npe_main
Fix NullPointerException when registering the sensors
2023-07-31 21:01:25 +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
Yuri Sizov
25f3f660c5 Merge pull request #79610 from aaronfranke/toggle-comment-slash
Add Ctrl+/ as a shortcut to toggle comment in addition to Ctrl+K
2023-07-31 21:01:17 +02:00
Yuri Sizov
04e550acb6 Merge pull request #79358 from timothyqiu/indentation
Make indentation indicators translatable
2023-07-31 21:01:13 +02:00
Yuri Sizov
41efc7cb86 Merge pull request #78941 from dalexeev/gds-doc-comments-deprecated-and-experimental
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-31 21:01:08 +02:00
Yuri Sizov
efbff1369a Merge pull request #78254 from dalexeev/gds-fix-property-group-name-conflict
GDScript: Fix conflict between property and group names
2023-07-31 21:01:03 +02:00
Yuri Sizov
62b4643d85 Merge pull request #73226 from AThousandShips/gdscript_tok_improvement
Improve GDScript identifier tokenization
2023-07-31 21:00:57 +02:00
Yuri Sizov
438d960592 Merge pull request #50674 from starry-abyss/master
Reorganize buttons in the project manager
2023-07-31 21:00:51 +02:00
kobewi
2a5db5949f Rework modifying tile source ID 2023-07-31 20:57:09 +02:00
Danil Alexeev
aac4a3611d
Editor: Fix escaping issues with POT generator 2023-07-31 21:06:16 +03:00
ocean (they/them)
cca57171c1 Add error message when a GDScript resource fails to load.
Currently, GDScripts who are only loaded through `ResourceLoader::load()`,
like Autoloads, do not have a pathway to announce there is an error in their
code. This contributes to significant confusion in error projects when
autoloads are involved. At least partially closes #78230.
2023-07-31 13:16:29 -04:00
Ignacio Roldán Etcheverry
54ba3cf768
Merge pull request #73257 from RedworkDE/net-android-support
C#: Support exporting for Android
2023-07-31 17:07:48 +02:00
Ninni Pipping
e2a91309d0 Fix API hash related crash in EditorSettings 2023-07-31 16:35:41 +02:00
Yuri Sizov
3fa8fad26b
Merge pull request #80081 from clayjohn/revert-dead-error
Revert "Let user know about dead instances in deferred calls"
2023-07-31 12:26:41 +02:00
clayjohn
fcc6c6a697 Revert "Let user know about dead instances in deferred calls"
This reverts commit 3a6527d6d3.
2023-07-31 10:45:20 +02:00
Matias N. Goldberg
4ce41495b1 Fix validation layer warnings
1. Validation layers on Windows were complaining w/
VUID-VkSwapchainCreateInfoKHR-surface-01270 that we were not calling
vkGetPhysicalDeviceSurfaceSupportKHR before vkCreateSwapchainKHR.

2. Godot was only calling vkGetPhysicalDeviceSurfaceSupportKHR at
startup, but it should be doing this for every window w/ a new surface
it wants to create, not just the first one.
- In practice this will likely not make a difference. If
vkGetPhysicalDeviceSurfaceSupportKHR returns false after initialization,
there's nothing we can do about it and it is likely because something
else went terribly wrong, which is why the error message is worded like
that.
- This is mostly to shut up validation layers. Though technically,
the layers are right.

3. Do not call vkGetPhysicalDeviceSurfaceSupportKHR on queues we don't
even plan on ever using. We don't know how drivers will react to that
(e.g. they may preemptetively allocate resources to support presentation
on exotic queues, instead of just saying no). Just behave like every
other Vulkan app out there.
2023-07-30 17:07:27 -03:00
clayjohn
b986afed46 Enable depth writes during shadow pass and depth pass. Disable during color pass
This fixes an unreported performance bug. Basically, without this change, the depth prepass did nothing
2023-07-30 21:59:28 +02:00
Aaron Franke
955104385c
Cosmetic changes in GLTF node generation code 2023-07-30 13:51:25 -05:00
Haoyu Qiu
f3dc1bc7c2 Avoid punning [param enabled] in documentation 2023-07-31 00:31:23 +08:00
Clay John
262d1eaa63
Merge pull request #80034 from darksylinc/matias-fixes
Fix uninitialized variable ending up sent to Vulkan
2023-07-30 16:46:26 +02:00
LRFLEW
6effd3cde7 Fix transparent viewport backgrounds with custom clear color 2023-07-30 06:19:47 -05:00
AbeniMatteo
e5d8ac4020 Avoid dictionary lookup for common colors 2023-07-30 09:17:59 +02:00
Michael Alexsander
3e539fff78
Fix some issues with scene tabs
- Stop scene creation on double-click when hovering the offset buttons.
- Fix the "Add Scene" button's position on RTL mode.
2023-07-30 01:13:36 -03:00
kobewi
d39b040114 Edit TileSet source on double click 2023-07-30 02:27:40 +02:00
Matias N. Goldberg
472226422e Fix uninitialized variable ending up sent to Vulkan
The first time a shader is compiled Godot performs the following:

```cpp
for (uint32_t i = 0; i < SHADER_STAGE_MAX; i++) {
	if
(spirv_data.push_constant_stages_mask.has_flag((ShaderStage)(1 << i))) {
		binary_data.push_constant_vk_stages_mask |=
shader_stage_masks[i];
	}
}
```

However binary_data.push_constant_vk_stages_mask is never initialized to
0 and thus contains garbage data or'ed with the good data.

This value is used by push constants (and many other things) thus it can
be a big deal.

Fortunately because the relevant flags are always guaranteed to be set
(but not guaranteed to be unset), the damage is restricted to:

1. Performance (unnecessary flushing & over-excessive barriers)
2. Overwriting push descriptors already set (this would be serious,
doesn't seem to be an issue)
3. Driver implementations going crazy when they see bits set they don't
expect (unknown if this is an issue)

This uninitialized value is later saved into the binary cache.

Valgrind is able to detect this bug on the first run, but not on the
subsequent ones because they data comes from a file.

cache_file_version has been bumped to force rebuild of all cached
shaders. Because the ones generated so far are compromised.
2023-07-29 18:28:33 -03:00
Danil Alexeev
ae42c23e09
GDScript: Add constant string support for POT generator 2023-07-29 19:24:48 +03:00
Aaron Franke
75f9c97dea
Merge pull request #79981 from RandomShaper/fix_res_imp_life_2
Fix life cycle of ResourceImporterTexture better
2023-07-29 10:56:28 -05:00
Fredia Huya-Kouadio
867fc02551 Fix npe when registering the sensors. 2023-07-28 18:58:16 -07:00
Yogendra Manawat
f0362cd37b Fixed Tree Selection Bug 2023-07-29 00:30:39 +05:30
Raul Santos
77e5e195f5
C#: Print error when MethodBind/Callable call fails 2023-07-28 19:18:08 +02:00
George Marques
c1bca65d09
GDScript: Optimize operators by assuming the types
This assumes that operators are called usually with the same type of
operands as the first time. So it stores the types of the first run and
if matched it uses an optimized path by calling the validated operator
function directly. Otherwise it uses the regular untyped evaluator.

With this change, if operators do use the same type they run quite
faster. OTOH, if the types mismatch it takes longer to run than they
would with the previous code.
2023-07-28 13:08:21 -03:00
Kirill Diduk
8b729e5b7e [bugfix] Fix reimporting scene withh default values selected
This commit fixes #78140

When the scene was re-imported with non-default values of some settings, re-importing it again using default values for those settings didn't have the effect.

The problem was that when handling the reimport, a wrong dictionary of the settings was used.
2023-07-28 16:53:33 +02:00
Clay John
031aa99d31
Merge pull request #79983 from detomon/initialize-msdf-parameters-in-base-material
Initialize MSDF parameters in BaseMaterial3D with default
2023-07-28 16:10:53 +02:00
kobewi
f7238fb3f4 Reverse condition for skipping directories 2023-07-28 16:07:18 +02: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