1
0
Fork 0
Commit Graph

1226 Commits

Author SHA1 Message Date
A Thousand Ships 66e9c2f998
[Tests] Add check for argument name validity
Checks that all method and signal arguments have valid names
2025-03-10 14:57:21 +01:00
A Thousand Ships d9721954e6
[Core] Use `Vector` for `MethodInfo::arguments` 2025-03-10 13:57:53 +01:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +01:00
Lukas Tenbrink 605b62cd29 Add `Span` struct (replacing `StrRange`). Spans represent read-only access to a contiguous array, resembling `std::span`. 2025-03-09 18:19:51 +01:00
A Thousand Ships 466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters 2025-03-08 20:36:37 +01:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Thaddeus Crews 96fdaa616b
Style: Integrate `#pragma once` in builders/checks 2025-03-07 17:32:33 -06:00
Thaddeus Crews 47761b1bbe
Merge pull request #81503 from matorin57/font-tests
Add getter tests for dynamic fonts
2025-03-07 15:12:27 -06:00
Thaddeus Crews c937b6d180
Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Thaddeus Crews 9e7fbdf52b
Merge pull request #103663 from pafuent/fixing_errors_warnings_output_on_tests
Fix `SCRIPT ERROR/ERROR/WARNING` on test output
2025-03-07 15:12:11 -06:00
Thaddeus Crews 3d816853e5
Merge pull request #100209 from Flarkk/simplify_fix_projection
Simplify and fix `Projection`'s getter functions
2025-03-06 16:36:19 -06:00
Florent Guiocheau 1d416fc2ba Simplify and fix `Projection`'s getter functions 2025-03-06 16:48:01 +01:00
Pablo Andres Fuente 5775d29ad8 Fix `SCRIPT ERROR/ERROR/WARNING` on test output
Also "fixing" some GDScript completion tests which
where named wrongly.
2025-03-06 13:44:48 +01:00
Thaddeus Crews a1e2dd15af
Merge pull request #101077 from Rindbee/fix-ui-navigation-break
Fix ui navigation break
2025-03-05 12:07:56 -06:00
Thaddeus Crews 030cc9945e
Merge pull request #102854 from bruvzg/brk_trim3
[TextServer] Fix space trimming on line break.
2025-02-14 08:25:33 -06:00
Pāvels Nadtočajevs c03aa4b563 [TextServer] Fix space trimming on line break. 2025-02-14 14:40:37 +02:00
girdenis-p 577ee919d4
Add tests for control to test anchoring and minimum size 2025-02-13 16:08:39 +00:00
smix8 9dfeabc92a Add path query region filters
Adds filter lists to exclude or include specific regions in path queries.
2025-02-13 15:05:34 +01:00
DESKTOP-UT43QTQ\Garrigan-Desktop 2bfca8e9c2 Added getter tests for dynamic fonts 2025-02-12 18:45:44 -06:00
Rémi Verschelde 0d4d70d5a6 Merge pull request #102587 from bruvzg/s_pa_tst
[Tests] Add `Packed*Array` `to_byte_array` variant call tests.
2025-02-11 10:54:14 +01:00
Pablo Andres Fuente d1338528f9 Fix file loggin log rotation
Fixes #97066

`RBSet` were used on `RotatedFileLogger` because it guarantees that
iterating it is done via `operator<`. This is important because
`RotatedFileLogger` depends on this behavior to delete the oldest log file.
On #61194 `HashSet` was added and all `RBSet` uses were replaced by
`HashSet`.
When that happened, the iteration in order is guaranteed to be the insertion
order, wich made that `RotatedFileLogger` delete the newest log file.
As a bonus, I added unit test for `RotatedFileLogger` and `CompositeLogger`.
2025-02-10 21:57:07 +01:00
Pāvels Nadtočajevs 7f7f12dad3 [Tests] Add Packed*Array to_byte_array variant call tests. 2025-02-08 17:40:50 +02:00
Lukas Tenbrink e34f1f504c Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
Thaddeus Crews f0f5319b0b
Merge pull request #100107 from Faless/fix/net_tests
[Net] Fix TCP/UDP server network tests
2025-02-05 18:50:44 -06:00
Pāvels Nadtočajevs b50d9742c2 Fix `is_valid_float`, `Variant` parser, `Expression` parser, script highlighter, and `TextServer` not handing capital E in scientific notation. 2025-02-05 18:39:40 +02:00
bruvzg 3be46a69c4 Fix uppercase B and X parsing in the integer literals. 2025-02-05 16:02:06 +02:00
Adam d56cbd374b Fix `Basis::get_euler` incorrectly simplifying rotations in some cases. 2025-01-29 16:13:29 -06:00
风青山 343b37dfc1
Add unit tests for control focus navigation
Users can navigate focus between controls using `ui_focus_next` or
`ui_focus_prev actions`. Add unit tests for these behaviors.
2025-01-29 20:51:02 +08:00
Thaddeus Crews c032ce4050
Merge pull request #101613 from kitbdev/fix-te-hover-mouse-exit
Fix TextEdit breakpoint hover not hiding on mouse exit
2025-01-22 16:32:24 -06:00
Silc Lizard (Tokage) Renew 27e23280c5 Fix Quaternion arc constructor to check dot & Add test for same vec3s 2025-01-20 18:16:53 +09:00
kit 8274e64402 Fix TextEdit breakpoint hover not hiding 2025-01-16 10:42:54 -05:00
Pāvels Nadtočajevs 43bc44e3b0 [TextServer] Fix text buffer not processing strings added after `shape`. 2025-01-16 08:57:27 +02:00
Rémi Verschelde 35080c6df3 Merge pull request #100970 from anknetau/ank/godot-add-test-cases-for-uid-strings
Add some tests for `uid://` encoding and decoding
2025-01-10 23:05:59 +01:00
Rémi Verschelde ad74e337b9 Merge pull request #100954 from Bromeon/bugfix/nodepath-slice
Fix `NodePath::slice()` incorrect behavior for subname indexing
2025-01-10 23:05:56 +01:00
Andres Kievsky 2b5dd99d72 Add some tests for uid:// encoding and decoding 2025-01-10 23:41:12 +11:00
Nazarii 8bfb5d74b3 Use LocalVector for Curve and Gradient 2025-01-09 14:25:21 +02:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
Yufeng Ying 34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Rémi Verschelde 4cf02312f6
Merge pull request #101136 from JulianHeuser/master
Add test for GLTFDocument
2025-01-07 00:45:14 +01:00
Rémi Verschelde 653f5a9613
Merge pull request #100976 from AThousandShips/uid_fixes
[Core] Fix UID encoding
2025-01-06 22:48:13 +01:00
Rémi Verschelde af01694779
Merge pull request #100492 from bruvzg/txt_mbrk_trim
[TextServer] Fix space trimming around mandatory line breaks.
2025-01-06 22:47:38 +01:00
Julian 5727eda0e1 GLTFDocument test case 2025-01-06 15:53:33 -05:00
Rémi Verschelde 1aaf20b1f1
Merge pull request #98488 from RandomShaper/lockless_rid_fetch_pro
Fix `RID_Owner` synchronization
2025-01-06 08:38:14 +01:00
Pedro J. Estébanez de7e4efef8 Fix RID_Owner synchronization 2025-01-03 17:05:36 +01:00
Rémi Verschelde d47fef15b8
Merge pull request #100991 from TokageItLab/180deg-arc
Fix looking at with 180 degree arc
2025-01-03 00:49:59 +01:00
Rémi Verschelde dd7d36e803
Merge pull request #100770 from hpvb/command-queue-mt
Core: Refactor CommandQueueMT to use vararg templates for performance and maintainability
2025-01-03 00:49:02 +01:00
HP van Braam cccd2432c3 Refactor CommandQueueMT to use vararg templates
In order to make CommandQueueMT more maintainable this PR changes the
previous macro hell with variadic templates instead. This makes the
class far more explicit and will allow us to more easily change the way
the class functions in the future.

Furthermore this refactoring has allowed for some optimizations. In
particular by using std::forward to delay the decision of decaying the
type to as late as possible we are able to move the data from the
callsite into our Command buffer and later move it to the call.

In practice what this means is that compared to the old version instead
of copying values 3 times, we can now get away with 1 copy, and 1 move
for lvalues, and just 2 moves for rvalues. This saves quite a few
operations in a hot codepath.

We also now test to make sure that the amount of copies and moves are
what we expect. This way we can spot performance regressions in this
code easily.

Somewhat unscientifically, running TPS-demo by pressing enter and not
touching the controls average mspf, repeatable across many runs:

before: 6.467
after : 6.202
2025-01-02 15:35:08 +01:00
Silc Lizard (Tokage) Renew d0c421976c Fix looking at with 180 degree arc
Co-authored-by: Fruitsalad <949631+fruitsalad@users.noreply.github.com>
2025-01-02 15:47:01 +09:00
AThousandShips 25ecf5ec83
[Core] Fix UID encoding
Fixes edge case where `0` encoded as `uid://` instead of `uid://a`, and
fixes the size of the temporary buffer storing encoded UID strings.
2024-12-31 15:20:09 +01:00
Jan Haller df66ea74d7 Fix `NodePath::slice()` incorrect behavior for subname indexing
Adjust slice boundaries in `NodePath` logic to correctly handle subnames.
Update test cases to reflect these changes.
2024-12-30 21:22:26 +01:00
Thaddeus Crews a9b6b3d932
Merge pull request #100776 from AThousandShips/improve_null_checks
Improve use of `Ref.is_null/valid`
2024-12-29 09:35:04 -06:00
Hendrik Brucker 16233db6bf Ensure that directory exists in create_test.py 2024-12-28 01:39:09 +01:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Thaddeus Crews 08d4dd7fd8
Merge pull request #100694 from Ivorforce/cowdata-destruct-graciously
Destruct `CowData` more graciously by avoiding accidentally exposing a half-destructed buffer.
2024-12-23 11:15:18 -06:00
smix8 d51615b334 Change navigation map synchronization to an async process
Changes the navigation map synchronization to an async process to avoid stalling the main thread.
2024-12-22 02:03:59 +01:00
Lukas Tenbrink 25cd923ea1 Destruct `CowData` more graciously by avoiding accidentally exposing a half-destructed buffer. This can avoid problems if any of the destructed objects tries to access the data while it's being destructed. 2024-12-21 20:01:03 +01:00
Rémi Verschelde dac0b67c4d
Merge pull request #100659 from clayjohn/color-srgb-precision
Increase precision in `linear_to_srgb()` and `srgb_to_linear()`
2024-12-20 23:57:35 +01:00
Rémi Verschelde 87855e04ad
Merge pull request #100643 from ze2j/follow_up_of_array_mesh_surface_remove
Follow-up of `ArrayMesh::surface_remove` addition
2024-12-20 23:57:20 +01:00
Rémi Verschelde a11364d1e6
Merge pull request #99010 from Hilderin/embedding-game-process
Embed game process in editor
2024-12-20 23:56:43 +01:00
clayjohn 46ce499b6f Increase precision in linear_to_srgb and srgb_to_linear
This avoids the situation where white stops being white after conversion. While maintaining as much floating point ops as possible
2024-12-20 10:49:43 -07:00
ze2j 97b093617d Follow-up of ArrayMesh::surface_remove addition 2024-12-20 10:53:43 +01:00
Thaddeus Crews b715fabd70
Merge pull request #76371 from ze2j/array_mesh_surface_remove
Add `ArrayMesh::surface_remove`
2024-12-19 19:59:56 -06:00
Thaddeus Crews 361e3b4fe8
Core: Expand `std::initializer_list` support 2024-12-18 18:46:59 -06:00
Hilderin 9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
Rémi Verschelde 851d8e49e8
Merge pull request #100386 from hpvb/core-ubsan
Core: Fix UBSAN reports
2024-12-18 17:23:32 +01:00
HP van Braam 240f510fa7 Core ubsan fixes
This fixes UBSAN errors reported by running our testsuite, importing the
TPS demo, and running the TPS demo. I have tried, wherever possible, to
fix issues related to reported issues but not directly reported by UBSAN
because thse code paths just happened to not have been exercised in
these cases.

These fixes apply only to errors reported, and caused by, core/

The following things have been changed:

* Make sure there are no implicit sign changing casts in core.
* Explicitly type enums that are part of a public API such that users of
  the API cannot pass in wrongly-sized values leading to potential stack
  corruption.
* Ensure that memcpy is never called with invalid or null pointers as
  this is undefined behavior, and when the engine is built with
  optimizations turned on leads to memory corruption and hard to debug
  crashes.
* Replace enum values only used as static values with constexpr static
  const values instead. This has no runtime overhead. This makes it so
  that the size of the enums is explicit.
* Make sure that nan and inf is handled consistently in String.
* Implement a _to_int template to ensure that all of the paths use the
  same algorhithm, and correct the negative integer case.
* Changed the way the json serializer precision work, and added tests to
  verify the new behavior. The behavior doesn't quite match master in
  particulary for negative doubles as the original code tried to cast -inf
  to an int. This then led to negative doubles losing all but one of
  their decimal points when serializing. Behavior in GDScript remains
  unchanged.
2024-12-18 14:31:12 +01:00
kit 63a90b3dd8 Add tests for SplitContainer 2024-12-17 18:16:52 -05:00
Rémi Verschelde 0ce9e3e941
Merge pull request #98504 from timothyqiu/test-keyevent-rtr
Fix `InputEventKey` test failure under certain system languages
2024-12-17 16:18:46 +01:00
Pāvels Nadtočajevs 7c182a1544 [TextServer] Fix space trimming around mandatory line breaks. 2024-12-16 23:37:26 +02:00
Kiro e4f8a7f8cf improveParseUTF8Performance 2024-12-16 09:55:11 +01:00
Thaddeus Crews 2b41a217d2
Merge pull request #100259 from Sauermann/proposal-right-click-cancel-drag
Allow canceling drag-and-drop with right mouse button
2024-12-11 17:35:39 -06:00
Rémi Verschelde c2e4ae782a
Merge pull request #100235 from akien-mga/revert-97303
Revert "Avoid duplicating signals from scene instances into packed scenes"
2024-12-11 18:48:18 +01:00
Markus Sauermann 4d6a6b21e2 Allow canceling drag-and-drop with right mouse button
This is a small usability enhancement, that allows users to cancel
drag-and-drop without the need to press the escape key on the keyboard.
2024-12-11 00:13:54 +01:00
Thaddeus Crews 8f16f864a6
Merge pull request #99765 from dalexeev/core-fix-json-from-to-native
Core: Fix `JSON.{from,to}_native()` issues
2024-12-10 14:15:53 -06:00
Rémi Verschelde 2153a60425
Revert "Avoid duplicating signals from scene instances into packed scenes"
This partially reverts commit 8a42e3d3ef.

Comment improvements and the test case were kept, with one part commented out.
2024-12-10 10:42:58 +01:00
Thaddeus Crews 4b1a51d3e3
Merge pull request #100075 from demolke/simplify
Fix handling of leading `..` in simplify_path
2024-12-09 14:33:34 -06:00
Thaddeus Crews e06f699354
Merge pull request #99886 from ZhiyiHu93/update-sky-tests
Add unit tests for Sky
2024-12-09 14:33:20 -06:00
Fabio Alessandrelli e5807b2adf [Net] Fix TCP/UDP server network tests
Some tests have been removed since there's no way to guarantee they will
pass.

Other tests have been refactored to ensure proper waiting, and taking
into account potential out-of-order delivery (which is unlikely in test
scenarios but expecting a specific order on a UDP socket is wrong and
OSes makes no promises of ordered delivery on localhost).
2024-12-06 18:00:49 +01:00
Zhiyi Hu 1e62c7f53e Add unit tests to Sky 2024-12-06 10:31:17 -05:00
Rémi Verschelde aa8d9b83f6
Merge pull request #99960 from pafuent/fixing_tcp_server_flappy_disconnect_test
Fix `TCPServer` "Should disconnect client" test
2024-12-06 16:16:17 +01:00
demolke 964e2b3a9e Fix handling of leading `..` in simplify_path
Prior to this `..\..\texture.png` was incorrectly simplified to `texture.png`
2024-12-06 07:53:55 +01:00
Thaddeus Crews 30b32396de
Merge pull request #100053 from bruvzg/font_change
Change default Arabic font to Vazirmatn.
2024-12-05 14:12:14 -06:00
Pāvels Nadtočajevs 06cae04b87 Change default Arabic font to Vazirmatn. 2024-12-05 16:26:52 +02:00
DeeJayLSP eaa0418deb TestAudioStreamWAV: use runtime load instead of importer 2024-12-04 18:44:48 -03:00
Pablo Andres Fuente df2c2ca3c3 Fix TCPServer "Should disconnect client" test
"Should disconnect client" test was failing randomly on Mac CI tests, so
this PR is making it more reliable reading on the closed client instead of
writing to it
2024-12-03 09:46:37 -03:00
demolke 35bb827d10 Destroy EditorFilesystem/EditorSettings on test shutdown
Otherwise asan complains if a test tries to use these.

Split off from https://github.com/godotengine/godot/pull/98909
2024-12-02 19:34:39 +01:00
Rémi Verschelde 5836a24a1c
Merge pull request #99488 from bruvzg/te_brk_cases
[TextServer] Fix some line breaking edge cases.
2024-12-02 17:20:15 +01:00
Rémi Verschelde 90087476a3
Merge pull request #99726 from smix8/path_simply_test
Add test for NavigationServer path simplification
2024-12-02 15:51:25 +01:00
Rémi Verschelde 9048776457
Merge pull request #99751 from bruvzg/dir_init
Add `std::initializer_list` constructor for Dictionary.
2024-11-29 22:51:17 +01:00
Rémi Verschelde 8d3fc48abf
Merge pull request #97521 from pafuent/enhance_scroll_container_focus
Add a focus border on `ScrollContainer`
2024-11-29 22:46:09 +01:00
Rémi Verschelde 5d462ee4c5
Merge pull request #67857 from anvilfolk/extended-curve
Extend Curve to allow for domains outside of [0, 1].
2024-11-29 22:45:19 +01:00
Rémi Verschelde bcb5f8377f
Merge pull request #99125 from Flarkk/projection_tests
Add tests for `Projection`
2024-11-29 22:01:59 +01:00
Rémi Verschelde 94082a424b
Merge pull request #97303 from cixil/fix-duplicate-signal-bug
Avoid duplicating signals from scene instances into packed scenes
2024-11-29 22:01:51 +01:00
cixil 8a42e3d3ef
Avoid duplicating signals from scene instances into packed scenes 2024-11-29 18:29:08 +01:00
Pāvels Nadtočajevs 54945c4d28 Add std::initializer_list constructor for Dictionary. 2024-11-29 14:12:40 +02:00
Pablo Andres Fuente 0c03db09f8 Add unit tests for TCPServer
This PR aims to help "fix" #43440
2024-11-29 12:55:49 +01:00
Danil Alexeev bd1a35ce9e
Core: Fix `JSON.{from,to}_native()` issues 2024-11-29 12:43:06 +03:00
Thaddeus Crews 3edf8b91e9
Merge pull request #98489 from Flarkk/fix_project_position
Fix Camera3D::project_position() when depth=zfar
2024-11-27 10:47:07 -06:00
ze2j 97e0b43faa Add ArrayMesh::surface_remove 2024-11-27 13:46:15 +01:00
Florent Guiocheau f1f47c3a53 Add tests for `Projection` 2024-11-27 11:09:10 +01:00
smix8 b2e40829a8 Add test for NavigationServer path simplification
Adds test for NavigationServer3D.simplify_path() function.
2024-11-26 23:36:25 +01:00
Pāvels Nadtočajevs 0708048530 [TextServer] Fix some line breaking edge cases. 2024-11-25 10:31:07 +02:00
Edward Moulsdale fe416c8046 Augment unit tests for OptionButton 2024-11-24 16:23:50 +00:00
Pablo Andres Fuente 86ea0127a3 Add a focus border on `ScrollContainer`
Also added new unit tests for `Control`.

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2024-11-23 23:54:38 -03:00
Pablo Andres Fuente 2c9de1d9d2 Add unit tests for UDPServer
This PR aims to help "fix" #43440
2024-11-22 23:08:05 -03:00
Thaddeus Crews ea3154a0d4 Merge pull request #99424 from dalexeev/core-fix-builtin-enum-const-binds
Core: Fix built-in enum constant bindings
2024-11-22 14:54:31 -06:00
Thaddeus Crews c35e4c41d2 Merge pull request #97716 from pafuent/add_half_precision_floating_point_to_stream_peer
Add half precision floating point support to `StreamPeer` and `FileAccess`
2024-11-22 14:54:19 -06:00
Danil Alexeev 03b05cf9ac
Core: Fix built-in enum constant bindings 2024-11-22 14:03:21 +03:00
Thaddeus Crews f952bfe998
Merge pull request #98972 from dbnicholson/standardize-add-defaults
Expose `TranslationServer::standardize_locale` `add_default` param publicly
2024-11-21 17:57:01 -06:00
Dan Nicholson 6f4fadf65d Expose standardize_locale add_default param publicly
Comparing locales can have surprising outcomes since it standardizes
locales with defaults. For example, zh and zh_CN result in an exact
match since the defaults change them both to zh_Hans_CN. Expose the
add_default parameter publicly with a default of false so the fully
standardized locale can be inspected.
2024-11-21 16:50:31 -07:00
Rémi Verschelde 23fc8e22a3
Merge pull request #95303 from EIREXE/inverted_composer
Fix `Projection::invert` for orthographic projection
2024-11-20 17:03:03 +01:00
Thaddeus Crews 32b4f40cc8
Merge pull request #99131 from MarcusAahl/my-testing-branch
Add basic tests for Fontfile
2024-11-19 15:20:17 -06:00
marcus åhl c636c86f65 Basic Fontfile tests 2024-11-19 11:56:26 +01:00
Thaddeus Crews d72112ba0a
Merge pull request #98816 from arkology/to-infinity-and-beyond
Improve `TextureProgressBar.set_radial_initial_angle()` by removing loops
2024-11-18 09:23:28 -06:00
Álex Román 02b2efc668 Fix Projection::invert on orthogonal projections and others.
Fixes #68878, specially when using orthographic projection.

Also adds some tests.
2024-11-18 16:13:04 +01:00
arkology d692b7bdde Improve set_radial_initial_angle by removing loops
Replace two while loops with fposmodp.
Document radial_initial_angle wrapping.
Add testcases for set_radial_initial_angle()
2024-11-14 20:20:20 +03:00
Thaddeus Crews cc6ee3e956
Merge pull request #98713 from dalexeev/core-fix-callable-get-bound-arguments
Core: Fix `Callable.get_bound_arguments{,_count}()` return incorrect data
2024-11-12 12:13:04 -06:00
Thaddeus Crews 8fd672cd87
Merge pull request #98120 from dalexeev/core-typed-dicts-bin-serialization
Core: Add typed dictionary support for binary serialization
2024-11-12 09:28:00 -06:00
Thaddeus Crews 27b394c52a
Merge pull request #98743 from dbnicholson/improve-compare-locales
Improve locale comparison
2024-11-12 09:27:54 -06:00
Dan Nicholson 2dd409fd70 Improve locale comparison
Since 9456454109, country specific locales are always preferred over
country-less locales even when the OS locale country doesn't match. For
example, running the Godot editor with locale es_ES will result in the
es_AR locale being chosen even though the es locale would be better.

The change happened because the score of the es_AR locale and the es
locale are the same when comparing to es_ES. Change this by parsing
locale strings into a Locale structure and decreasing the score when
script, country or variant are set in both but not matched. For the
es_ES case, this causes the es_AR score to be decreased since the
countries don't match. On the other hand, the es locale is not decreased
since it doesn't specify a country.
2024-11-12 06:06:50 -07:00
Pablo Andres Fuente eb86670f94 Add half precision floating point support to `StreamPeer`
Closes godotengine/godot-proposals#5983

Adds put/get methods to `StreamPeer` that handles half precision
floating point values.
Adds endode/decode half precision floating point to `marshalls`.
Adds `get_half` and `store_half` to `FileAccess`

Co-Authored-By: "Alfonso J. Ramos" <theraot@gmail.com>
2024-11-12 08:46:52 -03:00
Danil Alexeev 9ba098b670
Core: Add typed dictionary support for binary serialization 2024-11-12 10:18:56 +03:00
Thaddeus Crews 6c4c61f1b2
Merge pull request #98547 from timothyqiu/loaded-locales-set
Fix duplicated entries in `TranslationServer::get_loaded_locales()`
2024-11-11 14:18:40 -06:00
Thaddeus Crews 2ed6d12652
Merge pull request #97363 from reduz/deterministic-gen-suberesources-id
Allow passing UID to importer
2024-11-11 14:18:30 -06:00
Juan fe34c45d2a
Allow passing UID to importer
This helps, for importers spitting out new resources to the res://
filesystem to actually hash them to generate deterministic UIDs.

This PR also fixes the determinism for translations.
2024-11-11 15:22:42 +01:00
Thaddeus Crews 925b690c98
Core: Integrate `Ref::instantiate` where possible 2024-11-10 12:41:26 -06:00
Thaddeus Crews 63838c936c
Merge pull request #98278 from a-johnston/fuzzy-search-rebase
Add fuzzy string matching to quick open search
2024-11-10 12:12:56 -06:00
Danil Alexeev e379cc76e5
Core: Fix `Callable.get_bound_arguments{,_count}()` return incorrect data 2024-11-04 22:41:56 +03:00
Thaddeus Crews bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews 89a311205f
Style: Apply `clang-tidy` fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
ocean (they/them) 6c65213487 Extend `Curve` to allow for arbitrary domains 2024-11-02 08:25:40 -04:00
Thaddeus Crews 363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Thaddeus Crews b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Adam Johnston 3ac043c508 Add fuzzy string matching to quick open search
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Haoyu Qiu dc3de73d18 Fix InputEventKey test failure under certain system languages 2024-10-28 19:39:33 +08:00
Haoyu Qiu f451997666 Fix duplicated entries in `TranslationServer::get_loaded_locales()` 2024-10-26 15:10:43 +08:00
Thaddeus Crews 6e9907d483
Merge pull request #92554 from Nazarwadim/implement_a_hash_map
Implement array based hash map `AHashMap`
2024-10-25 13:03:45 -05:00
Thaddeus Crews 4aad050067
Merge pull request #97157 from pafuent/fixing_tree_item_get_prev_wrap
Fix `TreeItem` `get_prev*` methods when `p_wrap` is `true`
2024-10-25 13:03:42 -05:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Clay John 33db590947
Merge pull request #98357 from yeojunh/valid-base-check-num-int64-uint64
Core: Fix String::num_int64(), uint64 for valid base check
2024-10-24 19:41:43 -07:00
Florent Guiocheau 771e561cdd Fix Camera3D::project_position() when depth=zfar 2024-10-24 22:36:35 +02:00
nazarii 76208f7155 Implement array based hash map 2024-10-24 21:34:12 +03:00
kobewi 5c0f2414cd Always add decimal when printing float 2024-10-23 15:00:21 +02:00
yeojunh b3b24ded19 Add checks for valid base in String::num_int64, uint64().
- Ensure String::num_int64, uint64 returns an empty string for bases less than 2 or greater than 36.
- Added corresponding test cases to verify the behavior.
- Error messages are printed when invalid bases are encountered. These messages are suppressed in the test output.
2024-10-20 00:22:08 -07:00
A Thousand Ships 610635e1c8
Add test 2024-10-18 08:47:29 +02:00
Rémi Verschelde 2d8bfab47c
Merge pull request #97255 from kitbdev/test-tabs
Fix TabBar initialization issue and add tests
2024-10-04 11:21:33 +02:00
Rémi Verschelde d5d014eb30
Merge pull request #97227 from D0V4HKIIN/master
Add unit tests for PhysicsMaterial
2024-10-04 11:21:29 +02:00
jonas b2e38f3c4b Add unit tests for PhysicsMaterial 2024-10-04 10:09:03 +02:00
Pablo Andres Fuente 0b258e69f3 Add unit tests for String::parse_url() 2024-10-01 17:09:22 -03:00
Rémi Verschelde 9c716408ef
Merge pull request #97512 from matthewestopinal/mestopinal-sky-tests
Add Unit Test cases for `Sky`
2024-10-01 17:31:07 +02:00
Rémi Verschelde a7d0464e9e
Merge pull request #95931 from pafuent/adding_packet_peer_tests
Add unit tests for `PacketPeer`
2024-10-01 17:30:36 +02:00
Rémi Verschelde d71d95448c
Merge pull request #95784 from pafuent/adding_stream_peer_buffer_tests
Add unit tests for `StreamPeer` and `StreamPeerBuffer`
2024-10-01 17:30:33 +02:00
Pablo Andres Fuente ff10dee946 Add unit tests for StreamPeer and StreamPeerBuffer
Partially fixes #43440
2024-10-01 12:25:11 -03:00
Pablo Andres Fuente 0a41a715da Add unit tests for PacketPeer
Partially fixes #43440
2024-10-01 12:19:41 -03:00
MATTHEW ESTOPINAL 136e4d5636
Add Unit Test cases for `Sky` 2024-10-01 15:54:53 +02:00
Haoyu Qiu 6516ca6b11 Parse fragment from URL 2024-09-27 19:42:30 +08:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Pablo Andres Fuente 9c0afbb15c Fixing TreeItem get_prev_xxx methods when p_wrap is true
Fixes #85032

The code that fix the issue is courtesy of @Jesusemora, I just added
unit tests for it and did a rebase with the latest changes on master.

Co-authored-by: Jesusemora <32273722+Jesusemora@users.noreply.github.com>
2024-09-23 17:11:02 -03:00
Ricardo Buring 7c4c4b9987 Move Godot Physics 2D into a module; add dummy 2D physics server
If the module is enabled (default), 2D physics works as it did before.

If the module is disabled and no other 2D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 2D physics functionality (and
a warning is printed).

The dummy 2D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-23 17:33:45 +02:00
Rémi Verschelde 4254946de9
Merge pull request #97323 from timothyqiu/drop-unicode-identifier
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 16:14:08 +02:00
Rémi Verschelde dd71bc2d3b
Merge pull request #95252 from rburing/3d_physics_module
Move Godot Physics 3D into a module; add dummy 3D physics server
2024-09-23 12:27:55 +02:00
Rémi Verschelde 720c236fc0
Merge pull request #90743 from timothyqiu/empty-selection-clipboard
Add TextEdit option to prevent copying without a selection
2024-09-23 12:27:35 +02:00
Haoyu Qiu a751c05b15 Fix script editor wrongly replaces and quotes non-ASCII letters 2024-09-23 00:05:16 +08:00
MrPersonDev 899bb9e96f Fix words not being selected by endpoints 2024-09-21 12:42:03 -07:00
Ricardo Buring 0333648cea Move Godot Physics 3D into a module; add dummy 3D physics server
If the module is enabled (default), 3D physics works as it did before.

If the module is disabled and no other 3D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 3D physics functionality (and
a warning is printed).

The dummy 3D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-21 21:19:45 +02:00
kit f2f34e9c50 Fix TabBar initialization issue and add tests 2024-09-20 18:49:46 -04:00
Rémi Verschelde 6bf8a3e3f8
Merge pull request #95449 from SlashScreen/array_functions
Add callable support for `find` and `rfind` `Array` methods
2024-09-20 16:06:13 +02:00
demolke 0468bea899 Add per-bone meta to Skeleton3D
Individual bones are not represented as `Node`s in Godot, in order to support meta functionality for them the skeleton has to carry the information similarly to how other per-bone properties are handled.
- Also adds support for GLTF import/export
2024-09-16 16:26:15 +02:00
Rémi Verschelde f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Pedro J. Estébanez bb77520599 Object: Add tests about the safety of tail destruction 2024-09-16 09:58:47 +02:00
SaNeOr ed69fd66da fix: Editor, save script file: Triple quote string: spaces are converted into tabs 2024-09-16 10:01:09 +08:00
Markus Sauermann 60aaa017ff Enable Drag and Drop for SubViewports and Windows
Make Drag and Drop an application-wide operation.
This allows do drop on Controls in other Viewports/Windows.

In order to achieve this, `Viewport::_update_mouse_over` is adjusted to
remember the Control, that the mouse is over (possibly within nested
viewports). This Control is used as a basis for the Drop-operation, which
replaces the previous algorithm, which was only aware of the topmost
Viewport.

Also now all nodes in the SceneTree are notified about the Drag and Drop
operation, with the exception of SubViewports that are not children of
SubViewportContainers.
2024-09-15 01:06:02 +02:00
Haoyu Qiu 504e0656bb Add TextEdit option to prevent copying without a selection 2024-09-14 09:39:36 +08:00
Slashscreen 89491f4403 Add callable support for `find` and `rfind` `Array` methods 2024-09-13 00:01:53 -07:00
Rémi Verschelde d1caac5e75
Merge pull request #93856 from timothyqiu/expression-period
Fix parsing of `4.` in Expression
2024-09-11 12:34:39 +02:00
Yaohua Xiong 51b8b74d4b Do not defer PathFollow3D transform updates
Co-authored-by: Yaohua Xiong <xiongyaohua@gmail.com>
2024-09-10 10:35:48 +02:00
Rémi Verschelde df387b20d0
Merge pull request #95650 from LeonStansfield/parallax_2d_tests
Add unit tests for `Parallax2D`
2024-09-06 22:38:25 +02:00
Rémi Verschelde 0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Leon Stansfield 3d13d90185
Add unit tests for Parallax2D
- Added test cases for setting and getting key properties of Parallax2D, including:
  - Scroll scale
  - Repeat size and times
  - Autoscroll
  - Scroll and screen offset
  - Limit begin and end
  - Follow viewport and ignore camera scroll flags
2024-09-06 22:34:51 +02:00
Leon Stansfield 6c4ee85f29
Add unit tests for HeightMapShape3D
Added test cases for constructor and property getters/setters:
- Map width, depth, and data
- Minimum and maximum height
- Update map data from image
2024-09-06 09:54:48 +02:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Rémi Verschelde 139f9989e6
Merge pull request #96565 from Geometror/improve-test-generator
[Tests] `create_test` script: Improve argument description and snake_case name conversion
2024-09-04 17:12:25 +02:00
Rémi Verschelde 9b4a965407
Merge pull request #96564 from Geometror/tests-audio-tag
[Tests] Make `[Audio]` tag consistent with other test environment tags
2024-09-04 17:12:22 +02:00
Rémi Verschelde f69de1c522
Merge pull request #96038 from kitbdev/fix-line-edit-caret-word-mode
Fix LineEdit word mode when there are no more words
2024-09-04 17:12:06 +02:00
Hendrik Brucker ec7ca6bab5 [Tests] Improve argument description and snake_case name conversion of test generator script 2024-09-04 16:04:31 +02:00
Hendrik Brucker 36a0ec166e [Tests] Make `[Audio]` tag consistent with other test environment tags 2024-09-04 15:14:49 +02:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
Rémi Verschelde e004ae7bbe
Merge pull request #85965 from ershn/use_heap_in_astar_path_finding
Improve pathfinding performance by using a heap to store traversable polygons
2024-09-03 11:42:48 +02:00
Ershn c3ee32f106 Use a heap to store traversable polygons for pathfinding 2024-09-01 11:24:14 +09:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
DeeJayLSP d3b51c4efb ResourceImporterWAV: Enable QOA compression by default 2024-08-31 00:42:56 -03:00
Rémi Verschelde ce069e4567
Merge pull request #96291 from miv391/string-unit-tests
Add more unit tests for String `insert` and `join`.
2024-08-30 09:59:47 +02:00
Rémi Verschelde 4c6bac15a3
Merge pull request #92656 from fire/vsk-json-to-native-4.3
Ability to convert native engine types to JSON and back.
2024-08-30 09:58:57 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
K. S. Ernest (iFire) Lee 71bdbcdfb1 Ability to convert native engine types to JSON and back.
Implements support for all engine types in JSON encoding/decoding

Co-Authored-By: Juan <reduzio@gmail.com>
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-08-29 10:57:15 -07:00
demolke c409e6d722 Import/export GLTF extras to node->meta
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.

- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
Mika Viskari 3153e9afda Added more unit tests for String insert and join. 2024-08-29 20:05:44 +03:00
A Thousand Ships cd4221c1e2
[Tree] Fix error when removing child from `Tree`
New `last_child` member was not properly updated
2024-08-28 12:40:26 +02:00
Rémi Verschelde db24ed4ead
Merge pull request #94995 from Repiteo/scons/raw-cstrings
SCons: Add method to generate raw cstrings
2024-08-28 00:12:47 +02:00