Commit Graph

4735 Commits

Author SHA1 Message Date
Rémi Verschelde 06f4a28306 Update docs links still pointing to 3.4 2022-06-29 12:03:04 +02:00
Rémi Verschelde f0cfe3a83b
Merge pull request #62173 from Faless/gdnative/3.x_mingw_dllexport_plus 2022-06-27 14:10:54 +02:00
smix8 721c99a530 Add NavigationServer map_force_update() function
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.

(cherry picked from commit fdea269805)
2022-06-24 10:19:00 +02:00
smix8 f0069cc1e9 Add NavigationServer.region_owns_point() helper function
Adds a helper function to check if a world space position is currently owned by a navigation region.

(cherry picked from commit e57360d8df)
2022-06-24 10:19:00 +02:00
Rémi Verschelde 83fae1dfa9 Mono: Update Newtonsoft.Json to 13.0.1
See https://github.com/advisories/GHSA-5crp-9r3c-p9vr

(cherry picked from commit 870c02143b)
2022-06-24 10:12:13 +02:00
smix8 38ee593b76 Add Navigation function to get all navigation maps
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.

(cherry picked from commit c0fed1d4e8)
2022-06-23 16:29:11 +02:00
smix8 7bcb9fddc9 Disable thread-unsafe EditorProgress for navmesh baking
Disables navmesh baking EditorProgress for now until fixed as EditorProgress is not thread-safe and uses hacks and Main::iteration() for steps which can result in random crashes when baking navmesh.

(cherry picked from commit 24bb0af4a9)
2022-06-23 16:29:11 +02:00
smix8 fcff804844 Implement NavigationMesh bake area
Adds two new properties to NavigationMesh resources to restrict the navmesh baking to an area enclosed by an AABB with volume.

(cherry picked from commit 0c4d99f4fd)
2022-06-23 16:17:43 +02:00
iamjsk10 1b648ddc2b Mono: Fix typo to `foreach` C# keyword
(cherry picked from commit d3a839f4b1)
2022-06-20 14:55:34 +02:00
Rémi Verschelde 4137578369 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-06-19 13:48:15 +02:00
Fabio Alessandrelli a77d514ec0 [GDNative] Fix GDN_EXPORT define with mingw.
The define is **not used by godot**, but in GDNative libraries.

I'm not sure it should be defined there in the first place, though we
shouldn't change that (for compatibility).

This commit changes the platform detection order to detect mingw
compiling for windows (which defines `__GNUC__`).

This commit also wraps the definition around a guard to let libraries
override it with a build-time define.
2022-06-18 13:03:06 +02:00
Haoyu Qiu b43fdea0d5 Classref typo fixes and improvements 2022-06-17 15:19:31 +08:00
Paul Joannon c43b8ccaaf Fix Lerp documentation and implement RangeLerp
(cherry picked from commit ee95a1cb28)
2022-06-16 20:47:40 +02:00
K. S. Ernest (iFire) Lee bcd92b8aa0 Print NavMap error only once for invalid NavMesh.
(cherry picked from commit 67052af918)
2022-06-16 20:47:40 +02:00
Kurt Lachmann c07d1d0de8 Use insertText from the internal autocompletion
* GDScriptLanguage::complete_code already adds parentheses to function calls, and does this a lot smarter than the language server right now.
* Instead of the previous naive approach we now reuse the same logic as the internal editor.
* For this to have any effect we also have to send the `insertText` field already during the completionRequest and not only during resolve.

(cherry picked from commit bbb07ff8cb)
2022-06-16 10:11:33 +02:00
smix8 b0a8bcdf49 Fix crash of navigation agents callback when object is invalid
Fix crash of navigation agents callback when object is invalid.

(cherry picked from commit bc38ebe4f0)
2022-06-16 10:03:18 +02:00
smix8 8bd7c6188b [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
2022-06-14 05:55:14 +02:00
Lyuma 7d970b967e gltf: Allow more than 4 joints but warn and ignore them. 2022-06-10 18:41:14 -07:00
Rémi Verschelde dad7502b8a
Merge pull request #61348 from AndreaCatania/expose_bullet_physics 2022-06-10 12:02:50 +02:00
AndreaCatania 6b08a22968 Exposes the BulletSpace internals.
This change is really useful to use internal bullet physics features not supported by godot.
2022-06-10 11:47:30 +02:00
Rémi Verschelde 80b82e4e66 i18n: Misc fixes translation strings
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:56:42 +02:00
SnailRhymer b94a0d486d Make Lookup Symbol recognize assert, preload, and yield in the script editor 2022-06-01 22:21:36 +01:00
smix8 47ade6786f Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty
Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty

(cherry picked from commit caceceab08)
2022-06-01 00:29:46 +02:00
31 826415ad2f C#: Fix debugger options missing from Project Settings 2022-05-25 20:43:00 -07:00
smix8 3891186536 Fix GridMap not adding custom mesh offsets to NavigationMesh generation
Fix GridMap not adding custom mesh offsets to NavigationMesh generation

(cherry picked from commit ae4b2597a1)
2022-05-25 14:10:20 +02:00
Rémi Verschelde 88dba8e625 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:41:46 +02:00
Haoyu Qiu 8b9f532f78 Fix editor crash when opening scene with CSGMesh
(cherry picked from commit de93286b1d)
2022-05-22 19:26:45 +02:00
smix8 88acb5b798 Make Navigation Agents and Obstacles respect parent process mode
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.

(cherry picked from commit 6b51ab66d8)
2022-05-19 15:34:56 +02:00
Rémi Verschelde 52da1bcdca rvo2: Sync with upstream commit bfc0486
bfc048670a
(cherry picked from commit 86cdf1f2cf)
2022-05-19 15:25:43 +02:00
Haoyu Qiu 067e738cb8 Fix various typos 2022-05-19 19:07:45 +08:00
Riordan 941a440996 Added recovery vector to shape position before bullet penetration detection to prevent recovery vector from adding repeat penetration responses. 2022-05-19 10:47:40 +02:00
Haoyu Qiu b657d0c76c Add dedicated macros for property name extraction
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NOEDITOR
2022-05-19 11:31:35 +08:00
Yuri Rubinsky 32b9818965 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-18 12:36:00 +03:00
bruvzg 98c7db745b FreeType: Update to version 2.12.1
(cherry picked from commit 93fba7ead3)
2022-05-17 22:28:10 +02:00
Rémi Verschelde abeb84ad33
Merge pull request #61117 from vnen/gdscript-builtin-method-info-release 2022-05-17 17:05:54 +02:00
George Marques 3a8f2dda01
GDScript: Keep builtin method info on release builds
This is so type inference still works properly after exporting the
project.
2022-05-17 11:01:12 -03:00
Rémi Verschelde 7515b47e8e bullet: Sync with upstream 3.24
Remove upstreamed patch.
2022-05-17 11:45:52 +02:00
dzil123 ddd392a93f fix gridmap cursor showing the wrong mesh
(cherry picked from commit 726614ff4b)
2022-05-16 21:12:21 +02:00
smix8 3e01d32b4c Clamp NavigationMesh sample_distance above zero
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.

This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.

(cherry picked from commit e33fa9d833)
2022-05-16 21:10:36 +02:00
smix8 3977eb9107 Add NavigationServer2D/3D API functions to find missing RID info
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....

Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.

(cherry picked from commit 371054e3e5)
2022-05-16 21:10:36 +02:00
Julian Mills 99e509a5d2 Fix blank command prompts spawning
prevent certain mono actions from displaying empty command prompts.

(cherry picked from commit d606a8eded)
2022-05-16 17:14:43 +02:00
Eduardo Rodrigues 2398db0f34 Improve description for GDScript built-in range
Rewrites the definition of how the function works.
Reworks the style of the examples and adds a negative range example.
Changes the while loop to a range loop in the array backwards example.

(cherry picked from commit b2841ce194)
2022-05-16 17:14:43 +02:00
smix8 689179036b Add Warning to NavigationMesh bake when source geometry is suspiciously big
Adds Warning when users try to bake a NavigationMesh with suspiciously big source geometry and small cellsizes as this baking process will likely fail or result in a NavigationMesh that will create serious pathfinding performance issues.

(cherry picked from commit 79511af7c9)
2022-05-16 17:14:43 +02:00
Rémi Verschelde 5e693b6d84 Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.

(cherry picked from commit d8935b27a9)
2022-05-16 16:38:26 +02:00
lawnjelly caa087f888 Portals - show gridmaps using global mode
Gridmaps did not previously show at all when portals were active, due to the instances being created defaulting to static mode, and not being converted during the room conversion stage.

This PR sets gridmap instances to global mode, which enables them to show up when portals are active (using frustum culling only, no occlusion).
2022-05-07 10:09:12 +01:00
Rémi Verschelde c3065e2186
Merge pull request #60773 from timothyqiu/rand-doc 2022-05-05 18:10:14 +02:00
Haoyu Qiu 84cc0c9c47 Improve documentation of `rand_range` 2022-05-05 21:52:30 +08:00
Rémi Verschelde 9e37599f36 Core: Rename math 'phi' arguments to 'angle'
(cherry picked from commit e7a58a7eb6)
2022-05-05 15:02:46 +02:00
trollodel 7c400b3ea0 Use CollisionObject3D API when baking the navmesh with static colliders, instead of collecting CollisionShape3D nodes
(cherry picked from commit 72c37c4bcd)
2022-05-05 14:07:56 +02:00
Haoyu Qiu 86b14496b1 Document lerp_angle behavior when angles are approximately PI apart
(cherry picked from commit 492903a0b2)
2022-05-05 13:45:29 +02:00