Commit Graph

3229 Commits

Author SHA1 Message Date
5879f0849f Fix codestyle warning. 2023-06-14 14:45:08 +02:00
1a5cba555c Backported godot4 PR: Support threads in the script debugger
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.
This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
- reduz
PR 76582
Will be available here after it's merged:
6b176671c4
2023-06-14 14:43:55 +02:00
4b9989b553 Committing small change on test docs re-extraction. 2023-06-13 18:20:18 +02:00
fe56b4c6b5 Fixed up the remaining newly extracted class doc xmls. 2023-06-13 18:19:02 +02:00
3346381a95 Skeleton doc small fixes. 2023-06-13 18:07:33 +02:00
24df83cd32 Added more newly extracted class docs. 2023-06-13 17:55:03 +02:00
b7a369a5e1 Add missing classes to the editor_code_editor module's class list. 2023-06-13 17:52:54 +02:00
0ef48bfbf9 gltf module doc classes small update. 2023-06-13 17:46:49 +02:00
34630ffd40 Fix registering types in the gltf module. 2023-06-13 17:35:54 +02:00
8d679355df Re-extracted class docs pt3. 2023-06-13 17:34:41 +02:00
a7f1f3356c Re-extracted class docs pt2. 2023-06-13 16:51:37 +02:00
ee6f207b0d Re-extracted class docs pt1. 2023-06-13 15:22:43 +02:00
decade59c8 Implemented a new ProcessGroup Node. It can be used to multithread scenes updates.
It was insipred by godot 4's ProcessGroup system, however while Godot 4's implementation tries to hide threaded processing as much as possible, this implementation focuses on making it explicitly known and obvious to the user, in a (hopefully) almost bolierplate free way.

Also with the available options this node can be used for other purposes, like multi threaded cron job like method calls when paired with a Timer in manual mode.
2023-06-13 15:08:35 +02:00
d4175f9676 Ported parts of : Refactor Node Processing
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.
This is the first steps towards implementing godotengine/godot-proposals#6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
- reduz
98c655ec8d
- Only got the smaller improvements, and the thread safety for Node and SceneTree. I'm planning to implement a similar system, but I have a different way of doing it in mind.
2023-06-12 21:13:26 +02:00
de1763d40d Renamed neighbor_dist properties / getters / setters for the navigation server. 2023-06-12 08:37:57 +02:00
6b95f31b70 Also fix method qualifiers. 2023-06-11 18:35:22 +02:00
975e5c4a9e Rethink the previous fix. 2023-06-11 18:32:15 +02:00
50c96d5414 Fix building with ptrcall on. 2023-06-11 18:02:58 +02:00
4cc77216d7 Fix codestyle in the InputMapEditor. 2023-06-11 16:12:43 +02:00
3afa1142b9 Merged the functionality of BSInputEventKey to InputEventKey. This new setting can make input event keys act as if they are shortcut matched. 2023-06-11 16:06:09 +02:00
452ec50bf7 Mark the last backported commit. 2023-06-11 13:59:43 +02:00
0a4065bb9e Fix error. 2023-06-11 13:56:35 +02:00
59c6ca8d85 Fix android build. 2023-06-11 13:46:15 +02:00
dbbfcdd526 Ported: Fix issue causing the Android editor to crash when creating a new AudioStreamMicrophone
Fixes #73801
- m4gr3d
9c334fa242
2023-06-11 13:40:47 +02:00
d7499a0868 Ported: Improve touchpad and mouse support for the Android editor
- m4gr3d
ccd36e0dbe
2023-06-11 13:29:53 +02:00
de059c33bc Use the new scaled grab radius in MDIGizmo. 2023-06-11 13:21:45 +02:00
37fa118ec4 Ported: Adds a scale_gizmo_handles entry to the Touchscreen editor settings
When enabled, this scales the editor icons to improve usability on touchscreen devices.
In addition this commit fixes touch detection for the collision_shape_2d_editor_plugin so it scales with the icons size.
- m4gr3d
b78935ef51
2023-06-11 13:16:13 +02:00
d6f5dd35e8 Ported: Enable granular control of touchscreen related settings
- m4gr3d
61e41facc7
2023-06-11 12:57:25 +02:00
4f2f3f4cf0 Fix android editor build. 2023-06-11 10:45:38 +02:00
3331a7ae04 Ported: Augment the InputEvent class with a CANCELED state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
- m4gr3d
94d6c3dcc6
2023-06-11 10:26:23 +02:00
7e64510427 Ported: Add setting to control the window used to run the project for the Android editor
The follow options were added to the (new) `run/window_placement/android_window` editor setting:

- `Auto`: choose how to run the project based on the device screen size
- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
- m4gr3d
b5a908c985
Removed my force launch adjacent solution in favor of this.
2023-06-11 09:52:39 +02:00
eb8176b701 Ported: Fix compilation of basis unit test
- Calinou
d1c8c5dd30
2023-06-11 09:46:30 +02:00
6c9843e5cb Ported: Test, refactor and fix a bug in Basis.get_axis_angle
- fabriceci
9f1a57d48b
2023-06-11 09:45:23 +02:00
c46c527f01 Backported: [3.x] Fix NODE_POSITION_VIEW Shader Built-In
- paddy-exe
67d3fe4075
2023-06-11 09:38:19 +02:00
552226ab5d Backported: Backport spatial shader built-ins
Backport of this PR: godotengine#63597
This adds these as new Built-Ins to Spatial Shaders
* Object's Position in World Space
* Camera Position in World Space
* Camera Direction in World Space
* Object's Position in View Space
- paddy-exe
be3d331f26
2023-06-11 09:37:10 +02:00
Fredia Huya-Kouadio
2b79cd7446 Follow up to https://github.com/godotengine/godot/pull/76400 to fix input ANR in the Godot Android editor 2023-06-11 09:25:25 +02:00
Pedro J. Estébanez
1225aa2492 Allow concurrent buffering and dispatch of input events 2023-06-11 09:24:49 +02:00
Ninni Pipping
41d0abc83e Fix trim when importing WAV 2023-06-11 09:23:02 +02:00
Ricardo Subtil
3191832c37 Fix PopupMenu's maximum height not being automatically set 2023-06-11 09:22:06 +02:00
kobewi
147640412a Cache text property when toggling BBCode 2023-06-11 09:21:25 +02:00
ShadyChibinko
38bb088c1e Add Tab Metadata 2023-06-11 09:19:03 +02:00
SysError99
830ad2a71d Improve tooltip for CanvasLayer.layer (3.x) 2023-06-11 09:18:20 +02:00
Aaron Franke
a0a6843a25 Fix small mistake in docs, "antecedents" -> "ancestors" 2023-06-11 09:13:12 +02:00
needleful
cfabdb87f0 Add allow_search property to ItemList and Tree 2023-06-11 09:12:26 +02:00
Ninni Pipping
92fe699254 Clarify range of various ID values are 32 bit 2023-06-11 09:10:45 +02:00
David Turner
1fc8096770 Stop dragging when a slider changes editability 2023-06-11 09:05:53 +02:00
MJacred
3227a23031 Warn against using non-uniform scale for 3D physics (in class reference only)
partial backport of #67847
fixes #56824
2023-06-11 09:04:25 +02:00
David Snopek
90100df0b1 Minor improvements to NetworkedMultiplayerCustom.xml 2023-06-11 08:55:49 +02:00
Ryan Roden-Corrent
2a8d12ad59 Fix docs on multiplayer peer signals.
NetworkedMultiplayerPeerENet emits peer_connected and peer_disconnected
on both the client and the server:
6fed1ffa31/modules/enet/networked_multiplayer_enet.cpp (L268)

When trying to implement `NetworkedMultiplayerCustom`, I followed the
documentation and only emitted this signal on the server.
I ended up getting errors like:

```
Invalid packet received. Unabled to find requested cached node
```

While I didn't check other peer implementations, it seems that emitting
on both the client and server is required.

I copied the wording from the `master` branch documentation.

Here's some output from a test program with all the signals connected:
```
1948301815 got multiplayer.network_peer_connected from  1
1948301815 got peer.peer_connected from 1
1948301815 got multiplayer.connected_to_server
1948301815 got peer.connection_succeeded
1413532890 got multiplayer.network_peer_connected from  1
1413532890 got peer.peer_connected from 1
1413532890 got multiplayer.connected_to_server
1413532890 got peer.connection_succeeded
1 got multiplayer.network_peer_connected from  1413532890
1 got peer.peer_connected from 1413532890
1 got multiplayer.network_peer_connected from  1948301815
1 got peer.peer_connected from 1948301815
1413532890 got multiplayer.network_peer_connected from  1948301815
1413532890 got peer.peer_connected from 1948301815
1948301815 got multiplayer.network_peer_connected from  1413532890
1948301815 got peer.peer_connected from 1413532890
1 got multiplayer.network_peer_disconnected from  1948301815
1 got peer.peer_disconnected from 1948301815
1413532890 got multiplayer.network_peer_disconnected from  1948301815
1413532890 got peer.peer_disconnected from 1948301815
1 got multiplayer.network_peer_disconnected from  1413532890
1 got peer.peer_disconnected from 1413532890
```
2023-06-11 08:52:06 +02:00
Ninni Pipping
7579d990c1 Fix NodePath subname index range documentation 2023-06-11 08:50:06 +02:00