Commit Graph

29888 Commits

Author SHA1 Message Date
lawnjelly d67975c1cd BVH - prevent self collisions
I had missed a special case check for userdata of two colliding objects being equal. In this case, collisions should not be reported. This is used in the physics to prevent self intersection in composite objects.
2021-04-04 09:13:58 +01:00
Rémi Verschelde 34c23002ff
Merge pull request #47591 from lawnjelly/ewok_normal_polarity
Batching - flip normal map polarity for rects
2021-04-03 20:57:15 +02:00
Vaughan Ling f60b90d92e Add iOS Apple Pencil pressure 2021-04-03 10:30:57 -07:00
lawnjelly 8348c97a8d Batching - flip normal map polarity for rects
An earlier PR #46898 had flipped the rotation basis polarity. This turns out to also need a corresponding flip for the light angles for the lighting to make sense.
2021-04-03 10:53:20 +01:00
clayjohn 92bf493821 Fix multimesh being colored by other nodes GLES3 2021-04-02 14:01:47 -07:00
Rémi Verschelde e6e1f6212d
Merge pull request #47553 from Razoric480/lsp-didDelete
Implement LSP didDeleteFiles to clear diagnostics
2021-04-01 21:57:14 +02:00
Francois Belair 4e8e887748 Implement LSP didDeleteFiles to clear diagnostics
Fixes #43133
2021-04-01 13:41:53 -04:00
volzhs da4cec620e Make ensure_correct_normals working on GLES2 2021-04-01 16:33:35 +09:00
Kyle b38a36923a
Fix gdnative config file set as null
Fixes #45997.

Setting a GDNativeLibrary config file as null or any other object but a ConfigFile will now cause an error.

(cherry picked from commit 618dd892f5)
2021-03-31 21:32:12 +02:00
Rémi Verschelde 54f0d8cf96
Merge pull request #47533 from qarmin/fix_navigation
[3.x] Validate argument in Navigation2D::navpoly_add
2021-03-31 20:29:45 +02:00
Rafał Mikrut 050edac8e0 Validate argument in Navigation2D::navpoly_add 2021-03-31 20:10:51 +02:00
Rémi Verschelde 7b35fc4549
Merge pull request #47382 from akien-mga/3.x-tilemap-collisions-opt-in
TileMap: Make collision visibility opt-in
2021-03-31 17:59:41 +02:00
AndreaCatania bd5663e2cf
Fixes editor crash on closing
Fixes editor crash when the gizmo is destroyed and the `SceneTree` is already freed.

(cherry picked from commit 79f55fcded)
2021-03-31 12:47:54 +02:00
Rémi Verschelde 72a547dc9d
TileMap: Make collision visibility opt-in
Supersedes #47204, see discussion there.
2021-03-30 23:39:37 +02:00
Hugo Locurcio 5fdb8b02e3
Require editor restart after changing GUI custom theme or font
The `restart_if_changed` project setting hint wasn't set correctly.

(cherry picked from commit 0724424179)
2021-03-30 16:02:33 +02:00
Rémi Verschelde 1435b2f2cb
Merge pull request #47490 from akien-mga/3.x-html-editor-link
HTML5: Fix link to documentation on editor template
2021-03-30 12:46:06 +02:00
Rémi Verschelde 1d20bba0c4
HTML5: Fix link to documentation on editor template 2021-03-30 11:47:43 +02:00
Rémi Verschelde cca2637b9b
i18n: Sync translations with Weblate 2021-03-30 00:03:07 +02:00
Fabio Alessandrelli 74fd9409d5
[HTML5] Fix WM notifications not being called.
Regression from the library refactoring, binding and not calling is
pretty useless 'o_o.

(cherry picked from commit 01658adb30)
2021-03-29 21:09:19 +02:00
Rémi Verschelde 10fb798883
Merge pull request #47456 from akien-mga/3.x-windows-mingw-aslr
Windows: Disable ASLR protection w/ MinGW, it breaks Mono
2021-03-29 19:06:44 +02:00
Fabio Alessandrelli b402c1cb17
[HTML5] Fix Mono builds (old emcc?)
Promise chaining the emscripten module `then` function breaks it badly,
causing an infinite loop.
I'm unsure about the source of the issue, but most likely at this point
is due to the old emscripten version (I remember very old html5 builds
having issue with promise chaining too).

With this commit, we no longer use the module as a promise, and
instantiate it using `Promise` objects directly for compatibility.

(cherry picked from commit ae3c9345cc)
2021-03-29 19:04:29 +02:00
geekrelief 2bf0b2996a
fixes #46839, ensure library_classes is cleared and free funcs are called
Co-authored-by: toasteater <48371905+toasteater@users.noreply.github.com>
Co-authored-by: Jan Haller <bromeon@gmail.com>
(cherry picked from commit 58fa4973f6)
2021-03-29 16:26:40 +02:00
Rémi Verschelde f7a999c814
Windows: Disable ASLR protection w/ MinGW, it breaks Mono
We might be able to make it work by building Mono itself with
ASLR protection too, but there might still be issues when loading
e.g. GDNative DLLs built without ASLR protection.

In the short term this is not a goal, but we can reconsider later
what is actually needed for ASLR protection to work and keep things
user-friendly.
2021-03-29 14:39:20 +02:00
bruvzg 7447c3b76c
[macOS] Enable code signing by default, use ad-hoc signature if no identity specified.
(cherry picked from commit 09c8e69232)
2021-03-29 14:29:54 +02:00
volzhs b4d88cfe20
Fix typo 'previus_selected'
(cherry picked from commit 990c88f24c)
2021-03-29 14:23:43 +02:00
volzhs 3ee4efe1eb
Fix drawing boxselection on GraphEdit
(cherry picked from commit 1bdc14acea)
2021-03-29 14:23:08 +02:00
Bastiaan Olij 4cce36e35d Change ARVRPositionalTracker to a reference and better expose it to GDNative 2021-03-29 23:01:04 +11:00
skyace65 98caee44f3
Add a warning on using directory to access of imported files
(cherry picked from commit 4378ef0bb7)
2021-03-29 09:26:27 +02:00
Rémi Verschelde 92b27e4944
Merge pull request #47429 from Calinou/doc-giprobe-sdfgi-leaks-3.x
Document how to avoid light leaks with GIProbe
2021-03-28 14:16:56 +02:00
Hugo Locurcio b6ed099b3d
Document how to avoid light leaks with GIProbe 2021-03-28 01:05:58 +01:00
Rémi Verschelde ab4c73604d
Merge pull request #44696 from madmiraal/fix-44632-3.2
[3.x] Remove all elements from monitored_bodies and monitored_areas when processed
2021-03-26 16:34:27 +01:00
Rémi Verschelde b450c0091a
Merge pull request #42824 from madmiraal/update-intersect_point-doc-3.2
[3.x] Update intersect_point documentation to mention solid shapes.
2021-03-26 15:48:36 +01:00
Hugo Locurcio 4126d27468
Add Open Graph metadata to the HTML5 editor
- Consistently use double quotes in the HTML markup.
- Define English language to assist screen readers and search engines.
- Add missing `alt` text for the logo image.
- Remove duplicate `id` for the preload project ZIP input.

(cherry picked from commit 197d391f08)
2021-03-26 13:47:53 +01:00
Morris Tabor 63b7b7773c Fix draw order of transparent materials with multiple directional lights 2021-03-26 12:31:40 +01:00
Rémi Verschelde acbd1e8b02
Merge pull request #46781 from BastiaanOlij/gdn_set_interface
Add set_interface for access by GDNative
2021-03-26 11:27:27 +01:00
Rémi Verschelde c37c95d1c9
Merge pull request #47108 from lawnjelly/software_skinning_docs
Add to 2d software skinning classref note about custom shaders
2021-03-26 11:22:59 +01:00
Rémi Verschelde f31523a99e
Merge pull request #47187 from lawnjelly/ewok_poly_protection
Batching - add protection against invalid polys
2021-03-26 11:20:46 +01:00
Rémi Verschelde 015973df04
doc: Make all tutorial links point to 3.3 branch of docs 2021-03-26 10:43:43 +01:00
Paul Joannon 596169d7df
class reference proofreading
(cherry picked from commit 8455e901f3)
2021-03-26 09:49:07 +01:00
kobewi e8e69b2d50
Clarify that get_unix_time() returns seconds
(cherry picked from commit 6e4a8b7f37)
2021-03-26 09:23:12 +01:00
Haoyu Qiu be18262888
Check section existance before getting keys
(cherry picked from commit 40d6a25ef5)
2021-03-26 09:22:22 +01:00
Rémi Verschelde e0d261be00
Merge pull request #47368 from hpvb/fix-tls-mingw
[3.3] Fix thread_local, tls, ASLR, and DEP with MingW
2021-03-26 08:43:58 +01:00
PouleyKetchoupp 3ea72b273d Heightmap collision shape support in Godot Physics 2021-03-25 16:52:20 -07:00
Hein-Pieter van Braam-Stewart ff3099abcf Fix thread_local, tls, ASLR, and DEP with MingW
This commit changes the way Thread::caller_id works. By moving caller_id
to the .cpp file we make sure that the TLS variable doesn't get
relocated twice causing a crash. Since we build with LTO for release
builds (and everyone should be doing that anyway) there is no extra
overhead from the non-static method. We do do an extra bool check now
there but I don't think this will add much in the way of overhead.

This check cannot be avoided if we still want to be able to cache the
thread ID hash, as we had to move the setter because of limitations of
the WinRT platform. The original workaround for this was in #46813 but
this has some unintended consequences. Specifically; threads that never
create a Thread object will always return 0 in Thread::get_caller_id()
which caused a regression. For instance the editor now freezes when
importing large textures. This PR also addresses that.

Additionally we now enable ASLR support when building with MingW, this
includes a workaround for MingW. MingW refuses to create an appropriate
relocation table if no symbols are exported. So we just export the
various main() functions in godot_windows.cpp.

While ASLR support isn't criticial for Godot, previous versions of Godot
just happened to work with a dynamic base 'by accident' and some users
run Godot this way. After the thread change the .tls section now needs
relocations to make this work. By enabling ASLR at build-time we create
these relocations and people who forced ALSR on previously will now get
a working Godot again.

This fixes #47256 and fixes #47219

This is the 3.x version of this PR. For master a different approach is
possible which I will make in the coming days.
2021-03-25 23:20:12 +01:00
Rémi Verschelde 6d022f813f
Merge pull request #47360 from lupoDharkael/modal-close-click
[3.x] Control: Expose pass_on_modal_close_click
2021-03-25 18:52:42 +01:00
lupoDharkael 3b0cf34299 Control: Expose pass_on_modal_close_click 2021-03-25 18:29:41 +01:00
Morris Tabor e06b096994 Fix ParticlesMaterial spread 2021-03-25 17:27:00 +01:00
Rémi Verschelde 6c3e6a5109
Merge pull request #47354 from lucicam/3.x
Fix failure in set_primary_interface when parameter is null
2021-03-25 16:10:19 +01:00
Rémi Verschelde 9008b34fc4
Merge pull request #47338 from Razoric480/lsp-sublock-vars
Make LSP parser aware of variables in sub-blocks
2021-03-25 15:57:04 +01:00
lucicam 7c0255695d Fix failure in set_primary_interface when parameter is null
The program would fail if the parameter is passed as null in set_primary_interface because
in the print_verbose, the get_namea) method is called on the parameter and this causes a
failure if the parameter that was passed is null.
2021-03-25 15:29:16 +02:00