Commit graph

4693 commits

Author SHA1 Message Date
Rémi Verschelde
1cf444aff0
Merge pull request #58686 from vnen/gdscript-warn-export-type-mismatch 2022-03-10 21:12:05 +01:00
Rémi Verschelde
1639b3a6a9
Merge pull request #58674 from Calinou/smooth-trimesh-collision-always-setting-3.x 2022-03-10 21:11:44 +01:00
PouleyKetchoupp
622ef48dae Fixed ccd enabled by default on Bullet bodies
It was due to main_shape_changed being called two times for each
added body. The first time it disables ccd, which sets the internal ccd
threshold to be 10000. The second time, it enables ccd again because
the internal threshold is > 0.

Bodies are now consistently set with a ccd threshold of 0 when ccd is
disabled.

This was causing crashing asserts in Bullet when adding bodies in some
scenarios, in btVector3::normalize():
btAssert(!fuzzyZero());

These crashes will still happen with ccd enabled.

(cherry picked from commit faca8b77aa)
2022-03-10 19:02:01 +01:00
hoontee
a4088a995c
Properly handle CSGShape parent and visibility updates 2022-03-09 17:32:35 -06:00
MythTitans
d13e1278ac Fix normals computation at the 'seam' of smoothed sphere and cylinder shapes
(cherry picked from commit 509e03c821)
2022-03-09 09:53:26 +01:00
Hugo Locurcio
413689559c
Always register the Smooth Trimesh Collision project setting
This ensures the project setting never disappears from the editor,
even if the current physics engine is GodotPhysics.

This also adds documentation for the Smooth Trimesh Collision
project setting.
2022-03-02 18:50:21 +01:00
George Marques
f2166ba92f
GDScript: Don't coerce default values to the export hint type
This behavior is inconsistent with non tools builds and can create
issues. Instead, a warning is emitted if there's a type mismatch. If the
type can't be converted, an error is shown instead.

For the editor it gives a converted value to avoid issues with the
property editor, which expects the correct type.
2022-03-02 12:26:17 -03:00
jfons
0959ff2fe4 Add sanity checks to lightmap unwrap texel size
(cherry picked from commit d0fd5fd3c7)
2022-02-24 13:31:17 +01:00
Haoyu Qiu
2e75471a48 Fix GLTF exporter crash when using GridMap 2022-02-20 22:02:23 +08:00
Pawel Lampe
c0d9e4fd07 Fix get_simple_path behavior in 2D, fixes #56852 2022-02-17 18:23:34 +01:00
Haoyu Qiu
9135074cc2
Fix VisualScript crash when using Set Index node
(cherry picked from commit 1262d331c0)
2022-02-17 09:54:36 +01:00
Haoyu Qiu
b2c012a8c8 Add GridMap.get_used_cells_by_item 2022-02-16 13:03:50 +08:00
Rémi Verschelde
9343c66815
Merge pull request #58102 from JFonS/big_lightmap 2022-02-15 17:47:20 +01:00
JFonS
690f9716fa Add support for saving multiple Images in BakedLightmap
Instead of fitting all atlas slices into a single image, which meant there
was a hard limit on the size, BakedLightmap will now save as many images
as needed to fit all the slices generated by the lightmapper.
2022-02-15 16:13:00 +01:00
kleonc
ff06d0978a NavMap Fix polygons being treated like triangle strips instead of triangle fans 2022-02-14 18:22:02 +01:00
Rémi Verschelde
7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
Haoyu Qiu
1747becfc7
Fix GridMap memory leak
(cherry picked from commit 5d4a141c97)
2022-02-11 09:50:59 +01:00
Jordan Schidlowsky
14a1303f2d
[Net] Non-blocking WebSocket hostname resolution.
Hostname is now resolved during poll in WebSocketClient (wslay) to avoid
blocking during connect.
An attempt is still made to find the hostname in the resolver cache.

(cherry picked from commit 1ec96bc206)
2022-02-11 09:50:58 +01:00
Densorius
ca432727d9
Fixed opening new instances of VS 2022 while a instance is already open
(cherry picked from commit 93e2d0446f)
2022-02-11 09:50:58 +01:00
Densorius
1afefea330
Add Visual Studio 2022 support with fallback to 2019
(cherry picked from commit 9ea0508d35)
2022-02-11 09:50:57 +01:00
Hugo Locurcio
e7934661da
Tweak the Bullet RigidBody kinematic trimesh warning message
This makes it clearer that primitive or convex shapes must be
used instead.
2022-02-10 22:28:32 +01:00
Rémi Verschelde
f50c7f7415
Core: Move generated VERSION_HASH to a .cpp file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
Rémi Verschelde
6ea58db2d8
Merge pull request #57851 from vnen/gdscript-infer-type-on-release 2022-02-09 14:05:22 +01:00
George Marques
a3fe028809
GDScript: Infer variable types on release
Otherwise this creates an inconsistency between debug and release
builds, potentially leading to crashes.
2022-02-09 09:07:18 -03:00
Hugo Locurcio
1b505ef8ca
Document performance limitations with CSG nodes, link to tutorial 2022-02-07 14:01:56 +01:00
Raul Santos
eddb99b9be Attach mono thread before getting nativeName field
In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
2022-02-07 03:51:40 +01:00
Pawel Lampe
6c6e50bf0c Fix navigation merge errors, fixes #56786
- improved `detail/sample_max_error` default value
- improved floating point precision handling in cell key calculations
- improved `merge error` error message
- exposed `cell_height` of `nav_map` to the `Navigation`
- fixed cell key `y` calculation
2022-02-02 23:52:29 +01:00
Marcel Admiraal
c25365d5ff
Be more verbose about why msbuild tools could not be found
(cherry picked from commit 51834a4589)
2022-01-31 22:54:25 +01:00
Rémi Verschelde
0032fa7953
Merge pull request #57440 from Scony/fix-navigation-transforms-3.x 2022-01-31 21:46:56 +01:00
Rémi Verschelde
0c6391a425
Merge pull request #57420 from neikeq/issue-55638 2022-01-31 18:23:08 +01:00
Rémi Verschelde
a0438ff8f2
Merge pull request #57449 from dsnopek/webxr-ar-touch-render-target
[3.x] Make WebXR touch events proportional to render target size, not viewport
2022-01-31 09:57:31 +01:00
Pawel Lampe
4d8e6fdd2d Fix transforms involved into navmesh baking
fixes #57231, fixes #57421

Within the context of parsing navigation geometry, this commit:
- added missing transform of `MultiMeshInstance`
- changed all transforms to global ones so that they don't need to be
  calculated by hand
2022-01-30 12:23:53 +01:00
Ignacio Roldán Etcheverry
c7f716e2ea Mono/C#: Fix Android AAB export failing to load native libs
By default, when installing from Android App Bundles the native
libraries are not extracted. They are loaded directly from the APK.
See: https://stackoverflow.com/a/56551499

Passing only the file name to dlopen, without the location, makes it
search the native library in all locations, including inside the apk.
2022-01-29 21:58:57 +01:00
Rémi Verschelde
9c417f5118
Merge pull request #56903 from akien-mga/3.x-ogg-clearer-errors 2022-01-27 12:43:04 +01:00
David Snopek
584efcd1ab Make WebXR touch events proportional to render target size, not viewport 2022-01-25 16:48:34 -06:00
Yuri Sizov
797bb1d97e Ensure that NavMesh baking updates the inspector 2022-01-26 01:16:50 +03:00
rafallus
75fcb31cee [3.x] Consider gridmap collisions in navigation bake 2022-01-24 19:10:33 -06:00
Max Hilbrunner
6cecb2210e Fix GDNative docs links 2022-01-24 11:29:20 +01:00
Hugo Locurcio
1e1fb145b3
Improve CSGPolygon3D documentation
- Describe why polygon triangulation usually fails in the error message.
2022-01-21 19:59:56 +01:00
lawnjelly
adf14bfdde Add nodiscard to core math classes to catch c++ errors.
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 17:28:31 +00:00
Dardan Bujupaj
752fbc7f4e Fix indexing of polygon points when building path. 2022-01-19 23:39:43 +01:00
Raul Santos
d4790455ba
Fix marshaling values of generic Godot Dictionary
(cherry picked from commit e4c40efeab)
2022-01-19 14:04:22 +01:00
Rémi Verschelde
4f1e33b556
freetype: Update to upstream version 2.11.1
(cherry picked from commit f615926d3c)
2022-01-19 14:03:38 +01:00
Fabio Alessandrelli
d76a26e086
Bump mbedTLS version to 2.28.0 (new LTS).
Keep applying the windows entropy patch (UWP support).
Remove no longer needed padlock patch.
Update thirdparty README to reflect changes, and new source inclusion
criteria.

(cherry picked from commit e375cbd094)
2022-01-19 14:03:03 +01:00
Rémi Verschelde
ede7e68ab6
Merge pull request #56620 from timothyqiu/left-right-palette-3.x 2022-01-18 16:38:26 +01:00
Rémi Verschelde
c938104a88
Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
Rémi Verschelde
8109902492
stb_vorbis: Add clearer error messages when failing to import OGG file
Fixes #56895.
2022-01-18 14:53:56 +01:00
Rémi Verschelde
64ef373fa8
Merge pull request #56819 from dsnopek/webxr-ar-touch-events-squashed 2022-01-17 16:40:06 +01:00
Rémi Verschelde
1ee44b2366
ImageLoader: Remove references to unsupported svgz extension
I don't see any reference to gzip/svgz supported in the nanosvg library,
and the handful of test gzip compressed svgz files I tried failed loading.

Also cleaning a couple missing includes in platform export code.
2022-01-17 10:52:32 +01:00
Ignacio Roldán Etcheverry
3b085e2665 C#: Allow configuring Mono debugger agent with cmdline args
The command line option is the same you would pass to Mono, but it
begins with `--mono-debugger-agent=` instead of `--debugger-agent=`.

This is useful for platforms where it's difficult for the user to
configure it via environment variables, like Android.
2022-01-16 12:36:36 +01:00
David Snopek
e39f62876d Fix touch events when using smartphone AR with WebXR 2022-01-15 14:54:45 -06:00
Rémi Verschelde
6fac314b5d
Merge pull request #56763 from GlyphTheWolf/regex-memory-leak-fix
Fix for RegEx.search() memory leak on Windows
2022-01-14 20:11:00 +01:00
Rémi Verschelde
75cc95c8c0
Merge pull request #56791 from timothyqiu/object-check
[3.x] Fix crash when `is` keyword is tested against a String variable
2022-01-14 20:00:56 +01:00
Haoyu Qiu
8a42ab7a85 Fix crash when is keyword is tested against a String variable 2022-01-14 23:37:04 +08:00
Marcel Admiraal
949ea2b326 Simplify InputDefault::joy_axis code by using float instead of struct JoyAxis 2022-01-14 15:36:35 +00:00
GlyphTheWolf
6556442d46 Fix for RegEx.search() memory leak on Windows 2022-01-13 20:41:10 +01:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Arnav Vijaywargiya
a51f3f2a58
Fixed incorrect property types
(cherry picked from commit 0c46f73b5e)
2022-01-12 17:28:07 +01:00
Haoyu Qiu
e1f96d5ee8
Fix crash on importing FBX file
(cherry picked from commit af67e4c291)
2022-01-12 17:28:07 +01:00
K. S. Ernest (iFire) Lee
44d436add6
Skip Draco-compressed glTF 3d format files.
(cherry picked from commit b468104842)
2022-01-12 17:28:07 +01:00
Rémi Verschelde
79aa64efff
Merge pull request #56296 from timothyqiu/pending-func-states 2022-01-12 16:47:56 +01:00
K. S. Ernest (iFire) Lee
08b89a95d2 Fix wrong RGBA channel mapping when saving OpenEXR. 2022-01-12 01:50:56 -08:00
Haoyu Qiu
e1557dc4c8 i18n: Make VisualScript node caption & text translatable 2022-01-11 21:16:33 +08:00
Rémi Verschelde
cb44064048
Merge pull request #56604 from V-Sekai/csg_selection_3_x 2022-01-10 12:32:28 +01:00
Bartłomiej T. Listwon
22750b1c03 Replace String::find_last with rfind where possible (backward compatible with old API) 2022-01-08 22:40:44 +01:00
Haoyu Qiu
37a38ece59 Allow showing both left and right side panels 2022-01-08 20:20:36 +08:00
LATRio
47f0cf7460 Add type validations when setting basic type 2022-01-08 11:30:55 +09:00
SaracenOne
b7273b6f7a Fix selection of CSG objects 2022-01-07 20:08:42 +00:00
Rémi Verschelde
b197de6f5f
Fix typos with codespell
Using codespell 2.1.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
readded
seeked
statics
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2022-01-07 00:14:54 +01:00
bruvzg
6f81a8ee2c
Fix multiple missing UTF-8 decoding.
(cherry picked from commit c69e0d16bc)
2022-01-06 21:44:40 +01:00
kobewi
9b149d5848
Add physics material to GridMap
(cherry picked from commit 59a9b2192e)
2022-01-06 21:44:40 +01:00
RedMser
f76430670c
Fix glTF scene export crash on null normal texture
Also removes a redundant get_texture call directly below
the modified code block.

Fixes #56379

(cherry picked from commit 0e36d5e782)
2022-01-06 00:21:37 +01:00
Raul Santos
172f66a40e
Fix KeyValuePairAt memory leak
(cherry picked from commit 1fdfc379b6)
2022-01-06 00:21:36 +01:00
Jake Young
09bc9eb101
Backport NavigationServer with RVO2 to 3.x
Change the entire navigation system.
Remove editor prefix from nav mesh generator class. It is now used for baking
at runtime as well.
Navigation supports obstacle avoidance now with the RVO2 library.
Nav system will also automatically link all nav meshes together to form one
overall complete nav map.
2022-01-05 16:00:56 +01:00
Max Hilbrunner
717801c9cb Fix docs links in 3.x after docs reorg 2022-01-05 11:54:52 +01:00
Rémi Verschelde
1e2ef49b77
Merge pull request #56391 from raulsntos/fix-56385 2022-01-05 10:44:54 +01:00
Hugo Locurcio
a6db1c758a
Improve lerp(), lerp_angle() and inverse_lerp() documentation
This clarifies that `lerp()` can be used both for interpolation
and extrapolation.
2022-01-04 00:41:37 +01:00
Zae
d5ad76a3c8 [3.x] [Mono] Add support for file-scoped namespace declaration. 2022-01-02 18:02:00 +08:00
Raul Santos
36cd00a84b
Init params_buffer_size member in GDMonoMethod 2022-01-01 02:23:40 +01:00
Raul Santos
907e709f9d Fix getting properties state when reloading C#
When reloading C# classes and keep their properties values they are
retrieved and stored in a state list.
Retrieving the properties was only getting the fields of the C# class
and not inherited fields so those properties values were lost on reload.
Now we also try to find the field in the parent classes.
2021-12-28 19:14:49 +01:00
Haoyu Qiu
53af7ee482 Clear pending function states when reloading GDScript 2021-12-28 15:29:21 +08:00
Raul Santos
cf98ff248a
Check a csproj exists before trying to edit it
When folders are moved/removed from the file system, the `.csproj`
may need to be edited to update the path of C# scripts or remove them.
If a C# solution has not been created, the `.csproj` file does not exist
and therefore there is no need to edit it.
2021-12-20 16:49:16 +01:00
Rémi Verschelde
14d439d868
Merge pull request #53130 from Faless/net/3.x_enet_opts 2021-12-16 10:36:01 +01:00
Fabio Alessandrelli
ce98beb522
Merge pull request #54381 from mhilbrunner/rpc-error-msgs-3.x
[3.x] Websockets: Fix buffer size checks in put_packet(), silent failures/connection hangs
2021-12-15 13:48:53 +01:00
Fabio Alessandrelli
9b8db7c63a [Net] Fix WebRTC returning packets from peers too early.
Due to the async nature of WebRTC implementations, the multiplayer peer
could end up having queued packets from a given connection before it is
able to emit the "peer_added" signal.
This commit ensures that packets from peers which are not notified yet
are skipped by `get_packet` and `get_available_packet_count`.
2021-12-15 11:20:17 +01:00
Rémi Verschelde
db020eae29
Merge pull request #55859 from akien-mga/3.x-gltf-module-cleanup 2021-12-13 13:46:03 +01:00
Rémi Verschelde
e4c40d8e6a
glTF: Cleanup includes and defines, split PackedSceneGLTF to own file 2021-12-12 12:08:18 +01:00
David Snopek
f2fe60b989 Switch WebXRInterface from using external textures to using the render targets from Godot 2021-12-11 14:37:53 -06:00
Aaron Franke
7bf7bd70ac
[3.x] Misc build system fixes 2021-12-10 12:15:16 -06:00
Rémi Verschelde
eac0d90c39
Merge pull request #55560 from pycbouh/docs-overridden-cross-linked-3.x
[3.x] Make overridden properties link to parent definition
2021-12-10 12:42:09 +01:00
Francois Belair
b8f2f48d86
Remove extraneous return to LSP
(cherry picked from commit ad01201f34)
2021-12-09 22:08:48 +01:00
Cory Petkovsek
3d20218dae Clears RIDs wherever they are freed by VisualServer or PhysicsServer and possibly reused. Fixes #53374 2021-12-10 02:31:30 +08:00
kobewi
6eb1c92cea Fix custom built-in script names 2021-12-08 14:04:10 +01:00
Raul Santos
ffbd59572e
Various fixes to C# documentation
(cherry picked from commit 2deabd553f)
2021-12-08 11:28:12 +01:00
Francois Belair
ba1d6b7532
Prevent LSP adding signal func to non GDScripts
(cherry picked from commit 66f1b4bf66)
2021-12-06 17:51:11 +01:00
Vincent
d6fb13234e
AudioStreamMP3: expose loop properties to the editor
(cherry picked from commit 8263646f68)
2021-12-06 16:52:00 +01:00
lawnjelly
3d981b8265 Add option to use handles to RID
Adds an option to compile an alternative implementation for RIDs, which allows checks for erroneous usage patterns as well as providing leak tests.
2021-12-06 14:43:34 +00:00
Rémi Verschelde
c42e9bd589
Merge pull request #55564 from raulsntos/csharp-delegates-for-generic-class-3.x
[3.x] Fix C# `get_all_delegates` method for generic classes
2021-12-04 14:12:11 +01:00
Raul Santos
613751a742 Fix get_all_delegates method for generic classes
If the class is generic, we must get its generic type definition and use
it to retrieve the delegates.
2021-12-04 01:51:50 +01:00
kobewi
f899b76747 Improve save handling for built-in scripts 2021-12-04 01:28:52 +01:00