Commit graph

4923 commits

Author SHA1 Message Date
Rémi Verschelde
5197dc6c9e
Merge pull request #61993 from kdiduk/gdscript-fix-inner-class-on-single-line
Fix inner class parsing when statement after colon is on the same line
2022-08-05 22:36:21 +02:00
Rémi Verschelde
1b7037807f
Merge pull request #59328 from raulsntos/csharp-flag-enums-3.x 2022-08-05 19:37:29 +02:00
Rémi Verschelde
0a8d5d7098 Bump version to 3.6-beta 2022-08-05 18:51:38 +02:00
smix8
e7c5468192 [3.x] Add NavigationMesh baking for HeightMapShape
Adds HeightMapShape for StaticColliders and GridMap to the NavigationMeshGenerator for baking NavigationMesh.
2022-08-05 08:56:02 +02:00
Fabio Alessandrelli
fbc7fc44ae Fix some array size function definition mismatch.
(cherry picked from commit 55845bac26)
2022-08-04 15:18:43 +02:00
Raul Santos
3ec6644096 C#: Remove unused Transform2D.ScaleBasis method
(cherry picked from commit a4ad1dfa51)
2022-08-03 15:01:02 +02:00
Raul Santos
ef9e2c8ca8 Rename math 'phi' arguments to 'angle' in C#
(cherry picked from commit d0e586fc7e)
2022-08-01 10:38:58 +02:00
bruvzg
12e10457e1 [macOS, Mono] Fix "Wdeprecated-declarations" build error.
(cherry picked from commit 5d54c015b2)
2022-08-01 10:30:43 +02:00
Aaron Franke
4d6c609e50
[3.x] Fix Translated method in C# affecting the original transform 2022-07-30 11:54:19 -05:00
smix8
d0a78d05eb [3.5] Replace Navigation std::vector use with LocalVector
Replace Navigation std::vector use with LocalVector.
2022-07-29 11:13:20 +02:00
Rémi Verschelde
818f1eed31 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Dallon Feldner
a99cc8bc29 Don't print redundant errors when parsing GDScript 2022-07-22 11:02:29 -05:00
Rémi Verschelde
4ef99b409d
Merge pull request #63163 from dsnopek/multiplayer-peer-custom-3.x 2022-07-20 22:41:15 +02:00
Haoyu Qiu
a3b282c6cc Fix doc for print_debug 2022-07-20 21:17:56 +08:00
Rémi Verschelde
8dc32619f2 Bullet: Don't include unused BulletInverseDynamics
Follow-up to #63143.
2022-07-19 17:57:28 +02:00
David Snopek
8ad5889c1a Add NetworkedMultiplayerCustom so high-level multiplayer backends can be added from GDScript 2022-07-19 09:16:41 -05:00
Rémi Verschelde
fe1e84ec6c Bullet: Remove unused Bullet3 and clew libraries 2022-07-18 13:15:21 +02:00
Rémi Verschelde
4455b6c4a8 GDNative: Expose String::num_uint64, and use bool in capitalized versions
Exposed in Core API 1.3 added in 3.5.
2022-07-18 09:47:30 +02:00
Rémi Verschelde
99a923ce9e
Merge pull request #63116 from kdiduk/gdnative-dictionary-merge
[GDNative] Expose `Dictionary::merge()` over to GDNative CORE API v1.3
2022-07-17 19:37:34 +02:00
Kirill Diduk
b5483a6aad [GDNative] Expose Dictionary::merge() over to GDNative CORE API v1.3 2022-07-17 19:12:51 +02:00
Jan Haller
e69a0394d4 GDNative: fix StringName equal and less operators 2022-07-17 11:17:35 +02:00
Kirill Diduk
910c67b268 [GDNative] Expose String::join() to GDNative Core API v1.3 2022-07-16 16:31:32 +02:00
Kirill Diduk
2cd87ef226 [GDNative] Refactoring: add const to has and join methods of pooled arrays 2022-07-16 14:08:42 +02:00
Francois Belair
2ceb93bbef Fix custom res caching sub-res even if no-cache
Fixes #59686, fixes #59752
2022-07-13 11:18:26 -04:00
Rémi Verschelde
f05cecdc43
Merge pull request #55650 from kdiduk/pooled-arrays 2022-07-08 00:15:44 +02:00
Rémi Verschelde
600c1c4dc4
Merge pull request #62708 from madmiraal/fix-40508-3.x 2022-07-07 23:54:45 +02:00
Kirill Diduk
7b8b91f505 [GDScript][GDNative] Add 'sort' and 'has' methods to pooled arrays
This is a backport from 4.0 to 3.x that adds 'sort' and 'has' methods
to the following types:
- PoolByteArray
- PoolIntArray
- PoolRealArray
- PoolStringArray
- PoolVector2Array
- PoolVector3Array
- PoolColorArray

For all the types above, the methods 'sort' and 'has' have been
exposed to the GDNative API (v. 1.3)

Since the method 'has' was already implemented in GDScript before,
in this commit it has been only exposed to GDNative API.

The classes documentation is updated.

The method 'sort' uses the exisging class "Sorter".

Pooled arrays in 4.0 are rewritten, that's why this backport is not
completely indentical to the original PR made for 4.0 (see #32144).
2022-07-07 23:24:31 +02:00
PZerua
7a35bf683a Fix light intensity and attenuation import from GLTF
(cherry picked from commit aa7ab96e71)
2022-07-06 11:44:30 +02:00
janglee
00c6cdd793 GDScript: Fix autocompletetion showing class names with an underscore
Fixes #35469.
2022-07-05 12:29:23 +02:00
Marcel Admiraal
25bedade3b Do not set gravity and damping when Custom Integrator is enabled. 2022-07-04 15:37:27 +01:00
bruvzg
a8eb779ac3
Backport locale selection improvements. 2022-07-04 11:49:20 +03:00
mj.Jernigan
022cbeb192 Register missing WebRTCDataChannelJS type
(cherry picked from commit a413656e07)
2022-07-03 03:35:02 +02:00
César Izurieta
f66200ed3c Fix gltf texture filename decoding 2022-07-03 03:03:24 +02:00
Rémi Verschelde
ef29a227bf
Merge pull request #55826 from kdiduk/gdnative-poolstringarray-join 2022-07-03 01:05:03 +02:00
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
Kirill Diduk
5bcc3d476c Fix parsing inner class declaration when "pass" keyword is on the same line
Implement a special case for allowing "pass" keyword in one-liner class
declaration, to be consistent with Python style.

```
class TestClass: pass
```

This commit fixes #56703
2022-06-21 10:04:26 +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
Kirill Diduk
bf60d655e2 [GDNative] Add missing declaration of join method for PoolStringArray class
The class PoolStringArray in GDScript has `join` method, and it even has documentation.
However, the corresponding definition of this method in GDNative headers were missing.

In this commit, the missing GDNative definition of `join` method has been added.
A new CORE API version 1.3 has been added with the new metod `join`.
2022-06-08 14:58:54 +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
Cory Petkovsek
2be0738304 Visual/Physics/Navigation Servers validate RIDs with documentation update 2022-05-06 03:39:06 +08: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
Rémi Verschelde
5c79239e12
Merge pull request #60626 from timothyqiu/missing-sv-usage 2022-05-02 09:53:48 +02:00
Rémi Verschelde
288dbe41a2
Merge pull request #59864 from rburing/bullet_skip_depenetrate_from_void_3.x 2022-04-29 14:41:31 +02:00
Haoyu Qiu
acf9870397 Fix incorrect usage for some export variables 2022-04-29 20:12:47 +08:00
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