Commit Graph

37 Commits

Author SHA1 Message Date
lawnjelly
8726cccd56 Portals - Allow more logging to be disabled
Some logging messages were still being issued when portals/debug/logging was false. This could be annoying in games that stream in parts of levels and repeatedly call `rooms_convert()`.

This PR allows all but essential logging to be disabled.
2022-07-29 22:37:46 +02:00
lawnjelly
50d5be10f8 Portals - Fix invalid room hint when reconverting room graph
In situations where rooms are converted multiple times, the previous room hint ID can reference a room number that is out of range of the new number of rooms. This fixes the bug by checking the room hint ID is within range.
2022-07-29 22:37:29 +02:00
11a92cfe27 Ported: 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.
- smix8
721c99a530
2022-07-29 17:56:48 +02:00
da20b32f66 Ported: 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.
- smix8
f0069cc1e9
2022-07-29 17:52:38 +02:00
f811d48449 Ported: 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.
- smix8
38ee593b76
2022-07-29 17:49:24 +02:00
Hugo Locurcio
0e32de0bad Clamp Viewport shadow atlas sizes to improve usability
- Add a range hint to the Viewport `shadow_atlas_size` property.
- Add range steps to the shadow resolution project settings that
  match the lowest allowed values (since lower increments don't
  make sense).
2022-07-29 17:38:06 +02:00
7ad35d62ea Ported: Physics Interpolation - fix stale interpolation data when unhiding
A previous optimization prevented instances being added to the interpolation lists when hidden to save processing. This caused a regression when unhiding nodes outside of the physics tick - the interpolated transforms would be stale until the next physics tick, causing a glitch.
This PR readds instances immediately to the interpolation lists when they are unhidden, preventing this glitch.
- lawnjelly

and

 Physics Interpolation - fix continuous updating in unmoving objects
Adds instances to the transform update list as well as the interpolate update list when unhiding them. This ensures that the system auto-detects non-moving objects, and removes them from the interpolate update list on the next tick, preventing unnecessary updates.
- lawnjelly

991687cc10
e4f252d94f

Properly this time.
2022-07-29 10:59:58 +02:00
Marcel Admiraal
0611c7db0d Cleanup AudioEffectRecord thread_active variable 2022-07-29 09:14:43 +02:00
bb5acfd745 Ported: [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.
- smix8
8bd7c6188b
2022-07-28 22:34:28 +02:00
13c4945b3a Ported: Add INFO_SHADER_COMPILES_IN_FRAME to GL ES 3 render info - RandomShaper
f46d7583ff
2022-07-28 19:37:52 +02:00
lawnjelly
739b0c0c3f Physics Interpolation - fix stale interpolation data when unhiding
A previous optimization prevented instances being added to the interpolation lists when hidden to save processing. This caused a regression when unhiding nodes outside of the physics tick - the interpolated transforms would be stale until the next physics tick, causing a glitch.

This PR readds instances immediately to the interpolation lists when they are unhidden, preventing this glitch.
2022-07-28 19:23:13 +02:00
Hugo Locurcio
c133ff34d4 Add a 3D suffix to relevant physics profiler categories
2D physics categories already had a 2D suffix: "Physics 2D"

(cherry picked from commit 36428305a685889c8f307896951082fda58a974f)
2022-07-28 11:52:41 +02:00
lawnjelly
d6a677f878 Portals - force full check on adding moving object
Moving objects being added during instance_moving_create() were incorrectly not forcing a full check to find which room they were within. This could result in moving objects being re-added not correctly identifying their current room, and thus culling incorrectly. This PR forces a full check on calling instance_moving_create.
2022-07-28 11:39:14 +02:00
08c0756260 Ported: 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.
- smix8
3977eb9107
2022-07-27 18:58:09 +02:00
24eccc4281 Ported: Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
- akien-mga
5e693b6d84
2022-07-27 18:39:35 +02:00
4781f146fb Ported: Physics Interpolation - optimize hidden nodes
In order to prevent glitches when unhiding nodes, set_transform() is still called to the VisualServer even for hidden nodes when the node is interpolated. This activates a lot of logic which is not necessary just to keep the previous transform updated.
This PR adds an early out which misses out on the unnecessary logic when instances are invisible.
- lawnjelly
ec9a17cfad
2022-07-27 17:43:40 +02:00
smix8
fa0b1f561a Expose VisualServer.texture_set_proxy() to GDScript
Expose VisualServer.texture_set_proxy() to GDScript
2022-07-27 13:06:42 +02:00
Rémi Verschelde
0fa5feae1a MultiMesh: Fix potential crash found by fuzzing
Fixes #58293.
2022-07-26 15:55:28 +02:00
clayjohn
ebe72ade75 Sort based on camera position when using perspective camera 2022-07-26 15:04:35 +02:00
tdetoy
4c295c2cd6 mesh_surface_get_format_offset and mesh_surface_get_format_stride will now provide an error with an invalid array index 2022-07-26 15:04:05 +02:00
Haoyu Qiu
a9b108ca47 Rename NavigationServer's free method to free_rid 2022-07-25 18:19:06 +02:00
Bartłomiej T. Listwon
fab0dad4bb Fix crash in AudioServer when switching audio devices with different audio channels count (connecting PS5 controller, bluetooth 5.1 headphones etc.) 2022-07-25 18:02:52 +02:00
Yuri Roubinsky
e77e34db8e Fix shader crashing when attempting to access length() at global space 2022-07-25 18:01:12 +02:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +01:00
c9b612f012 Added StringName as a variant type, with eventually the help of 3c0059650d . 2022-03-21 21:29:06 +01:00
4d7df62b8e Clang format all files. 2022-03-18 19:00:13 +01:00
97661b2af5 Ran the c++ header script on the servers directory. 2022-03-17 23:18:28 +01:00
c1ebd9905a Moved more includes. 2022-03-16 21:09:41 +01:00
1e6a70c77a Fix uninitialized variable warnings. 2022-03-16 10:15:33 +01:00
e85cef1745 Run godot's formatting script. 2022-03-16 09:02:48 +01:00
23c332974a Removed the arvr server. 2022-03-16 02:39:55 +01:00
938f72432e Removed the camera server. 2022-03-16 02:16:15 +01:00
a9fca142bc Fully removed Particles and Particles2D, as they were not implemented in gles2. 2022-03-16 00:06:53 +01:00
e111edf4f2 Cleaned up (hopefully all remaining) light baking things. 2022-03-15 21:07:14 +01:00
6fac6ba7f7 Removed lightmap captures, and also cleaned up almost all lightmap stuff. 2022-03-15 19:57:34 +01:00
03890f9e38 Removed GIProbes. 2022-03-15 19:03:03 +01:00
49f8e8c398 Added godot with all my currently used engine modules. 2022-03-15 13:29:32 +01:00