Commit Graph

2878 Commits

Author SHA1 Message Date
kobewi
381aa1a140 Add set_value_no_signal() to Range 2023-04-15 10:56:26 +02:00
7567494570 Ported: 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.
- lawnjelly
18d7d36b63
2023-04-15 10:51:26 +02:00
Richard Adenling
689a7340f3 Fix for 2D viewport not updating in the editor when the camera moves
This fixes a problem with 2D viewports not taking the camera position
into consideration when previewed in the editor.

Fixes #40441
2023-04-15 10:44:38 +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
8ab1998fcb Ported from godot 4: Optimize Node::add_child validation
Adding 10k nodes is almost twice as fast.
- reduz
223ce4fcb9
2023-04-10 18:10:22 +02:00
a14b058dc4 Ported from godot 4: Optimize Node children management
* Adding and removing child nodes is now constant time, speed up should be huge.
* Searching for node paths as in ("path/to/node") should be far faster too.
This changes the children management and makes it a hashmap, optimizing most StringName based operations.
Most operations should be severe speed up without breaking compatibility.
This should fix many issues regarding to node access performance, and may also speed up editor start/end, but benchmarks are needed. So if you want to test, please make some benchmarks!
- reduz
ab5fc22f67
2023-04-10 17:32:42 +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
7d2667830d Ported from godot 4: Fix Viewport root order after Node2D raise
- Sauermann
022d24a9ae
2023-04-10 11:42:15 +02:00
4b2ec37826 Updated the commits in the Backports section of the changelog file. 2023-04-10 09:56:30 +02:00
Haoyu Qiu
00f1096e87 Set the unlit / unshaded extension when importing / exporting GLTF
Co-authored-by: Hakim <hakim.rouatbi@gmail.com>
2023-04-10 09:50:55 +02:00
smix8
6eb9ac3085 Fix GridMap free navigation RID error spam
Fixes GridMap free navigation RID error spam.
2023-04-10 09:49:50 +02:00
a76df86ef3 Parse and process http headers in a case insensitive manner in HTTPParser. 2023-03-22 21:31:57 +01:00
53ddc7796f Quick fix for accessing files in the pck file for FileCaches. 2023-03-22 14:30:07 +01:00
b92d4f19ca Refresh the file cache in WebRoot on NOTIFICATION_READY. 2023-03-22 14:29:09 +01:00
517a5b9044 Added more mimetypes to the HTTPServerSimple. 2023-03-22 14:00:18 +01:00
1cb112f64c Properly handle non-ascii characters in uris in HTTPParser. 2023-03-22 13:59:58 +01:00
eb33d812d0 Added missing helper method to WebServerRequest. 2023-03-22 13:22:32 +01:00
3fccbc6d23 Now post and get parameters can be set / changed in requests from scripts aswell. 2023-03-22 13:20:25 +01:00
23d01a29ce Use the size struct member when parsing markdown in MarkdownRenderer. 2023-03-22 01:43:45 +01:00
d357a57ab2 Updated the logic of a few getters in String. 2023-03-22 01:42:53 +01:00
0ed384eb1c Fix handling utf-8 in the MarkdownRenderer. 2023-03-21 21:22:36 +01:00
8191319e2f Improved PagedArticleWebPage's api. 2023-03-21 21:07:00 +01:00
5e17f2041d Use the new helper method in HTTPServerConnection::send(). 2023-03-20 22:34:43 +01:00
4b23c9c5c9 Renamed utf8_length() to utf8_byte_length(), and utf16_length() to utf16_byte_length() in String, as this might help to better explain why these differ from normal length(). 2023-03-20 22:34:21 +01:00
a0d33b5fcd Added utf8_length(), and utf16_length() helper methods to String. 2023-03-20 22:12:17 +01:00
c6ef898c46 Fix Content-Length calculation in HTTPServerConnection::send when using non-ascii utf-8 characters. 2023-03-20 21:50:40 +01:00
26f77bbe2b Use set_length, instead of resize in String's operator +=. 2023-03-20 21:26:59 +01:00
2591231bbe Fixed more cases of using String.size() instead of String.length(). 2023-03-20 21:24:51 +01:00
27920ca1a7 Make sure that the script editor is the 3rd tab. I implemented the simplest solution I could think for now. If more control is needed in the future, EditorPlugins will likely need a priority queue (or some different, more generic solution). 2023-03-19 11:02:20 +01:00
054332ae8d Fix selecting the script editor even if it's not the 3rd in the editor_tables array. 2023-03-19 10:24:21 +01:00
a155e44491 Implement max request size limit for HTTPServerSimple. 2023-03-18 11:52:25 +01:00
e607aba732 Updated the CHANGELOG file with the last ported commit. 2023-03-18 09:45:16 +01:00
09138d762c Ported: Use hash table for GDScript parsing
GDScript now uses hash table for lookup of type lists / functions / keywords, instead of linear String comparisons.
- lawnjelly
19f2006ec0
2023-03-18 09:44:01 +01:00
3d1abe86fb Ported: 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.
- lawnjelly
ef914dac31
2023-03-18 09:29:08 +01:00
d66f3b52ae Updated the CHANGELOG file with the last ported commit. 2023-03-12 19:57:40 +01:00
174117d078 Ported: CI: Pin SCons to 4.4.0, the new 4.5.0 is broken
- akien-mga
62b6529fed
2023-03-12 19:52:46 +01:00
43d1126b73 Ported: fix shadows pass viewport calculation.
([3.x] Fix shadows when using 2 directional lights)
- Ansraer
0227fcc4cc
2023-03-12 19:48:33 +01:00
Chris Weber
a8137bb4c1 increased max touches to 32 for ios
(cherry picked from commit 54bd204377fb73a5871946005bd7cbbad4b91df9)
2023-03-12 19:13:26 +01:00
67ebd5e52b Ported: Fix Standard Gamepad Mapping triggers.
- j8r and  akien-mga
669749fa39
2023-03-12 19:12:39 +01:00
17a4e4b28f Ported: Change message of unknown joypad property from error to warning.
- rsubtil and akien-mga
e814861950
2023-03-12 19:09:39 +01:00
2db3148b23 Ported: Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@436c7e3
- akien-mga
bab7f1c0a6
2023-03-12 19:02:32 +01:00
9c28f6fb7f Ported: Add PS3 controller guide button
- j8r and akien-mga
2c18066231
2023-03-12 16:59:28 +01:00
9118798036 Fix include. 2023-03-12 16:05:58 +01:00
Rémi Verschelde
f3e1aab267 Math: Prevent division by zero in posmod
Fixes #43932.

Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
(cherry picked from commit f011d8ca9ca25232fb335eead1c8eeaf5c7f2c54)
2023-03-12 15:43:52 +01: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
PrecisionRender
79492d4ecb Fix Xbox Series controller duplicate input
(cherry picked from commit e9400867b3aff74ef0b4d3ba3a7b9f3efc357bfc)
2023-03-12 15:41:15 +01:00
Juan Linietsky
8ff42d39ee Fix AltGR getting stuck on Windows right alt-tab
Fixes #28511.

(cherry picked from commit e01452adb0ac51bbbb0304773b1efd28ca1a3f2d)
2023-03-12 15:40:32 +01:00
930dccc430 Ported: iOS: Implement missing gamepad.buttonOptions, buttonMenu, and buttonHome joy buttons.
- BZ1234567890
0a85e4db71
2023-03-12 15:32:44 +01:00
9fb30c4441 Ported: Use the new API for virtual keyboard height detection on Android, bugfix .
- necrashter
9bdb585318
2023-03-12 15:26:58 +01:00
Hugo Locurcio
f1a7db4597 Document using String.percent_encode() with OS.shell_open() 2023-03-12 15:07:20 +01:00