Commit Graph

29764 Commits

Author SHA1 Message Date
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
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
Bastiaan Olij 717f3227ec ARVR GDNative enhancements:
- add set_interface function
- add access to depth buffer
- add supplying a depth buffer from an ARVR plugin
2021-03-25 22:37:47 +11:00
Francois Belair 7f8fe58825 Make LSP parser aware of variables in sub-blocks
Fixes #43164 and Fixes godotengine/godot-vscode-plugin#207
2021-03-24 16:52:38 -04:00
Rémi Verschelde ed1f5c29be
Merge pull request #47319 from akien-mga/3.x-embree-msvc-msse2
SCons: Don't pass -msse2 to MSVC for Embree
2021-03-24 13:38:04 +01:00
Fabio Alessandrelli 6daa1643b0
[Net] Fix miniupnpc UWP build.
The patch has already been upstreamed, and custom patching won't be
needed during next version update.

(cherry picked from commit 8d5df826cb)
2021-03-24 13:13:59 +01:00
Rémi Verschelde 92daf26043
SCons: Don't pass -msse2 to MSVC for Embree
This is a flag only supported by GCC/Clang.
2021-03-24 13:13:18 +01:00
Fabio Alessandrelli 193233e893
[HTML5] Clarify editor PWA manifest.json
Update name and description to clarify it's the web version.

(cherry picked from commit ecb792b1da)
2021-03-24 11:53:08 +01:00
nathanwfranke 1cfa2ad166
Fix transparent editor theme being brighter
(cherry picked from commit 0222f78482)
2021-03-24 10:31:14 +01:00
Rémi Verschelde 60c36af6dc
Remove now unnecessary ResourceImporterCSV importer
Its only purpose was to prevent importing CSV files as translations, but it
would still import them as *nothing*, leading to workflow issues.

This is now properly fixed with #47268 which allows disabling the import for
specific files.

(cherry picked from commit 7ed2220928)
2021-03-24 10:29:16 +01:00
Rémi Verschelde a58523407f
Merge pull request #47102 from lawnjelly/large_fvf_revamp
Batching - separate single item from large fvf logic
2021-03-23 22:24:36 +01:00
Rémi Verschelde 3d649d37f8
Merge pull request #47300 from akien-mga/3.x-keep-import
[3.x] Add a "keep" import mode to keep files as-is and export them.
2021-03-23 18:48:34 +01:00
Juan Linietsky 16c0147d75
Remove FileSystem dock errors on unimported files
* Removes error shown when file is in 'keep' mode
* Display a warning when attempting to open the file
* Closes #47296

(cherry picked from commit 4706297356)
2021-03-23 15:44:52 +01:00
Juan Linietsky 24e1ba1298
Add a "keep" import mode to keep files as-is and export them.
(cherry picked from commit 8d64f3bd76)
2021-03-23 15:44:24 +01:00
Rémi Verschelde 69e6ba1591
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@807ac1fbf9.

(cherry picked from commit cde67f0315)
2021-03-23 13:41:06 +01:00
Rémi Verschelde 1aba997d75
doc: Sync classref with 3.3 version bump 2021-03-23 13:40:34 +01:00
Fabio Alessandrelli 8b904e7d66
[HTML5] Logitech Dual Action Gamepad FF/Linux
(cherry picked from commit 70d5f652a2)
2021-03-23 13:16:23 +01:00
Alex Hirsch 44855c40da
FBX Import: Normalize rotation quaternions
fix #47174

(cherry picked from commit 72d3bfc88c)
2021-03-23 13:16:09 +01:00
Hugo Locurcio df27173750
Make the expected method calling order in SurfaceTool more explicit
(cherry picked from commit 6648dc58d3)
2021-03-23 13:15:30 +01:00
Rémi Verschelde 7c82092b41
Merge pull request #47286 from DarkKilauea/fix-moment-of-inertia-3.x
[3.x] [Godot Physics]: Correct typo in moment of inertia calculations.
2021-03-23 10:31:26 +01:00
Rémi Verschelde 1ed0280de7
Merge pull request #47160 from puchik/shadow-filter-resolution
[3.x] Take resolution into account when setting the max shadow cubemap size (omni light shadow jaggies fix)
2021-03-23 09:45:14 +01:00
Rémi Verschelde 6fbe785cff
Merge pull request #43889 from omegachysis/3.2
[3.x] Fix race condition on `script_binding` in C#
2021-03-23 09:02:24 +01:00
Arman 8d156d9e5c Take resolution into account when setting the max shadow cubemap size
Co-authored-by: Clay John <clayjohn@gmail.com>
2021-03-22 23:11:38 -07:00
Josh Jones 9327052bed [Godot Physics]: Correct typo in moment of inertia calculations.
The moment of inertia calculation for BoxShape is:

```
Vector3(
    (p_mass / 3.0) * (ly * ly + lz * lz), 
    (p_mass / 3.0) * (lx * lx + lz * lz), 
    (p_mass / 3.0) * (lx * lx + ly * ly));
```

where the final line includes both the x and y extents.

However, for CapsuleShape3D, CylinderShape3D, ConvexPolygonShape3D, ConcavePolygonShape3D, and HeightMapShape3D, the final line read `(p_mass / 3.0) * (extents.y * extents.y + extents.y * extents.y)`.  I believe this is a mistake, considering the comment in each case mentions using an AABB approximation, which should follow the same approach as BoxShape.

This change corrects the final line to include both the x and y components of the shape's extent.
2021-03-22 20:23:39 -07:00
Matthew A. Robinson b4455ffd75 Add mutex protecting script bindings map from getting corrupted 2021-03-22 20:26:44 -04:00