Commit Graph

3200 Commits

Author SHA1 Message Date
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
Rémi Verschelde
90cd6b3cdc Linux: Don't use udev for joypad hotloading when running in a sandbox
udev doesn't work in sandboxes, notably the new Steam container runtime
as found notably on the Steam Deck, and in Flatpak/Snap packages.

Like SDL does, when we detect such a containerized environment, we fall
back to parsing `/dev/input` directly.
See smcv's comments in #76879 for details.

Fixes #76879.

(cherry picked from commit 788cb74cc676627b6c9b7e29a47200141cca92ff)
2023-06-11 08:47:41 +02:00
e21a020b86 Add unsafe version from asin and acos. 2023-06-11 08:45:19 +02:00
lawnjelly
22d90711da Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-06-11 08:41:42 +02:00
Unai Martinez-Corral
3ab69cc634 update mymindstorm/setup-emsdk to v12
(cherry picked from commit dcb974700b35837ee13e1bd3f170a979ee0af03d)
2023-06-11 08:38:01 +02:00
53358e6825 Removed the PMath singleton. If needed it can easily be recreated as a module. 2023-06-11 08:34:57 +02:00
05e1c55e1c Ported: Document 3D particle color properties requiring vertex color as albedo
- Calinou
c65967c17f
2023-06-11 00:50:20 +02:00
37273d29c9 Ported: Multirect - Fix refining regions for all derived Textures
Fixes allowing all derived texture types to modify region prior to rendering.
- lawnjelly
43b6205887
2023-06-11 00:47:10 +02:00
8642a7c722 Ported: Fix rendering tiles using nested AtlasTextures
- kleonc
12c923cb8b
2023-06-11 00:23:26 +02:00
52ea64d04b Ported: Fix GridContainer max row/column calculations not skipping hidden children
- kleonc
0ce6ef7215
2023-06-10 23:50:41 +02:00
Ninni Pipping
feb55d26d2 Fix size error in BitMap.opaque_to_polygons
Previous estimate of upper limit on size was incorrect
2023-06-10 23:35:51 +02:00
Pedro J. Estébanez
ac350d6651 Allow concurrent buffering and dispatch of input events 2023-06-10 23:32:44 +02:00
5118c434e2 Ported from godot4: Add Navigation Debug for GridMap edge connections
Adds navigation visual debug for GridMap edge connections that use baked navigationmesh with bake_navigation=true.
- smix8
4f0730d4bc
2023-06-10 23:14:09 +02:00
670e465d24 Fix compile error. 2023-06-10 21:25:18 +02:00
23de574af6 Fix non tools build. 2023-06-10 21:11:44 +02:00
a0e5645d18 Fix godot4 syntax in docs. 2023-06-10 21:10:45 +02:00
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
8b18898609 Backported from godot4: Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
- DarkKilauea
a0715b30f9
2023-06-09 22:03:42 +02:00
6384b9624f Ported from godot4: Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
- smix8
f986b52b3c
2023-06-09 20:54:05 +02:00
81c392489a Ported from godot4: Add NavigationLink helper functions for global positions
Adds helper functions to set the links start and end position with global positions or get them as global positions.
Adds global start and end position for the navigation link to the 'link_reached' signal of NavigationAgent. That signal gets emitted when a navigation link waypoint is reached. Requires that 'owner' meta data is enabled on the NavigationAgent.
- smix8
d87f124768
2023-06-09 20:00:28 +02:00
29784d5d5b Ported from godot4: Enable assigning an owner to navigation regions and links
This allows users of the server APIs to get back the nodes that created certain regions and links.
- DarkKilauea
5769b0e8d8
2023-06-09 19:46:44 +02:00
160cb38a50 Ported from godot4: Add support for emitting a signal when entering a NavLink
- DarkKilauea
5d8ba2b2d1
2023-06-09 19:08:38 +02:00
e07fd6da59 Ported from godot4: Prevent unnecessary navigation map synchronizations
Prevents unnecessary navigation map synchronizations triggered by redundant calls to setters of e.g. region, link or map properties.
- smix8
7e1a261cc6
2023-06-09 16:43:14 +02:00
19fac49904 Turn PoolVectors in NavigationPathQueryResults into Vectors. 2023-06-09 16:27:24 +02:00
b2d8199a7b Ported from godot4: Update NavigationAgent to use query_path
This paves the way for having agents respond to link traversal.
- DarkKilauea
a2c53b881b
2023-06-09 16:19:22 +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
ae018648fe Added missing binds. 2023-06-09 14:19:41 +02:00
e98e415168 Fix signal handler error. 2023-06-09 14:18:08 +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
11c84049fa Ported from godot4: Fix NavigationMesh debug visuals for non-triangulated meshes
Fixes NavigationMesh debug visuals for non-triangulated meshes.
- smix8
4490a3303b
2023-06-09 13:03:30 +02:00