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
9146ddfbbd
Ported: Backport a simpler version of the accent color for check icons
...
- YeldhamDev
7173565250
2023-03-12 14:34:43 +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
smix8
90f81c0013
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-03-12 14:24:56 +01:00
0b5e773f02
Update DONORS list.
2023-03-12 14:21:54 +01:00
lawnjelly
4684c72b92
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-03-12 14:20:02 +01:00