Commit Graph

1237 Commits

Author SHA1 Message Date
Pedro J. Estébanez 3680cfde86 Fix crash when passing null to AudioStreamPlayer::set_stream()
(cherry picked from commit 9e2d5120c1)
2022-04-13 12:18:45 +02:00
Ellen Poe 883c3dc413 [3.x] instance audio streams before AudioServer::lock call
(cherry picked from commit 027546ee8a)
2022-04-13 12:18:45 +02:00
lawnjelly 855a079664 Portals - fix duplication of instanced scenes during conversion
During room conversion, if a prefixed Spatial is converted to a Room / RoomGroup etc, when using instanced scenes the owner was incorrectly set, resulting in the instanced scene objects being duplicated.

This PR corrects this.

(cherry picked from commit 4ec4b5a60d)
2022-03-02 12:07:54 +01:00
Ricardo Buring a57dc1881b Joint2D and Joint: make set_exclude_nodes_from_collision respect signals
(cherry picked from commit 322e3a9567)
2022-03-02 12:07:26 +01:00
Ricardo Buring fb6394f58c Joint2D and Joint: update joint on NOTIFICATION_POST_ENTER_TREE
This allows reparenting, etc.

(cherry picked from commit f197e5eebb)
2022-03-02 12:07:21 +01:00
Haoyu Qiu 8093d25827
Fix RayCast{,2D}.clear_exceptions clears parent
(cherry picked from commit 74a4795fb1)
2022-02-17 10:24:46 +01:00
SnailRhymer f4814ab711
Backport improved look_at docs and errors
Take extra constraint info and function description from Node3D.look_at to improve Spatial.look_at docs.
Add an explicit error for up == 0

(cherry picked from commit 83298da9b8)
2022-02-02 23:13:26 +01:00
lawnjelly 48a4741740
Portals - fix DYNAMIC particle systems
A regression had occurred whereby particle systems in DYNAMIC mode weren't added to the room correctly.
This PR recognise the case and bypasses the function to retrieve geometry, as retrieving the geometry is not necessary for DYNAMIC objects as they should not affect the room bound. Their AABB will be retrieved during gameplay rather than once off at level conversion.

(cherry picked from commit d86061d7ae)
2022-02-02 23:13:10 +01:00
Haoyu Qiu b54987760a
Store ObjectID instead of raw pointer for Shape Owners
(cherry picked from commit fa96505418)
2022-01-31 20:38:20 +01:00
Mack 2e8334fa00
Fixed accessing a null MeshInstance object in BakedLightmap instead of the GeometryInstance
(cherry picked from commit 36c7110c1b)
2022-01-25 18:50:35 +01:00
Albin d3528314b2
Fixed a number of ",or_greater" for the bug #56324
fix to #56324

Note: CPU_Particles_2d is missing ring emitter
(cherry picked from commit 21ca1c9cd7)
2022-01-25 18:38:57 +01:00
Rémi Verschelde 71066cd63b
Update copyright statements to 2022
Happy new year to the wonderful Godot community!

(cherry picked from commit a627cdafc5)
2022-01-13 16:00:37 +01:00
Hugo Locurcio 9a26e95d5c
Warn when using GPU-based particles on macOS due to low performance
On macOS, Particles rendering is much slower than CPUParticles
due to transform feedback being implemented on the CPU instead
of the GPU.

(cherry picked from commit 299d277c9c)
2022-01-12 16:51:41 +01:00
Arnav Vijaywargiya 596bf6bdaa
Fixed incorrect property types
(cherry picked from commit 0c46f73b5e)
2022-01-12 16:34:07 +01:00
Rémi Verschelde 2e8fdd0112
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
```

(cherry picked from commit b197de6f5f)
2022-01-07 00:17:47 +01:00
lawnjelly 7de023e192
Portals - Allow user to set roaming expansion margin
Previously a crude metric was used to decide on the roaming expansion margin, but it created unexpected results in some scenarios. Instead this setting is exposed to the user via the RoomManager, allowing them to tailor it to the world size, room sizes, roaming objects sizes and the speeds of movement.

(cherry picked from commit 788f075b44)
2021-11-15 22:45:57 +01:00
Rémi Verschelde 63b5d5de64
Modules: Make sure to include `modules_enabled.gen.h` where needed
Fixes #51677.

Co-authored-by: Arkadiusz Marcin Kołek <aksoftware91@gmail.com>
(cherry picked from commit 6f4858f184)
2021-11-15 22:36:02 +01:00
PouleyKetchoupp f9710ecb5e
Fix test_move reporting collision when touching another body
Reporting rest collision information is needed for move_and_collide and
move_and_slide so floor detection can be done properly, but in the case
of just testing the motion for collision, it makes sense to return false
if the body is able to move all along the path without being stopped.

Updated the logic in test_move and clarified the documentation for
test_move and move_and_collide.

(cherry picked from commit 1560c8b5aa)
2021-11-15 22:33:16 +01:00
PouleyKetchoupp 7344beafdd
Fix errors in KinematicBody when floor is destroyed or removed
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.

In 2D, there is no change in behavior (just no more errors).

In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.

(cherry picked from commit b93aeec4a2)
2021-11-15 22:32:53 +01:00
Rémi Verschelde 14ef65e49b
Merge pull request #54348 from akien-mga/3.x-clang-format-dont-align-operands 2021-10-28 15:43:15 +02:00
Rémi Verschelde 1b65550ec7
clang-format: Various fixes to comments alignment from `clang-format` 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Rémi Verschelde 187f293189
Merge pull request #54154 from bjauny/fix_areanotification 2021-10-27 20:38:55 +02:00
Bastien JAUNY a6ca61797c Checking validity of world reference before using it. Fix #54094. 2021-10-27 19:32:44 +02:00
Kemikal1 fa2feb9bec
Change the unreacheable return value of shape_find_owner()
(cherry picked from commit 563d3dbf94)
2021-10-23 11:57:10 +02:00
SeleckyErik 98c0ffb749 Add BAKE_ERROR_NO_ROOT to BakedLightmap
Add new error type to BakeError to signalise that there is no root node to
start baking from.
Document the new error type, as well as BAKE_ERROR_NO_LIGHTMAPPER.
2021-10-21 13:32:03 +02:00
Hugo Locurcio dc3b614a6a
Tweak AudioStreamPlayer3D property hints for usability
This also improves the documentation for the `max_distance` property.

(cherry picked from commit b383181851)
2021-10-18 11:24:42 +02:00
Rémi Verschelde f6784e18d1
Merge pull request #53848 from MaxLap/backport_doc_shape_signals 2021-10-15 18:54:43 +02:00
Maxime Lapointe f3002c62b7 Improve area/body_shape_entered/exited signals parameter names and doc
Fix some typoed names from the doc
Add _index to "index" parameters of *_shape_* signals, this is both in doc and in the template. This makes the code, signature and doc easier to understand
Add method to get Node from the _index params of those signals. This was not as easy to find as one would expect. Putting this information where it is needed will help.
2021-10-15 11:28:17 -04:00
Red Headphone 066f214654
no limit of negative value for engine_force (VehicleBody class)
(cherry picked from commit fff70a6427)
2021-10-15 12:51:42 +02:00
Haoyu Qiu 52ebe5993e
Use loop instead of recursion when clearing proximity groups
(cherry picked from commit 6072f38bb1)
2021-10-10 12:27:51 +02:00
Haoyu Qiu ff27b994cd Re-prepare VisualServer if SoftBody mesh changed 2021-10-06 23:25:14 +08:00
Rémi Verschelde 69437eb746
Merge pull request #53012 from lawnjelly/portals_unload_reason 2021-10-05 12:00:43 +02:00
kleonc e2e149f4df Fix rendering centered odd-size texture in AnimatedSprite/AnimatedSprite3D 2021-10-03 14:15:21 +02:00
PouleyKetchoupp 304102f66f Optimize AABB calculation in software skinning
Using min/max instead of regular AABB for optimal processing.
2021-09-28 10:11:04 -07:00
Rémi Verschelde d4d4603827
Merge pull request #53144 from nekomatata/software-skinning-aabb
Update mesh AABB when software skinning is used
2021-09-28 07:27:23 +02:00
PouleyKetchoupp 941cff4157 Update mesh AABB when software skinning is used
Not updating the mesh properly can cause rendering issues in some cases,
like shadows not updating properly.
2021-09-27 11:56:58 -07:00
lawnjelly 279e6f65cd Portals - add reason string to unload message
To help users identify conditions that are causing room system invalidation, a reason message is passed to the unload function and logged.
2021-09-24 14:00:24 +01:00
Rémi Verschelde 044cafc31a
Merge pull request #52894 from laws65/3d-skeleton-bone-fix 2021-09-23 12:10:26 +02:00
PouleyKetchoupp 8b562543df Don't override KinematicCollision reference when still in use in script
In case the reference is stored in script, create a new instance to
avoid overriding the previous values.
Otherwise, re-use the reference as before to avoid extra allocations.
2021-09-22 18:15:03 -07:00
PouleyKetchoupp ad5e70cde4 Fix moving platforms with ray shapes
In the case of ray shapes, the body RID used to apply platform velocity
wasn't properly set.
2021-09-21 09:00:23 -07:00
laws65 d1bacb53fd Prevent being able to set bone's parent as itself 2021-09-21 22:06:03 +09:30
Rémi Verschelde b37776fa2f
Merge pull request #52591 from timothyqiu/error-macros
[3.x] Remove do{ } while(0) wrapper around error macros
2021-09-21 10:38:34 +02:00
Camille Mohr-Daurat bb885c5704
Merge pull request #52369 from bengtsts/3.x
Expose soft body pin methods to GDScript
2021-09-17 06:19:54 -07:00
Bengt Söderström 73b9b84995 Expose soft body pin methods to GDScript 2021-09-17 11:25:31 +02:00
Hugo Locurcio 7922c262f6
Display a editor gizmo icon for Listener
The icon was present in `editor/icons/`, but it was never implemented
in the editor gizmos code.

This also removes some unused gizmo drawing code (overridden methods
that are no longer called anywhere).
2021-09-16 23:37:12 +02:00
Rémi Verschelde 20f14e0a16
Merge pull request #52586 from JFonS/lm_bake_end
Fix editor getting stuck after baking lightmaps from a script
2021-09-14 22:40:48 +02:00
Lewis Pollard 4e68f089e0
Fix is_playing() method in AnimatedSprite3D
(cherry picked from commit 2450173495)
2021-09-14 13:41:26 +02:00
Rémi Verschelde f85ad007c0
Merge pull request #52338 from lawnjelly/portals_fix_portal_import
Portals - fix import of portal normal + small bug fixes
2021-09-14 10:21:44 +02:00
Haoyu Qiu 70853fd669 Remove do{ } while(0) wrapper around error macros 2021-09-12 15:04:53 +08:00