Commit graph

30011 commits

Author SHA1 Message Date
Rémi Verschelde f66ff33b25
Merge pull request #51719 from akien-mga/3.3-scoped-storage 2021-08-16 10:56:14 +02:00
Rémi Verschelde f1bf894085
Android: Increase default armv7 NDK platform to 19
Following #50359 this is the new minSdk that we target.
Users can still override it in custom builds if they want to support SDK 18.
2021-08-16 10:12:43 +02:00
ne0fhyk 2eb8875b77
Add partial support for Android scoped storage.
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30.
In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.

(cherry picked from commit c88d1608ab)
2021-08-16 09:56:32 +02:00
Rafał Mikrut 654d892570 Pin Godot 3.3 to same version of test project in CI 2021-08-15 22:46:51 +02:00
Rémi Verschelde 7054f93e10
Update AUTHORS and DONORS list
New contributors added to AUTHORS:
angad-k, Bhu1-V, Blackiris, ellenhp, fabriceci, follower,
foxydevloper, Geometror, hilfazer, hoontee, Janglee123,
Razoric480, SirQuartz, theoway.

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit d8a8d32f2e)
2021-08-13 12:17:15 +02:00
kobewi 1f87904366
Don't save project on startup in headless or no-window mode
(cherry picked from commit ea2489ce93)
2021-08-13 12:17:15 +02:00
Raul Santos f38abd593d
Fix Path3D initial forward calculation
(cherry picked from commit 102ec1042b)
2021-08-13 12:17:15 +02:00
Raul Santos 32bbe644ca
Fix forward calculation in PathFollow3D for the position at the end of the curve
(cherry picked from commit e23f6a5bba)
2021-08-13 12:17:15 +02:00
JestemStefan 86466737ff
Added minimum scale for node 2D
(cherry picked from commit b7817c7b59)
2021-08-13 12:17:15 +02:00
Fredia Huya-Kouadio 1c8682aa78
Resolve issue where the Godot app remains stuck when resuming.
This was caused by the fact that a new instance of Godot was created at resume while a previous instance already existed.
The previous instance would then go through its cleanup lifecycle, and would thus attempt to close the entire app, leading to the system to restart the app, thus starting the cycle anew.
The fix involves reusing the previous instance of Godot if one is available instead of creating a new one, as well as giving control to the host activity for how the process should be terminated.

(cherry picked from commit 874aa1708f)
2021-08-13 12:17:15 +02:00
Hugo Locurcio afefa8f70f
Fix incorrect descriptions for EditorFileSystem's get_file_type()
(cherry picked from commit 1942e0c117)
2021-08-13 10:41:32 +02:00
Fredia Huya-Kouadio d4eecf4535
Update external texture flag configuration.
(cherry picked from commit 2cc1cdc27b)
2021-08-13 10:41:19 +02:00
Max Hilbrunner 8c20e03150
Docs: Add warnings about no SSL/(D)TLS revocation
(cherry picked from commit 4eb427afb8)
2021-08-13 10:40:55 +02:00
Max Hilbrunner 0c6b5bdfeb
Update bundled Mozilla X.509 CA root certificates
Updated to latest upstream changes (2021-07-05 21:36:52 GMT), taken from 8b263a18fc

(cherry picked from commit d9005912c1)
2021-08-13 10:39:56 +02:00
Yuri Roubinsky a89346e227
Fix incorrect position of the created VisualShader nodes on zoomed graph
(cherry picked from commit 8249ae8085)
2021-08-13 10:39:21 +02:00
clayjohn 279af47ef9
Allow unclamped colors in Sprite3D
(cherry picked from commit f7dbcf95e1)
2021-08-13 10:39:03 +02:00
Hugo Locurcio 5da2675856
Clamp negative colors regardless of the tonemapper to avoid artifacts
Color artifacts could be visible when using negative lights with the
Filmic and ACES tonemapping operators, as these did not clamp negative
colors.

(cherry picked from commit 313527b3fa)
2021-08-13 10:38:06 +02:00
Rémi Verschelde 64af5e5db4
FileAccessWindows: Add missing share.h include
Follow-up to #51430.

(cherry picked from commit cb52f2c9c0)
2021-08-13 10:37:31 +02:00
Max Hilbrunner be6712fb3d
Fix Windows platform file access
This restores Windows platform file handling back to open files non-exlusively by default, as was the case before October 2018. (See b902a2f2a7)
Back then, while fixing warnings for MSVC, the function used for opening files was changed from _wfopen() to _wfopen_s() as suggsted by the warning C4996. ("This function may be unsafe, consider using _wfopen_s instead.")

This new function
1. did parameter validation and thus avoided some possible security issues due to nil pointers or wrongly terminated strings
2. it also changed the default file sharing for opened files from _SH_DENYNO (which was the implicit default for the previous _wfopen()) to _SH_SECURE.

_SH_DENYNO means every opened file could be opened by other calls (like is the default on other operating systems).
_SH_SECURE means if the file is opened with READ access, others can still read the same file, but if it is opened with WRITE access, others can't open it at all, not even to read.

This led to rarely occuring bugs on Windows, i.e. due to random access by Antivirus processes, or Godot/Windows not closing a file handle fast enough while trying to open it again elsewhere (i.e. project.godot, instead showing the Project manager, or saving shaders/debugging the game).

What this PR does it change the file access to a third method, _wfsopen(). This is still secure, doing parameter validation and thus avoids the warning, but it allows us to actually SET the file sharing parameter. And we set it to _SH_DENYNO, as it was implicitely before the change. (And as it currently is on all non-Windows platforms, where file sharing restrictions don't exist by default.)

Warning C4996 should really have been pointing this out. It should've been _wfsopen() all along. Let's hope this banishes those annoying, rare errors for all eternity.

Fixes #28036.

(cherry picked from commit b48cbb5da9)
2021-08-13 10:37:26 +02:00
Omar Polo 6cc9333fe8
automatically detect BSDs as platform=linuxbsd
(cherry picked from commit 78cd0ffdba)
2021-08-13 10:36:58 +02:00
Michael Alexsander f20a2d3da7
Make property description in the animation editor actually show it
(cherry picked from commit bea868f750)
2021-08-13 10:36:58 +02:00
follower 1785d3e030
Fix Unicode URL link tags to render correctly.
Change incorrect `[/code]` closing tags to `[/url]` tags.

The `url` tags for the links to the Unicode code points information use `[/code]` rather than `[/url]` to close them.

This results in the links being rendered incorrectly in the IDE--the entire rest of the documentation for each method gets turned into a giant underlined link.

This issue was introduced in a2271ba3bd.

(cherry picked from commit b85688ac7d)
2021-08-13 10:36:58 +02:00
Sergey Minakov ed5b7e38ce
[iOS] Use platform generated api to initialize iOS plugins
(cherry picked from commit d48d7cc94f)
2021-08-13 10:36:58 +02:00
Yuri Sizov 2cf58509dd
Improve the inspector plugin documentation and remove a confusing statement
(cherry picked from commit 974e76a082)
2021-08-13 10:36:57 +02:00
kleonc 5acfb5127c
TileMap Fix trying to get data for tile not existing in attached TileSet
(cherry picked from commit 2eeed26d67)
2021-08-13 10:36:57 +02:00
Georg Wacker eaf45d4f60
Fix vertical scroll/zoom for precision touchpad
Adds factor data for vertical mousewheel event, in line with horizontal mousewheel event

(cherry picked from commit 63ba15a518)
2021-08-13 10:36:57 +02:00
Hugo Locurcio 5b3f6a6d34
Point at software OpenGL when OpenGL fails to initialize on X11
(cherry picked from commit 8fbdcb6fea)
2021-08-13 10:36:57 +02:00
Francois Belair 520fa45f0d
Fix LSP parsing get_node only from the scene root
(cherry picked from commit 03f8fa9f62)
2021-08-13 10:36:57 +02:00
Ellen Poe 994cafb9f1
Fix Godot's cubic resampling algorithm
(cherry picked from commit 2d450c6f61)
2021-08-13 10:27:52 +02:00
Ellen Poe f26390769a
Revert "Implement a new resampling algorithm in AudioStreamPlaybackResampled"
This reverts commit b2264cb48b.

(cherry picked from commit 57ccfab5fb)
2021-08-13 10:27:45 +02:00
Rémi Verschelde b0bb791e4a
HTML5: Fix a couple warnings
Add a missing call to disable warnings on a forked env for freetype's
`sfnt.c`.

(cherry picked from commit c44ebb020d)
(cherry picked from commit 0142a378c6)
2021-08-13 10:27:13 +02:00
Rémi Verschelde 2ac5a8dd2e
SCons: Add method to detect Emscripten and use it for warnings config
Emscripten is LLVM-based so we want to follow the same logic. But we can't just
put it as a match in `methods.using_clang()` as that would mess with the
compiler version detection logic used to restrict old GCC and Clang releases.

(cherry picked from commit 34421683eb)
(cherry picked from commit e7f7d5f330)
2021-08-13 10:27:08 +02:00
Rémi Verschelde e78a8b2424
SCons: Disable Clang -Wordered-compare-function-pointers warning
It's raised for us on many comparators implemented to be able to store a struct
in `Set` or `Map` (who rely on `operator<` internally). In the cases I reviewed
we don't actually care about the ordering and we use the struct's function
pointers as that's the only distinctive data available.

(cherry picked from commit 802810c371)
(cherry picked from commit 4c79dcc3e7)
2021-08-13 10:27:04 +02:00
Iced Quinn bb14eb9743
doc: Add documentation for JSONRPC class
(cherry picked from commit 3fc5646b98)
2021-08-13 10:25:58 +02:00
kleonc 17fcd76a74
TabContainer Fix moving dropped tab at incorrect child index
(cherry picked from commit a5a4532378)
2021-08-05 16:38:29 +02:00
Rémi Verschelde 54084ac70d
SCons: Fix info message when defining GODOT_VERSION_STATUS
(cherry picked from commit e92ba89dc7)
2021-08-05 16:36:58 +02:00
Rémi Verschelde 6b15d9a435
Merge pull request #51212 from Faless/net/3.3_ip_lock_fix
[3.3] [Net] Fix IP address resolution incorrectly locking the main thread.
2021-08-03 15:57:10 +02:00
Fabio Alessandrelli 6ff869eda7 [Net] Fix IP address resolution incorrectly locking the main thread.
This seems to be a pretty old bug, older then originally reported (at
least under certain circumstances).

The IP singleton uses a resolve queue so developers can queue hostnames
for resolution in a separate while keeping the main thread unlocked
(address-resolution OS functions are blocking, and could block for a long
time in case of network disruption).

In most places though, the address resolution function was called with
the mutex locked, causing other functions (querying status, queueing
another hostname, ecc) to block until that resolution ended.

This commit ensures that all calls to OS address resolution are done
with the mutex unlocked.
2021-08-03 15:39:48 +02:00
kobewi 4bc527fedd
Improve ConfigFile example
(cherry picked from commit 1721f0143e)
2021-08-03 14:57:34 +02:00
Rémi Verschelde dec840452d
i18n: Sync translations with Weblate
Last POT sync with the `3.3` branch, we'll now switch Weblate to track
`3.x` to prepare for the 3.4 release.
2021-08-03 10:32:32 +02:00
merumelu ea0bdb6860
makerst: use link titles for external tutorials
(cherry picked from commit b8752d91dc)
2021-08-03 10:32:32 +02:00
Rémi Verschelde 16fd1c421e
doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.

(cherry picked from commit 7adf4cc9b5)
2021-08-03 10:32:31 +02:00
Rémi Verschelde c5589c76ce
Allow overriding VERSION_STATUS with GODOT_VERSION_STATUS in env
`VERSION_STATUS` is part of what constitutes the reference version for a given
Godot build, and is part of the version check for compatible export templates.

For dev snapshots (alpha, beta, RCs), we usually set the `VERSION_STATUS` to
a specific build number (e.g. `beta2`), but this change doesn't end up
committed to the Git repository as we don't want to keep changing `version.py`
for testing builds.

So this new environment override will be what can be used in official builds
and by users making custom builds for specific snapshots.

(cherry picked from commit 948dcb63ca)
2021-08-03 09:29:23 +02:00
Rémi Verschelde edef9a9c86
Add script to make source tarball with .git/HEAD
This allows to generate the `VERSION_HASH` constant with the Git commit hash
even when building from a source tarball which is not a Git repository (and
without dependency on Git itself).

(cherry picked from commit 9a71038e34)
2021-08-03 09:29:10 +02:00
Kevin Sanders 620579eaf8
Grammar fix.
(cherry picked from commit 6db57b9da2)
2021-08-03 09:28:47 +02:00
Yuri Roubinsky 73f40a1efc
Prevent warning spam to console when dragging a CanvasItem in container
(cherry picked from commit bb5729fd35)
2021-08-03 09:28:31 +02:00
Hugo Locurcio 5e3ed7e014
Link to the Random number generation tutorial in RandomNumberGenerator
This was done in `master` already, but not in `3.x`.

(cherry picked from commit 93f4f9e076)
2021-08-03 09:28:00 +02:00
Haoyu Qiu 321a4bfcd8
Make action names translatable
(cherry picked from commit a3b221e99f)
2021-08-03 09:27:12 +02:00
Rémi Verschelde 7be11742b5
VariantParser: Fix uninitialized ResourceParser funcs
They could cause a segfault when parsing values with ID "Resource"
as apparently we never set a valid `func` for it.

Fixes crash part of #42115.

(cherry picked from commit f3aaa713d9)
2021-08-03 09:25:48 +02:00
Nicholas Huelin f84de49718
Make "Find in Files" searches ignore directories with .gdignore files in them
This pull request fixes an issue where searches using the "Find in Files" function would include folders with `.gdignore` files in them. The editor is supposed to ignore directories with these files in them altogether.

(cherry picked from commit 658b152bd8)
2021-08-03 09:25:10 +02:00