1
0
Fork 0
Commit Graph

2537 Commits

Author SHA1 Message Date
Ricardo Buring 7c4c4b9987 Move Godot Physics 2D into a module; add dummy 2D physics server
If the module is enabled (default), 2D physics works as it did before.

If the module is disabled and no other 2D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 2D physics functionality (and
a warning is printed).

The dummy 2D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-23 17:33:45 +02:00
Mark DiBarry 3f9bb59606 Prevent jitter in Parallax2D 2024-09-23 20:36:38 +08:00
Thaddeus Crews b37fc1014a
Style: Apply new `clang-format` changes 2024-09-20 08:09:48 -05:00
Rémi Verschelde 49b725ddcc
Merge pull request #93353 from AThousandShips/config_warning_fix
Fix super call in various `get_configuration_warnings` methods
2024-09-08 23:21:09 +02:00
David Trallero 1b376b32cd Update FollowPath2D children of Path2D when a curve_changed event occurs 2024-09-06 07:54:22 +08:00
A Thousand Ships 9dc231366d
Fix super call in various `get_configuration_warnings` methods 2024-09-05 16:08:35 +02:00
smix8 5bedaf77f7 Fix 2D debug navigation flickering with tile maps
Both the tile map layers and the debug navigation canvas items did fight for the same z order causing a lot of flickering in certain situations.
2024-09-05 15:11:29 +02:00
Guillaume Turri ea9dff87ae
Add error checks for bad configuration in `PathFollow2D/3D` `set_progress_ratio`
When a PathFollow is badly configured it's possible to have code that
call get_progress_ratio just after set_progress_ratio does not return
the value just set, which may be confusing for developer (ie that
    myPathFollow2D.set_progress_ratio(0.5)
    myPathFollow2D.get_progress_ratio()
does not return 0.5)

This commit makes ensures the developer has useful error messages in
such case, to make it easier to troubleshot it.
2024-09-04 18:07:49 +02:00
Rémi Verschelde d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
Gilles Roudière d75c5ec7ba Implement multiple occlusion polygons within each TileSet occlusion layer 2024-09-03 15:38:51 +02:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Raul Santos 7fd261c8c1
Expose `AudioStreamPlayer{2D,3D}::set_playing` and remove `AudioStreamPlayer::{2D,3D}::_is_active`
- The `_is_active` method seems to be unused, so it was removed.
- The `_set_playing` method is now exposed, as the setter of the `playing` property.
    - The `play` method can't be used as a setter because it takes a `float` parameter instead of a `bool` parameter.
2024-08-30 17:16:46 +02:00
Rémi Verschelde ba0b93cf64
Merge pull request #96245 from markdibarry/prevent-autoscroll-reset
Prevent Parallax2D autoscroll reset
2024-08-29 10:36:42 +02:00
Rémi Verschelde 96cbcc30e2
Merge pull request #90945 from Scony/extract-navigation-defaults
Extract navigation-related defaults to separate header
2024-08-29 10:36:14 +02:00
Mark DiBarry 1eda1cf5d7 Prevent Parallax2D autoscroll reset 2024-08-28 16:38:27 -04:00
Rémi Verschelde 6cb21a56fd
Merge pull request #93970 from MarblesFr/feature/collision-occlusion-options-layer-map
Add occlusion enabled option to TileMapLayer
2024-08-28 00:11:40 +02:00
Rémi Verschelde 0023cb0d99
Merge pull request #92218 from EspeuteClement/master
Propagate `reset_physics_interpolation` through `RemoteTransform2D/3D`
2024-08-28 00:10:52 +02:00
Pawel Lampe c3f1bfd5cb Extract navigation-related defaults to separate header 2024-08-27 20:12:10 +02:00
Rémi Verschelde ea054261e2
Merge pull request #91731 from TokageItLab/b2s
Fix Bone2D gizmo scaling
2024-08-19 16:04:40 +02:00
Rémi Verschelde 8b39d7f326
Merge pull request #95666 from kleonc/parallax2d_repeat_offsets_relative_to_source
Fix `Parallax2D` repeats being not relative to its transform
2024-08-19 14:34:21 +02:00
Rémi Verschelde b1088047a0
Merge pull request #95124 from kleonc/skeleton2d_fix_set_get_always_returning_true
Fix `Skeleton2D.{_set|_get}` always returning true
2024-08-19 14:34:09 +02:00
kleonc 1bd8372813 Fix Parallax2D repeats being not relative to its transform 2024-08-19 11:43:16 +02:00
Rémi Verschelde a917a2b2f9
Merge pull request #95456 from smix8/navlink_mapchange
Add NavigationLink function to change navigation map
2024-08-16 14:34:49 +02:00
Rémi Verschelde e526882052
Merge pull request #95386 from kus04e4ek/close-audio
Add `stop_callable` to `AudioStreamPlayerInternal`
2024-08-16 14:33:55 +02:00
Rémi Verschelde 504f81ec08
Merge pull request #95376 from raulsntos/gdextension/expose-property-accessors/Polygon2D
Make `Polygon2D::bones` property internal
2024-08-16 14:33:49 +02:00
Rémi Verschelde d45f9d26ff
Merge pull request #81973 from /detective_TileMap_uncovers_the_truth_about_tile_rotation 2024-08-16 14:31:32 +02:00
Rémi Verschelde 987635b508
Merge pull request #95374 from raulsntos/gdextension/expose-property-accessors/ShapeCast
Expose `ShapeCast{2D,3D}::get_collision_result`
2024-08-16 10:35:38 +02:00
Rémi Verschelde f3ba14be60
Merge pull request #93837 from Calinou/gpuparticles-fix-inherit-velocity-physics
Fix GPUParticles Inherit Velocity breaking with physics movement
2024-08-16 10:34:10 +02:00
smix8 e6ff4e56e3 Add NavigationLink function to change navigation map
Adds NavigationLink function to change navigation map.
2024-08-15 22:37:02 +02:00
Raul Santos e47ff98451
Expose `ShapeCast{2D,3D}::get_collision_result` 2024-08-15 16:20:13 +02:00
kobewi dba1a39fe1 Add helper methods to check for tile transforms 2024-08-12 02:51:34 +02:00
Kusok 8c7dd3cb61 Add `stop_callable` to `AudioStreamPlayerInternal` 2024-08-11 20:27:15 +08:00
Raul Santos 60e93415ed
Make `Polygon2D::bones` property internal 2024-08-10 17:55:29 +02:00
Hugo Locurcio 5bc4b49f0b
Document converting a TileMap node to TileMapLayer using the editor 2024-08-07 11:15:29 +02:00
kleonc 115cd47fd6 Fix Skeleton2D.{_set|_get} always returning true 2024-08-04 18:44:07 +02:00
Leon Stansfield 4aead96306 Revent DRAW_ORDER_INDEX to DRAW_ORDER_LIFETIME default particle params for compatibility. 2024-08-04 15:45:48 +01:00
Leon Stansfield 48a54cb62f Adjusted listings of parameters displayed in inspector to be consistent accross all particle types 2024-08-04 15:33:31 +01:00
Sora 998f5c682e Add occlusion enabled options to tile map layer 2024-07-22 12:13:39 +02:00
Rémi Verschelde fbac9c54c9
Merge pull request #94147 from MovaUA/fixes/node-configuration-warning-dialog-text
Fixes/node configuration warning dialog text
2024-07-11 00:27:39 +02:00
Valeriy Molchanov 32369d2b6d
Fix Issue #94145 Incorrect text in the Node Configuration Warning dialog
Fix some translations

Revert "Fix some translations"

This reverts commit 61e586ef84fb962eefdc14593241c1d8b0fb7b6b.

Revert "Fix Issue #94145 Incorrect text in the Node Configuration Warning dialog"

This reverts commit d0832dc5e7f0657744780cdfc97ed40772ea717c.

msgid

warnings.push_back(RTR("A SpriteFrames resource must be created or set in the \"Sprite Frames\"

revert editor/translations/editor
2024-07-09 22:36:18 +02:00
Yuri Rubinsky af5fc8354b Fix a bunch of orphan StringName errors at ProjectSettings/Editor exit 2024-07-09 19:38:52 +03:00
Rémi Verschelde ff8050efda
Merge pull request #94014 from markdibarry/parallax-snap
Add pixel snap for `Parallax2D`
2024-07-09 16:47:17 +02:00
Rémi Verschelde 307b4e3091
Merge pull request #94039 from rburing/fix_physics_tickcounter
Fix physics tick counter
2024-07-07 21:58:55 +02:00
Rémi Verschelde aec5c85acb
Merge pull request #94036 from rburing/fti_fix_pause
Physics Interpolation: Fix behaviour on pause
2024-07-07 21:58:51 +02:00
Ricardo Buring 23521635d2 Fix physics tick counter
The counter is now incremented at the start of a physics tick rather than at the end.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 19:04:05 +02:00
Ricardo Buring ceadbaa299 Fixed Timestep Interpolation: Fix behaviour on pause
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 16:48:17 +02:00
Mark DiBarry b83359518f Remove unused assignment in Parallax2D 2024-07-07 10:44:13 -04:00
Mark DiBarry 8888e9216f Add pixel snap for Parallax2D 2024-07-07 10:09:15 -04:00
Hugo Locurcio 33e1f570ff
Fix GPUParticles Inherit Velocity breaking with physics movement
GPUParticles' Inherit Velocity property used to act strangely
if the physics tick rate was lower than the rendered FPS, as velocity
was tracked in the process and not in the physics process. This
means that on certain rendered frames, the velocity was effectively
0 since there was no movement since the last rendered frame.
2024-07-02 01:46:57 +02:00
Rémi Verschelde 4ab8fb8093
Merge pull request #93747 from KoBeWi/layer_of_bugs
Fix some TileMapLayer editing problems
2024-06-29 19:54:30 +02:00
kobewi 92b0375785 Fix some TileMapLayer editing problems 2024-06-29 18:18:54 +02:00
Mark DiBarry 6b17d51425 Add alternative pixel rounding 2024-06-29 10:33:39 -04:00
Rémi Verschelde d71c85ce5f
Merge pull request #92016 from KoBeWi/pick_layers_like_a_boss
Allow selecting TileMapLayers by clicking them
2024-06-28 15:55:10 +02:00
Robocraft999 dc6e664fda Fix AnimationSprite2D/3D::play using wrong end_frame
On playing a different animation to the current backwards will start the new animation on the last animations last frame not the new ones
2024-06-26 13:50:44 +02:00
Rémi Verschelde ff9c6332fd
Merge pull request #93368 from rburing/fti_skinning
Physics interpolation: Fix 2D skinning
2024-06-20 16:18:47 +02:00
Ricardo Buring 6d35dcf7c5 Physics interpolation: Fix 2D skinning
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-06-20 11:35:38 +02:00
Rémi Verschelde 19bf77f666
Merge pull request #91382 from adamscott/sample-player
Add sample playback support
2024-06-19 07:59:07 +02:00
Rémi Verschelde 2b11d0ca96
Merge pull request #93279 from rburing/fti_tile_map_layer
Fix `TileMapLayer` not respecting physics interpolation mode
2024-06-18 23:16:12 +02:00
Ricardo Buring 4c426b0be5 Fix TileMapLayer not respecting physics interpolation mode 2024-06-18 22:05:46 +02:00
Adam Scott 52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 -04:00
Rémi Verschelde 9dca8995b2
Merge pull request #89572 from markdibarry/parallax_scale_regression
Avoid passing zoom scale for ParallaxLayer mirror
2024-06-17 10:57:51 +02:00
kobewi 9f7f1809ff Update Camera2D gizmos when screen size changes 2024-06-11 18:38:43 +02:00
smix8 6b85bc9de2 Fix NavigationRegion2D debug not clearing canvas item
Fixes NavigationRegion2D debug not clearing canvas item on navigation mesh change.
2024-06-10 19:07:57 +02:00
Gilles Roudière c283db2130 Implement X-draw-order switch in TileMapLayer 2024-06-10 15:53:58 +02:00
Rémi Verschelde 4cd39c56fb
Merge pull request #92283 from KoBeWi/code_simpleton
Automatically use property count in PropertyListHelper
2024-05-30 11:47:58 +02:00
Valden 0f50b6b608 Propagate reset_physics_interpolation through RemoteTransform2D/3D 2024-05-28 20:23:25 +02:00
smix8 5f5fe737d2 Improve NavigationRegion2D debug performance
Improves NavigationRegion2D debug performance by replacing the canvas polygon and line commands with a static mesh.
2024-05-28 19:36:35 +02:00
Ricardo Buring efb6a1c23d Fix Parallax2D fixed timestep interpolation
The camera_screen_center value was stale in case of interpolation.
2024-05-26 23:08:35 +02:00
kobewi b365a63403 Automatically use property count in PropertyListHelper 2024-05-25 10:51:37 +02:00
kobewi 6559bb68e6 Remove some TileMap dependencies from TileMapLayer 2024-05-21 11:32:14 +02:00
cosparks 601edc7d3e Fix 2d sdf collision for TileMapLayer 2024-05-20 13:03:02 -07:00
kobewi b758222761 Allow selecting TileMapLayers by clicking them 2024-05-16 15:47:23 +02:00
Rémi Verschelde 77470740de
Merge pull request #91936 from jsjtxietian/body-connect
Avoid duplicate connect in Joint2D and Joint3D `_update_joint`
2024-05-15 12:09:50 +02:00
jsjtxietian 51bc55598c Avoid duplicate connect in `Joint2D::_update_joint` and Joint3D 2024-05-15 11:57:51 +08:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
Rémi Verschelde 61b970ea44
Merge pull request #91929 from matheusmdx/fix-error-91914
Fix error in AudioStreamPlayer2D
2024-05-14 12:07:20 +02:00
matheusmdx 305967c021 Fix error in AudioStreamPlayer2D 2024-05-14 02:07:12 -03:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
Gilles Roudière 7705265477 Fix PropertyListHelper::_get_property returning a valid value even if an index is outside the array valid indices
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-05-10 10:46:04 +02:00
Silc Lizard (Tokage) Renew de558123bf Fix bone2d scaling
Co-authored-by: Thiago Lages de Alencar <thiagola92@gmail.com>
2024-05-09 22:24:05 +09:00
Rémi Verschelde 594498e718
Merge pull request #90966 from Calinou/debug-draw-use-runtime-colors
Use same colors for editor and running project for collision/path debug
2024-05-07 16:49:31 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
A Thousand Ships 308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
kobewi 0b877a9962 Expose is_part_of_edited_scene() 2024-04-26 11:49:38 +02:00
Rémi Verschelde 6149359dac
Merge pull request #91076 from Bn-Fang/master
Fix typo in Camera2D node's anchor mode
2024-04-24 09:59:48 +02:00
johnsonbaugh ef8acbde9a Fix errors and warnings when loading Skeleton2D Modifications
Fixes #73247
2024-04-23 20:42:23 -07:00
Bn-Fang 5d0a229a58 Fixed Typo in Camera 2D node's anchor mode
Fixed the Camera 2D node's anchor mode descriptor from "Fixed TopLeft" to "Fixed Top Left"
2024-04-23 16:24:45 -04:00
Rémi Verschelde 2463e42ea1
Merge pull request #90786 from m4rr5/fix_flipped_line2d_joints
Fix `Line2D` joints with `joint_mode` set to Round rendered "flipped" for a 180 degree angle.
2024-04-23 19:11:22 +02:00
Hugo Locurcio b1a2394b3b
Use same colors for editor and running project for collision/path debug
This harmonizes the appearance of collision shapes and paths between
the editor and running project, in both 2D and 3D.

This means that in 3D, paths are now green and shapes are now cyan
instead of light blue.
2024-04-21 00:58:08 +02:00
kobewi c7b6cf9f6d Don't store TileMapLayer data if empty 2024-04-19 18:05:48 +02:00
aaronp64 58931c073d Check for NaN in set_volume_db functions
Added check in AudioStreamPlayer, AudioStreamPlayer2D, and AudioStreamPlayer3D set_volume_db functions to prevent setting volume to NaN, and give an error.  Using NaN for volume and playing the AudioStreamPlayer could prevent all audio from playing, even from other AudioStreamPlayers.

Fixes #88133
2024-04-18 11:28:57 -04:00
Rémi Verschelde 043ca7c63c
Merge pull request #88306 from KoBeWi/PropertyListHelper_will_come_for_you
Add PropertyListHelper in all simple cases
2024-04-18 12:24:17 +02:00
Marcel Offermans e64b4243c3 Added a specific check for the corner case that went wrong. 2024-04-17 12:01:01 +02:00
Rémi Verschelde 01eb81ba48
Merge pull request #90752 from groud/fix_tilemap_y_sort
Fix TileMap enabling Y-sort on child nodes
2024-04-17 10:59:04 +02:00
Rémi Verschelde ce0744866d
Merge pull request #90747 from smix8/remove_constrain_avoidance
Remove experimental `constrain_avoidance` from `NavigationRegion2D`
2024-04-17 10:58:55 +02:00
smix8 df66a55ef3 Remove experimental constrain_avoidance from NavigationRegion2D
Removes experimental constrain_avoidance feature from NavigationRegion2D.
2024-04-16 18:02:53 +02:00
Gilles Roudière 96b6199de9 Fix TileMap enabling Y-sort on child nodes 2024-04-16 16:02:55 +02:00
Aaron Franke 77e35cf781
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders 2024-04-15 18:40:43 -07:00
Rémi Verschelde 4e1ed6bc23
Merge pull request #90668 from timothyqiu/owner-id
Store `ObjectID` instead of pointer for KinematicCollision owner
2024-04-15 10:00:32 +02:00
Rémi Verschelde fac55137a1
Merge pull request #89627 from markdibarry/parallax2d_scroll_scale
Account for scale in scroll logic for `Parallax2D`
2024-04-15 10:00:15 +02:00
Haoyu Qiu 4176102a5e Store ObjectID instead of pointer for KinematicCollision owner 2024-04-15 12:28:36 +08:00
kobewi e95e954c68 Add PropertyListHelper in all simple cases 2024-04-11 18:13:29 +02:00
smix8 1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
markdibarry 18e8b81ffa Account for scale in scroll logic for Parallax2D 2024-04-10 18:05:05 -04:00
Rémi Verschelde e68f03a083
Merge pull request #90282 from jhlothamer/issue_84221
Fix sharing World2D between SubViewports causes 2D lights of one SubViewport to go missing
2024-04-08 15:03:28 +02:00
Rémi Verschelde 2e1f33793f
Merge pull request #90340 from KoBeWi/FixJoint2D
Fix PinJoint2D deferred call error
2024-04-08 11:21:54 +02:00
kobewi 63bff87d7d Fix PinJoint2D deferred call error 2024-04-07 12:21:40 +02:00
Emmanuel Ferdman ea5ecc6b8e
fix: update the location of editor theme 2024-04-06 18:03:13 +03:00
Jason Lothamer b250660ee9 fix issue where Light2D does not re-attach itself to new canvas when viewport worlds are shared 2024-04-05 17:38:42 -04:00
Rémi Verschelde fe784573c4
Merge pull request #90167 from ajreckof/fix-negative-value-for-position_smoothing_speed-being-allowed
Ensure `Camera2D.position_smoothing_speed` is non-negative.
2024-04-05 12:16:14 +02:00
ajreckof 07406af6cc Fix negative value for position_smoothing_speed being allowed. 2024-04-04 17:15:53 +02:00
A Thousand Ships 09edece17d
[TileMap] Fix forcing cleanup on exiting tree/canvas 2024-04-04 14:47:32 +02:00
Rémi Verschelde 7c6892662d
Merge pull request #90095 from QbieShay/qbe/fix-cpuparticle-instancew
Fix `INSTANCE_CUSTOM.w` not being assigned correctly in CPUParticles 2D and 3D
2024-04-04 14:37:15 +02:00
Gilles Roudière 3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +02:00
QbieShay 1d81068be7 Fixed INSTANCE_CUSTOM.w not being assigned correctly in CPUParticles 2D and 3D 2024-04-01 14:00:40 +02:00
Rémi Verschelde a0d464ae19
Merge pull request #89820 from rburing/concave_collision_polygon_2d
Fix concave `CollisionPolygon2D` debug drawing and docs
2024-03-26 13:45:31 +01:00
markdibarry 2feed4c4b4 Avoid mirror scaling for ParallaxLayer 2024-03-24 09:17:33 -04:00
Rémi Verschelde cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Ricardo Buring b6f07a007a Fix concave CollisionPolygon2D debug drawing and docs 2024-03-23 18:51:39 +01:00
Ricardo Buring 2ed2ccc2d8 Fixed Timestep Interpolation (2D)
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
smix8 5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +01:00
Rémi Verschelde c6d5a782c7
Merge pull request #89468 from MrPersonDev/increase-rigidbody-mass-precision
Increase precision of RigidBody `mass` property
2024-03-14 22:35:16 +01:00
MrPersonDev f63d76427d Increase precision of rigidbody mass 2024-03-13 21:17:25 -07:00
Hugo Locurcio b2a3e8cb34
Move Max Contacts Reported below Contact Monitor in RigidBody inspector
This also changes the code used to hide the custom center of mass
property for consistency with other places in the editor
(only this approach worked for Contact Monitor as well).

The Center of Mass property hint in RigidBody2D was also modified
for better usability.
2024-03-13 23:17:35 +01:00
markdibarry a62870956a Add new Parallax2D node 2024-03-03 15:46:40 -05:00
Rémi Verschelde c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
Micky cd2032a90b Optimise Object's `get_argument_options` 2024-02-29 18:00:54 +01:00
Rémi Verschelde 810a0dbff1
Don't access Node3D/Node2D/Control global transform in `reparent` unless needed
Fixes #89002.

Co-authored-by: Tamás Gálffy <ezittgtx@gmail.com>
2024-02-29 14:07:48 +01:00
Gilles Roudière 787c784aca Remove almost all remaining dependencies of TileMapLayer on TileMap 2024-02-29 12:16:50 +01:00
Rémi Verschelde 21e3b2111e
Merge pull request #88862 from smix8/split_physics_classes
Split monolithic physics class files
2024-02-27 16:37:07 +01:00
A Thousand Ships fe203d7003
Prevent threading problems in `TileMap` 2024-02-27 15:38:25 +01:00
smix8 35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
smix8 b044905547 Fix NavigationObstacle2D debug being affected by Node2D transform
Fixes NavigationObstacle2D debug being affected by Node2D transform.
2024-02-27 07:13:36 +01:00
Aaron Franke 1cb531ddb6
Move 2D-only resources to their own folder 2024-02-26 05:22:45 -06:00
Robert Yevdokimov 13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
smix8 1cf407e7c9 Add debug visual for NavigationRegion2D bake rect
Adds debug visual for NavigationRegion2D bake rect.
2024-02-23 11:36:49 +01:00
Gilles Roudière 33485e654e Fixes a memory leak with TileMap runtime updates 2024-02-21 13:18:21 +01:00
Rémi Verschelde 21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
Rémi Verschelde cde454434f
Merge pull request #88403 from Mickeon/VisibleOnScreenNotifier-is-differently-abled
Allow VisibleOnScreenNotifier2D/3D to have empty `enable_node_path`
2024-02-17 00:27:17 +01:00
Micky 445b1e9c5f Allow VisibleOnScreenNotifier2D/3D to have empty `enable_node_path` 2024-02-16 17:34:02 +01:00
kobewi 2c2480ea4e Make TileMapLayers internal 2024-02-15 21:28:04 +01:00
Rémi Verschelde ca733a4bf8
Merge pull request #88019 from mihe/wrong-contact-count
Fix `get_contact_count` sometimes being incorrect in `_process`
2024-02-14 10:59:45 +01:00
Rémi Verschelde 8b72165b5f
Merge pull request #88190 from Eoin-ONeill-Yokai/bugfix/materials-tilemap2d
Fix regression where a tile's custom material was ignored
2024-02-13 11:25:06 +01:00
Rémi Verschelde 9050ee1542
Merge pull request #87297 from adamscott/2d-pixel-art-stability
Stabilize snapping 2D transforms to pixel
2024-02-12 23:53:51 +01:00
Adam Scott 35b640107f
Stabilize snapping 2D transforms to pixel
Co-authored-by: Danni <34800072+KeyboardDanni@users.noreply.github.com>
2024-02-12 11:04:01 -05:00
Rémi Verschelde effb35dfa7
Merge pull request #88164 from smix8/fix_region_signals
Fix NavigationRegion errors from signal changes
2024-02-12 13:34:53 +01:00
Rémi Verschelde a1aca7e5c9
Merge pull request #88157 from kleonc/tilemap-move-layer-fix-moving-child-nodes
Fix `TileMap::move_layer` incorrectly moving child `TileMapLayer` nodes
2024-02-12 13:34:46 +01:00
Rémi Verschelde 821bf4b533
Merge pull request #88105 from AThousandShips/tile_duplicate_fix
Fix duplicating/copying `TileMap`
2024-02-12 13:34:34 +01:00
Rémi Verschelde 687f840354
Merge pull request #87379 from groud/change_tilemap_editor_to_tilemaplayer_editor
Change TileMapEditor to TileMapLayerEditor
2024-02-12 13:34:04 +01:00
Gilles Roudière 5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
kleonc 7dfd0c45e9 Fix animated tile random start time not scaled to animation duration 2024-02-11 13:15:52 +01:00
Eoin O'Neill f50e6c80c7 Fix regression where tile-specific materials were ignored.
Regression stemmed from commit 48bed5050b

The material assigned to a tile is completely ignored in master unless
this line is changed.
2024-02-10 18:08:02 -08:00
smix8 c914e63464 Fix NavigationRegion errors from signal changes
Fixes NavigationRegion errors from signal changes.
2024-02-10 03:04:24 +01:00
kleonc 858eaafc23 Fix TileMap::move_layer incorrectly moving child TileMapLayer nodes 2024-02-09 20:59:36 +01:00
Rémi Verschelde dd275238d1
Merge pull request #86907 from aaronfranke/getter-const
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const
2024-02-09 12:33:09 +01:00
RedMser d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
Aaron Franke 35c99bbcc1
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const 2024-02-08 13:01:50 -06:00
A Thousand Ships 85d9c23baa
Fix duplicating/copying `TileMap`
Using `force_parent_owned` to prevent issues duplicating
2024-02-08 17:02:56 +01:00
Rémi Verschelde 251d5b3669
Merge pull request #87715 from Scony/add-is-baking
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
Mikael Hermansson f2d615cdc7 Fix contact count sometimes being incorrect in `_process` 2024-02-06 14:29:43 +01:00
Pawel Lampe c2cfc0d409 Expose `is_baking` method in navigation servers and region nodes. 2024-02-05 22:04:22 +01:00
Hugo Locurcio 93be97e6a7
Make ShaderMaterial always the last option in inspector resource dropdowns
ShaderMaterial is the "advanced" option, while the "basic" options
should be listed first for easier accessibility (and because they're
generally used more often).

This makes sky and particle materials consistent with
canvas/spatial/fog materials on this aspect.
2024-02-05 21:49:17 +01:00
A Thousand Ships fb1662b939
Fix crash with `PhysicsBody2D/3D::get_gravity` with invalid state 2024-02-05 16:40:49 +01:00
Aaron Franke aed5ea9460
Expose a method to get gravity for any physics body 2024-01-30 23:57:38 -06:00
Rémi Verschelde fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde ef9cb3dfa5
Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup
Improve appearance of Node configuration warnings
2024-01-29 13:17:17 +01:00
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
Micky 3e4e0f08c4 Improve appearance of Node configuration warnings 2024-01-27 13:03:07 +01:00
ACB 9d0302d708 Make CharacterBody properties public 2024-01-25 10:31:16 +01: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
Gilles Roudière 48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
kobewi 0c7db3cdad Add AudioStreamPlayerInternal to unify stream players 2024-01-17 13:12:02 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01: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
Rémi Verschelde fe76b61743
Merge pull request #87160 from kleonc/tilemap-fix-debug-drawing-truncations-to-ints
Fix some `TileMap` debug drawing truncating to ints
2024-01-15 13:31:04 +01:00
Rémi Verschelde ebc30b93ac
Merge pull request #84465 from KeyboardDanni/deferred_camera
Fix Camera2D frame delay (port from 3.x)
2024-01-15 13:22:28 +01:00
kleonc baa5504700 Fix some TileMap debug drawing truncating to ints 2024-01-14 02:02:46 +01:00
Rémi Verschelde 1b25b4ca5f
Merge pull request #83397 from thiagola92/readability_skeleton_2d_calculate_length_and_rotation
Refactor function `calculate_length_and_rotation()` from Skeleton2D
2024-01-11 20:44:26 +01:00
thiagola92 6a05825b24 Refactor function `calculate_length_and_rotation()` from Skeleton2D 2024-01-11 13:35:28 -03:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde d8dc554241
Merge pull request #86847 from kleonc/tilemap-make-quadrant-canvas-item-position-local
Fix `TileMap` quadrant canvas item position not being local
2024-01-08 14:52:54 +01:00
kleonc 3c25274870 Fix TileMap quadrant canvas item position not being local 2024-01-08 14:20:16 +01:00
Rémi Verschelde 4ca33d318b
Merge pull request #86908 from AdSkipper1337/collision-object-2d-gdextension-virtuals
Fix virtual calls for GDExtension in `CollisionObject2D`
2024-01-08 12:01:31 +01:00
Rémi Verschelde c7fb7273c5
Merge pull request #86811 from TheSofox/light2d-blend-3to4
Added compatibility for Blend Mode in `Light2D`/`PointLight2D` when converting from Godot 3 to 4.
2024-01-08 11:57:07 +01:00
Rémi Verschelde 665c3edee2
Merge pull request #86557 from kleonc/polygon2d-with-skeleton-transform-fix
Fix Polygon2D to Skeleton2D transform calculation
2024-01-08 11:55:06 +01: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
Nikolai Davydov 0517000e6f Fix virtual calls for GDExtension in `CollisionObject2D` for _mouse_enter, _mouse_exit, _mouse_shape_enter, _mouse_shape_exit 2024-01-07 05:30:26 +01:00
A Thousand Ships 904ecb1d36
[Core] Prevent copying of `SelfList` and `SelfList::List`
Copying of these types is unsafe and should be detected

Also removed unnecessary constructors for `TileMap` `DebugQuadrant` and
`RenderingQuadrant` which used copying of `SelfList::List`
2024-01-07 00:48:23 +01:00
Sofox 58ae3c577c Added compatibility for Blend Mode in Light2D/PointLight2D when converting from Godot 3 to 4 2024-01-05 15:39:47 +00:00
Gilles Roudière 6bc5b3f812 Move TileMapLayer to its own files 2024-01-05 11:58:21 +01:00
Rémi Verschelde b88eddb682
Merge pull request #78378 from 0xafbf/curve-evaluate-correct-transform
Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D
2024-01-04 16:38:38 +01: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
kleonc 41e4f3c215 Fix Polygon2D to Skeleton2D transform calculation 2023-12-27 18:46:59 +01:00
kobewi cb0a37f61a Only update particle velocity when it changes 2023-12-23 18:04:24 +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 5d9dce43bb Merge pull request #84575 from rsburke4/fix-cpu-tangent-force
Fix `CPUParticles2D` tangential force does not match `GPUParticles2D`
2023-12-19 13:01:05 +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
Gilles Roudière 18fe0bd025 Move tile transforms handling cache to TileData 2023-12-13 17:44:59 +01:00
Rémi Verschelde 4943b6e6b3
Merge pull request #84451 from ShirenY/FixSkeletonMeshCulling
Transform mesh's AABB to skeleton's space when calculating mesh's bounds
2023-12-12 00:16:51 +01:00
ShirenY 27f71c4e78 Transform mesh's AABB to skeleton's space when calculate mesh's bounds. 2023-12-09 11:41:15 +08:00
Gilles Roudière fcb8d19de0 Fixes TileMap occluders 2023-12-08 10:07:28 +01:00
Rémi Verschelde 654132cb9c
Merge pull request #85753 from groud/allow_invisible_scene_tiles
Keep scene tiles even if the TileMap is invisible
2023-12-04 23:29:33 +01:00
Rémi Verschelde 0e4aead7a1
Merge pull request #85258 from smix8/navregion2d_transform
Fix NavigationRegion2D transform update
2023-12-04 23:11:15 +01: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
Gilles Roudière 25e927e56b Keep scene tiles even if the TileMap is invisible 2023-12-04 18:39:16 +01: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
Rémi Verschelde efe5c856b8
TileMap: Fix compatibility code for old `cell_quadrant_size` property name
Fixes #85423.
2023-11-28 12:44:07 +01:00
smix8 6fdb16af47 Fix NavigationRegion2D transform update
Fixes NavigationRegion2D transform update.
2023-11-23 07:23:20 +01:00
Rémi Verschelde 4065266119
Merge pull request #84968 from groud/fix_tilemap_reparenting
Update tilemap physics' world2D on reparenting
2023-11-16 14:53:15 +01:00
Gilles Roudière dae641625a Update tilemap physics' world2D on reparenting
Co-authored-by: Alon Ran <newdefectus@gmail.com>
2023-11-16 11:31:42 +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 491160c33d
Merge pull request #83888 from KoBeWi/remove_all_properties_instead_of_adding_one
Fix TileMap layer reverts and defaults
2023-11-08 19:08:19 +01:00
rsburke 76377230ac Fixed CPUParticle tangential force to match GPUParticle implimentation 2023-11-07 08:02:43 -05:00
Danni 734166f796 Ensure Camera2D scroll is updated on transform like 3.x 2023-11-05 18:01:34 -05:00
kobewi b63533bf3f Fix rotated tile collision not working at runtime 2023-10-31 18:22:26 +01:00
Andrés Botero acae382010 Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D 2023-10-28 01:23:38 -05:00
A Thousand Ships 3ef6314980 Fix invalid return from some more `_get/_set`
Invalidly returned `true` on the non-matched path
2023-10-27 21:26:13 +02:00
Rémi Verschelde d3fb6c17b6
Merge pull request #83560 from groud/allow_physics_for_hidden_tilemap
Allow TileMap physics/navigation to still work when hidden
2023-10-27 11:36:57 +02:00
Gilles Roudière 9d90f1774c Allow TileMap physics/navigation to still work when hidden 2023-10-26 16:54:35 +02:00
Gilles Roudière 3b5a288bc8 Fix Y-sort origin not working when set in TileMap runtime updates 2023-10-26 15:45:30 +02:00
Gilles Roudière a2bc599450 Fixes get_used_rect, get_used_cells and get_used_cells_by_id in TileMap after a call to clear() 2023-10-24 14:43:43 +02:00
kobewi 99262705a8 Fix TileMap layer reverts and defaults 2023-10-24 13:44:07 +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
Eoin O'Neill f17a569ccf Fix bug where TileMap will not update material correct on assignment
This seemed to be a simple case of a missing condition in an if
statement with a few different flags. I'm not super familiar with the
tilemap code but hopefully this is the correct place to add this check.

Fixes #83474
2023-10-16 21:02:46 -07:00
Rémi Verschelde 2ba83f2578
Merge pull request #83427 from kleonc/camera2d-screen-center-position-when-rotated
Fix screen center position returned for rotated Camera2D
2023-10-16 13:01:23 +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
Rémi Verschelde 75b4fd84e3
Merge pull request #83323 from Rindbee/fix-not-update-remote-local-transform-in-2d
Fix cannot update remote after disabling `use_global_coordinates` in `RemoteTransform2D`
2023-10-16 13:00:12 +02:00
kleonc 836d80b306 Fix screen center position returned for rotated Camera2D 2023-10-16 09:02:49 +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