Commit Graph

96 Commits

Author SHA1 Message Date
890d6f1b28 Removed region_bake_navmesh from the NavigationServer. 2023-06-06 09:36:19 +02:00
654cfb81b7 Renamed NavigationRegion2D back to NavigationPolygonInstance, as I think it fits the engine better. 2023-06-05 18:09:53 +02:00
68b9f4c90e Ported from godot4: Add more detailed Navigation Debug Visualization
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
- smix8
c394ea518e
2023-06-05 18:05:15 +02:00
5578afc3d6 Fix scons warning. 2023-06-05 14:56:10 +02:00
57153f4a33 Make overrides consistent again. 2023-06-04 13:11:04 +02:00
6136f0b802 Fix the type of the CreateNavigationMeshGeneratorCallback. 2023-06-04 09:41:39 +02:00
0a3d1d6cf5 Added in NavigationMeshGeneratorDummy and set up initialization. 2023-06-03 20:00:42 +02:00
9a35d6c7d3 Cleaned up NavigationMeshGenerator and added it to the build. 2023-06-03 18:45:20 +02:00
8cbb1bb879 Started porting pull request from godot 4: Rework NavigationMeshGenerator
Reworks NavigationMeshGenerator and navigation mesh parse and bake process. Adds navigation mesh baking for 2D.
- smix8
https://github.com/godotengine/godot/pull/70724
38699a8259
2023-06-03 18:22:12 +02:00
2114b2239b Split NavigationPolygon and NavigationPolygonInstance into 2 files. Also renamedNavigationPolygonInstance to NavigationRegion2D. 2023-06-03 16:54:48 +02:00
f4a4956b7a Ported: Fix Polygon2D skinned bounds (for culling)
The bound Rect2 was previously incorrect because bone transforms need to be applied to verts in bone space, rather than local space. This was previously resulting in skinned Polygon2Ds being incorrectly culled.
- lawnjelly
dd6c213dac
2023-05-01 13:34:35 +02:00
belzecue
ad1464d9e5 Backport from Godot 4 - Fix RigidDynamicBody gaining momentum with bounce #55313 2023-05-01 12:24:31 +02:00
1263101396 Ported: Batching - Add MultiRect command
Large groups of similar rects can be processed more efficiently using the MultiRect command. Processing common to the group can be done as a one off, instead of per rect.

Adds the new API to VisualServerCanvas, and uses the new functionality from Font, BitmapFont, DynamicFont and TileMap, via the VisualServerCanvasHelper class.

- lawnjelly

910ddd13c4
2023-04-20 23:09:37 +02:00
45ffb33025 Add init() virtual methods to the navigation servers. 2023-04-16 18:23:56 +02:00
86bdecbfe9 Now more than one Naviugation2D servers can be registered. 2023-04-16 18:19:57 +02:00
f6c1c1dc8d Move NavigationServer2d's forwarding logic to the navigation module as a new derived class. 2023-04-16 18:11:15 +02:00
7068f1834e Now more than one Navigation Server can be registered. 2023-04-16 17:42:34 +02:00
7567494570 Ported: Eliminate collision checks between geometry in rendering BVH.
Later logic using the `pairable_mask` would catch cases preventing pairing callbacks between geometry. However the collision checks were still taking place, wasting performance.
Here we utilize the `tree_mask` feature of BVH to totally eliminate unnecessary collision checks between geometry.
- lawnjelly
18d7d36b63
2023-04-15 10:51:26 +02:00
40a9b72afb Ported from godot-plus: Add ability to mute AudioServer.
Adds the option to change the audio driver to the Dummy driver and back at runtime, with a set of MuteState flags - Disabled (user control), Silence (period of silence), Focus Loss (when app is not in focus), and Paused (when app is paused).
Control for the flags is added for the editor in EditorSettings, and for the project in ProjectSettings.
Editor defaults to muted (Dummy driver) when there is no audio output, and automatically switches to active on output. This significantly reduces CPU usage.
- lawnjelly
cedb01fb84
2023-04-10 19:42:23 +02:00
stmSi
9b65e9df6a Fix Editor hanging if audiostream's pitch_scale is NaN 2023-03-12 14:14:29 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
lawnjelly
880f84f8c4 Fix pairing crash in physics Octree
Remove section of code that should not run and was causing crash.
2022-12-22 14:26:42 +01:00
smix8
9225e78f68 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0a20faa4463e3a41bb12cf93a71fc03)
2022-12-22 14:12:00 +01:00
Ricardo Buring
721ae8f4ad Fix typo bug in heightmap shape
(cherry picked from commit 55eceb5150ee0c6b38f12f4be3fd601506959288)
2022-12-12 12:14:25 +01:00
dzil123
298be38336 Fix shader compiler asan out of bounds 2022-11-30 14:34:44 +01:00
BimDav
3e937eab15 Correctly compute inverse_mass when inertia is defined by user 2022-11-30 14:26:26 +01:00
clayjohn
c9b6b1bffe Properly initialize use_aabb_center in visual server 2022-11-13 00:25:23 +01:00
25d8fbdba4 Ported: visual instance layers are regarded during shadow culling.
todo: setting Camera cull_mask should mark affected shadows dirty somehow
- markusneg
16517ecb3d
2022-10-08 17:47:22 +02:00
Haoyu Qiu
f693b632fe Fix crash executing MultiMesh.reset_instance_physics_interpolation 2022-10-08 17:35:34 +02:00
93eb41c69e Ported: added options for sorting transparent objects
- QbieShay, akien-mga, clayjohn
acdcbefa4e
2022-09-17 10:54:57 +02:00
64f5bd2339 Ported: Bind Physics Interpolation functions in VisualServer
To allow maximum flexibility in the initial rollout, VisualServer functions were not bound in order to prevent compatibility issues if the API changed.

These functions are now bound to allow direct use from the VisualServer.
- lawnjelly
96a1b86717
2022-09-17 10:22:26 +02:00
Yuri Sizov
494dc2f957 Backport fixes to documentation for paths, curves and navigation servers 2022-09-16 13:07:20 +02:00
e24cb96418 Fix compile. 2022-09-16 13:05:22 +02:00
Pedro J. Estébanez
9db0cca2d9 Make audio thread control flags safe 2022-09-16 12:57:59 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
f1619cad4f Ported: Add hint_transparent to use a transparent black placeholder texture - Calinou
ab9a95f266
2022-08-19 02:57:42 +02:00
2a13c65298 Ported: Visual/Physics/Navigation Servers validate RIDs with documentation update - tinmanjuggernaut
2be0738304
2022-08-19 02:52:31 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
686663d3e4 Moved around more classes in core. 2022-08-17 16:01:01 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
9e1588160f Now all Variant math types are structs. 2022-08-16 22:09:26 +02:00
e71e3ed897 Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code. 2022-08-16 21:55:56 +02:00