Commit Graph

2473 Commits

Author SHA1 Message Date
Rémi Verschelde 440d8cd989
Merge pull request #87167 from 0x0ACB/public_character_body
Make CharacterBody properties public
2024-01-29 13:16:48 +01:00
A Thousand Ships 15369fdb1d
Remove unnecessary `this->` expressions 2024-01-29 09:59:18 +01:00
Rémi Verschelde e96030ecb4
Merge pull request #87506 from mihe/soft-body-without-attachment
Fix error when pinning soft body point without attachment
2024-01-26 11:46:13 +01:00
ACB 9d0302d708 Make CharacterBody properties public 2024-01-25 10:31:16 +01:00
clayjohn efb1cbaad4 Add GLES3 infrastructure for lightmap baking in the compatibility backend 2024-01-24 17:13:30 -08:00
Mikael Hermansson a3f07ad858 Fix error when pinning soft body point without attachment 2024-01-23 16:37:48 +01:00
Yuri Sizov 36f5050c34 Merge pull request #87050 from nikitalita/convert-3.x-skeletons
Skeleton3D: Convert 3.x skeletons
2024-01-22 20:38:51 +01:00
Yuri Sizov e95456b7f3 Merge pull request #86073 from m4rr5/add_reflection_mask
Add a reflection mask to the reflection probes
2024-01-22 20:38:37 +01:00
Marcel Offermans 25f573ca63 Add a reflection mask to the reflection probes.
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-01-20 08:07:31 +01:00
nikitalita bcad569ed9 Skeleton3D: Convert 3.x skeletons 2024-01-19 17:43:09 -08:00
Rémi Verschelde 8f9c815ddb
Merge pull request #87061 from KoBeWi/shadow_of_the_former_self
Add AudioStreamPlayerInternal to unify stream players
2024-01-18 09:34:42 +01:00
Yuri Sizov 2e1f4f4a9d Merge pull request #84610 from jsjtxietian/update-gizmo-right-after-assign
Fix CollisionObject3D Gizmo not updated after calling `shape_owner_*` functions
2024-01-17 18:52:26 +01:00
kobewi 0c7db3cdad Add AudioStreamPlayerInternal to unify stream players 2024-01-17 13:12:02 +01:00
jsjtxietian 80a488a242 Fix CollisionObject3D Gizmo not updated after calling shape_owner_* functions 2024-01-17 10:43:16 +08:00
Rémi Verschelde 3df0c5be6a
Merge pull request #86473 from reduz/audio-playback-parameters
Implement audio stream playback parameters.
2024-01-16 10:35:36 +01:00
Juan Linietsky a40fe16866 Implement audio stream playback parameters.
Implements a way for audio stream playback to be configured via parameters
directly in the edited AudioStreamPlayer[2D/3D].

Currently, configuring the playback stream is not possible (or is sometimes hacky
as the user has to obtain the currently played stream, which is not always immediately available).

This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3).
But the idea is that it can do a lot more:

* If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance.
* For the upcoming interactive music PR (#64488), this exposes an easy way to change the active clip, which was not possible before.
* For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394) this allows editing and animating audio graph parameters.

In any case, this PR is required to complete #64488.

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update doc/classes/AudioStream.xml

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-01-16 10:31:52 +01:00
ACB 96b8016a35 Rename camera near and far private members to avoid conflict with Windows.h defines 2024-01-15 12:31:15 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Yaohua Xiong 43b184b409 Fix PathFollow3D update issues
- transform is not updated after setting new flags such as `use_model_front`
- transform is not updated when the parent Path3D changes
- correct_posture() behaves differently when assuming model front
- _update_transform() was in immediate mode, could leads to chained calls on scene instantiation.
2024-01-09 10:28:16 +08:00
Rémi Verschelde 97607b6ab3
Merge pull request #86474 from KoBeWi/particular_velocity
Only update particle velocity when it changes
2024-01-08 11:53:53 +01:00
Rémi Verschelde 26ae551108
Merge pull request #85870 from dsnopek/collision-object-3d-gdextension-virtuals
Fix overriding `CollisionObject3D::_mouse_enter()` and `_mouse_exit()` from GDExtension
2024-01-08 11:51:52 +01:00
Yaohua Xiong 0e344f0d0b Path3D notify transform change to CSGPolygon 2024-01-08 18:29:18 +08:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Rémi Verschelde 85e999dc5e
Merge pull request #64908 from marcinn/lightmap-gi-texel-scale
Add `texel_scale` property to LightmapGI
2024-01-05 12:01:49 +01:00
Rémi Verschelde f4059d0e3c
Merge pull request #86576 from bikemurt/no-concave-warnings
Add warning for using concave shape on CharacterBody3D
2024-01-04 16:40:10 +01:00
Marcin Nowak eea2ad4019 Add texel_scale property to LightmapGI 2024-01-04 16:24:19 +01:00
Michael Burt 6838fe3f44 Add warning for using concave shape on CharacterBody3D
Additionally updated descriptions for RigidBody3D and VehicleBody3D
2024-01-04 09:33:01 -05:00
Rémi Verschelde d822fd5322
Merge pull request #86733 from Mickeon/autocompletion-more-animated-sprite
Add autocompletion options for AnimatedSprite's other play methods
2024-01-03 10:15:01 +01:00
Micky d5a7c7818c Add autocompletion options for AnimatedSprite's other play methods 2024-01-03 01:33:08 +01:00
Micky ca2f340384 Fix missing autocompletion for inheriting classes 2024-01-03 00:13:04 +01:00
kobewi cb0a37f61a Only update particle velocity when it changes 2023-12-23 18:04:24 +01:00
Yuri Sizov 252c462a9d Merge pull request #85594 from addmix/camera3d-current-bug
Prevent `Camera3D.current` from being set to `true` automatically in the editor.
2023-12-19 20:33:00 +01:00
Nicholas Foo e7ee672120 Add getters to navigation servers
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00
Yuri Sizov 13dd72ce78 Merge pull request #85219 from dsnopek/light-bake-mode-no-gi-method
Remove GI methods in parentheses from light baking options
2023-12-19 13:01:40 +01:00
Yuri Sizov 4600acfc41 Merge pull request #85311 from miv391/add-change-guards-to-sprite2d
Add property change guards to Sprite2D, Sprite3D and AnimatedSprite2D
2023-12-18 18:17:49 +01:00
A Thousand Ships 0081a50e32 Prevent mapping areas with invalid IDs for `Area2D/3D`
This occurs when areas are created directly from the servers, and no
instance is linked.
2023-12-18 16:02:46 +01:00
Mika Viskari 5b9e67e0a5 Add property change guards to Sprite2D and AnimatedSprite2D 2023-12-16 20:25:35 +02:00
Yuri Sizov 1e86ce0b40 Merge pull request #85317 from miv391/fix-breaking-frame-index-in-sprites
Fix invalid `frame` index when Sprite2D's `hframes` or `vframes` has been changed
2023-12-16 17:49:38 +01:00
风青山 ea30aabfb1 Clear monitoring in `Area*` when its space changes to invalid
So that it can work properly when the space changes to valid again.

Change `space` in advance to prevent disabled areas from being queried again.
2023-12-15 20:54:54 +01:00
Mika Viskari 484c5b5aff Fix invalid frame index when Sprite2D's hframes or vframes has been changed 2023-12-15 20:32:18 +02:00
Yuri Sizov 302e41c264 Merge pull request #82561 from ershn/fix_navigation_agents_is_target_reached_behavior
Make `target_desired_distance` affect the navigation of `NavigationAgent2D/3D`
2023-12-14 21:22:35 +01:00
bruvzg 575e1201cb [TextServer] Do not draw non-visual characters. 2023-12-12 12:17:10 +02:00
Yuri Sizov 44d544fc98 Merge pull request #85120 from dsnopek/gl-lightmap
OpenGL: Implement rendering of lightmaps
2023-12-08 15:23:27 +01:00
Yuri Sizov de5583c821 Merge pull request #83698 from BlueCube3310/curve-runtime-draw-improvement
Improve Curve3D debug drawing
2023-12-08 15:23:03 +01:00
David Snopek bfdcd8559b Fix overriding `CollisionObject3D::_mouse_enter()` and `_mouse_exit()` from GDExtension 2023-12-06 16:39:43 -06:00
David Snopek 749f60ee36 OpenGL: Implement rendering of lightmaps 2023-12-04 18:34:06 -06:00
Rémi Verschelde 4ce65c6190
Merge pull request #83816 from smix8/navobstacle_properties
Fix missing NavigationObstacle property updates in constructor
2023-12-04 23:00:02 +01:00
Rémi Verschelde 1389d8a23f
Merge pull request #83814 from smix8/navagent_properties
Fix missing NavigationAgent property updates in constructor
2023-12-04 22:59:38 +01:00
Rémi Verschelde 4bd5ffd669
Merge pull request #83812 from smix8/navregion_properties
Fix missing NavigationRegion property updates in constructor
2023-12-04 22:59:13 +01:00
Rémi Verschelde 9be2f25c57
Merge pull request #83802 from smix8/navlink_properties
Fix missing NavigationLink property updates in constructor
2023-12-04 22:58:49 +01:00
smix8 25bf20d7a5 Fix missing NavigationRegion property updates in constructor
Fixes missing NavigationRegion property updates in constructor.
2023-12-04 19:50:17 +01:00
addmix 5b5ac92de5 Prevent Camera3D.current from being set to true automatically in the editor. 2023-12-01 02:48:53 -07:00
Ershn fce16b6662 Make target_desired_distance affect the navigation of NavigationAgent2D/3D
When the target is reachable, stop the navigation only when the target is reached.
2023-11-29 23:48:54 +09:00
David Snopek ce488930ea Remove GI methods in parentheses from light baking options 2023-11-22 08:42:40 -06:00
Pedro J. Estébanez fe4850c0d0 Use mingw-std-threads in MinGW builds 2023-11-18 11:56:05 +01:00
Mikael Hermansson a3278c772e Fix transform sync in `RigidBody*D::_body_state_changed` 2023-11-15 01:45:45 +01:00
kobewi 4296f0a771 Fill remaining global scope constant descriptions 2023-11-13 15:17:10 +01:00
Mikael Hermansson 21a3ed1715 Fix transform changes in `_integrate_forces` being overwritten 2023-11-12 19:32:08 +01:00
Rémi Verschelde 28ada4582e
Merge pull request #82604 from Calinou/editor-camera3d-size-property-hint
Tweak Camera3D `size` property hint to make dragging more useful
2023-11-10 21:54:10 +01:00
rsburke4 f191330968 Node3D children using top_level in different position in-editor vs. runtime 2023-11-09 05:10:35 -05:00
Rémi Verschelde 5eb5a99379
Merge pull request #84165 from clayjohn/softbody-bug
Ensure SoftBody3D does not use compressed mesh format.
2023-10-30 10:19:43 +01:00
Rémi Verschelde e2c79bcb95
Merge pull request #82471 from SaracenOne/recache_bone_attachment
Reimport bone attachment fixes
2023-10-30 10:18:00 +01:00
clayjohn 1d9554103c Ensure SoftBody3D does not use compressed mesh format. 2023-10-29 22:45:47 +01:00
BlueCube3310 bd67e0a0bc Change dropdown type filter to Texture2D in certain nodes 2023-10-28 17:39:47 +02:00
Saracen 4b671eec0e Reimport bone attachment fixes:
Assign bone_idx to GLTF importer to fix serialization.
Notifies Skeletons and BoneAttachments when reimporting.
Removes usage of NOTIFICATION_NODE_RECACHE_REQUESTED
2023-10-27 20:34:01 +01:00
Rémi Verschelde 23b1f213a8
Merge pull request #81616 from bitsawer/fix_multimesh_voxelgi_bake
Fix VoxelGI MultiMesh and CSG mesh baking
2023-10-26 15:58:29 +02:00
Rémi Verschelde bf46ee144d
Merge pull request #77788 from gongpha/stop-posting-about-(re)importing-assets-whatever-dot-exr
Avoid reimporting lightmap textures every getter call
2023-10-26 15:57:46 +02:00
Rémi Verschelde 346459e9fb
Merge pull request #83986 from SaracenOne/skeleton_bones_renamed_check
Add method check for `_notify_skeleton_bones_renamed`.
2023-10-26 12:10:32 +02:00
Saracen d0e5bff542 Add method check for _notify_skeleton_bones_renamed. 2023-10-26 10:22:59 +01:00
Rémi Verschelde 79e9e201e8
Merge pull request #82415 from Calinou/reflectionprobe-fix-high-max-distance-rendering-2
Clamp ReflectionProbe Max Distance to 262,144 to fix rendering issues
2023-10-26 08:57:35 +02:00
bitsawer cbb39f4b6e Fix VoxelGI MultiMesh and CSG mesh baking 2023-10-25 16:37:47 +03:00
Hugo Locurcio e4d846378b
Fix LightmapGI taking editor-only and sky-only lights into account
These lights are not visible when running the project (or at all),
so they shouldn't affect the lightmap baking process.
2023-10-23 22:56:17 +02:00
smix8 618d9492d9 Fix missing NavigationObstacle property updates in constructor
Fixes missing NavigationObstacle property updates in constructor.
2023-10-23 05:10:58 +02:00
smix8 9640179f93 Fix missing NavigationAgent property updates in constructor
Fixes missing NavigationAgent property updates in constructor.
2023-10-23 04:27:49 +02:00
smix8 2f1668804c Fix missing NavigationLink property updates in constructor
Fixes missing NavigationLink property updates in constructor.
2023-10-23 01:43:55 +02:00
A Thousand Ships 72fccd82c5 [Audio] Fix pausing stream on entering tree
The paused notifications are only sent when pause status is changed,
this ensures that streams that are non-processing do not play when added
to the tree. Also ensures that the `process_mode` property applies
generally.
2023-10-22 22:35:32 +02:00
Kongfa Waroros c165f0cf2e Avoid reimporting lightmap textures every getter call 2023-10-22 16:32:08 +07:00
smix8 b7be45279d Solve race condition between AThousandShips and Akien
Solves race condition between AThousandShips and Akien.
2023-10-21 19:04:41 +02:00
Rémi Verschelde d2cd907e28
Merge pull request #83705 from smix8/agent_y_velocity_.4x
Fix NavigationAgent3D stored y-axis velocity and make it optional
2023-10-21 15:51:53 +02:00
Rémi Verschelde 0dc915b480
Merge pull request #83701 from smix8/obstacle_height_4.x
Fix NavigationObstacle3D height
2023-10-21 15:51:30 +02:00
Rémi Verschelde 918da63797
Merge pull request #82593 from smix8/navobstacle_debug_transform_4.x
Fix NavigationObstacle3D debug being affected by rotation and scale
2023-10-21 15:51:02 +02:00
BlueCube3310 982ce34a58 Improve Curve3D Debug Drawing 2023-10-21 11:56:05 +02:00
smix8 4771431b28 Fix NavigationAgent3D stored y-axis velocity and make it optional
Fixes NavigationAgent3D stored y-axis velocity and makes it optional.
2023-10-21 01:11:26 +02:00
smix8 b30b672649 Fix NavigationObstacle3D height
Fixes NavigationObstacle3D height.
2023-10-21 00:08:50 +02:00
Mikael Hermansson a977199a3c Fix unit suffixes for `Generic6DOFJoint` 2023-10-20 13:33:34 +02:00
Mathias d4ced2506d Fix unit suffix for HingeJoint3D's target velocity 2023-10-17 18:53:55 +02:00
Rémi Verschelde cbfa941061
Merge pull request #83365 from Malcolmnixon/fix-disabled-nav-region
Fix enabling NavigationRegion3D saved disabled
2023-10-16 13:00:35 +02:00
Malcolm Nixon 0646b230e4 Fix enabling NavigationRegion3D saved disabled
This PR fixes issue #83364 by always registering the region when it enters the tree, and instead using region_set_enabled to control whether its enabled. The same logical changes have been applied to NavigationRegion2D.
2023-10-14 23:17:57 -04:00
风青山 30904ed3bc Fix cannot update remote after disabling `use_global_coordinates` in `RemoteTransform2D`
Due to the optimization in `CanvasItem`, `global_transform` is only
updated when `get_global_transform()` is called, and then notify
`NOTIFICATION_TRANSFORM_CHANGED`. That is, in the case where
`global_transform` is not obtained, the notification will not be sent.

So we use `NOTIFICATION_LOCAL_TRANSFORM_CHANGED` in this case. Use in
combination to prevent certain optimizations.

Same change for `RemoteTransform3D`, to prevent the same optimization
from being used in `Node3D` in the future.
2023-10-15 00:16:52 +08:00
Rémi Verschelde 135fa1ef5d
Merge pull request #83179 from clayjohn/tangents-sanitize
Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader
2023-10-13 22:17:02 +02:00
Dario a9a197d2dc Rewrite the GPU Lightmapper's indirect lighting logic to match Godot 3.5's CPU Lightmapper.
Port over the logic from Godot 3.5 for indirect lighting. This should fix many issues about indirect bounces causing more energy and improve the overall quality of the result.
2023-10-13 14:33:55 -03:00
clayjohn e3d31837eb Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader 2023-10-13 08:54:49 -06:00
Rémi Verschelde 55282ddc10
Merge pull request #79527 from QbieShay/qbe/particles-rework
Particle internal refactor and additions for more artistic control
2023-10-10 22:48:50 +02:00
QbieShay c228fe1a0d Particle internal refactor and additions for more artistic control
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-10-10 20:03:35 +02:00
bitsawer 416ef5ad1b Fix VoxelGI bake memory leak 2023-10-09 12:27:03 +03:00
kleonc db6a8956b2 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-10-06 11:03:44 +02:00
clayjohn 51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
Rémi Verschelde 72cdb0b4c5
Merge pull request #82393 from jrouwe/body_changed_state
Fix performance regression in RigidBody2D/3D and PhysicalBone3D
2023-10-04 15:35:30 +02:00
bitsawer 12a2177967 Fix notification thread guards 2023-10-02 19:31:54 +03:00
Hugo Locurcio 14f40ec70e
Tweak Gravity Scale property hints to make dragging more useful
This also allows a more precise step.
2023-10-01 20:01:46 +02:00