Commit graph

33440 commits

Author SHA1 Message Date
Alex Hirsch
09bda3f140 Always dynamically allocate PropertyTable
- `Texture::~Texture` expects `props` to be dynamically allocated.

- `GetPropertyTable` returned a pointer to an existing `PropertyTable`
  but is expected to return a newly, dynamically allocated one.

- `PropertyTable::PropertyTable()` suggests that an empty `element`
  property is valid.

fix #46876
fix #45573
2021-03-10 19:12:23 +01:00
Rémi Verschelde
85cb3c044d
Merge pull request #44324 from Calinou/doc-basematerial3d-height-no-triplanar
Document that BaseMaterial3D doesn't support height mapping + triplanar
2021-03-08 19:41:11 +01:00
Rémi Verschelde
b6e97c10ad i18n: Sync translations with Weblate
(cherry picked from commit f1f472439e)
2021-03-08 17:51:58 +01:00
Rémi Verschelde
b3506bc63b Update AUTHORS and DONORS list
New contributor added to AUTHORS:
@Ev1lbl0w

Thanks to all contributors and donors for making Godot possible!
2021-03-08 17:36:20 +01:00
Rémi Verschelde
ee13944f9c
Merge pull request #46795 from angad-k/use_collision_mask_in_vehicle_raycast
use collision mask in vehicle raycast
2021-03-08 17:30:14 +01:00
Rémi Verschelde
8507b69c13
Merge pull request #46796 from Faless/js/4.x_pwa_simple
[HTML5] Add PWA support to the editor page.
2021-03-08 17:29:48 +01:00
Fabio Alessandrelli
d8bd54fbf2 [HTML5] Add PWA support to the editor page.
This allows to install it as an app, and provide offline support (after
the first run).
Practically, this boils down to adding a JSON file as a manifest, an
offline page to be displayed when the cached files are not avaialble,
and a JS file to cache resources and return them.

The reason for the "first run requirements" is that some browsers, will
emit an "install" by just visiting the page (to see if the JS code is
compatibile), and we do not want to force casual visitors to just
download the 10 MiB+ compressed editor WebAssembly file without pressing
the start button.

Special thanks to Hugo Locurcio (Calinou) for the initial work.
2021-03-08 17:06:24 +01:00
Fabio Alessandrelli
0816011e86 [HTML5] Catch audio worklet errors on disconnect.
Which could happen if the worklet was not fully loaded, or the audio
context had already aborted.
2021-03-08 17:06:24 +01:00
Angad Kambli
bfc533fc4c use collision mask in vehicle raycast 2021-03-08 20:57:23 +05:30
Rémi Verschelde
8af3d56631
Merge pull request #46792 from akien-mga/linux-fix-detect_prime-steam
Linux: Fix PRIME detection on Steam
2021-03-08 16:13:27 +01:00
Rémi Verschelde
14f330c95e
Merge pull request #46771 from socket220/master
pop-up usability enhancement for support-level button
2021-03-08 16:02:09 +01:00
Rémi Verschelde
ae850177a3 Linux: Fix PRIME detection on Steam
To avoid trying to do PRIME detection on fake `libGL.so` as used by e.g.
Renderdoc or Primus, we skip detection if there's a `libGL.so` in
`LD_LIBRARY_PATH`... and our luck is that Steam defines it and includes
system paths too, thus the actual system `libGL`... 🤦

So if we detect Steam, we skip this check.

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-03-08 15:51:14 +01:00
Rémi Verschelde
26d1b30d35
Merge pull request #46174 from xill47/mono-appdomain-unhandled-exception-event
Added mono_unhandled_exception call to unhandled_exception hook
2021-03-08 13:26:47 +01:00
Ilya Kuznetsov
6061ff7ba1 Added mono_unhandled_exception call to unhandled_exception hook 2021-03-08 12:57:50 +01:00
Rémi Verschelde
aa6bbdc7a8
Merge pull request #46787 from nemerle/fix_animation_track_editor_opt_confirm
Fix incorrectly connected optimize_dialog/confirmed signal in AnimationTrackEditor
2021-03-08 11:35:35 +01:00
nemerle
7bbacb5ff6 fix incorrectly connected optimize_dialog signal 2021-03-08 11:14:45 +01:00
Rémi Verschelde
d52974ba95
Merge pull request #46776 from jmb462/fix-label-visible_characters_bad_precision
fix Label visible_characters bad precision (Fix #46775)
2021-03-08 10:30:50 +01:00
Rémi Verschelde
9a33c1b6a6
Merge pull request #46782 from bruvzg/fix_def_theme_size
Improve bitmap font scaling. Fix default theme font size.
2021-03-08 10:03:12 +01:00
Fabio Alessandrelli
aafbeb2be3
Merge pull request #43459 from MaxMutantMayer/hashing_context_unit_tests
Add unit tests for HashingContext
2021-03-08 09:53:07 +01:00
bruvzg
43c7c279d5
Improve bitmap font scaling. Fix default theme font size. 2021-03-08 09:56:40 +02:00
Rémi Verschelde
3856bc5afe
Merge pull request #46642 from BastiaanOlij/sdfgi_rename_and_cleanup
Renamed SDGIShader to SDFGIShader and moved a bunch of things to private
2021-03-08 08:22:48 +01:00
jmb462
3bd44f3cb6 fix Label visible_characters bad precision 2021-03-07 23:18:16 +01:00
Rémi Verschelde
7739db3799
Merge pull request #46774 from akien-mga/scons-respect-path
SCons: Fix parsing PATH when constructing base environment
2021-03-07 22:50:52 +01:00
Rémi Verschelde
5d217a9441 SCons: Fix parsing PATH when constructing base environment
We constructed the SCons environment without taking any (shell) environment
variables into account, and then appended a few, but too late. This would
cause variables like `env[CXX]` not to be properly expanded to respect a
non-standard `PATH`.

With this fix, setting:
```
PATH=$GODOT_SDK/bin:$PATH
```
will now properly use `$GODOT_SDK/bin/gcc` if available over `/usr/bin/gcc`.
2021-03-07 22:28:46 +01:00
Rémi Verschelde
1e59443cd2
Merge pull request #46769 from Calinou/assetlib-widen-pagination-buttons
Make the pagination buttons wider in the asset library browser
2021-03-07 21:48:27 +01:00
gatalskii
efe05a166e mod: pop-up usability enhancement for support button
Now after choosing support level pop-up doesn't hide after each click
2021-03-07 22:51:40 +03:00
Maximilian Mayer
f12d205c1f Add unit tests for HashingContext 2021-03-07 20:33:08 +01:00
Hugo Locurcio
25c6acb702
Make the pagination buttons wider in the asset library browser
This makes the page number buttons easier to click.
2021-03-07 20:11:58 +01:00
Rémi Verschelde
9b853d7a7b
Merge pull request #46572 from jmb462/fix-selection-error-after-commenting-or-indenting
Fix selection error after commenting or indenting text (Fix #46477 issue)
2021-03-07 17:03:54 +01:00
Rémi Verschelde
dc2207d8e8
Merge pull request #46627 from jmb462/fix-incorrect-autoindentation-in-multiline-brackets
Fix incorrect auto-indentation in multiline brackets (fix #46384)
2021-03-07 16:55:32 +01:00
Rémi Verschelde
daab4c9ac4
Merge pull request #46760 from qarmin/fix_memory_leak_vulkan
Fix memory leak in VulkanContext
2021-03-07 16:40:32 +01:00
Rafał Mikrut
f9d0ea9f6b Fix memory leak in VulkanContext 2021-03-07 15:28:47 +01:00
Rémi Verschelde
c487f1e854
Merge pull request #46643 from YeldhamDev/hide_all_the_things
Hide more options of disabled properties
2021-03-07 15:12:15 +01:00
Rémi Verschelde
afd0df7921
Merge pull request #46386 from KoBeWi/projekt_settingz
Clarify ProjectSettings.save for exported projects
2021-03-07 10:17:59 +01:00
kobewi
156c402f2b Allow to save override.cfg with ProjectSettings 2021-03-07 01:21:44 +01:00
Rémi Verschelde
15bd2bf03f
Merge pull request #46713 from neikeq/csharp-source-generators-init
Add C# source generator for ScriptPathAttribute
2021-03-07 01:04:47 +01:00
Rémi Verschelde
dea8105a38
Merge pull request #46704 from Duddino/master
Checking if there is a collider when calling `SoftBody::remove_collision_exception_with`
2021-03-07 00:21:13 +01:00
Rémi Verschelde
9bc9948cbf
Merge pull request #46739 from KoBeWi/hungry_spinbox_eats_cursor
Release mouse when SpinBox leaves scene tree
2021-03-07 00:06:08 +01:00
Rémi Verschelde
27aacabf81
Merge pull request #46742 from bruvzg/thread_id_fix
Improve thread IDs to avoid collisions with threads not created by the Godot API.
2021-03-07 00:01:52 +01:00
bruvzg
9887c2b4f0
Improve thread IDs to avoid collisions with threads not created by the Godot API. 2021-03-07 00:17:20 +02:00
kobewi
83f6c6b360 Release mouse when SpinBox leaves scene tree 2021-03-06 22:22:24 +01:00
Ignacio Etcheverry
e2afe700f6 Add C# source generator for a new ScriptPath attribute
This source generator adds a newly introduced attribute,
`ScriptPath` to all classes that:

- Are top-level classes (not inner/nested).
- Have the `partial` modifier.
- Inherit `Godot.Object`.
- The class name matches the file name.

A build error is thrown if the generator finds a class that meets these
conditions but is not declared `partial`, unless the class is annotated
with the `DisableGodotGenerators` attribute.

We also generate an `AssemblyHasScripts` assembly attribute which Godot
uses to get all the script classes in the assembly, eliminating the need
for Godot to search them. We can also avoid searching in assemblies that
don't have this attribute. This will be good for performance in the
future once we support multiple assemblies with Godot script classes.

This is an example of what the generated code looks like:

```
using Godot;
namespace Foo {
	[ScriptPathAttribute("res://Player.cs")]
	// Multiple partial declarations are allowed
	[ScriptPathAttribute("res://Foo/Player.cs")]
	partial class Player {}
}

[assembly:AssemblyHasScripts(new System.Type[] { typeof(Foo.Player) })]
```

The new attributes replace script metadata which we were generating by
determining the namespace of script classes with a very simple parser.
This fixes several issues with the old approach related to parser
errors and conditional compilation.
It also makes the task part of the MSBuild project build, rather than
a separate step executed by the Godot editor.
2021-03-06 21:50:32 +01:00
Rémi Verschelde
05248535f7
Merge pull request #46641 from KoBeWi/unsaved_forever
Don't save unchanged script upon closing
2021-03-06 21:06:06 +01:00
kobewi
12f5a5a701 Don't save unchanged script upon closing 2021-03-06 20:17:19 +01:00
Rémi Verschelde
a4b5edf468
Merge pull request #46728 from Faless/js/4.x_fetch_world
[HTML5] Replace XMLHttpRequest(s) with Fetch.
2021-03-06 16:15:09 +01:00
Rémi Verschelde
ac249032bf
Merge pull request #46727 from RandomShaper/fix_nfs_crash
Fix crash on cleanup of EditorFileServer
2021-03-06 16:11:23 +01:00
Pedro J. Estébanez
565796518d Fix crash on cleanup of EditorFileServer 2021-03-06 13:29:40 +01:00
Duddino
c47070e165 Added some checks to prevent accessing a null collider
Previously godot would try to access
`CollisionObjectBullet::bt_collision_object` even if it was null.
Fixes #46651
2021-03-06 12:07:27 +01:00
Fabio Alessandrelli
fd76977183 [HTML5] Replace XMLHttpRequest with Fetch.
This has some advantages:
- Streaming/chunked response support.
- Broader headers support.
2021-03-06 11:44:07 +01:00
Rémi Verschelde
17e66382b8
Merge pull request #46686 from akien-mga/doc-irc-rocketchat
Link to Godot Contributors Chat instead of IRC
2021-03-06 00:05:44 +01:00