Commit Graph

35083 Commits

Author SHA1 Message Date
Rémi Verschelde 16df3416fa
Merge pull request #74777 from lawnjelly/textedit_lineinregion
[3.x] Fix TextEdit color_region_cache bug
2023-03-12 16:12:36 +01:00
lawnjelly 19f2006ec0 Use hash table for GDScript parsing
GDScript now uses hash table for lookup of type lists / functions / keywords, instead of linear String comparisons.
2023-03-12 14:55:31 +00:00
Rémi Verschelde 1a4bcad16d
Merge pull request #74782 from lawnjelly/gdscriptparser_linkedlist
[3.x] GDScriptParser - don't use index operator on linked list
2023-03-12 15:51:29 +01:00
lawnjelly 1730fab22a Consistent render ordering for CanvasLayers
Maintains scene tree ordering for CanvasLayers that share identical layer ID.
2023-03-12 05:00:13 +00:00
lawnjelly ef914dac31 GDScriptParser - don't use index operator on linked list
Index operators are super slow with linked lists. This came up in profiling the parsing, iterating sequentially using iterator is much faster.
2023-03-11 17:05:12 +00:00
lawnjelly 57306bf0e3 Fix TextEdit color_region_cache bug
Due to a single error, _is_line_in_region was previously iterating over the color highlighting for the entire document repeatedly for each line in the script.

This is now fixed, which should make the editor much faster with large scripts.
2023-03-11 16:18:29 +00:00
SysError99 4c6751d383 Improve tooltip for CanvasLayer.layer (3.x) 2023-03-11 19:13:54 +07:00
lawnjelly 1a4ef34d50
Merge pull request #74539 from Ansraer/3.x-fix-shadows
[3.x] Fix shadows when using 2 directional lights
2023-03-11 10:00:21 +00:00
lawnjelly 910ddd13c4 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.
2023-03-10 10:58:04 +00:00
lawnjelly 18d7d36b63 Eliminate collision checks between geometry in rendering BVH.
Later logic using the `pairable_mask` would catch cases preventing pairing callbacks between geometry. However the collision checks were still taking place, wasting performance.

Here we utilize the `tree_mask` feature of BVH to totally eliminate unnecessary collision checks between geometry.
2023-03-09 11:16:30 +00:00
Ansraer 0227fcc4cc fix shadows pass viewport calculation 2023-03-07 11:22:05 +01:00
Rémi Verschelde 8e7bb469b5
Merge pull request #74490 from akien-mga/3.x-cherrypicks
Cherry-picks for the 3.x branch (future 3.6) - 12th batch
2023-03-06 15:08:31 +01:00
smix8 608317213e
Fix NavigationServer free error print
Fixes error print for NavigationServer free when a RID can not be found.

(cherry picked from commit 73dc680fc1)
2023-03-06 13:48:18 +01:00
Chris Weber 914182ffe3
increased max touches to 32 for ios
(cherry picked from commit 54bd204377)
2023-03-06 13:48:18 +01:00
Julien Reichardt 669749fa39
Fix Standard Gamepad Mapping triggers
(cherry picked from commit 0cec4fcc65)
2023-03-06 13:48:17 +01:00
Ricardo Subtil e814861950
Change message of unknown joypad property from error to warning
(cherry picked from commit e841f13cdc)
2023-03-06 13:48:17 +01:00
Rémi Verschelde bab7f1c0a6
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@436c7e3d54

(cherry picked from commit 20d6a698c7)
2023-03-06 13:48:17 +01:00
Rémi Verschelde 50c598e229
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@2e7bc45a45

(cherry picked from commit 99ae2d5212)
2023-03-06 13:48:17 +01:00
Julien Reichardt 2c18066231
Add PS3 controller guide button
(cherry picked from commit e926e1bb34)
2023-03-06 13:48:17 +01:00
Rémi Verschelde 5faa423944
Math: Prevent division by zero in posmod
Fixes #43932.

Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
(cherry picked from commit f011d8ca9c)
2023-03-06 13:48:13 +01:00
Hugo Locurcio a836b6bc88
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 64906bd1f7)
2023-03-06 13:05:17 +01:00
PrecisionRender 07b37b6b6c
Fix Xbox Series controller duplicate input
(cherry picked from commit e9400867b3)
2023-03-06 13:02:51 +01:00
Juan Linietsky 16757a80a8
Fix AltGR getting stuck on Windows right alt-tab
Fixes #28511.

(cherry picked from commit e01452adb0)
2023-03-06 13:01:54 +01:00
Rémi Verschelde 8edd526c2c
Merge pull request #73781 from BZ1234567890/issue-73305-b3x
[3.x] iOS: Implement missing gamepad.buttonOptions, buttonMenu, and buttonHome joy buttons
2023-03-06 12:51:57 +01:00
Rémi Verschelde d2ac29abe3
Merge pull request #74469 from m4gr3d/configure_snapshot_publish_version_3x
[3.x] Configure maven central snapshot versions for the Godot Android library
2023-03-06 12:38:49 +01:00
Rémi Verschelde f9b2429248
Merge pull request #74399 from necrashter/3.x-android-vk-height
[3.x] Use the new API for virtual keyboard height detection on Android, bugfix for old API
2023-03-06 12:38:27 +01:00
Rémi Verschelde 0cee4a85f5
Merge pull request #74284 from Calinou/doc-shell-open-uri-encode-3.x
Document using `String.percent_encode()` with `OS.shell_open()` (3.x)
2023-03-06 12:38:04 +01:00
Rémi Verschelde e8c9b251ef
Merge pull request #74196 from YeldhamDev/accent_backport
Backport a simpler version of the accent color for check icons
2023-03-06 12:37:41 +01:00
Rémi Verschelde b810045a12
Merge pull request #74128 from RedworkDE/net-debug-crash-3x
[3.x] C#: Fix crash when errors occur before language initialization.
2023-03-06 12:37:19 +01:00
Rémi Verschelde d627f4f80d
Merge pull request #74085 from AThousandShips/tree_set_selected_3_x
[3.x] Backport Tree::set_selected
2023-03-06 12:36:56 +01:00
Rémi Verschelde 02f3b4328a
Merge pull request #73851 from smix8/add_collision_exception_error_msg_3.x
[3.x] Add error messages for collision exception functions
2023-03-06 12:36:30 +01:00
Fredia Huya-Kouadio 0e2292f341 Configure maven central snapshot versions for the Godot Android library
A snapshot version is a version that has not yet been released which allows us to deploy the same transient version incrementally, without requiring projects to upgrade the artifact version they're consuming. Those projects can use the same version to get an updated snapshot version.
2023-03-06 01:29:41 -08:00
Rémi Verschelde 62b6529fed
CI: Pin SCons to 4.4.0, the new 4.5.0 is broken
(cherry picked from commit 85bb561713)
2023-03-06 10:10:45 +01:00
necrashter 9bdb585318
Use the new API for virtual keyboard height detection on Android, bugfix 2023-03-06 00:24:09 +03:00
Hugo Locurcio 1a6343729b
Document using `String.percent_encode()` with `OS.shell_open()` 2023-03-03 11:17:21 +01:00
Michael Alexsander 7173565250 Backport a simpler version of the accent color for check icons 2023-03-01 20:35:59 -03:00
RedworkDE 5766134610 [3.x] C#: Fix crash when errors occur before language initialization. 2023-02-28 23:01:24 +01:00
Ninni Pipping 8185fa8e2a [3.x] Backport Tree::set_selected
Backport function from godotengine#68448

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-02-27 20:26:15 +01:00
Ryan Roden-Corrent c3d9cc7068
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-02-25 13:31:31 -05:00
Rémi Verschelde e90ac4b0e7
Update AUTHORS and DONORS list
New contributors added to AUTHORS:
anvilfolk, Bromeon, Maran23, RedworkDE, snailrhymer, vonagam

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 6296b46008)
2023-02-24 14:52:25 +01:00
smix8 c7a92f68a1 Add error messages for collision exception functions
Adds error messages to collision exception functions when used with the wrong object/node instead of failing silently.
2023-02-24 00:36:30 +01:00
BZ1234567890 0a85e4db71 iOS: Implement missing gamepad.buttonOptions, buttonMenu, and buttonHome joy buttons 2023-02-22 21:14:54 +01:00
lawnjelly ca823e16e4
Merge pull request #73629 from lawnjelly/bvh_mutex_fix_3
[3.x] BVH - fix lockguards for multithread mode
2023-02-20 17:26:14 +00:00
lawnjelly 5639be5f4f BVH - fix lockguards for multithread mode
Due to a lack of variable name, the BVH lock guards lifetimes previously did not cover the whole function call.
2023-02-20 15:43:19 +00:00
Pedro J. Estébanez 32a9227f5b Robustify multi-threading primitives 2023-02-17 19:16:10 +01:00
Rémi Verschelde 0cba0a0032
Merge pull request #73218 from akien-mga/3.x-fix-tileset-collisionshape-resize
[3.x] TileSet: Fix resizing collision shape when vertex is outside the tilesheet
2023-02-17 12:15:50 +01:00
Rémi Verschelde 89788cdcc2
Merge pull request #70514 from stmSi/fix-editor-hanging-audio-pitch-scale-nan
[3.x] Fix hanging if audiostream's pitch_scale is NaN
2023-02-17 12:15:27 +01:00
Rémi Verschelde 8adf26540c
Merge pull request #69200 from tbveralrud/ios-touch-leak-fix-3.x
iOS: Fix memory leak on touch input [3.x]
2023-02-17 12:15:00 +01:00
Marcin Nowak 22468ea1d3
Backport implement loading DDS textures at run-time 2023-02-17 11:27:47 +01:00
Travis Veralrud 28b11a0785 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
2023-02-15 21:38:55 -08:00