Commit Graph

34590 Commits

Author SHA1 Message Date
PouleyKetchoupp 448c41a3e4 Godot Physics collisions and solver processed on threads
Use ThreadWorkPool to process physics step tasks in multiple threads. Collisions are all processed in parallel and solving impulses is
processed in parallel for rigid body islands.

Additional changes:
- Proper islands for soft bodies linked to active bodies
- All moving areas are on separate islands (can be parallelized)
- Fix inconsistencies with body islands (Kinematic bodies could link
bodies together or not depending on the processing order)
- Completely prevent static bodies to be active (it could cause islands
to be wrongly created and cause dangerous multi-threading operations as
well as inconsistencies in created islands)
- Apply impulses only on dynamic bodies to avoid unsafe multi-threaded
operations (static bodies can be on multiple islands)
- Removed inverted iterations when populating body islands, it's now
faster in regular order (maybe after fixing inconsistencies)
2021-04-26 18:26:00 -07:00
Rémi Verschelde 639b02f454
Merge pull request #48185 from Calinou/codestyle-no-auto
Remove uses of `auto` for better readability and online code reviews
2021-04-26 22:32:50 +02:00
Fredia Huya-Kouadio abb21844d8 Remove deprecated xr features properties. These properties are now provided directly by the plugin. 2021-04-26 13:20:12 -07:00
Rémi Verschelde d88e1f04df
Android: Upgrade buildTools from 30.0.1 to 30.0.3
It seems 30.0.1 had issues with compatibility with JDK 8 and 11,
which appear to be solved in 30.0.3 as per godotengine/godot-docs#4796.
2021-04-26 17:22:53 +02:00
Hugo Locurcio 5d124c4a8f
Remove uses of `auto` for better readability and online code reviews
The current code style guidelines forbid the use of `auto`.

Some uses of `auto` are still present, such as in UWP code (which
can't be currently tested) and macros (where removing `auto` isn't
easy).
2021-04-26 14:59:28 +02:00
Rémi Verschelde aa15ad72ee
Linux: Remove use_static_cpp override on x86_32
After further testing it seems to work fine now when building binaries with GCC 5
on Ubuntu 16.04 (previously we were using GCC 9 on Ubuntu 14.04).

Follow-up to #45629.
2021-04-26 13:34:55 +02:00
Rémi Verschelde f6e5ea774b
Merge pull request #48172 from madmiraal/fix-empty-csgshape-error
Fix new `CSGMesh` errors
2021-04-26 12:19:48 +02:00
Rémi Verschelde 2a1a083929
Merge pull request #48162 from mrushyendra/fix_audioserver_crash
Fix AudioServer Crash when no buses present
2021-04-26 11:56:20 +02:00
Fabio Alessandrelli 3bb40669d5 [Net] Implement String::parse_url for parsing URLs.
Splits the URL into (scheme, host, port, path).
Supports both literal IPv4 and IPv6.
Strip credentials when present (e.g. http://user:pass@example.com/).

Use that function in both HTTPRequest and WebSocketClient.
2021-04-26 09:55:24 +02:00
Fabio Alessandrelli 46f7b0f74b [Net] Fix socket poll timeout on Windows.
Now correctly computes the timeout value in milliseconds.
2021-04-26 07:23:39 +02:00
Koala 2c64008718 Fix indent left line selection 2021-04-25 22:31:29 +01:00
Dennis Brakhane 31d41d83c3 Remove duplicate comments
A few single line comments were duplicated, probably due to bad merges.

This commit removes the obviously duplicate ones.
2021-04-25 20:03:52 +02:00
EricEzaM 7c9bd81578 Fix viewport not updating mouse pos on click.
Closes #47594. See further discussion there. Thanks to @Bhu1-V for the investigation which led to this fix.
2021-04-25 22:44:10 +10:00
Rémi Verschelde 15a85fe971
Merge pull request #48174 from madmiraal/fix-csgmesh-undo
Fix `CSGMesh` undo not refreshing gizmo
2021-04-25 11:14:46 +02:00
Rémi Verschelde 592f8ecb5c
Merge pull request #48170 from sboron/fix-ao
Fix triplanar mapping for AO on Godot 4
2021-04-25 11:07:07 +02:00
Marcel Admiraal 4311c2f66e Fix CSGMesh undo not refreshing gizmo 2021-04-25 09:07:26 +01:00
Marcel Admiraal 48d3269aa4 Fix empty CSGShape error 2021-04-25 08:08:14 +01:00
Stefan Boronczyk f15cabcfd2 fix triplanar mapping for AO 2021-04-25 03:32:17 +02:00
Rémi Verschelde d1dc28e46c
Merge pull request #48139 from vnen/gdscript-dict-keys
Fix mismatch between String and StringName in dictionary keys
2021-04-24 19:46:59 +02:00
Maganty Rushyendra ccc375f163 Fix AudioServer Crash when bus count equals 0 2021-04-24 11:22:19 -04:00
Rémi Verschelde db90ab86b9
Merge pull request #47891 from Razoric480/lsp-update-filesystem
Make LSP update the filesystem for changed scripts
2021-04-24 13:17:31 +02:00
Rémi Verschelde a804d33281
Merge pull request #46952 from LightningAA/patch-1
Remove current export template version from "Installed Versions"
2021-04-24 11:46:32 +02:00
Rémi Verschelde 759b876b8a
Merge pull request #46593 from pycbouh/theme-editor-better-edit-ui
Refactor Edit Theme menu in Theme Editor
2021-04-23 23:12:25 +02:00
Rémi Verschelde 473a660241
Merge pull request #48106 from Calinou/doc-project-settings-feature-tags
Link to Feature tags more explicitly in ProjectSettings documentation
2021-04-23 22:04:54 +02:00
Rémi Verschelde b923726f67
Merge pull request #48141 from akien-mga/android-fileaccess-get_buffer-false-positive
Android: Fix get_buffer false positive on empty dest buffer
2021-04-23 21:49:11 +02:00
jfons 4d9d99bb82 Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.

Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
2021-04-23 21:45:23 +02:00
Rémi Verschelde a09f3833bd
Android: Fix get_buffer false positive on empty dest buffer
Follow-up to #46810, this was missed in #47079 when fixing the issue
for other platforms.

Fixes #48135.
2021-04-23 21:33:13 +02:00
George Marques 1e4ff2ede6
GDScript: Make sure Lua-style dicts use StringName as keys 2021-04-23 16:00:23 -03:00
George Marques c7511de02e
GDScript: Fix resolution of dictionary keys
There was a mixup between String and StringName keys. Now they're
clearly separated. This also means you have to consider which type
you're using for the dictionary keys and how you are accessing them.
2021-04-23 15:42:33 -03:00
Rémi Verschelde ff6f384618
Merge pull request #48129 from kleonc/args-master
Docs: Minor argument names fix
2021-04-23 17:13:09 +02:00
Rémi Verschelde 1a3d60944f
Merge pull request #47485 from rafallus/fix/rigidbody-crash
Fix crash on RigidBody _direct_state_changed
2021-04-23 16:02:26 +02:00
jfons 34b3e8f9e2 Add Embree-aarch64 thirdparty library 2021-04-23 15:57:28 +02:00
kleonc d13cfc8d62 Docs: Minor argument names fix 2021-04-23 15:46:51 +02:00
Rémi Verschelde eeccab26c5
Merge pull request #48126 from akien-mga/nodepath-remove-unimplemented-get_parent
NodePath: Remove unimplemented `get_parent()` method
2021-04-23 13:34:39 +02:00
Rémi Verschelde 12f826da7d
NodePath: Remove unimplemented `get_parent()` method
Fixes #48100.
2021-04-23 12:37:53 +02:00
Rémi Verschelde c04681b969
Merge pull request #48098 from KoBeWi/you_never_know
Make randomize() use unix time instead of ticks
2021-04-23 11:45:58 +02:00
Rémi Verschelde 492b8aa9a5
Merge pull request #43330 from KoBeWi/rngesus
Call randomize() automatically
2021-04-23 10:17:11 +02:00
Rémi Verschelde a3fbc0b4e5
Merge pull request #48028 from smix8/issue_47337_broken_navagent3d_callback 2021-04-23 10:14:04 +02:00
Rémi Verschelde bd7a92ec23
Merge pull request #48030 from smix8/issue_47337_broken_navagent2d_callback 2021-04-23 10:13:44 +02:00
rafallus cfa06f0f76 Unexpose _direct_state_changed in PhysicsBody
Removed _direct_state_changed bindings
Affects 2D and 3D nodes
Callbacks now use Callable
Tests were changed accordingly
2021-04-22 23:20:58 -05:00
Fabio Alessandrelli 6cfbf36338
Merge pull request #48079 from sboron/fix-47643-remote
Fix Closing Running Game, still shows remote and local tabs
2021-04-23 02:59:37 +02:00
Stefan Boronczyk 7b9a9e57a7 fix stop debugger on closing game 2021-04-23 01:04:15 +02:00
Tomasz Chabora 497c3f97b2 Call randomize() automatically 2021-04-22 21:13:43 +02:00
kobewi 22efa850bd Make randomize() use unix time too 2021-04-22 21:08:33 +02:00
Hugo Locurcio 188bd5638c
Link to Feature tags more explicitly in ProjectSettings documentation 2021-04-22 20:07:54 +02:00
Rémi Verschelde c7b97f077a
Merge pull request #48095 from akien-mga/safe_refcount-include-type_traits
Add type_traits include for `std::is_trivially_destructible`
2021-04-22 17:15:55 +02:00
Rémi Verschelde 4753b309a8
Merge pull request #48074 from akien-mga/fbx-fix-zlib-unbundling
fbx: Fix include for zlib that broke unbundling
2021-04-22 16:53:06 +02:00
Rémi Verschelde 3f270022d2
Merge pull request #48088 from bruvzg/icu_update_69_1
ICU: Update to version 69.1, improve ICU data export process.
2021-04-22 16:24:31 +02:00
Rémi Verschelde 3d46f28558
Add type_traits include for `std::is_trivially_destructible` 2021-04-22 16:23:55 +02:00
bruvzg b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00