Lukas Tenbrink
68f4502a5b
Fix `FileAccessCompressed` claiming one byte more than it actually has.
...
Add a unit test for fastlz compressed file access.
2025-04-08 15:19:58 +02:00
Pāvels Nadtočajevs
9abe2e5294
Add `uri_file_decode` to handle `+` in file names.
2025-04-07 23:49:17 +03:00
Aziroshin
40b7931279
[CodeEdit] Fix folding for comments mixed with code region tags.
...
Co-authored-by: Kit Bishop <kitbdev@gmail.com>
2025-04-07 20:50:54 +02:00
Thaddeus Crews
21db8487a2
Merge pull request #104664 from tomfull123/missing-typed-dictionary-initializer-list
...
Add missing `initializer_list` constructor to TypedDictionary
2025-04-03 16:50:23 -05:00
Thaddeus Crews
b1465b925b
Merge pull request #104976 from Ivorforce/no-inheritance-list
...
Remove unused `get_inheritance_list_static` from `GDCLASS`.
2025-04-03 16:50:20 -05:00
Thaddeus Crews
9bbda47794
Merge pull request #104776 from BrotherShort/TextEdit-VScroll-max-tolerance
...
Fix TextEdit VScroll max tolerance
2025-04-03 16:50:14 -05:00
Lukas Tenbrink
e6d166344b
Remove unused `get_inheritance_list_static` from `GDCLASS`.
2025-04-03 17:18:28 +02:00
BrotherShort
1077fdb15a
fix TextEdit VScroll max tolerance
...
newline
Co-Authored-By: Kit Bishop <kitbdev@gmail.com>
2025-04-03 21:22:57 +08:00
Tom
8a3f9846c5
Add missing initializer_list constructor for TypedDictionary
2025-04-03 00:17:44 +01:00
Thaddeus Crews
c9c8556a47
Merge pull request #104862 from smix8/navserver_process
...
Prepare NavigationServer for `process()` and `physics_process()` split
2025-04-02 07:37:32 -05:00
smix8
16fd7b6ae1
Prepare NavigationServer for process() and physics_process() split
...
Prepares the NavigationServer API for a split of its functionality between frame process() and stepped physics_process().
2025-04-02 11:01:08 +02:00
smix8
f2197a1013
Expose TriangleMesh api functions wrapped for scripting
...
Adds script wrapped TriangleMesh api functions to create and query the triangle BVH tree.
2025-04-02 09:52:35 +02:00
Thaddeus Crews
1f1b1c56e7
Merge pull request #104381 from Ivorforce/object-notification-nobool
...
Optimize `Object::notification` by avoiding runtime branches
2025-04-01 19:53:37 -05:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features
2025-04-01 11:53:35 -03:00
Lukas Tenbrink
8a76e31547
Remove bool from `Object::notification` virtual function; replace with separate functions to avoid branching.
2025-04-01 15:26:32 +02:00
Thaddeus Crews
d52b84e472
Merge pull request #103993 from aaronfranke/geometry-segment
...
Directly use segment points in Geometry2D/3D function parameters
2025-04-01 08:01:34 -05:00
Thaddeus Crews
abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
...
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink
fa0a3c9c6e
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 20:49:50 +02:00
Lukas Tenbrink
ccdc5862e9
Add `LocalVector.erase_unordered`, mimicking `erase` but with `remove_at_unordered`, to remove duplicate logic.
...
`erase_unordered` should be preferred over `erase` where order is not important, for its performance benefits.
Co-authored-by: smix8 <smix8@users.noreply.github.com>
2025-03-31 13:31:53 +02:00
Filipe Alexandre Francisco Costa
ca57fe1db4
Fix #100536 : Control set_position resizes offsets/anchors
...
The set_position method computes the anchors/offsets to match a
rectangle at the given position with size "size_cache". However, when
the Control's combined minimum size is larger than the size obtained
through the offsets and anchors, "size_cache" is set to be as large as
the combined minimum size. Therefore, when position is set while the
combined minimum size is larger than the rectangle given by the anchors
and offsets, it would resize these two fields, which would then stop
the Control from shrinking when its combined minimum size decreased. To
fix this, set_position now uses the size given by the offsets and
anchors instead of the "size_cache" field. This way, the rectangle
denoted by the offsets and anchors is simply moved, without being
resized, enabling the Control to shrink automatically when its combined
minimum size decreases. I also added a test case to ensure that the
Control shrinks correctly after setting its position while it has a
larger custom minimum size than the one obtained through the offsets
and anchors.
2025-03-31 08:50:00 +01:00
Aaron Franke
c1acc839a8
Directly use segment points in Geometry2D/3D function parameters
2025-03-30 16:25:59 -07:00
Thaddeus Crews
ac13efc822
Merge pull request #101443 from Repiteo/ci/replace-pytest
...
CI: Replace pytest with pre-commit hook
2025-03-30 09:06:00 -05:00
Thaddeus Crews
8b2952a71c
Merge pull request #101504 from AThousandShips/nav_split_new
...
[Navigation] Create a dedicated 2D navigation server
2025-03-30 09:05:43 -05:00
Thaddeus Crews
32de6285a8
SCons: Modernize shader builders
2025-03-29 11:51:54 -05:00
Thaddeus Crews
adc63c6149
CI: Replace pytest with pre-commit hook
2025-03-29 11:40:36 -05:00
Thaddeus Crews
780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
...
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
A Thousand Ships
5cc0539961
[Navigation] Create a dedicated 2D navigation server
...
* Add a dedicated 2D server
* Create dedicated tests
* Split performance metrics between 2D and 3D
* Rename the 3D only server module
2025-03-29 12:10:50 +01:00
Rémi Verschelde
7598b08ec2
Merge pull request #104709 from kitbdev/remove-macro-testfontfile
...
Remove macros from FontFile test case
2025-03-28 17:30:52 +01:00
Rémi Verschelde
e8bc75f056
Merge pull request #103373 from YeldhamDev/build_remove_physics
...
Allow to compile templates without physics servers
2025-03-28 17:30:03 +01:00
Rémi Verschelde
3b90bb56ad
Merge pull request #89782 from KoBeWi/stdArrayList
...
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00
kit
3bba00a4b3
Remove macros from FontFile test
2025-03-28 11:28:47 -04:00
Michael Alexsander
5ad414d046
Allow to compile templates without physics servers
2025-03-28 11:00:44 -03:00
Rémi Verschelde
76c30189fa
Merge pull request #103923 from Ivorforce/span-array-init
...
Add C array constructor to `Span`.
2025-03-28 14:32:14 +01:00
Lukas Tenbrink
ffa6ef220b
Use `append_` instead of `parse_` for `String` methods.
2025-03-27 17:51:02 +01:00
kobewi
75881f8322
Use initializer list in Arrays
2025-03-26 18:38:15 +01:00
Thaddeus Crews
f810c74c19
Merge pull request #104221 from Teschnique/fix-issue-100590
...
Fix tangent baking for curves when cubic derivatives are 0
2025-03-24 10:01:02 -05:00
Thaddeus Crews
7fed5f29ed
Merge pull request #99826 from kiroxas/improveParseUTF8Performance
...
Improve `parse_utf8` performance
2025-03-24 10:00:55 -05:00
Teschnique
a6dc345415
Fix tangent baking for curves where the derivative evaluates to 0 due to
...
collinear control points.
2025-03-21 23:02:24 -07:00
Thaddeus Crews
f6a35e2a6e
Merge pull request #86015 from kitbdev/array-initializer-list
...
Add list initialization to Array, Variant, and TypedArray
2025-03-19 17:46:06 -05:00
kobewi
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00
Rémi Verschelde
2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
...
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Rémi Verschelde
3b8385a6be
Merge pull request #101824 from bruvzg/wrap_align
...
[TextEdit] Use actual indentation offset instead of space width for wrapped lines.
2025-03-19 12:26:20 +01:00
Pāvels Nadtočajevs
2fb5059c63
[TextEdit] Use actual indentation offset instead of space width for wrapped lines.
2025-03-19 12:50:43 +02:00
Pablo Andres Fuente
e2bef7041e
Fix `StreamPeerGZIP::finish()` internal buffer size usage
...
Fixes #97201
Instead of using and arbitrary fixed size for the internal buffer,
the remaining available bytes of the internal `RingBuffer` is used.
Also add unit tests for `StreamPeerGZIP`.
2025-03-19 09:56:32 +01:00
Thaddeus Crews
b7eda9dbc1
Merge pull request #104230 from bruvzg/start_clip
...
Add properties to configure space trimming on line break.
2025-03-18 14:42:44 -05:00
Thaddeus Crews
ea62170dac
Core: Add `constexpr` constructors/operators to math structs
...
• Begin integrating `constexpr` on math tests; use `static_assert` where appropriate
2025-03-17 12:15:31 -05:00
Pāvels Nadtočajevs
2bbf0f2317
Add properties to configure space trimming on line break.
2025-03-16 16:15:37 +02:00
Lukas Tenbrink
a23f630781
Remove `String` clipping constructors.
...
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
Thaddeus Crews
b377562b52
Merge pull request #91660 from AThousandShips/methodinfo_vec
...
[Core] Use `Vector` for `MethodInfo::arguments`
2025-03-14 10:06:13 -05:00
Thaddeus Crews
22a7079afd
Merge pull request #104047 from YYF233333/dict_iter
...
Add const iteration support to `Dictionary`
2025-03-13 08:57:23 -05:00
Thaddeus Crews
c6004c6267
Merge pull request #102100 from AThousandShips/nav_split_prepare
...
[Navigation] Rename classes in preparation for future restructure
2025-03-12 13:17:11 -05:00
Yufeng Ying
bebe037abf
Add ConstIterator to Dictionary.
2025-03-13 01:28:46 +08:00
Lukas Tenbrink
78221946cc
Add C array constructor to `Span`. [skip ci]
2025-03-12 16:48:16 +01:00
Thaddeus Crews
3fc5390c8b
Merge pull request #103924 from Ivorforce/span-iteration
...
Add iteration to `Span`.
2025-03-12 10:31:53 -05:00
A Thousand Ships
b064fcf547
[Navigation] Rename classes in preparation for future restructure
2025-03-12 13:26:34 +01:00
Thaddeus Crews
754e3b3f9a
Merge pull request #103825 from JulianHeuser/region_highlight_crash_fix
...
Fix crash related to #region/#endregion caused by trailing spaces
2025-03-11 19:54:46 -05:00
Lukas Tenbrink
55a7de93c7
Add iteration to `Span`.
2025-03-11 23:46:25 +01:00
Thaddeus Crews
e30d3af34e
Merge pull request #102766 from smix8/region_filters
...
Add path query region filters
2025-03-11 16:54:05 -05:00
Thaddeus Crews
f8b45830aa
Merge pull request #94798 from AThousandShips/api_check_args
...
[Tests] Add check for argument name validity
2025-03-11 16:53:47 -05:00
Thaddeus Crews
75f131e047
Merge pull request #99632 from wheatear-dev/augment-tests-option-button
...
Augment unit tests for `OptionButton`
2025-03-11 09:34:44 -05:00
Julian
659d1b5d0c
Fix crash caused by trailing spaces
2025-03-11 00:06:08 -04:00
Thaddeus Crews
8d1c1c5867
Merge pull request #92476 from AThousandShips/string_remove_char
...
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 10:01:04 -05:00
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