Commit Graph

2901 Commits

Author SHA1 Message Date
1263101396 Ported: 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.

- lawnjelly

910ddd13c4
2023-04-20 23:09:37 +02:00
71c00ae64f Fix string parameter parsing in multipart forms, also make multipart form content fields case independent. 2023-04-16 23:30:13 +02:00
c7639cad53 Fix build on windows. 2023-04-16 19:38:13 +02:00
1c505fe527 Make sure the dummy navigation server is used automatically if the normal is disabled. 2023-04-16 19:10:30 +02:00
88d12ace16 Added a new dummy navigation server module. 2023-04-16 18:57:43 +02:00
45ffb33025 Add init() virtual methods to the navigation servers. 2023-04-16 18:23:56 +02:00
aabd293f3b Allocate the selected navigation srevers. 2023-04-16 18:20:15 +02:00
86bdecbfe9 Now more than one Naviugation2D servers can be registered. 2023-04-16 18:19:57 +02:00
f6c1c1dc8d Move NavigationServer2d's forwarding logic to the navigation module as a new derived class. 2023-04-16 18:11:15 +02:00
7068f1834e Now more than one Navigation Server can be registered. 2023-04-16 17:42:34 +02:00
fbfbbd3e00 Added alternate slim args when building the editor with the setup script. Also updated the list and style of the example. 2023-04-16 17:19:55 +02:00
d6442bc57c Added Size and Point typedefs for Vector3i and Vector4i. 2023-04-16 16:16:56 +02:00
1fc3c67ab5 Re-enable werror=yes in the javascript github action. 2023-04-16 15:54:22 +02:00
326bd9a1e9 Added HAS_TRIVIAL_CONSTRUCTOR, HAS_TRIVIAL_DESTRUCTOR, and HAS_TRIVIAL_COPY macros to typedefs to fix new clang deprecations. 2023-04-16 15:42:57 +02:00
dd5e6b19df Fix warning on clang. 2023-04-16 15:39:48 +02:00
276e4db381 Cleanups to Skeleton's bindings. 2023-04-15 13:58:24 +02:00
727826efba Make sure Skeletons set up their initial pose. 2023-04-15 13:52:21 +02:00
986565b0b4 Fix error spam in the skeleton editor. 2023-04-15 13:51:44 +02:00
31f61225a2 Ported: Make MessageQueue growable
* Uses simple vector resizing (po2)
* Uses pair of read and write buffers
- lawnjelly
5f1e7e6fbc
2023-04-15 12:06:16 +02:00
bb9f227c73 Ported: Update make_rst.py to match the master version
This does not include master-specific concepts, like
constructors, operators, annotations, and bitfields.
- YuriSizov
0f24d6ecf7
2023-04-15 11:20:13 +02:00
6bba08c00b Ported: Bump the target SDK version to 33 (Android 13)
- m4gr3d
2803c471e8
2023-04-15 11:15:16 +02:00
76f9237411 Ported: Fix directory access when the running app has the All files access permission
- m4gr3d
e2c7d3e6c0
2023-04-15 11:11:29 +02:00
464b0b5e08 Ported: Add Color + alpha constructor for Color
- timothyqiu
3544cd1dad
2023-04-15 11:02:41 +02:00
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