Commit Graph

4883 Commits

Author SHA1 Message Date
Eeli Reilin cf6d8a0f2b Fix CSG gizmos only working on root shapes
(cherry picked from commit 60f3d1d36f)
2022-04-27 12:54:57 +02:00
Haoyu Qiu d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
Rémi Verschelde ba7881bd36
Merge pull request #60366 from adamscott/nav-map-thread-work-pool-3x
Use ThreadWorkPool instead of thread_process_array in NavMap [3.x]
2022-04-26 18:45:53 +02:00
Adam Scott 7749346f48 Use ThreadWorkPool instead of thread_process_array in NavMap
Port ThreadWorkPool to 3.x
2022-04-26 09:18:46 -04:00
Rémi Verschelde d60e432575
Merge pull request #60435 from Scony/fix-map-get-path-crash-3.x
[3.x] Fix crash in `GodotNavigationServer::map_get_path`, fixes #60413
2022-04-25 23:19:04 +02:00
Hugo Locurcio 3a8104289d
Document that glTF classes are only usable in editor builds
Run-time glTF saving/loading is only available in Godot 4.0,
not Godot 3.x.
2022-04-22 19:08:37 +02:00
Pawel Lampe 41d788375a Fix crash in `GodotNavigationServer::map_get_path`, fixes #60413 2022-04-22 18:19:11 +02:00
Rémi Verschelde 64eb2ebf40
Merge pull request #54629 from Gallilus/Fixes-copy-paste-issue-in-the-visual-script-editor-3.x
Fixes copy-paste issue in the visual script editor
2022-04-15 21:19:09 +02:00
kleonc c52d842435 NavMap::get_path Fix not resetting least_cost_id 2022-04-14 17:15:39 +02:00
Oğuzhan Eroğlu ebaca9d432 Added set_extra_headers() to WebSocketServer
(cherry picked from commit fd4341fba4)
2022-04-13 11:43:49 +02:00
Nicholas Huelin 861c5fe567 Fix Visual Script's jump to function relative to zoom
When double-clicking on a function name the graph will now correctly jump to the function relative to the zoom ratio.

(cherry picked from commit e8a326a08f)
2022-04-13 11:43:49 +02:00
Igor Kordiukiewicz 6bf7e8e010 String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++
(cherry picked from commit 6c3b6664b5)
2022-04-13 11:43:49 +02:00
Rémi Verschelde d65ec1f211
Merge pull request #60049 from timothyqiu/vs-filter-scroll 2022-04-12 21:03:28 +02:00
Rémi Verschelde 36dbcae2c7
Merge pull request #59994 from dsnopek/webxr-standard-mapping 2022-04-11 20:57:30 +02:00
Rémi Verschelde aac7b5d1d1
Merge pull request #59886 from theoway/fix_vseditor_var/sig_node_rename 2022-04-11 17:54:12 +02:00
Umang Kalra 931bc4592a Fixes variable node not showing updated name in visualscript editor 2022-04-11 17:38:05 +05:30
Ricardo Buring 79317f9cb1 BulletPhysicsServer::area_get_space: null check
This is now the same as e.g. body_get_space.
2022-04-10 23:00:50 +02:00
Haoyu Qiu 7c80d03669 Scroll to selected item when filtering VisualScript nodes 2022-04-09 10:14:09 +08:00
David Snopek 2a6199aa0f Add WebXRInterface.xr_standard_mapping flag to attempt to convert button/axis ids to match other AR/VR interfaces 2022-04-08 10:46:38 -05:00
Rémi Verschelde cfdb99a741
Merge pull request #57411 from Scony/fix-threaded-navmesh-baking-3.x
Fix navmesh baking
2022-04-05 19:59:32 +02:00
Rémi Verschelde 21c3048397 Add missing argument names in bindings 2022-04-04 12:56:59 +02:00
Ricardo Buring 887a5cd4f9 SpaceBullet::recover_from_penetration: skip compound shapes without child shapes
Before, this case would incorrectly get caught as an error, causing an
early return, in particular skipping other possibly relevant shapes.
2022-04-04 11:07:57 +02:00
Pawel Lampe 3035b9c44c Fix navmesh baking, fixes #57148
- improved mesh data calculation from standalone static colliders so that no
  VisualServer calls are performed - and thus no VS mutexes need to
  be locked in case of on-thread baking
- improved the same for GridMap's static colliders
2022-04-02 23:20:41 +02:00
Rémi Verschelde 99c07c92eb
Merge pull request #59793 from vnen/type-info-release-3.x 2022-04-02 00:08:47 +02:00
George Marques 663978e8ba
GDScript: Properly check type info in release builds
This makes sure native methods and properties have the actual type
checked to compare for compatibility and inference.
2022-04-01 18:20:37 -03:00
Rémi Verschelde fce09f19dc
Merge pull request #58209 from Scony/fix-navi-get-simple-path
Fix `get_simple_path` behavior in 2D & 3D
2022-04-01 08:46:54 +02:00
Haoyu Qiu 17ce0fcc7c Simplify FBX importer project settings registering 2022-03-29 15:00:31 +08:00
Aleksey Smirnov ad0c4bf32d Replace copies with constant refs
(cherry picked from commit 1a13de0f8d)
2022-03-29 00:08:29 +02:00
Jason Knight 1f080e203d Use 3001 instead of 1001 when destroying a websocket.
(cherry picked from commit b659cfbd53)
2022-03-28 23:50:00 +02:00
Rémi Verschelde fa9e2f8e21
Merge pull request #59522 from bruvzg/mo_and_woff2_3x
[3.x] Add binary MO translation file and brotli decoder and WOFF2 support.
2022-03-28 09:00:54 +02:00
Rémi Verschelde c18df50eb6
Merge pull request #59521 from raulsntos/csproj-globbing-3.x 2022-03-25 20:40:11 +01:00
bruvzg fd2fba7c2c
Add binary MO translation file support. Add brotli decoder and WOFF2 support.
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
2022-03-25 19:51:39 +02:00
Raul Santos 3086d7c035
Avoid modifying csproj globbing includes on remove
Check if the found globbing include already matches the given path on
removing scripts to avoid modifying users' csproj files.
2022-03-25 16:45:25 +01:00
Ricardo Buring 1d16153881 collide_shape: return contact points in world space 2022-03-24 20:27:36 +01:00
Raul Santos 862691a9f7
Support explicit values in flag properties, add C# flags support
- Add support for explicit values in properties using `PROPERTY_HINT_FLAGS`
that works the same way it does for enums.
- Fix enums and flags in VisualScriptEditor (it wasn't considering the
explicit value).
- Use `PROPERTY_HINT_FLAGS` for C# enums with the FlagsAttribute instead
of `PROPERTY_HINT_ENUM`.
2022-03-19 19:22:54 +01:00
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
Haoyu Qiu 871a73341b Fix crash when is-operator right-hand-side is null 2022-03-13 23:17:25 +08:00
MythTitans c96336449e Prevent non-smoothed face normals to participate to smoothed face normals
(cherry picked from commit ec2984f7c7)
2022-03-12 15:10:28 +01:00
Haoyu Qiu 743f2d232a Use `RTR()` for VisualScriptNode captions and texts
(cherry picked from commit 77f80aa4ee)
2022-03-12 15:10:28 +01:00
MythTitans a17c6e5325 Fix normals computation at the 'seam' of smoothed torus shape
(cherry picked from commit 8bcbaff411)
2022-03-12 14:45:21 +01:00
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
Yuri Sizov 1cf6d21f69 Make overridden properties link to parent definition
Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
2021-12-03 17:48:49 +03:00
Rémi Verschelde 796f875870
Revert "Expose Variant operator= to GDNative" 2021-12-02 11:45:11 +01:00
PouleyKetchoupp f29f996199
Fix shape index in multiple physics queries with Bullet
Two main changes:

- Better handling of concave shapes to make sure the queries don't
return a triangle index instead of shape index.
Note: A concave shape within a compound shape will always return a shape
index of 0 because of Bullet limitations.

- Extra check for compound shapes in some queries to avoid undefined
behavior, because the shape index can have an uninitialized value with
convex shapes in some cases.

(cherry picked from commit 02d40de30d)
2021-12-01 23:49:26 +01:00
Rémi Verschelde e154ce78cb
Merge pull request #54508 from BimDav/variant_operator_assign_gdnative 2021-12-01 17:08:39 +01:00
Vincent 8a4c583538
Fix crash when loading an invalid mp3 file
(cherry picked from commit 2d0068d1cb)
2021-12-01 16:47:30 +01:00
Rémi Verschelde c9208704de
Merge pull request #54614 from aaronfranke/3.x-math-api 2021-11-29 12:57:25 +01:00
Aaron Franke 1d8cef8236
[3.x] Backport some APIs in math structs 2021-11-27 01:19:45 -06:00
Aaron Franke 5ec0a8df5e
[3.x] Add documentation to operators for math types 2021-11-27 01:15:43 -06:00
kobewi 5caab0a8ef
Correct the doc about ease()
(cherry picked from commit 44e6655924)
2021-11-25 22:23:53 +01:00
jitspoe 734b4a46bc Fix crash when exporting gltf mesh that has no skin.
(cherry picked from commit 209ac9569c4c5180aea4b330ed7f6d2a572d5e82)
2021-11-22 22:46:53 -05:00
Marcel Admiraal 216fb38da1 Add shape data to area overlap data. 2021-11-21 07:18:49 +00:00
Rémi Verschelde 5c6e39b2a6
wslay: Sync with upstream 45d22583b
45d22583b4

Mostly style changes, a couple new methods and fixes.
Tweak file structure a bit.

(cherry picked from commit a706ef3272)
2021-11-20 11:50:59 +01:00
Rémi Verschelde 724c207005
libwebp: Sync with upstream 1.2.1
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.1/NEWS
(cherry picked from commit 41ce417847)
2021-11-20 11:50:34 +01:00
Rémi Verschelde 31dbc59c39
tinyexr: Sync with upstream 1.0.1
Removes miniz as a bundled dependency, relies on our own zlib instead.

Includes a couple commits ahead of `v1.0.1` tag to fix MinGW builds.

(cherry picked from commit 46d3effa99)
2021-11-20 11:48:49 +01:00
Marcel Admiraal 702529d63e Give each RigidBody its own DirectBodyState wrapper. 2021-11-20 08:17:04 +00:00
Marcel Admiraal 2176b694ac
Trigger RigidBodyBullet space override updates when Area properties change.
(cherry picked from commit 41d85ed5a9)
2021-11-18 20:31:41 +01:00
Marcel Admiraal 84af1d9248
Update Bullet Area overlaps when Area properties or shapes change.
(cherry picked from commit 0d3e8538ef)
2021-11-18 20:31:40 +01:00
Marcel Admiraal 14ecd66a21
Ignore Bullet collision contact points with distance = 0
(cherry picked from commit 27b52f6c46)
2021-11-18 20:27:24 +01:00
Marcel Admiraal 4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00:00
David Cambré fb7c23f30b Fixes the copy paste issue in the visual script editor.
Moves copy and paste in their own functions so copy_nodes_request and paste_nodes_request are able to work.
Applies paste offset to the last mouse clicked position.
2021-11-16 16:49:15 +01:00
Rémi Verschelde 3ac2999f22
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 17:22:47 +01:00
kobewi 175870ccc7
Show built-in script names in the debugger
(cherry picked from commit 3b320cd9fe)
2021-11-15 17:22:47 +01:00
Daniel Kolesa 5fe78a3a25
Add support for PowerPC family
(cherry picked from commit 3a84a64d2f)
2021-11-15 17:22:46 +01:00
Rémi Verschelde 5752457854
Merge pull request #54911 from akien-mga/3.x-modules-check-enabled 2021-11-12 14:49:39 +01:00
Rémi Verschelde 6f4858f184
Modules: Make sure to include `modules_enabled.gen.h` where needed
Fixes #51677.

Co-authored-by: Arkadiusz Marcin Kołek <aksoftware91@gmail.com>
2021-11-12 13:45:33 +01:00
Hugo Locurcio 4c88a82f50
Move Mono unhandled exception setting to be located within a subsection
Settings that aren't within a subsection are difficult to reach when
other settings do have a subsection.

This also adds documentation for the project setting.
2021-11-10 20:57:35 +01:00
Rémi Verschelde 5defa1c167
Merge pull request #54805 from Klowner/3.4-gltf-cubic-spline-interpolate
Fix incorrect glTF cubic spline interpolation times/values size error
2021-11-10 08:04:43 +01:00
PouleyKetchoupp b93aeec4a2 Fix errors in KinematicBody when floor is destroyed or removed
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.

In 2D, there is no change in behavior (just no more errors).

In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.
2021-11-09 15:15:40 -07:00
Rémi Verschelde b0cd38b7e3
Merge pull request #42625 from RandomShaper/fix_dict_3.2 2021-11-09 15:55:43 +01:00
Mark Riedesel 999bba6916 Fix glTF cubic spline track interpolation incorrectly reporting times/values size mismatch (3.4 specific) 2021-11-09 09:47:37 -05:00
Pedro J. Estébanez a7aad78fd0 Add recursive comparison to Array and Dictionary
...and expose it to GDScript.

Co-authored-by: Emmanuel Leblond <emmanuel.leblond@gmail.com>
2021-11-09 15:08:22 +01:00
Hugo Locurcio 63d214f04b
Remove hash symbol in front of opcode error messages in GDScript
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
2021-11-09 12:20:51 +01:00
Rémi Verschelde 3be409aa5e
Merge pull request #54039 from nekomatata/fix-soft-body-memory-corruption-bullet-3.x 2021-11-08 23:59:05 +01:00
Rémi Verschelde 2f10793467
Merge pull request #54117 from Pineapple/dont-ignore-type-mismatch-in-setter 2021-11-08 19:26:58 +01:00
Rémi Verschelde bd828c4d81
Merge pull request #54227 from akien-mga/3.x-gdscript-multiline-indexing 2021-11-08 15:03:24 +01:00
Rémi Verschelde d0b1e3d002
Merge pull request #53942 from raulsntos/no-boxing 2021-11-08 13:15:25 +01:00
Rémi Verschelde 837f2c5f82
Merge pull request #54746 from neikeq/issue-42076
C#: Don't use ActivityThread to determine Android nativeLibraryDir
2021-11-08 10:02:48 +01:00
Ignacio Roldán Etcheverry 690bf12c4c C#: Don't use ActivityThread to determine Android nativeLibraryDir 2021-11-08 02:35:06 +01:00
Rémi Verschelde 14c366ddd7
Bump version to 3.5-beta 2021-11-05 16:10:17 +01:00
Ignacio Roldán Etcheverry e282ee0a48 C#: Fix property set call boxing value when unboxed was expected 2021-11-03 13:02:53 +01:00
Ignacio Etcheverry b775573a21 Don't box params on Native->C# calls with Variant params
Godot uses Variant parameters for calls to script methods.
Up until now we were boxing such parameters when marshalling
them for invokation, even if they were value types.

Now Godot allocates the marshalled parameters on the stack,
reducing the GC allocations resulted from boxing.
2021-11-03 13:02:53 +01:00
Yuri Sizov d764e1fae7 Fix maximum allowed size atlas in CPU lightmapper 2021-11-02 15:50:50 +03:00
BimDav 084b21c4a8 expose Variant operator= to GDNative 2021-11-02 12:11:27 +01:00
Rémi Verschelde e4996887ca
Merge pull request #48625 from The-O-King/compression_options 2021-11-02 08:58:22 +01:00
Lyuma e575b27b15 3.x backport glTF: Fix override materials and non-empty arrays
Keep track of MeshInstance and GeometryInstance override materials in the GLTFMesh object.
Ensure all arrays are non-empty to conform with "minItems":1 in glTF spec.
2021-11-01 23:40:12 -07:00
Omar El Sheikh 203295f17d Added Mesh Compression Import Options
Fleshed out the "Optimize Mesh" options found in the mesh import UI
Gave a checkbox to every vertex attribute that can be compressed

Surfaced option to enable/disable Octahedral compression for
normal/tangent vectors

Also surfaces the vertex position compression option which previously
inaccessible because the defaults did not compress vertex positions

Supports all current importers (obj, fbx, collada, gltf)
2021-11-01 12:54:28 -04:00
Raul Santos 21f68e7bdb
Ensure C# script properties are added to the end
Ensures that the `get_property_list` and `get_script_property_list`
methods push the script properties to the end of the given list, this
prevents the script property from appearing after the script variables.
2021-10-30 16:55:21 +02:00
Max Hilbrunner 6a92a2e92d Websockets: Fix buffer size checks in put_packet() 2021-10-29 15:43:17 +02:00
Rémi Verschelde 14ef65e49b
Merge pull request #54348 from akien-mga/3.x-clang-format-dont-align-operands 2021-10-28 15:43:15 +02:00
Rémi Verschelde 87c80f529f
clang-format: Enable `BreakBeforeTernaryOperators`
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 14:50:33 +02:00
Rémi Verschelde 1b65550ec7
clang-format: Various fixes to comments alignment from `clang-format` 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Rémi Verschelde 23955fc282
Merge pull request #54262 from raulsntos/csproj-globbing-3.x 2021-10-26 21:56:58 +02:00
Rémi Verschelde 5d0ec1779d
Merge pull request #54272 from pycbouh/gdscript-ignore-groups-completion-3.x 2021-10-26 20:02:01 +02:00
Yuri Sizov b3fc278dcf Ignore property groups and categories in GDScript code completion 2021-10-26 20:01:49 +03:00
Max Hilbrunner e29126914d
Save all 64 bits of get_ticks_msec() in more cases
(cherry picked from commit 5dc02eb8b0)
2021-10-26 18:23:31 +02:00
Raul Santos ced4f3519d Avoid modifying csproj globbing includes
Check if the found globbing include already matches the new path on
moving scripts to avoid modifying users' csproj files.
2021-10-26 18:21:19 +02:00
Lyuma e49f8c5823 3.x: Fix validation errors due to chunk padding and empty skins.
GLB chunk padding length calculation was backwards and missing for the BIN chunk.
Fixed error caused by "skins":[] when no skins were present.
Finally, encode animations before textures to avoid accessor misalignment due to texture byteLength.
2021-10-25 21:17:13 -07:00
Rémi Verschelde 92664f03a9
GDScript: Support multiline indexing with `[]`
Fixes #35417.
2021-10-25 15:50:59 +02:00
Raul Santos da419bbeed Keep order for C# exported members 2021-10-24 21:14:20 +02:00
Aaron Franke 5659120af3
[3.x] Add support for the RISC-V architecture
Supports RV64GC (RISC-V 64-bit with general-purpose and compressed-instruction extensions)
2021-10-22 12:51:23 -05:00
Bartłomiej T. Listwon 5a7bd296af Don't ignore the type mismatch in setter function 2021-10-22 12:43:13 +02:00
PouleyKetchoupp 63f6d91a1a Fix SoftBody memory corruption when using invalid mesh
In case of failure the new soft body wasn't created but the previous one
wasn't destroyed, causing discrepancies with visual server updates.
2021-10-20 10:39:16 -07:00
Rémi Verschelde 89076410de
WebM: Disable SIMD optimization with YASM on Windows
It triggers a crash when playing V9 videos.

Could likely be fixed if anyone wants to work on it, but so far nobody seems to
want to and WebM support is dropped in 4.0, so this workaround should help for
now.

Fixes #50862.
2021-10-18 15:48:45 +02:00
Rémi Verschelde fddbbf445b
SCons: Fix missing mono `.gen.cpp` sources after #53860
(cherry picked from commit d6aab5c1bf)
2021-10-16 16:47:08 +02:00
Raul Santos 977898709f Fix hint_string for C# enum arrays 2021-10-15 19:07:31 +02:00
Rémi Verschelde f04a1bec63
Merge pull request #53628 from raulsntos/fix-list-marshal-3.x 2021-10-15 17:36:00 +02:00
Rémi Verschelde b8761569f6
Merge pull request #53582 from raulsntos/mono-marshal-generics-3.x 2021-10-15 17:35:32 +02:00
Rémi Verschelde 5ff8d0e8a7
Merge pull request #53577 from raulsntos/fix-mono-to-variant-array-3.x 2021-10-15 17:35:09 +02:00
Raul Santos 059750cd0d Support marshaling generic Godot.Object
Allows using generic C# types in signals as long as they inherit
from `Godot.Object`.
2021-10-13 18:22:06 +02:00
Ev1lbl0w e57f8fd083
Fix VisualScript crash with null object 2021-10-13 12:19:29 +01:00
M. Huri 37ccfb18ff Fixed a typo in csg module 2021-10-12 11:13:29 +07:00
Yuri Sizov b6b65e08d1 Remove redundant String operation from GDScript enum exports 2021-10-11 02:12:30 +03:00
Infinixius 0f328bcbdc
Fix small typos regarding WebSocketPeer
(cherry picked from commit 547ed239c0)
2021-10-10 12:27:47 +02:00
Raul Santos fd160b642e Fix C# List<T> marshalling 2021-10-10 11:41:37 +02:00
Rémi Verschelde 302ad4e600
Merge pull request #52918 from Calinou/add-new-light-attenuation-3.x 2021-10-08 23:08:49 +02:00
Hugo Locurcio 85e080fcc0
Backport new 3D point light attenuation as an option
This provides more realistic lighting with a very small performance cost.
The option is available in both GLES3 and GLES2, and can be enabled in
the Project Settings. This goes well with the ACES Fitted tonemapping mode
that was recently added.

When enabled, this also makes upgrading Godot 3.x projects to Godot 4.0 easier,
since lighting in 3.x will better match how it'll look in Godot 4.0.
2021-10-08 22:15:22 +02:00
Raul Santos ec2f86ec9a Support arrays of StringName, NodePath and RID in mono 2021-10-08 18:52:40 +02:00
Rémi Verschelde 07094f5253
Merge pull request #53507 from qarmin/fast_as_snail 2021-10-08 14:58:01 +02:00
Rémi Verschelde 81da3b8ba4
Use translated docs in PropertySelector
And do the dedent and stripping for both translated and
non-translated strings for consistency, and so that we
don't need to do it at the call site.

(cherry picked from commit a16031beb6)
2021-10-07 12:48:23 +02:00
Rafał Mikrut 1558f4a599 Speedup parsing big GDScript files 2021-10-07 07:39:56 +02:00
Rémi Verschelde 3f05c388a1
Merge pull request #52521 from kdiduk/52499-preload-parsing-error-when-newline-encountered 2021-10-06 10:13:19 +02:00
Kirill Diduk 835143b7bd #52499 Fix parsing 'preload': increase/decrease parenthesis count 2021-10-06 09:35:21 +02:00
Rémi Verschelde c7eb3d25e7
doc: Fix style inconsistencies for `[b]Note:[/b]` paragraphs
(cherry picked from commit 788b3aa27a)
2021-10-06 09:29:32 +02:00
Rémi Verschelde 0a1cd0c316
Merge pull request #53448 from lyuma/backport_gltf_skin_export 2021-10-06 08:26:18 +02:00
Rémi Verschelde e6cc245bf0
Merge pull request #53454 from stebulba/path_simplify_angle-fix-error-from-merge 2021-10-06 08:24:56 +02:00
Stéphane Fortin 58a4035017
Fix merging error path_simplify_angle CSGPolygon
[3.x] Quick fix on path_simplify_angle introduce here https://github.com/godotengine/godot/pull/52509#issuecomment-933331579
after merging #52509
2021-10-05 21:19:23 -04:00
Lyuma 3cdaaffb54 Backport to 3.x "gltf export: Fix export of skeletons, skins and blend shapes."
Create GLTFSkeleton at the same time we create GLTFNode objects.
Create GLTFSkin at the same time we export MeshInstance3D
Fixes export of blend shape arrays for meshes with multiple surfaces.
Fixes array indexing issues in export of glTF morph target animations.

Converts BoneAttachment3D nodes during normal node creation: this avoids
special cases during mesh export, and especially exporting skeletons or meshes
which are children of BoneAttachment3D.

Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2021-10-05 14:14:28 -07:00
Rémi Verschelde 393166793c
Merge pull request #52952 from Calinou/cpu-lightmapper-num-threads-editor-setting 2021-10-05 19:20:29 +02:00
Hugo Locurcio 0e943939e2
Add an editor setting to configure number of threads for lightmap baking
This can be used to free some CPU cores when baking lightmaps.
When using fewer CPU cores, lightmap baking is slower but background
tasks aren't slowed down as much.
2021-10-05 17:35:20 +02:00
Rémi Verschelde f9e3bc2652
Merge pull request #51728 from lawnjelly/proj_settings_misc 2021-10-05 13:36:43 +02:00
lawnjelly 192ec963ae Create 'rendering/misc' project settings section
To prevent the project settings `rendering` section getting out of hand, this PR moves some of the smaller new settings into a `misc` category.
2021-10-05 11:47:03 +01:00
Rémi Verschelde e31a10da98
Merge pull request #52274 from aaronfranke/3.x-gltf-noregex 2021-10-05 12:40:12 +02:00
Rémi Verschelde db0370cab5
Merge pull request #51086 from aaronfranke/3.x-warn-dectime 2021-10-05 12:06:03 +02:00
Rémi Verschelde d01c660954
Merge pull request #52964 from Pineapple/WIN32_LEAN_AND_MEAN 2021-10-05 12:03:52 +02:00
Rémi Verschelde 9ffaa6c090
Merge pull request #53347 from migeran/fix_gdnative_get_current_library_path 2021-10-05 11:08:16 +02:00
Kongfa Waroros 77d5ead241
Check if the line pointer goes away from the image buffer's EOF in the BMP importer
(cherry picked from commit ac5d7abe13)
2021-10-04 15:22:16 +02:00
Hugo Locurcio 48e0212497
Add an example on iterating an array backwards
This closes https://github.com/godotengine/godot-docs/issues/3472.

(cherry picked from commit 810d8f06b7)
2021-10-04 15:15:27 +02:00
Hugo Locurcio 7e3016ebfd
Document how to set up UPnP in a non-blocking manner
(cherry picked from commit f4bebc272c)
2021-10-04 14:37:43 +02:00
jitspoe d7af7a9b3b
CSGPolygon fixes and features: Added angle simplification, UV tiling distance option, and interval type, which allows distance-based intervals (old) and subdivision-based intervals (new to 3.4). 2021-10-04 12:14:44 +02:00
Haoyu Qiu ed5a98c3c6 Fix crash when pinned SoftBody point is out of range 2021-10-04 15:47:12 +08:00
Rémi Verschelde 06e0260699
Merge pull request #53349 from LATRio/53331_1 2021-10-03 12:16:45 +02:00
LATRio 56aa9f71b6 Prevent out of bound access through 'm_nodes' in SoftBodyBullet 2021-10-03 16:36:01 +09:00
Gergely Kis 1583c89a45 Fix GDNativeLibrary::get_current_library_path()
Return a const String reference to make sure that when its address
is used as a handle in NativeScriptLanguage::init_library(),
it refers to the heap instead of a temporary object on the stack.
2021-10-03 08:24:49 +02:00
LATRio be69d26403 Fix crash at SoftBodyBullet::reset_all_node_positions when bt_soft_body isn't initialized
Update soft_body_bullet.cpp
2021-10-02 22:03:54 +09:00
Francois Belair 6be31e559d
Fix empty line hover; fix open non-res:// script
(cherry picked from commit 572979d011)
2021-10-01 21:30:39 +02:00
Francois Belair 3754759e26 Fix extends parsing breaking if it has the cursor 2021-10-01 11:31:05 -04:00
Hugo Locurcio fe2f24c47c
Improve the documentation for `ease()` and `smoothstep()`
This adds a cheatsheet for `ease()` and a comparison graph for
`smoothstep()`, among other things.

(cherry picked from commit 567b6436c9)
2021-10-01 08:04:20 +02:00
Francois Belair 679ce6fd0b Fix LSP crash parsing scripts of temp size 0 2021-09-30 11:11:56 -04:00
Rémi Verschelde fba9fb2439
Merge pull request #53183 from m4nu3lf/threadsafe_bullet_3.x 2021-09-29 21:34:56 +02:00