Commit Graph

426 Commits

Author SHA1 Message Date
160cb38a50 Ported from godot4: Add support for emitting a signal when entering a NavLink
- DarkKilauea
5d8ba2b2d1
2023-06-09 19:08:38 +02:00
12b95cdc1f Ported from godot4: Add navigation layer bitmask helper functions
Adds helper functions to work with the navigation layer bitmask.
- smix8
55923ade68
2023-06-09 15:44:12 +02:00
268645ff0b Ported from godot4: Add NavigationAgent Path Debug Visualization
Adds path debug visuals for NavigationAgent2D, NavigationAgent3D and NavigationServer.
- smix8
0ab764e84b
2023-06-09 14:17:54 +02:00
c11500d480 Ported from godot4: Rename Navigation uses of 'location' to 'position'
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
- smix8
bf1571979c
2023-06-09 10:28:31 +02:00
b940854ca9 Ported from godot4: Add NavigationServer Performance Monitor
Adds Performance Monitor for NavigationServer3D.
- smix8
9802914f97
2023-06-09 10:17:43 +02:00
9c95fade84 Backported from godot4: Fix navigation debug not toggleable in scripts
Fixes that navigation debug was not toggleable in script while even the docs mentioned it.
- smix8
aecad7bb25
2023-06-09 09:01:01 +02:00
0438c3cc3f Backported from godot4: Added node for Navigation links .
- DarkKilauea
3dd59013f4
2023-06-08 20:46:09 +02:00
f6e65112d7 Backported from godot4: Add NavigationPathQuery
Adds NavigationPathQueryParameters objects that can be used with NavigationServer.query_path() to query a customized navigation path.
- smix8
63dcb9aa80
2023-06-08 18:23:48 +02:00
7ce5f939a9 Ported the docs from the navigation mesh generator rework pr. 2023-06-06 16:52:04 +02:00
890d6f1b28 Removed region_bake_navmesh from the NavigationServer. 2023-06-06 09:36:19 +02:00
25078b1437 Ported from godot4: Remove / Replace old Navigation Debug Visualization
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
- smix8
d7f75fab60
2023-06-05 18:56:41 +02:00
654cfb81b7 Renamed NavigationRegion2D back to NavigationPolygonInstance, as I think it fits the engine better. 2023-06-05 18:09:53 +02:00
68b9f4c90e Ported from godot4: 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.
- smix8
c394ea518e
2023-06-05 18:05:15 +02:00
b7892d6baf Backported from godot4: Implement NavigationMesh bake area.
Adds two new properties to NavigationMesh resources to restrict the navmesh baking to an area enclosed by an AABB with volume.
- smix8
0c4d99f4fd
2023-06-05 14:24:42 +02:00
54ae614941 Make sure that the new classes are registered to the ClassDB. Also added in the docs for them. 2023-06-03 20:39:56 +02:00
2114b2239b Split NavigationPolygon and NavigationPolygonInstance into 2 files. Also renamedNavigationPolygonInstance to NavigationRegion2D. 2023-06-03 16:54:48 +02:00
f4a4956b7a Ported: Fix Polygon2D skinned bounds (for culling)
The bound Rect2 was previously incorrect because bone transforms need to be applied to verts in bone space, rather than local space. This was previously resulting in skinned Polygon2Ds being incorrectly culled.
- lawnjelly
dd6c213dac
2023-05-01 13:34:35 +02:00
BimDav
ad6e504a5b Add option in VisibilityEnabler2D to hide the parent for better performance 2023-05-01 12:22:39 +02:00
06b2437b72 Ported: [3.x] Expose more compression formats in Image
- AThousandShips
2ca86ef449
2023-04-20 23:47:57 +02:00
1263101396 Ported: Batching - Add MultiRect command
Large groups of similar rects can be processed more efficiently using the MultiRect command. Processing common to the group can be done as a one off, instead of per rect.

Adds the new API to VisualServerCanvas, and uses the new functionality from Font, BitmapFont, DynamicFont and TileMap, via the VisualServerCanvasHelper class.

- lawnjelly

910ddd13c4
2023-04-20 23:09:37 +02:00
31f61225a2 Ported: Make MessageQueue growable
* Uses simple vector resizing (po2)
* Uses pair of read and write buffers
- lawnjelly
5f1e7e6fbc
2023-04-15 12:06:16 +02:00
bb9f227c73 Ported: Update make_rst.py to match the master version
This does not include master-specific concepts, like
constructors, operators, annotations, and bitfields.
- YuriSizov
0f24d6ecf7
2023-04-15 11:20:13 +02:00
464b0b5e08 Ported: Add Color + alpha constructor for Color
- timothyqiu
3544cd1dad
2023-04-15 11:02:41 +02:00
kobewi
381aa1a140 Add set_value_no_signal() to Range 2023-04-15 10:56:26 +02:00
40a9b72afb Ported from godot-plus: Add ability to mute AudioServer.
Adds the option to change the audio driver to the Dummy driver and back at runtime, with a set of MuteState flags - Disabled (user control), Silence (period of silence), Focus Loss (when app is not in focus), and Paused (when app is paused).
Control for the flags is added for the editor in EditorSettings, and for the project in ProjectSettings.
Editor defaults to muted (Dummy driver) when there is no audio output, and automatically switches to active on output. This significantly reduces CPU usage.
- lawnjelly
cedb01fb84
2023-04-10 19:42:23 +02:00
32e9927ac8 Ported from godot 4: Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.
This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
- reduz
Note that I removed NOTIFICATION_MOVED_IN_PARENT, as keeping it, but making it just not work is worse in my opinion.
104392ef4e
2023-04-10 15:55:34 +02:00
Hugo Locurcio
e8d3159d6f Mention String.match() is also called "glob"/"globbing"
This is mostly for Ctrl + F purposes, in case someone is looking
how to perform globbing on a string.

(cherry picked from commit 64906bd1f7ea77f2a2829ff9c65219aca0912f87)
2023-03-12 15:42:00 +01:00
Hugo Locurcio
f1a7db4597 Document using String.percent_encode() with OS.shell_open() 2023-03-12 15:07:20 +01:00
Ninni Pipping
e8216d9ad1 Backport Tree::set_selected
Backport function from godotengine#68448

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-03-12 14:25:47 +01:00
75ed28f2b3 Ported: iOS: Fix memory leak on touch input
Replaces iOS gesture with touch implementation
Fixes 66422
Remove godot_view_gesture_recognizer
It's now unused.
Remove input_devices/pointing/ios/touch_delay
Unused with removal of gesture.
Remove unused methods from interface
Implementation made obsolete in prior commit
Style conformance
- tbveralrud
28b11a0785
2023-03-12 14:08:29 +01:00
Aaron Franke
304c45fbf3 Improve the clarity of Viewport's documentation 2023-03-12 13:28:20 +01:00
15bf4aefd0 Ported: Rework how current Camera2D is determined
7e2a8afb57
- KoBeWi
and
Fix Camera2D crashes
724d6581d6
- KoBeWi
From godot4.
Also fixed issues with active Camera2D switching.
2023-03-04 21:29:49 +01:00
9490e255c7 Move EditorScriptEditor's doc. 2023-02-18 16:54:42 +01:00
6026725f3b Renamed ScriptEditor to EditorScriptEditor. 2023-02-18 16:52:26 +01:00
Danil Alexeev
4f04b2233b Fix wrong SpriteFrames docs 2023-02-07 03:03:34 +01:00
Hugo Locurcio
a744936512 Document image size restrictions for custom mouse cursors in HTML5
(cherry picked from commit 296b8f299a1653abcaf194f154c26af07581b000)
2023-02-07 03:03:18 +01:00
Jóhannes Gunnar Þorsteinsson
d19c1fedfb Add independent spinbox arrow step precision
Backported from the `master` branch, with a property hint added.
2023-02-07 02:51:05 +01:00
db67fa53ea Ported: Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices
- m4gr3d
8170b7ae1e
2023-02-07 02:50:11 +01:00
1f20512f8c Ported: Improve error messages and classref for occluders and portals
Misused functions would previously produce no error messages which was confusing for users.
- lawnjelly
5a0cb54b3a
2023-02-07 02:28:29 +01:00
Hugo Locurcio
272d1af91c Document Environment's background_energy property affecting lighting
Godot 4.0 allows controlling ambient and specular light intensity
separately, but 3.x doesn't.
2023-02-07 02:00:15 +01:00
19baf2133a Ported: PopupMenu rework and enhancements
Many scrolling behaviour improvements and the ability to limit popup size.
- EricEzaM, rsubtil
6a5992c9f1
2023-02-07 01:59:27 +01:00
79842beb9a Ported: Expose OS.read_string_from_stdin() to the scripting API
This can be used in scripts to read user input in a blocking manner.
This also removes the unused `block` argument, which is always `true`.
- Calinou
badcfa2523
2023-02-07 01:07:31 +01:00
lawnjelly
85a4c5369b Faster queue free
Calling queue_free() for large numbers of siblings could previously be very slow, with the time taken rising exponentially with number of children. This looked partly due to ordered_remove from the child list and notifications.

This PR identifies objects that are nodes, and sorts the deletion queue so that children are deleted in reverse child order. This minimizes the costs of reordering.
2023-01-16 14:24:25 +01:00
Fabio Alessandrelli
f2682927f0 Expose API to force file system sync. 2023-01-16 14:15:08 +01:00
fc991ede18 Re-extracted class docs. 2023-01-14 13:38:58 +01:00
3bf2b79d88 Added set_length helper method to String. 2022-12-22 21:10:04 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
ce5e82d910 Ported: Include the follow-viewport-transform into CanvasLayer transform calculations
The follow-viewport-transform was missing from several calculations
3.x version of #59682
- Sauermann
608cbd8296
2022-12-22 19:06:10 +01:00
b8009c85f4 Ported: Add vector value linking - KoBeWi and timothyqiu
9499ebecee
2022-12-22 18:50:17 +01:00
Haoyu Qiu
1d2a560819 Make NavigationAgent target_location a property 2022-12-22 14:42:05 +01:00
Zak
b5c01b8703 Add uri property for LinkButton
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit d73a9b56b08864b5e5ccf0df910190b064ff7463)
2022-12-22 14:23:04 +01:00
smix8
9225e78f68 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0a20faa4463e3a41bb12cf93a71fc03)
2022-12-22 14:12:00 +01:00
Hugo Locurcio
fe010a1efe Silence Input.vibrate_handheld() warning as it's already documented
The warning causes messages to be spammed if you are calling this
method in a game that runs on both desktop and mobile platforms,
unless you guard all calls to `Input.vibrate_handheld()` with
`OS.has_feature("mobile") or OS.has_feature("web")`.

Since the limitation is already documented (and is obvious enough
given the method's name), the warning message is redundant.

(cherry picked from commit 4a991887bf3dd5fbb687fb379f06ac85aa4a6245)
2022-12-22 14:08:01 +01:00
Hugo Locurcio
ef4fe36eb4 Document debanding only affecting 3D rendering by default 2022-12-22 13:39:09 +01:00
Haoyu Qiu
43146b2cf1 Add note about GROUP_CALL_UNIQUE not considering arguments
(cherry picked from commit 3f2d6f5f6cd9623d6aa7149bc1871b021d84304c)
2022-12-12 12:16:27 +01:00
Hugo Locurcio
7d1abdb3db Fix BackBufferCopy rect property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-11 19:18:17 +01:00
kobewi
43cb6e940a Remove error condition from get_global_transform()
(cherry picked from commit 2ff676a696a9cc1d77c0a8f4d5f31de8c7b5bc1a)
2022-12-11 19:02:12 +01:00
streq
17989ca8ef clarify [member polygons] functionality in the Polygon2D class documentation
(cherry picked from commit de66acc6243827d4b5543656ec588d841d8b7504)
2022-12-11 18:39:24 +01:00
Lyuma
6eb0adced6 Make Node editable_instance methods available to GDScript
(cherry picked from commit 7eb6ae279848e8300431cfe925be70fa7ffd7299)
2022-12-11 18:34:17 +01:00
Rémi Verschelde
f3801032b8 Add editor setting for AcceptDialog OK/Cancel buttons positioning
The position (left/right) of the Cancel and OK buttons in AcceptDialog
are DisplayServer specific, as Windows uses OK/Cancel and macOS uses Cancel/OK.

Linux/X11 currently uses the macOS convention which is also the GTK+/GNOME one,
though it's not consistent with Qt/KDE applications which follow the Windows
convention.

Since that can't satisfy everyone, it's best if it's configurable also for the
editor (it's already configurable for the project).

Fixes #59379.

(cherry picked from commit 9bb05de89fcc286a0d78bea12dc779a56c274fb0)
2022-12-11 18:33:23 +01:00
Fireflash
6656d1a33d Update AudioStreamGeneratorPlayback.xml
Fixed incorrect method description for `get_frames_available`.
According to [The AudioStreamGenerator source](https://github.com/godotengine/godot/blob/master/servers/audio/effects/audio_stream_generator.cpp#L132), the `get_frames_available` method should return the space remaining in the sample buffer.

(cherry picked from commit 7823ca13676648ae1f35b33ea18c9d699395f283)
2022-11-30 19:27:56 +01:00
voidshine
840c537d89 Fix MIDI note-on events being converted to note-off events
Update documentation with note about MIDI velocity interpretation

(cherry picked from commit f0f72b313236b3cd8793e6fe7487094d9a04694a)
2022-11-30 19:11:21 +01:00
Ev1lbl0w
608c16297e Document PopupMenu id behavior
(cherry picked from commit b8aa5ebfeb30b01db6e70ccc790624632c7273ee)
2022-11-30 18:59:45 +01:00
Hugo Locurcio
8612d803b1 Document (Omni/Spot)Light ignoring Spatial's scale property 2022-11-30 14:23:33 +01:00
41f130d9fd Re-extracted the class docs. 2022-11-20 23:27:04 +01:00
a3f2631d59 Ported: Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
- m4gr3d
be4b07c3e4
2022-11-13 01:29:17 +01:00
Zach Coleman
6fd82aca20 Add ProMotion Support to iOS Exports 2022-11-13 00:51:09 +01:00
Zach Coleman
8b12c8babf Add iOS UI Options 2022-11-13 00:50:47 +01:00
kleonc
d7ddaf619a Add ShapeCast2D/3D::get_collider_rid method 2022-11-13 00:50:18 +01:00
kleonc
3ee1c2b58c Docs Clarify Array.fill behavior when reference type is passed in 2022-11-13 00:48:19 +01:00
Jordan Schidlowsky
91624a7561 expose additional global enums in 3.x which are available in master 2022-11-13 00:32:18 +01:00
Michael Alexsander
b85570c541 Expose various color themes for Button 2022-11-13 00:30:18 +01:00
Micky
6ca2dc959b Rename set_indexed & get_child's params to be clearer
3.x backport of #67300 and #64463.
2022-11-13 00:27:45 +01:00
Haoyu Qiu
177d20aeef Remove leading spaces from enumerator name hints 2022-11-13 00:26:34 +01:00
54643bc1fc Re-extracted class docs. 2022-10-09 12:43:55 +02:00
2159409dcc Moved TileMap and TileSet's docs to their module. 2022-10-09 11:47:03 +02:00
d0d2a709e8 Renamed RTileMap ro TileMap and RTileSet to TileSet, as it does not need to be able to live alongside Godot's TileMap anymore. 2022-10-09 11:45:57 +02:00
Haoyu Qiu
a1ec0dca97 Make it clear that obstacles don't affect pathfinding 2022-10-08 17:32:56 +02:00
Haoyu Qiu
4bff335622 Improve StaticBody description 2022-10-08 17:32:14 +02:00
Josh Anthony
d03711f58a update messaging for focus to be less keyboard-specific
address comments

Put back missing keyboard tags, fix language to match master's version.

match suggested commits from master
2022-10-08 17:31:36 +02:00
Hugo Locurcio
97219f5982 Document editor settings in the class reference 2022-10-08 17:28:57 +02:00
smix8
1c0898763c Fix avoidance calculation on NO_THREADS build 2022-10-08 17:24:55 +02:00
Hugo Locurcio
80fb0b5890 Document Mesh vertex color compression clamping overbright/HDR colors 2022-10-08 16:50:28 +02:00
Hugo Locurcio
e315a93f87 Expose the "restart on exit" OS functionality
This can be used to restart a project with specific command line arguments
applied. This can work in tandem with `OS.get_cmdline_args()` to restart
with the same command line arguments as used to originally run the project.

Example use cases:

- Restart to apply an user setting change that requires a restart to work.
- Restart with a Godot command line argument to change the video driver,
  audio driver, etc.
2022-10-08 16:34:07 +02:00
Ricardo Buring
9762395888 Document behavior of areas with concave shapes 2022-10-08 16:33:14 +02:00
kobewi
9607de4c8e Add more clarifications about Tween processing
(cherry picked from commit 038cb677cbde3adcc692296b3113398cd351f9fe)
2022-10-08 16:20:23 +02:00
Haoyu Qiu
33e7f7d411 Fix typo in CollisionObject documentation 2022-10-08 16:17:34 +02:00
93eb41c69e Ported: added options for sorting transparent objects
- QbieShay, akien-mga, clayjohn
acdcbefa4e
2022-09-17 10:54:57 +02:00
64f5bd2339 Ported: Bind Physics Interpolation functions in VisualServer
To allow maximum flexibility in the initial rollout, VisualServer functions were not bound in order to prevent compatibility issues if the API changed.

These functions are now bound to allow direct use from the VisualServer.
- lawnjelly
96a1b86717
2022-09-17 10:22:26 +02:00
lawnjelly
d879fe8b1a Portals - clarify docs VisualInstances only
Makes it more clear in the documentation that some debugger features are expected not to show when portals are active.
2022-09-17 00:05:56 +02:00
volokh0x
c6bcb52e8f Fix typos in Dictionary.xml
(cherry picked from commit ff23defaf82f54136a7fa1ef84b9f0cacb9e2077)
2022-09-16 23:57:02 +02:00
kobewi
7f08c6820f Improve the description of follow_viewport_enabled
(cherry picked from commit 229e76429059b32edd43cd2382723d71a815f296)
2022-09-16 23:56:43 +02:00
001651fb33 Ported: Fix parameter references in Theme documentation - YuriSizov
9496254737
2022-09-16 23:55:40 +02:00
Maxim Kulkin
4237a6501f Add GraphNode 'selected' and 'unselected' signals, simplify GraphEdit
Backport of the fix from master to 3.x
2022-09-16 23:29:52 +02:00
kobewi
e133069bda Add Dictionary.find_key() 2022-09-16 23:20:06 +02:00
Leonardo Santagada
4673ebaf90 Mention an issue with infinite scroll on mirroring of Parallax layer
(cherry picked from commit 74df54a99e3e20d2e3378a7cf5c655a1727bb8c9)
2022-09-16 23:16:13 +02:00
BenniKane
06ddad7cd6 doc: Clarifying NavigationAgent and NavigationAgent2D velocity_computed requires avoidance_enabled to be true to emit
(cherry picked from commit ed5b832a81bb7f67924282d2c3f96b8674ecbb7d)
2022-09-16 23:08:49 +02:00
kobewi
c954a6c9d7 Mention that grab_focus is more reliable deferred
(cherry picked from commit 188d5593e1f080181a6e0302b7d54416d2cd96e8)
2022-09-16 23:02:09 +02:00
Hugo Locurcio
f90d0cb9d0 Improve documentation related to audio input permissions 2022-09-16 22:50:34 +02:00
Atlinx
8e7bcc2ee0 Add missing parameters for signal in docs
(cherry picked from commit 0e3097c023fa4562d44fa102bd2ef8e456f8901a)
2022-09-16 22:39:23 +02:00
Michael Alexsander
bce30062a5 Fix some corner cases in the Menu/OptionButton item auto-highlight 2022-09-16 22:04:23 +02:00
Yuri Sizov
211cd1e46a Remove Inspector tooltip hack that never actually worked 2022-09-16 21:57:00 +02:00
Hugo Locurcio
34cda4b11b Add a [kbd] tag for highlighting keyboard shortcuts in the editor help
This allows backporting documentation from the `master` branch more easily,
as it already features the `[kbd]` tag.

Co-authored-by: Yuri Sizov <11782833+YuriSizov@users.noreply.github.com>
2022-09-16 21:49:06 +02:00
Hugo Locurcio
ddba4438ae Remove unused Create Signal Callbacks editor setting
This setting wasn't referred to anywhere.
2022-09-16 21:46:58 +02:00
Danil Alexeev
c7f001ccf5 Add boot splash display time setting
Implements #8867.

(cherry picked from commit dad9683d11ca174cf50d0039fb0f05fb7439984f)
2022-09-16 21:19:03 +02:00
Hugo Locurcio
73588d4a25 Add support for documenting most editor settings in the class reference
Settings defined in editor plugins are missing (about 100 of them),
but all other settings (about 200 of them) can now be documented in the
EditorSettings class.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 63ce655e75e9d46c8b588ff258c3f50d5290c553)
2022-09-16 21:16:40 +02:00
Micky
d8046a2bad Improve documentation of CanvasItem's draw logic
(cherry picked from commit 953c78eaff2fc63e18c5da66c809c7e2b7666b11)
2022-09-16 21:11:26 +02:00
kobewi
63d85fd6f5 Mention the stretching behavior of PopupPanel
(cherry picked from commit a2b088b1c1b79950212287fd4c8539a67cfcb56f)
2022-09-16 21:10:52 +02:00
Dan Boorstein
9685b90279 Add note about using AudioListener2D
There was no mention of the effect of AudioListener2D in this documentation, making it unclear if there was a relationship. The new text is copied and modified from the AudioStreamPlayer3D documentation.

Use 'an' as article before 'AudioListener3D'

(cherry picked from commit a7ebc6fb18bcbcf817895955eed619588b3cd8b8)
2022-09-16 21:00:47 +02:00
Marlin Watts-Woods
c0bcc87ada Added to Sprite3D Documentation
(cherry picked from commit f8f665b03e2c2b2a10ffcaf815c511cd31a70887)
2022-09-16 19:50:19 +02:00
Hugo Locurcio
1902d9e21b Improve InstancePlaceholder documentation
(cherry picked from commit 5acf30b5380d71472657fbba84cad8739a5d7c1e)
2022-09-16 19:49:55 +02:00
Marcin Nowak
a697c239b8 Backport panning strength parameters from 4.0 2022-09-16 19:44:55 +02:00
Hugo Locurcio
dfd541f1e0 Improve documentation related to anisotropic filtering 2022-09-16 19:39:57 +02:00
Michael Alexsander
62fdf73348 Expose set/get_tab_button_icon() to scripting 2022-09-16 19:39:10 +02:00
Olivier Bombardier
3c72fdfb0d Fix has_filter of AnimationNode not being called in scripts 2022-09-16 19:38:38 +02:00
Yuri Sizov
494dc2f957 Backport fixes to documentation for paths, curves and navigation servers 2022-09-16 13:07:20 +02:00
Andy Maloney
8af0664931 Clarify that AnimationNode virtual methods need to be implemented rather than called directly
Backport of #64344

Fixes #35272
2022-09-16 12:41:29 +02:00
Hugo Locurcio
9055ae04c3 Document run-time SceneTree debug property changes not working correctly 2022-09-16 12:39:44 +02:00
Aaron Franke
6796ecfaf2 Fix incorrect Camera3D size documentation 2022-09-16 12:38:15 +02:00
b6624bf30b Re-extracted class docs. 2022-09-10 04:18:55 +02:00
27316923d3 Moved ThreadPool to core. Also it can change it's thread count now when it has time for it. 2022-09-10 04:16:50 +02:00
9b3714a274 Now CanvasItems work with World overrides aswell. 2022-08-30 01:40:03 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
cee028818e Also renamed the xmls. 2022-08-29 17:22:28 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
2aee6ab0bb Renamed World to World3D. 2022-08-29 16:49:00 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
4f9dd569b8 Now the Engine has methods to store globals (custom singletons). They are mostly meant for classes like EditorInterface, SpatialEditor, and plugin scripts that need a singleton for in-editor use. In essence it provides easy and side effect less access for classes that might not be present on every run. (For example gdscript recognizes normal singletons as keywords, but not these.) 2022-08-23 13:13:39 +02:00
a1974c8338 Re-extracted the class docs. 2022-08-23 13:09:12 +02:00
714547cb17 Re-extracted class docs. 2022-08-21 00:40:49 +02:00
98acdf8270 Now full screen editor plugins have the ability to hide their tab button in the top bar. 2022-08-20 17:20:34 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
0438da9841 Ported: [3.x] Add ShapeCast and ShapeCast2D nodes - PrecisionRender
47a62e28ac
2022-08-19 03:12:32 +02:00
59f4eb55d9 Ported: Fix mouse speed not changing fast enough
- Uses all accumulated movements when calculating speed
- Discards old accumulated movements
- Sets last mouse speed to zero when there is no movement
- madmiraal
3d96d7d9fb
2022-08-19 02:46:03 +02:00
45c65911b5 Ported: Allow negative scale in Particles and CPUParticles
This can be used to make 2D particles look more 3D-y with thoughtful use
of scale curve animation.
- Calinou
c4a3560884
2022-08-19 02:42:33 +02:00
kleonc
859a38b56e Make Mesh::generate_triangle_mesh() handle PRIMITIVE_TRIANGLE_STRIP and PRIMITIVE_TRIANGLE_FAN 2022-08-19 02:19:37 +02:00
Hugo Locurcio
c751d9dc17 Add an use_hdr property to GradientTexture to allow storing HDR colors
This is disabled by default to save some memory and preserve the existing
behavior of clamping colors.
2022-08-19 02:18:16 +02:00
Hugo Locurcio
089135783e Hide triplanar sharpness when triplanar is disabled in SpatialMaterial
The Triplanar Sharpness property has no effect when Triplanar
is disabled.
2022-08-19 02:17:26 +02:00
Hugo Locurcio
a3ac9c19b6 Improve Shape2D's custom_solver_bias description 2022-08-19 02:15:46 +02:00
521934ff55 Ported from Godot4: New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
- TwistedTwigleg
8aa3c2f091
2022-08-18 18:47:30 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00
220954cf08 Backported most of the improvements to String from Godot4. 2022-08-15 22:54:03 +02:00
5cd44e02d0 Backported the improvements to Transform from Godot4. 2022-08-14 20:35:11 +02:00
170a41ca82 Backported improvements to Basis from Godot4. Also bound all eligible methods. 2022-08-14 00:18:21 +02:00
c991043c95 Backported improvements to AABB from Godot 4. Also made sure all eligible methods are bound. 2022-08-13 18:21:54 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00
f423b30714 Backported from Godot4: Fix secondary handles in editor gizmos
Primary and secondary handles are no longer differentiated by their ids, so a bool was added to tell them apart in all the handle-related methods.
Includes a minor fix in CollisionPolygon3DEditor, unrelated to editor gizmos.
- JFonS
5ebea2d120
2022-08-12 22:21:00 +02:00