Rémi Verschelde
2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
...
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01: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
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
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
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
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
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
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
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
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
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
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
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
653f5a9613
Merge pull request #100976 from AThousandShips/uid_fixes
...
[Core] Fix UID encoding
2025-01-06 22:48:13 +01: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
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
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