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