Pedro J. Estébanez
820380817a
Exclude RD creation test functions from templates
2025-05-15 10:12:38 +02:00
Yufeng Ying
3bf400ffae
Move bisect to Span and deduplicate code.
...
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com >
2025-05-14 18:19:09 +08:00
Thaddeus Crews
0717136785
Merge pull request #106353 from YYF233333/hashmap_zst
...
Optimize `HashMap` size for zero-sized Allocators
2025-05-13 16:22:28 -05:00
Thaddeus Crews
1c4b660312
Merge pull request #96611 from Dynamic-Pistol/master
...
Add `PROPERTY_HINT_INPUT_NAME` for use with `@export_custom` to allow using input actions
2025-05-13 16:22:25 -05:00
Thaddeus Crews
f648eea7f4
Merge pull request #106209 from YYF233333/opt_get_actions
...
Optimize `InputMap::get_actions`
2025-05-13 16:22:23 -05:00
Thaddeus Crews
243c8932d3
Merge pull request #82497 from Repiteo/typed-array-consolidation
...
Typed array equality operator update
2025-05-13 16:22:15 -05:00
Thaddeus Crews
a2b49d0800
Merge pull request #93883 from TV4Fun/variant_join
...
Consolidate and simplify string joining code in `VariantUtilityFunctions`
2025-05-13 16:22:13 -05:00
Thaddeus Crews
172794337c
Merge pull request #99985 from allenwp/release-only-crash-99797
...
Print error message when index is out of range in `Variant::iter_get`
2025-05-13 16:22:11 -05:00
Thaddeus Crews
5b935881fc
Typed array equality operator logic updated
...
• Instead of calling to `_ref`, the same effect is achieved by calling to the base class assignment operator
• No longer need to be expose `_ref`; set back to private & remove reference from gdextension_interface
2025-05-13 14:41:16 -05:00
Allen Pestaluky
5657ecc542
Print error message when index is out of range in Variant::iter_get of DEBUG_ENABLED builds.
...
Mitigates #99797
2025-05-13 13:57:16 -04:00
Yufeng Ying
0babb2ab02
Optimize HashMap size for zero-sized Allocators.
2025-05-13 21:44:39 +08:00
Rémi Verschelde
620206b0ae
Merge pull request #106309 from aaronp64/string_chr_appends
...
Avoid single character `String` allocations when appending characters
2025-05-13 01:05:45 +02:00
Rémi Verschelde
03cae12314
Merge pull request #106295 from timothyqiu/legacy-l10n
...
Remove translation loading logic that was never used
2025-05-13 01:05:31 +02:00
Rémi Verschelde
4c62c8aceb
Merge pull request #106020 from Ivorforce/hashmap-duplicate-hash
...
Optimize `HashMap` insertion by removing duplicate computation of hash and position
2025-05-13 01:04:57 +02:00
Rémi Verschelde
a529abc361
Merge pull request #101339 from Ivorforce/remove-nothing
...
Remove unintentional use of zero-width space.
2025-05-13 01:04:19 +02:00
Rémi Verschelde
2b037e8989
Merge pull request #93276 from mashumafi/avoid-vec-copy
...
Avoid unnecessary copy-on-write Vector/Array
2025-05-13 01:04:16 +02:00
Rémi Verschelde
b8fba34c17
Merge pull request #75629 from RedworkDE/non-atomic-error-macros
...
Remove pointless use of atomics in error macros
2025-05-13 01:04:12 +02:00
Joel Croteau
981f1e9298
Rename VariantUtilityFunctions::join() to join_string()
2025-05-12 17:51:09 -05:00
Joel Croteau
8be7ad32e7
Consolidate and simplify string joining code in VariantUtilityFunctions
...
`variant_utility.cpp` has 8 different copies of the exact same loop to join
vararg strings together. This is bad coding process and makes the codebase
needlessly cluttered. Also, the loop itself has an i == 0 check that is
unnecessary since String is auto-initialized to be empty and String::operator+=
already checks if it is empty before appending. This is a non-functional change
that only reorganizes the code to be a bit more readable.
2025-05-12 17:47:14 -05:00
aaronp64
8fb3697916
Avoid single character String allocations when appending characters
...
Removed calls to String::chr() when appending characters to Strings in Expression, Resource, and VariantParser, to avoid creating temporary Strings for each character. Also updated the Resource case to resize String up front, since size is known.
2025-05-12 17:35:42 -04:00
Lukas Tenbrink
e8c3409d40
Remove 4 unintentional uses of zero-width space and zero-width non-joiner.
2025-05-12 22:00:37 +02:00
RedworkDE
c5777c43d9
Remove pointless use of atomics in error macros
2025-05-12 17:06:19 +02:00
mashumafi
b73346ef19
Avoid copy-on-write when reading vectors
2025-05-12 16:08:05 +02:00
Haoyu Qiu
bbc6643e4c
Remove translation loading logic that was never used
2025-05-12 19:05:20 +08:00
Yufeng Ying
55a61cbd4a
Optimize InputMap::get_actions.
2025-05-12 17:51:27 +08:00
Thaddeus Crews
1b439d49a9
Merge pull request #100446 from YYF233333/vmap
...
Replace `VMap` used in `VisualShader` with `HashMap` and remove `VMap`
2025-05-09 11:29:25 -05:00
Thaddeus Crews
ba710dfde3
Merge pull request #106170 from IphStich/fix-typed-dictionary
...
Fix for debugging typed dictionaries
2025-05-09 11:29:18 -05:00
Thaddeus Crews
0bf9d88797
Merge pull request #106167 from Faless/mbedtls/fix_enable_threading
...
mbedTLS: Fix concurrency issues with TLS
2025-05-09 11:29:17 -05:00
Yufeng Ying
2db0a44519
Remove vmap.h
2025-05-09 19:05:28 +08:00
Thaddeus Crews
16aaa0a213
Merge pull request #103944 from KoBeWi/more_red_info
...
Improve error messages for `add_property_info()`
2025-05-08 07:19:33 -05:00
Elise
057759d413
Fix for debugging typed dictionaries
2025-05-08 21:11:23 +10:00
Fabio Alessandrelli
2c789788c0
mbedTLS: Fix concurrency issues with TLS
...
When we first integrated mbedTLS, we decided not to enable
MBEDTLS_THREADING_C (which adds mutex locking to calls modifying the
state), and instead to simply create separate contexts ("states") for
each connection.
This worked fine until recently.
Sadly, mbedTLS 3 added a global state for the new PSA crypto
functionalities (which are required to support TLSv1.3).
This results in TLSv1.3 connections to access and modify the global
state concurrently when running in threads.
This commit enables MBEDTLS_THREADING_C, and MBEDTLS_THREADING_C_ALT to
provide a generic Godot implementation using the engine Mutex class.
2025-05-08 11:45:00 +02:00
Thaddeus Crews
090d244b16
Merge pull request #101356 from Ivorforce/inline-utf-creation-functions
...
Inline `String::utf8` and `String::utf16` for their simplicity.
2025-05-07 12:48:32 -05:00
Thaddeus Crews
075b55068e
Merge pull request #100067 from aaronp64/randi_range_overflow
...
Fix `RandomPCG::random(int, int)` overflow bug
2025-05-07 12:48:30 -05:00
Thaddeus Crews
051712dfb8
Merge pull request #103264 from mhilbrunner/docs-path-join
...
Rename "file" param for str.path_join() to "path"
2025-05-07 12:48:29 -05:00
Thaddeus Crews
0ce3d75c20
Merge pull request #93783 from aaronp64/json_stringify_performance
...
Improve `JSON::stringify` performance
2025-05-07 12:48:28 -05:00
Thaddeus Crews
aa1ca2b244
Merge pull request #93517 from Repiteo/core/nodiscard-strings
...
Core: Add `[[nodiscard]]` to string-like classes/structs
2025-05-07 12:48:27 -05:00
aaronp64
f13b4b760a
Improve JSON::stringify performance
...
- Changed stringify to call static function _stringify directly, instead of creating JSON object
- Changed colon and end_statement from String to const char * to avoid extra allocations in each _stringify call
- Pass result String reference to each _stringify call to append to instead of allocating new String in each call
These changes make JSON::stringify around 2-3x faster in most cases
2025-05-06 18:27:32 -04:00
aaronp64
1089f61868
Fix RandomPCG::random(int, int) overflow bug
...
- Use int64_t for subtraction before converting to uint32_t
- Don't add one to uint32_t max value for rand() bounds
2025-05-06 17:54:12 -04:00
Thaddeus Crews
579feb387c
Core: Add [[nodiscard]] to string-like classes
2025-05-06 12:23:41 -05:00
aaronp64
d176ba045f
Array performance improvements to reduce copying/copy_on_write calls
...
- Avoid temporary copy of p_array in Array::append_array when types match
- Call ptrw() once before looping in methods that return new Arrays, to avoid copy_on_write call for each item (recursive_duplicate, slice, filter, map)
2025-05-06 13:19:50 -04:00
Lukas Tenbrink
26a6d4062d
Inline String::utf8 and String::utf16 for their simplicity.
2025-05-06 17:20:03 +02:00
Thaddeus Crews
e085acd71c
Merge pull request #104815 from Ivorforce/strnlen
...
Rename `_strlen_clipped` to `strnlen` (and use the system equivalent for `char *` inputs)
2025-05-06 08:38:06 -05:00
Thaddeus Crews
bd22587170
Merge pull request #106093 from KoBeWi/deprecated_forever
...
Remove registration of deprecated classes
2025-05-06 08:38:05 -05:00
Thaddeus Crews
4cb030d6bf
Merge pull request #106089 from mihe/rogue-newlines
...
Fix empty lines being added for errors with no script backtrace
2025-05-06 08:38:04 -05:00
Thaddeus Crews
7efe897343
Merge pull request #106085 from clayjohn/texture-decompress-import
...
Fix loading BPTC/ASTC textures on devices that don't support them
2025-05-06 08:38:04 -05:00
Thaddeus Crews
5fec9a9fdc
Merge pull request #100057 from aaronp64/container_validate_obj_perf
...
Improve `ContainerTypeValidate` performance for object types
2025-05-06 08:38:03 -05:00
Thaddeus Crews
aa24e3b671
Merge pull request #105884 from stuartcarnie/macos_embedded
...
macOS: Embedded window support.
2025-05-06 08:37:59 -05:00
Lukas Tenbrink
ec32dae1da
Rename _strlen_clipped to strnlen (and use the system equivalent for char * inputs).
...
Add `strnlen` for `char16_t *` and `wchar_t *`.
2025-05-06 15:17:07 +02:00
Stuart Carnie
00e1fdec2c
MacOS: Embedded window support.
2025-05-06 06:09:05 +10:00