Commit Graph

53270 Commits

Author SHA1 Message Date
Rémi Verschelde cfab3d2f57
Merge pull request #75797 from reduz/optimize-object-get-class-name
Optimize Object::get_class_name
2023-04-08 20:29:59 +02:00
Juan Linietsky 8950943356 Optimize Object::get_class_name
* Run the static function once per class instead of one per instance.
* Saves some memory in Object derived classes.
2023-04-08 19:25:50 +02:00
Juan Linietsky 61630d4e1e
Merge pull request #75829 from reduz/fix-ci-build-error
Fix CI build error
2023-04-08 19:25:05 +02:00
Juan Linietsky 37362202a4 Fix CI build error
Fixes potential use of uninitialized variable.
2023-04-08 18:21:08 +02:00
Rémi Verschelde 3683b040ed
Merge pull request #75627 from reduz/faster-node-child-management
Optimize Node children management
2023-04-08 18:01:02 +02:00
Juan Linietsky ab5fc22f67 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!

Further performance improvements will be done in the future by removing NOTIFICATION_MOVED_IN_PARENT and replacing by something less laborious.
2023-04-08 10:54:28 +02:00
Rémi Verschelde c151d3231f
Merge pull request #75760 from reduz/optimize-node-add-child-validation
Optimize Node::add_child validation
2023-04-07 18:20:28 +02:00
Yuri Sizov f38b540273
Merge pull request #75756 from smix8/fix_obstacle_avoidance_sim_4.x
Fix NavigationObstacles not being added to avoidance simulation
2023-04-07 15:11:40 +02:00
Yuri Sizov b5f532094e
Merge pull request #56671 from Rgtemze/warn_if_concave
Warn when a concave polygon is assigned to ConvexPolygonShape2D
2023-04-07 14:39:41 +02:00
Yuri Sizov a13635cdf8
Merge pull request #70901 from timothyqiu/tree-scroll-offset
Add scrollbar offset theme constants to Tree
2023-04-07 13:24:01 +02:00
Juan Linietsky 223ce4fcb9 Optimize Node::add_child validation
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
Yuri Sizov 920e8067f7
Merge pull request #68091 from AThousandShips/sprite_frames_order
Improve SpriteFrameEditor frame addition ordering
2023-04-07 13:13:41 +02:00
Yuri Sizov 3abe4781b6
Merge pull request #75241 from Calinou/doc-compressedtexturelayered
Fix CompressedTextureLayered description in the class reference
2023-04-07 13:08:48 +02:00
Yuri Sizov f1f0e5f91d
Merge pull request #75728 from smix8/fix_audiostreamplayer2d_crash_4.x
Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
2023-04-07 12:46:53 +02:00
Yuri Sizov 8c551374ca
Merge pull request #75738 from bruvzg/web_phzkezs
[Web] Fix keycode/physical keycode mixed up.
2023-04-07 12:44:36 +02:00
Yuri Sizov 47af40c71f
Merge pull request #75665 from Malcolmnixon/penetration-depth-precision
Modify contact_max_allowed_penetration precision to 3 significant digits
2023-04-07 12:43:12 +02:00
Yuri Sizov cbb2e17369
Merge pull request #75368 from MightiestGoat/fix-limit-interpolation-R0
Fix the limit for interpolation of R0 with respect to metallic and the calculation of the cos theata in the Fresnel Shlick term in SSR
2023-04-07 12:40:33 +02:00
Yuri Sizov 08c1b55862
Merge pull request #74891 from jmattspartacus/OccluderPolygon2D_memLeak_53722
Fix for OccluderPolygon2D memory leak
2023-04-07 12:37:51 +02:00
Clay John 132000f58d
Merge pull request #75767 from spanzeri/missing-node-index-update-on-deletion
Update sibling indices after a node is removed.
2023-04-06 14:43:35 -07:00
Samuele Panzeri 404f24b5c4 Update sibling indices after a node is removed.
With change 104392e the code to update node indices on removal was erronously removed.
The out of date indices would cause crashes while selecting nodes in a graph editor (e.g. animation tree) and selected nodes are oftern pushed to beginning or end of the child list for the parent.
2023-04-06 20:47:57 +02:00
mightygoat 2c000cb72f Fix the limit for interpolation of R0 with respect to metallic and SSR
Shlick term
2023-04-06 23:14:47 +05:30
smix8 aadf33efd8 Fix NavigationObstacles not being added to avoidance simulation
Fixes NavigationObstacles not being added to avoidance simulation.
2023-04-06 16:32:49 +02:00
Rémi Verschelde 92b7a9603a
Merge pull request #75701 from reduz/notification-moved-in-parent
Remove NOTIFICATION_MOVED_IN_PARENT
2023-04-06 14:35:04 +02:00
Juan Linietsky 104392ef4e 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.
2023-04-06 13:57:13 +02:00
Haoyu Qiu 498d538578 Add scrollbar offset theme constants to Tree 2023-04-06 15:04:28 +08:00
bruvzg 744bf604bf [Web] Fix keycode/physical keycode mixed up. 2023-04-06 09:40:59 +03:00
smix8 a5351086b0 Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
Fixes AudioStreamPlayer2D crash when PhysicsServer2D runs on thread due to empty PhysicsSpace
2023-04-06 03:29:09 +02:00
Malcolm Nixon 1d1d3c71e0 Modify "physics/3d/solver/contact_max_allowed_penetration" precision to three significant digits, so values down to "0.001" can be specified.
Updated additional 2D and 3D physics parameters based on team recommendations

Co-Authored-By: Ricardo Buring <rburing@users.noreply.github.com>
2023-04-05 18:14:35 -04:00
Rémi Verschelde 49a196277f
Merge pull request #75661 from KoBeWi/no_resource_can_hide_from_the_all-seeing_popup
Add a list of all sub-resources used in the scene
2023-04-05 22:47:48 +02:00
kobewi 5a99304251 Add a list of all sub-resources used in the scene 2023-04-05 21:01:49 +02:00
Rémi Verschelde fba9416fe0
Merge pull request #75700 from akien-mga/ci-visible-whitespace
CI: Visibly print trailing whitespace when static checks fail
2023-04-05 20:21:19 +02:00
Rémi Verschelde c80b7638be
Merge pull request #75687 from umarcor/umarcor/ci/redundant
[ci/windows] remove obsolete 'tools' in the name
2023-04-05 20:21:16 +02:00
Rémi Verschelde 6935216b5c
Merge pull request #75309 from HK-SHAO/fix-python-type-error
Fix the Python type error when creating the .sln file
2023-04-05 20:21:13 +02:00
Rémi Verschelde 5cf878c090
Merge pull request #75113 from m4gr3d/fix_2d_editor_dragging_main
Fix the issue preventing dragging in the 2D editor
2023-04-05 20:21:09 +02:00
Rémi Verschelde b63c77aceb
Merge pull request #75034 from capnm/Fix_tvg_Picture_size
SVG: fix tvg::Picture->size() and scale based errors.
2023-04-05 20:21:04 +02:00
Rémi Verschelde df91291a56
Merge pull request #74463 from bend-n/0x686578206465636f6465
Add a `String.hex_decode()` method to complement `PackedByteArray.hex_encode()`
2023-04-05 20:21:01 +02:00
Martin Capitanio bfc498f3d0 SVG: fix tvg::Picture->size() and scale based errors.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-04-05 19:15:21 +02:00
Rémi Verschelde 266280ffca
CI: Visibly print trailing whitespace when static checks fail
GitHub Actions seems to be hiding colored whitespace, and after lots of
attempts I couldn't find a way to work it around.

So instead I'm using a perl expression to replace trailing spaces with
`·` and tabs with `<TAB>` in the ANSI colored diff output. This ensure
that they're visible, and they are properly colored as expected too.
2023-04-05 18:31:46 +02:00
bendn ca0feabbb0
add `hex_decode()` to `String` 2023-04-05 19:44:00 +07:00
umarcor 2abadbb58b [ci/windows] remove obsolete 'tools' in the name 2023-04-05 14:10:52 +02:00
Rémi Verschelde 44d539465a
Merge pull request #75675 from bruvzg/tvg_store_string
[SVG Font] Keep a copy of UTF-8 XML source string during the whole SVG processing.
2023-04-05 12:03:37 +02:00
Rémi Verschelde 0d6a07c031
Merge pull request #75664 from BastiaanOlij/fix_sky_framebuffer_init
Fix framebuffers in sky not being created on mobile renderer
2023-04-05 12:03:34 +02:00
Rémi Verschelde d985d559bc
Merge pull request #75641 from Listwon/fileaccessmemory-buffer-pos
Fix moving position indicator out of bounds in FileAccessMemory
2023-04-05 12:03:31 +02:00
Rémi Verschelde b8375071b0
Merge pull request #75636 from lyuma/advanced_importer_extract_textures_fix
gltf: Remove obsolete hack to embed gltf textures in advanced import
2023-04-05 12:03:27 +02:00
Rémi Verschelde e0bff2fa06
Merge pull request #75610 from aaronfranke/sus-travel-m
Change VehicleWheel3D suspension travel to use meters internally
2023-04-05 12:03:23 +02:00
Rémi Verschelde 4f30ca3b0f
Merge pull request #75579 from smix8/make_navigation_projectsettings_basic_4.x
Make navigation ProjectSettings always visible
2023-04-05 12:03:19 +02:00
Rémi Verschelde 4f4b5a2785
Merge pull request #73475 from YuriSizov/theme-is-busy-plz-come-back-later
Add a warning when accessing theme prematurely and fix surfaced issues
2023-04-05 12:03:15 +02:00
Rémi Verschelde 80629f9d11
Merge pull request #72240 from JohanAR/graphnode_min_size
GraphNode ignore non-visible children for minimum size.
2023-04-05 12:03:10 +02:00
Rémi Verschelde c3184c614b
Merge pull request #67466 from KoBeWi/proceed
Scene tab closing refactor
2023-04-05 12:03:00 +02:00
Rémi Verschelde 1a77d37143
Merge pull request #65232 from yedpodtrzitko/yed/ci-entry-workflow
ci: wait for static check results before starting builds
2023-04-05 11:25:58 +02:00