Commit Graph

1969 Commits

Author SHA1 Message Date
Rémi Verschelde
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Gilles Roudière
64e0c138d9 Fix TileMap occluders having a wrong transform 2022-10-06 14:06:33 +02:00
Rémi Verschelde
48e6f84295 Merge pull request #66951 from rburing/restore_recovery_as_collision
Revert "Turn on recovery as collisions only for floor snapping"
2022-10-06 08:56:44 +02:00
Ricardo Buring
311cdd2571 Revert "Turn on recovery as collisions only for floor snapping as this leads to unwanted behaviour for other surface than the floor."
This reverts commit 10395f5df2.
2022-10-05 22:51:29 +02:00
Rémi Verschelde
5b6ccf2fd2 Merge pull request #66720 from qarmin/unintialized_memory
Remove usage of unitialized variables
2022-10-05 11:42:47 +02:00
Rémi Verschelde
9cd62741bb Merge pull request #66839 from aaronfranke/editor-prop-hide-slider
Fix `hide_slider` vs `no_slider` inconsistency in editor property code
2022-10-05 08:47:06 +02:00
Luis Lopez
c262589e26 Add rotation smoothing to Camera2D
Camera2D has follow smoothing to interpolate towards a target position, but no rotation smoothing to align with the target rotation.

This adds rotation smoothing directly into the Camera2D API by having two new properties:
  - `rotation_smoothing_enabled`
  - `rotation_smoothing_speed`
2022-10-04 17:14:03 +02:00
Rémi Verschelde
6a251fd0df Merge pull request #39072 from dalexeev/cs2d_debug_color
Add debug_color property to CollisionShape2D
2022-10-04 12:05:19 +02:00
Aaron Franke
094e8db97c
Fix hide_slider vs no_slider inconsistency in editor property code 2022-10-03 13:40:31 -05:00
Rafał Mikrut
2233624152 Remove usage of unitialized variables 2022-10-01 21:09:22 +02:00
Rémi Verschelde
f5f4d9bf00 Merge pull request #66143 from DarkKilauea/nav-queries-agent
Update NavigationAgent to use query_path
2022-09-29 15:33:25 +02:00
Josh Jones
a2c53b881b Update NavigationAgent to use query_path
This paves the way for having agents respond to link traversal.
2022-09-28 23:01:12 -06:00
MisterMX
407bbdda20 refactor(TileMap): Return Rect2i in get_used_rect
Signed-off-by: MisterMX <mbxd12@web.de>
2022-09-28 17:04:15 +02:00
Rémi Verschelde
8e14f9ba21 Merge pull request #64679 from DarkKilauea/nav-region-props
Improve consistency of NavigationRegion setters
2022-09-22 08:27:35 +02:00
Rémi Verschelde
d96b7d767a Merge pull request #66110 from Zylann/reference_get_count
get_reference_count()`
2022-09-22 08:26:29 +02:00
Josh Jones
a25bb9811a Improve consistancy of NavigationRegion setters 2022-09-21 22:42:52 -07:00
Marc Gilleron
474cee7daf Rename and expose RefCounted::get_reference_count() 2022-09-21 21:18:54 +01:00
Danil Alexeev
df2209c700
Add CollisionShape2D.debug_color property 2022-09-21 16:07:47 +03:00
Rémi Verschelde
307f560b39 Merge pull request #66183 from KoBeWi/ARE_YOU_READY
Set scene tiles' position before adding them
2022-09-21 11:07:43 +02:00
Rémi Verschelde
7bf61e3912 Merge pull request #64359 from Mickeon/rename-camera-rotating
Reverse Camera2D.`rotating` to `ignore_rotation`
2022-09-21 11:06:41 +02:00
Rémi Verschelde
28e1dc6162 Merge pull request #65828 from rburing/body_state_sync_callable
make `body_set_state_sync_callback` take a `Callable`
2022-09-21 11:05:41 +02:00
Micky
ee16de583f Reverse Camera2D.rotating to ignore_rotation
`rotating` is misleading, as Camera2D is affected by `rotation` and `global_rotation` like any other Node2D

Updates description in the docs, as well.
2022-09-21 01:52:12 +02:00
kobewi
a275b70b6e Set scene tiles' position before adding them 2022-09-21 00:37:18 +02:00
Rémi Verschelde
209a837f79 Merge pull request #66112 from Zylann/get_configuration_warnings_psa
Change return type of `get_configuration_warnings` to `PackedStringArray`
2022-09-19 22:03:44 +02:00
Marc Gilleron
aed3822a93 Change return type of get_configuration_warnings to PackedStringArray 2022-09-19 16:43:15 +01:00
fabriceci
10395f5df2 Turn on recovery as collisions only for floor snapping as this leads to unwanted behaviour for other surface than the floor. 2022-09-18 22:23:09 +02:00
Micky
213cc7859e Fix outdated warning in AnimatedSprite2D 2022-09-18 02:52:20 +02:00
Rémi Verschelde
0bb57bd9f2 Merge pull request #65931 from fabriceci/add-recovery-as-collision-in-low-level-methods
Add recovery_as_collision in move_and_collide/test_move
2022-09-18 00:42:29 +02:00
Rémi Verschelde
06c8f1c659 Merge pull request #58567 from madmiraal/fix-26470
Remove ParallaxLayer's invalid dependence on screen_offset
2022-09-18 00:42:22 +02:00
fabriceci
a72d5be2c6 Add recovery_as_collision in move_and_collide/test_move 2022-09-17 11:40:03 +02:00
Rémi Verschelde
16d44395b5 Merge pull request #65148 from Mickeon/animated-sprite-negative-speed-scale
Allow negative `speed_scale` in AnimatedSprite2D & 3D
2022-09-16 09:18:42 +02:00
Ricardo Buring
ff4e72a0bc PhysicsServer2D and PhysicsServer3D: make body_set_state_sync_callback take a Callable
Prefer Callable to a C-style callback. This is helpful for GDExtension.
2022-09-15 15:09:23 +02:00
Micky
8142bc4ddd Allow negative speed_scale in AnimatedSprite2D & 3D
If the `speed_scale` is set to a negative value, the animation plays in reverse.
The second parameter of `play()` still reverses as before. if `speed_scale` and the second parameter of `play()` is true, the animation plays forward.

Also updates the documentation to better describe the pausing and playing behaviour.
2022-09-13 12:41:07 +02:00
Rémi Verschelde
3a82a1315b Merge pull request #65591 from MewPurPur/area-overlapping-function
Implement `Area[2D/3D].has_overlapping_[bodies/areas]`
2022-09-13 10:58:55 +02:00
kobewi
7afaca2091 Don't print error in get_cell_tile_data() 2022-09-13 01:39:35 +02:00
kobewi
d5c703b83e Don't store frame of playing AnimatedSprite 2022-09-12 22:59:35 +02:00
Rémi Verschelde
97830e7187
Merge pull request #64155 from Mickeon/sprite-3d-backwards-speed-scale 2022-09-12 12:15:58 +02:00
VolTer
ed4fe1e2bd Implement Area.has_overlapping_* 2022-09-10 12:17:37 +02:00
Micky
b648ee43ab Harmonise AnimatedSprite3D and its 2D counterpart
Add the following properties to AnimatedSprite3D:
- `backwards` parameter in `play()`;
- `speed_scale`.

Both classes' internals are more similar, down to the line spacings. They've also been updated to be clearer and less inconsistent (e.g. `!frames.is_valid()` -> `frames.is_null()`, use SceneStringNames instead of CoreStringNames, rename the internal _queue_update to _queue_redraw)
2022-09-09 21:06:24 +02:00
Rémi Verschelde
ce6f284e5f
Merge pull request #64394 from smix8/navigation_obstacles_reparent_4.x
Fix NavigationObstacle 2D/3D (re)parent issues
2022-09-09 19:20:14 +02:00
smix8
d7f75fab60 Remove / Replace old Navigation Debug Visualization
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
2022-09-07 18:30:35 +02:00
Trashtalk
1d233ce58c handled edge case where navigation_link_2d is outside of the tree when calling _edit_get_rect() 2022-09-07 00:05:56 +02:00
Rémi Verschelde
5fb84e5702 Merge pull request #64661 from Mickeon/rename-tilemap-world
Rename TileMap/GridMap.`world_to_map` and opposite to `local_to_map`
2022-09-06 17:01:16 +02:00
Rémi Verschelde
adaec8396e Merge pull request #64880 from Mickeon/rename-camera-position
Rename Camera2D's `*_screen_center` and `*_position` to `get_screen_center_position` and `get_target_position`
2022-09-06 17:00:52 +02:00
Micky
694190a354 Rename TileMap/GridMap.world_to_map and opposite to local_to_map
For both TileMap and GridMap:
- `world_to_map` -> `local_to_map`
- `map_to_world` -> `map_to_local`

Also changes any mention of "world" in this context to "local" to avoid future confusion.

Finally, updates the docs of both methods for consistency.
In particular, adding a note on how to convert the returned values from local to global coordinates and vice versa.
2022-09-05 18:08:39 +02:00
Micky
a7ce7b1d3f Fix AudioStreamPlayer not resuming after returning to SceneTree 2022-09-05 16:52:46 +02:00
Hugo Locurcio
f7292dbeb3
Rename or_lesser range property hint to or_less
"less" should be used for quantity, rather than "lesser".

Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Void
fdfe11d4b3 fixed and optimized Area2/3D get_overlapping_bodies/areas
fixed a type and made it so area3d get_overlapping_x is similar to its counterpart func in area2d so that it uses TypedArray instead of Array and ERR_FAIL_COND_V_MSG instead of no message, also minimized array resize calls
2022-09-02 12:00:04 +01:00
Jonathan Nicholl
15d057c521 Add is_zero_approx methods to Vector2, 3, and 4 2022-09-02 00:29:50 -04:00
Rémi Verschelde
c6fd311da0 Fix build after merge of #63479 2022-09-02 00:19:33 +02:00
Rémi Verschelde
5263fd5343 Merge pull request #64198 from Geometror/add-bitmap-tests 2022-09-01 23:46:38 +02:00
Rémi Verschelde
2e0cffdb6f Merge pull request #63479 from DarkKilauea/nav-link 2022-09-01 23:44:22 +02:00
Hendrik Brucker
ea0472fecf Refactor BitMap and add tests
Co-authored-by: Resul Çelik <resul_celik@hotmail.com>
2022-09-01 18:39:17 +02:00
Hugo Locurcio
ae18928748
Rename Curve/Curve2D/Curve3D/Gradient interpolate() to sample()
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
Rémi Verschelde
ac053bb72d Fix build issue after #64377 and #64701 2022-08-30 15:20:50 +02:00
Rémi Verschelde
ae349d8227
Merge pull request #64377 from Mickeon/rename-canvas-redraw
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30 14:47:41 +02:00
Hendrik Brucker
73bbcaecb9 Fix GPUParticles2D ignoring AtlasTexture region 2022-08-30 11:23:35 +02:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
rafallus
7f2740f7bd Expose input interaction virtual functions in CollisionObject 2022-08-29 14:04:52 +02:00
Josh Jones
3dd59013f4 Added node for Navigation links 2022-08-26 22:05:15 -07:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Rémi Verschelde
1c97dde78f
Merge pull request #64894 from fabriceci/remove-dynamic-bodies-name 2022-08-26 16:16:32 +02:00
Micky
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
kobewi
c8abd40ea8 Easier setting properties of last TileMap layer 2022-08-26 12:54:13 +02:00
fabriceci
f8cc88fab3 Restore RigidBody2/3D, SoftBody names in physics 2022-08-26 12:26:25 +02:00
Micky
ec963788cc Rename Camera2D's screen_center and *_position
`get_camera_screen_center` -> `get_screen_center_position`
`get_camera_position` -> `get_target_position`
2022-08-26 12:11:52 +02:00
Rémi Verschelde
af692912d4
Merge pull request #54646 from jmb462/fix-animatedsprite-animation-list
Fix AnimatedSprite2D & 3D animation list in inspector
2022-08-26 08:22:51 +02:00
Micky
723bf85145 Rename ParticlesMaterial to ParticleProcessMaterial
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
jmb462
ae9560af82 Fix AnimatedSprite2D & 3D animation list in inspector 2022-08-26 00:05:58 +02:00
Rémi Verschelde
88145e81e2
Merge pull request #64804 from Mickeon/rename-path-progress 2022-08-25 18:35:48 +02:00
Rémi Verschelde
af88438c71
Merge pull request #64354 from Mickeon/rename-navigation-distance 2022-08-25 18:35:23 +02:00
Rémi Verschelde
ceaff612c8
Merge pull request #64824 from Mickeon/rename-polygon-invert 2022-08-25 18:33:58 +02:00
fabriceci
31549dca29 Shorten variable names for moving platforms in CharacterBody 2022-08-25 09:15:18 +02:00
fabriceci
59bf35f3df Improves the API for monitoring contacts in RigidDynamicBody 2022-08-24 21:23:11 +02:00
Micky
06a8113576 Rename Polygon2D.invert_enable to end with "d"
Polygon2D.`invert_enable` -> `invert_enabled`

Also affects the setters and getters, which are now named in full instead of cutting "enabled" off.
Updates old leftover documentation slightly, as well.
2022-08-24 13:09:44 +02:00
Rémi Verschelde
b556d8c9a0
Merge pull request #64370 from Mickeon/rename-marker-node
Rename Position* nodes to Marker*
2022-08-24 08:52:13 +02:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
Micky
bb936b2e27 Rename PathFollow's offsets to progress & progress_ratio
Applies for both PathFollow2D and PathFollow3D
2022-08-24 01:56:03 +02:00
kobewi
1abdffe7a0 Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
Micky
8bb305356e Rename Position* nodes to Marker*
- Position2D -> Marker2D
- Position3D -> Marker3D

Also changes their respective file names.
2022-08-23 19:49:50 +02:00
Rémi Verschelde
7764151bc1 Rename properties unnecessarily using slash (/) in their names
This is a legacy of Godot 2 days before the inspector had support for groups.
"Properties" with a slash in their name can't be accessed from script unless
using `set()`/`get()` so they were not actual properties as far as script
languages are concerned.

Part of #17558.
2022-08-23 11:57:43 +02:00
kobewi
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property 2022-08-22 21:39:48 +02:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Rémi Verschelde
5193332d10
Merge pull request #64343 from TokageItLab/priority-ph 2022-08-22 17:31:23 +02:00
Rémi Verschelde
fdc36ad082
Merge pull request #64553 from RedMser/fix-property-validation-refactor 2022-08-22 16:54:47 +02:00
kobewi
7f96ebf1be Use false as default for use_proxies argument 2022-08-22 13:31:01 +02:00
Yuri Sizov
d5052d9084
Merge pull request #54549 from KoBeWi/fastcells
Add a method to get TileData from a cell
2022-08-22 13:39:12 +03:00
Paul Joannon
6bc0be16a5
Expose the collider RID in Raycast nodes
Create and expose the method `get_collider_rid` in `RayCast2D` and `Raycast3D`.
This method returns the `RID` of the first object that the ray intersects, or an empty `RID` if no object is intersecting the fay (i.e. `is_colliding` returns `false`).
2022-08-22 09:18:08 +02:00
RedMser
c25b8f2876 Remove unintentional PROPERTY_USAGE_INTERNAL
The flag only matters for property definition,
but was also used in _validate_property a lot.
2022-08-18 16:25:00 +02:00
Silc Renew
b31115cdc1 Add collision weight to PhysicsBody for penetrations must be avoided
Co-authored-by: Juan Linietsky <reduzio@gmail.com>
2022-08-18 08:10:31 +09:00
Tomasz Chabora
2bdd7e9ea0 Add methods for node reparenting 2022-08-16 19:44:41 +02:00
kobewi
7305390fdc Add a method to get TileData from a cell 2022-08-16 15:04:39 +02:00
Yuri Sizov
fff0e7b8e2 Clarify the Line2D, Curve2D/3D documentation and fix parameter names 2022-08-15 21:38:14 +03:00
smix8
5162d9ac8b Fix NavigationObstacle 2D/3D (re)parent issues
Fixes (re)parent issues with NavigationObstacle 2D and 3D (same as NavigationAgents).
Also adds the option from NavigationAgents to override the default navigation map.
2022-08-14 16:23:27 +02:00
Micky
b62d06fbed Rename Navigation's neighbor_dist to neightbor_distance
NavigationAgent2D/3D.`neighbor_dist` -> `neighbor_distance` (also affects setters and getters)

NavigationServer2D/3D.`agent_set_neighbor_dist()` -> `agent_set_neighbor_distance()`

Also changes their parameters' names.

Doesn't affect "Agent.neighborDist_" in Agent.h
2022-08-13 12:40:55 +02:00
Silc Renew
7331295523 add get_depth() to KinematicCollision3D as same of 2D 2022-08-10 10:33:58 +09:00
Hugo Locurcio
160d10dc7b
Decrease default AudioStreamPlayer2D/3D panning strength
The default panning strength is now more in line with how other
engines play positional sound.
2022-08-09 18:46:52 +02:00
Rémi Verschelde
d9d5990c51
Merge pull request #64034 from DarkKilauea/fix-nav-region-gizmo 2022-08-08 22:37:00 +02:00
Josh Jones
8c324132d0 Fix typo when setting NavigationRegion travel_cost 2022-08-07 10:40:33 -07:00
Josh Jones
92c40bcf32 Fix NavigationRegion3D gizmo's odd visual behavior 2022-08-06 23:54:57 -07:00
Rémi Verschelde
d100c2d59f
Merge pull request #63776 from fire-forge/shapecast2d
Add ShapeCast2D editor handle and improve debug drawing
2022-08-06 00:27:41 +02:00
Hugo Locurcio
84076513b1
Use global coordinates for particles by default
Particles won't move or rotate anymore with the node (or its parents)
by default. This new default behavior is generally more suited
to most use cases. Local coordinates can still be enabled on a per-node basis.

This affects both 2D and 3D particles, and both CPU and GPU-based particles.
2022-08-02 23:25:02 +02:00
FireForge
7cfa9ae539 Improve ShapeCast2D editor and debug drawing
- Rename RayCast2DEditorPlugin to Cast2DEditorPlugin and make it also support editing ShapeCast2D.
- Apply RayCast2D debug drawing improvements from #46675 to ShapeCast2D.
2022-07-31 17:47:36 -05:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Rémi Verschelde
8b454f8b41
Merge pull request #62601 from smix8/navigation_3d_debug_4.x 2022-07-29 12:29:32 +02:00
smix8
c394ea518e 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.
2022-07-29 09:58:41 +02:00
Marcel Admiraal
e61dc6bb04 Ensure changes to Camera2D's limits don't affect smoothed_camera_pos 2022-07-28 15:32:45 +01:00
Marcel Admiraal
3f83c3a0ac When Camera2D enters tree, ensure first update is not lost 2022-07-28 15:29:38 +01:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local 2022-07-28 10:03:07 +02:00
Rémi Verschelde
0ffc28e3de
Merge pull request #63484 from groud/fix_tilemap_clear_layer 2022-07-26 13:22:54 +02:00
Gilles Roudière
3faa97a58a Fixes TileMap clear_layer not recreating internal CanvasItems 2022-07-26 12:35:54 +02:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
reduz
d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
luz paz
38aaaa3cf9 Fix various typos not caught by codespell
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
Rémi Verschelde
73f47921ea
Merge pull request #61590 from Haydoggo/path-follow-fix 2022-07-18 09:36:02 +02:00
Marcel Admiraal
4c23fe602b Update camera position when updating camera limit 2022-07-17 08:51:43 +01:00
Fabian Keller
2bf9e6090c rename translate(d) to translate(d)_local in Transform 2D/3D 2022-07-16 11:47:54 +02:00
Hayden Leete
fded50fced prevent crash on NaN offset in path_follower 2d and 3d 2022-07-14 14:15:02 +12:00
Xentripetal
f514b82fd3 Account for relative z-indexes when y-sorting 2022-07-08 09:18:00 -05:00
Rémi Verschelde
41fdddb1f8
Merge pull request #62677 from akien-mga/particles-fix-warnings-update 2022-07-03 18:42:51 +02:00
Rémi Verschelde
5d9e56ecec Particles: Fix missing configuration warning updates
Fixes #33488.
2022-07-03 16:04:20 +02:00
kleonc
73ecd71b7d Fix no hint_string for frame property in AnimatedSprites 2022-07-03 15:31:43 +02:00
Rémi Verschelde
8a00d7c847
Merge pull request #62527 from smix8/navigation_agent_property_groups
Group NavigationAgent properties
2022-06-30 01:24:05 +02:00
Rémi Verschelde
a7e589df38
Merge pull request #62084 from smix8/path_debug_options_4.x
Add Path2D/3D debug options
2022-06-29 20:36:43 +02:00
smix8
dde09be302 Group NavigationAgent properties
Groups the ill-defined NavigationAgent properties between pathfinding and avoidance to make it more clear which property affects what.
2022-06-29 18:42:51 +02:00
Marcus Elg
6c1ac9f3be Rename export_range's noslider option to no_slider 2022-06-24 10:45:34 +02:00
reduz
d69e3791bf Fix editor-only visibility for lights
* Update visibility again for editor-only lights if owner changes.

Fixes #26399, supersedes #52327
2022-06-23 08:19:18 +02:00
Hugo Locurcio
b3fe2732e3
Allow using CanvasItemMaterial in the TileSet editor
Previously, only ShaderMaterial overrides could be added.
2022-06-21 17:02:52 +02:00
smix8
e12e239ab4 Add Path2D/3D debug options
Add Path2D/3D debug options.
2022-06-20 17:32:05 +02:00
Rémi Verschelde
21b0c7fc22
Merge pull request #62214 from smix8/navigation_layer_bitmask_helpers_4.x 2022-06-20 15:13:33 +02:00
Rémi Verschelde
3d49e89b9b
Merge pull request #62181 from smix8/navigation_navagent_pathpoint_dist_4.x 2022-06-20 14:54:16 +02:00
smix8
55923ade68 Add navigation layer bitmask helper functions
Adds helper functions to work with the navigation layer bitmask.
2022-06-19 13:47:19 +02:00
smix8
07740302f3 Add NavigationAgent desired path distance
Add NavigationAgent desired path distance
2022-06-18 19:11:49 +02:00
kleonc
728e8de87d Fix CPUParticles2D.emission_shape enum hint 2022-06-18 16:06:39 +02:00
Ellen Poe
d384d84f45 Audio: Expose 2D/3D panning strength parameters 2022-06-17 13:08:48 +02:00
smix8
245da150e7 Streamline Navigation layer function names.
Streamline Navigation layer function names.
2022-06-15 00:18:48 +02:00
smix8
f10ff0efda Add NavigationAgent set_navigation_map() function
Add NavigationAgent set_navigation_map() and get_navigation_map() function.
2022-06-14 21:48:47 +02:00
FireForge
92817aa72f Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- BaseMaterial3D.uv1_scale
- BaseMaterial3D.uv2_scale
2022-06-14 09:33:44 -05:00
kobewi
5553e27fe8 Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Gilles Roudière
923b1a56b4 Fixes terrains for isometric tilemaps 2022-06-13 18:10:08 +02:00
Rémi Verschelde
d4f31e201d
Merge pull request #61809 from groud/terrain_center_bit 2022-06-13 17:06:34 +02:00
FireForge
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
Gilles Roudière
62d2549e9e Add terrain center bit 2022-06-10 14:37:39 +02:00
Rémi Verschelde
8aa69c4e06
Merge pull request #52415 from deakcor/dev-node2d
Fix global properties setters and add global skew for node2d
2022-06-10 09:49:15 +02:00
smix8
cfdfd304f1 Add NavigationRegion costs for pathfinding
Add NavigationRegion costs for pathfinding.
2022-06-06 15:25:06 +02:00
smix8
8bcce0ebb2 Expose get_mesh() for NavigationPolygon Resources
Expose get_mesh() for NavigationPolygon Resources.
2022-06-02 09:52:26 +02:00
smix8
56fe26b5e0 Fix NavigationAgent reparent issues
Fix NavigationAgent reparent issues
2022-06-01 06:45:12 +02:00
kobewi
7bae94910e Update VisibleOnScreenNotifier2D when rect changed 2022-05-29 23:51:24 +02:00
Vincent D
697316155f Fix global properties and add global skew for node2d
Renamed parent item variable in node2d global setters and optimize

Aligned variable renaming in global setters

Optimize node2d global setters

Add global skew description in doc

Co-Authored-By: Aaron Franke <arnfranke@yahoo.com>
2022-05-24 09:49:24 +02:00
trollodel
51b229bffa Fix Joint3D and Joint2D warning causing a crash 2022-05-23 12:21:13 +02:00
Rémi Verschelde
a80793fcb8
Merge pull request #61235 from smix8/navigation_agent_avoidance_processing_4.x 2022-05-22 19:11:32 +02:00
smix8
7f3688603c Process NavigationAgent2D/3D avoidance on demand only
Changes NavigationAgent avoidance callback to a toggle that is disabled by default.
Also fixes a few missing descriptions / wrong warnings.
2022-05-20 23:47:10 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
Rémi Verschelde
ce069fbe99
Merge pull request #61128 from smix8/navigation_agent_process_mode_4.x 2022-05-19 15:24:34 +02:00
Aaron Record
900c676b02 Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
Haoyu Qiu
fc3b845c07 Add dedicated macros for property name extraction
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
Ricardo Buring
f072aa69a9 Add motion parameter to toggle whether recovery is reported as a collision
This makes the intent explicit in each use case.
2022-05-18 16:40:29 +02:00
smix8
4035a4103c Update NavigationRegion2D when polygons of NavigationPolygon change
Updates NavigationRegion2D  when the NavigationPolygon emits its 'changed' signal due to e.g. polygons altered by script.
2022-05-18 13:36:18 +02:00
smix8
6b51ab66d8 Make Navigation Agents and Obstacles respect parent process mode
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.
2022-05-17 20:08:39 +02:00
Haoyu Qiu
d5f5e96e11 Fix AnimatedSprite doesn't emit animation_finished when changing playback direction 2022-05-16 21:03:22 +08:00
Rémi Verschelde
7b571ab8f7
Merge pull request #60986 from fire-forge/capitalism 2022-05-16 13:49:14 +02:00
Rémi Verschelde
f95b7412c7
Merge pull request #61057 from smix8/navigation_obstacle_transform_error_4.x 2022-05-16 13:47:28 +02:00
Rémi Verschelde
9ba0fac1ba
Merge pull request #61038 from smix8/navigation_obstacle_rid_config_warn_4.x 2022-05-16 13:47:20 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
smix8
cc707412e9 Fix NavigationObstacle2D/3D get_global_transform() error
Fixes NavigationObstacle2D/3D reporting a 'get_global_transform: Condition "!is_inside_tree()" error when estimating the agent radius.

The collisionshapes that are lower in the SceneTree order than the obstacle node are not loaded in the SceneTree yet so the global_transform function fails.

Also adds warning message when this happens.
2022-05-15 20:29:23 +02:00
smix8
001d89223f Expose NavigationObstacle2D/3D get_rid() and add config warning
Exposes get_rid() function for scripting.
Adds configuration warning when obstacle is used with not intended static body parent.
2022-05-15 01:03:22 +02:00
FireForge
88a8038387 Capitalize/fix some property enum hints 2022-05-12 15:03:16 -05:00
Rémi Verschelde
b6983eeccf
Merge pull request #51591 from Calinou/call-group-default-immediate
Make `{call,set,notify}_group()` immediate by default
2022-05-10 14:52:23 +02:00
kobewi
c836bdf5b1 Mention that Area2D doesn't support one_way_collision 2022-05-09 15:00:53 +02:00
Hugo Locurcio
aabbb40009
Make {call,set,notify}_group() immediate by default
This results in less surprising behavior out of the box.

Internal usages were modified to keep the existing behavior
identical there.
2022-05-05 16:59:37 +02:00
Haoyu Qiu
312ec612c7 Add autocompletion for AnimatedSprite.play() 2022-05-05 14:36:35 +08:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
Rémi Verschelde
4e06ce7840
Merge pull request #60655 from smix8/navigation_region_rid_4.x
Add get_region_rid() to NavigationRegion2D and NavigationRegion3D
2022-05-01 14:17:40 +02:00
smix8
05d06b8957 Add get_region_rid() NavigationRegion2D and NavigationRegion3D
Add get_region_rid() to NavigationRegion2D and NavigationRegion3D
2022-04-30 13:27:30 +02:00
Rémi Verschelde
a817bd96c0
Merge pull request #59297 from fabriceci/fix-jitter-2D-slight-slope 2022-04-29 15:33:45 +02:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns" 2022-04-29 08:02:39 -05:00
Rémi Verschelde
212989d467
Merge pull request #59438 from fabriceci/fix-move-and-collide-reported-collisions
Fix wrong collision reported on move_and_collide
2022-04-28 18:47:22 +02:00
Rémi Verschelde
3e9ead05f2
Merge pull request #58685 from IgorKordiukiewicz/gpu_particles_2d_interpolation_property
Added interpolation property to GPUParticles2D
2022-04-27 13:58:41 +02:00
Rémi Verschelde
1737494479
Merge pull request #60321 from rburing/pathfollow_offset_yes_a_number 2022-04-27 13:27:19 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
Samuel Wilson
a4c38aa92e Fix TileMap::set_pattern offsets
Currently it is trying to use the target coordinates (i.e., in the destination TileMap) to pull from the pattern, rather than the pattern-local coordinates.
2022-04-27 09:35:33 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
RedHeadphone
f603c75035 correct initial cpu particle velocity 2022-04-24 14:50:42 +05:30
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Ricardo Buring
eb9157df23 PathFollow2D and PathFollow3D: don't set offset to NaN 2022-04-17 17:26:05 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
kobewi
6e622c58c5 Change gizmo_extents to property 2022-04-05 16:16:28 +02:00
Rémi Verschelde
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Markus Sauermann
01c37dc277 Revert "Fix that collision objects ignore canvas transform"
This reverts commit 5521b93750.
2022-04-04 18:08:05 +02:00
Igor Kordiukiewicz
fd54762892 Added interpolation property to GPUParticles2D 2022-04-04 15:51:13 +02:00
kobewi
db19cc60fb Fix TouchScreenButton error spam 2022-04-04 01:47:40 +02:00
Rémi Verschelde
26048c805b
Merge pull request #59331 from bartekd97/navigation-agent-layers 2022-04-01 13:35:51 +02:00
Markus Sauermann
5521b93750 Fix that collision objects ignore canvas transform
This aligns collision areas with visual areas within a viewport
2022-03-31 16:07:05 +02:00
Rémi Verschelde
324215c485
Merge pull request #59525 from fire-forge/fix-group-names 2022-03-28 21:44:35 +02:00
FireForge
88b09694e7 Fix inspector group name capitalization 2022-03-28 14:02:06 -05:00
Rémi Verschelde
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
fabriceci
e2812fcb0f When only a recovery occurs, don't report a collision on move_and_collide 2022-03-23 10:24:35 +01:00
fabriceci
528dfbf63e Fix 2D jitter on slight slope 2022-03-21 09:08:52 +01:00
BARTEK-PC\Bartek
4972f1b864 Expose navigable layers for NavigationAgent2D/3D 2022-03-20 15:04:56 +01:00
Rémi Verschelde
acc9b5b390
Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershape
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-03-18 08:21:59 +01:00
Rémi Verschelde
b7bc8dbebe
Merge pull request #57392 from madmiraal/implement-3888 2022-03-14 08:31:58 +01:00
Rémi Verschelde
4f40a71e03
Merge pull request #57436 from AnilBK/change-scopes
Scope Changes for some variables.
2022-03-13 22:10:16 +01:00
Igor Kordiukiewicz
8f49150b10 Changed TileMap::set_cell alternative_tile default value to 0 2022-03-02 12:13:45 +01:00
Ricardo Buring
cb5bc58e81 Joint2D and Joint3D: make set_exclude_nodes_from_collision respect signals 2022-02-28 22:25:45 +01:00
Ricardo Buring
9e100c3e7a Joint2D and Joint3D: update joint on NOTIFICATION_POST_ENTER_TREE
This allows reparenting, etc.
2022-02-28 22:21:32 +01:00
Rémi Verschelde
f968c11b86
Merge pull request #58596 from rburing/joints_disconnect_connected_signals
`Joint2D` and `Joint3D`: disconnect only connected signals
2022-02-28 11:00:14 +01:00
Haoyu Qiu
3a439a9c03 Fix AnimatedSprite infinite loop 2022-02-28 16:00:45 +08:00
Ricardo Buring
184105e753 Joint2D and Joint3D: disconnect only connected signals 2022-02-27 16:55:57 +01:00
Marcel Admiraal
aeff4cf6f3 Remove ParallaxLayer's invalid dependence on screen_offset 2022-02-26 18:47:22 +00:00
Chris Bradfield
849d34ba8e Rename motion_velocity to velocity 2022-02-22 23:31:33 -08:00
Hugo Locurcio
6b52aa67b8
Add a property hint for the Line2D Round Precision property
This prevents choosing extremely high values which cause performance
issues for no visual benefit.
2022-02-17 00:21:00 +01:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
Rémi Verschelde
0f5455230c
Use switch consistently in _notification (scene folder) 2022-02-15 18:44:55 +01:00
Hendrik Brucker
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Anilforextra
bb5d130509 Code quality cleanup for some variable scopes. 2022-02-10 15:56:01 +05:45
Raul Santos
68b04a5a07 Add array element type to _get_polygons and _get_outlines 2022-02-08 21:15:25 +01:00
Haoyu Qiu
bbcd9c5b97 Fix RayCast{2,3}D.clear_exceptions clears parent 2022-02-08 16:31:07 +08:00
Anilforextra
fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
Rémi Verschelde
f1bff648f2
Merge pull request #57355 from akien-mga/method-bindings-clearer-types 2022-02-01 14:24:35 +01:00
Marcel Admiraal
15ea6706e2 Invert Camear2D zoom to make it intuitive 2022-01-31 16:35:28 +00:00
Rémi Verschelde
1c6f0aa3a0
Merge pull request #56601 from Scony/fix-navigation-obstacle-errors 2022-01-28 23:25:55 +01:00
Rémi Verschelde
7072b359b4
Improve some method bindings to use specific Object subtypes
This was made possible by changes to `VariantCaster` which now make
it possible to pass any `Object`-derived type as pointer.
2022-01-28 15:07:22 +01:00
Rémi Verschelde
b8b33df178
TileSetAtlasSource: Make get_tile_data return TileData *
This is now possible thanks to `Variant` changes.

Also unbind some `_` prefixed methods which don't need to be exposed.
2022-01-28 14:27:12 +01:00
fabriceci
cc3c4d6323 Revert #53174 (applying the delta in move and collide), rename rec_vel to distance and improve the doc description 2022-01-26 23:09:30 +01:00
Haoyu Qiu
a775744742 Store ObjectID instead of raw pointer for Shape Owners 2022-01-25 17:16:06 +08:00
Rémi Verschelde
672363f295
Merge pull request #56888 from FreegleBarr/implement_gpuparticle_subemitters2d 2022-01-24 22:19:55 +01:00
Rémi Verschelde
2255777fb9
Merge pull request #57144 from AnilBK/fix-pos-dragging 2022-01-24 21:32:38 +01:00
freeglebarr
6f88294528 ported particle sub-emission to 2D 2022-01-24 17:28:59 -03:00
Rémi Verschelde
5f8f6ae7f6
Merge pull request #57120 from KoBeWi/grandpa_issue 2022-01-24 21:03:48 +01:00
Anilforextra
80187b77a9 Node2D/Node3D: Fix Undraggable Position Property. 2022-01-25 00:52:11 +05:45
fabriceci
856142a97d rename free mode to floating mode 2022-01-24 15:19:43 +01:00
kobewi
d7f51dd2ec Better clarify map_to_world() description 2022-01-24 14:13:40 +01:00
kobewi
f74d52e80d Fix error on scene tiles cleanup 2022-01-19 00:39:26 +01:00
Rémi Verschelde
7c771ea310
Merge pull request #47522 from madmiraal/rename-test_width-test_height 2022-01-18 13:39:57 +01:00
Rémi Verschelde
e0f2902a11
Merge pull request #55665 from KoBeWi/you_touched_my_TouchScreeenButton 2022-01-13 12:23:49 +01:00
Rémi Verschelde
189662e5bd
Merge pull request #56696 from AnilBK/use-init-lists 2022-01-12 10:04:45 +01:00
Anilforextra
6c3a0460a8 Use List Initializations for Vectors. 2022-01-12 10:15:12 +05:45
Arnav Vijaywargiya
0c46f73b5e Fixed incorrect property types 2022-01-11 17:17:11 +05:30
Anilforextra
b770a4d0ac Path2D: Check points count before rendering. 2022-01-09 15:17:41 +05:45
Pawel Lampe
9bda2d5859 Fix NavigationObstacle errors
* `NavigationObstacle2D` premature radius estimation (before entering the tree)
* `NavigationObstacle3D` premature radius estimation (before entering the tree)
2022-01-07 19:55:22 +01:00
Rémi Verschelde
4dbef3a4f5
i18n: Sync template with current 3.x codebase
Weblate will now track the state of `3.x` to prepare for the 3.5 release.

(cherry picked from commit 02d9ac1071)
2022-01-07 13:35:28 +01:00
Rémi Verschelde
b23552922f
NavigationServer: Restore constness for thread safe get_singleton
This was removed by mistake in #47024, NavigationServer uses internal
mutability for thread safety, and removing `const` breaks the contract.
2022-01-05 15:41:21 +01:00