Thaddeus Crews
4972a524fc
Merge pull request #96139 from Alex2782/reverting_pr_84331
...
Add configuration option to disable `Scroll Deadzone` on Android
2025-04-11 09:51:08 -05:00
Thaddeus Crews
0964badc05
Merge pull request #105210 from nikitalita/gdsoftclass-fa-da
...
Add GDSOFTCLASS to FileAccess and DirAccess derived classes
2025-04-11 09:51:08 -05:00
Thaddeus Crews
717df3ee88
Merge pull request #105249 from Repiteo/core/math-defs-namespace
...
Core: Use `Math` namespace for constants
2025-04-11 09:51:04 -05:00
kobewi
ff1f040893
Add create_id_for_path() to ResourceUID
2025-04-11 00:53:34 +02:00
Thaddeus Crews
297650a912
Merge pull request #93466 from bruvzg/alt_oem
...
[TextEdit / LineEdit] Add support for OEM Alt codes input.
2025-04-10 16:53:46 -05:00
Thaddeus Crews
31bb3be5a6
Merge pull request #105145 from bruvzg/swap_pba
...
Add bswap methods to the `PackedByteArray` bindings.
2025-04-10 16:53:46 -05:00
Thaddeus Crews
94282d88f9
Core: Use `Math` namespace for constants
2025-04-10 16:29:30 -05:00
Priahoud
bf963e767e
Add Options, Functions and Settings to convert Node-Names and Strings to kebab-case
...
- refactored and renamed String::_camelcase_to_underscore to String:_separate_compound_words
- refactored String::to_snake_case to work with the refactored String::_separate_compound_words
- created char_utils::is_hyphen to catch all hyphen variants in kebab-case conversion
- created String::to_kebab_case using the new String::_separate_compound_words
- created corresponding Documentation in String and StringName
- simplified both switch statements in EditorNode and ProjectDialog
- added new kebab-casing Option for Node Names in ProjectSettings
- added missing camelCase Options to Scene- and Node-Names in ProjectSettings
- simplified Mono RuntimeInterop Functions
- hooked up the ConnectionsDialog
- created additional Unit Tests
2025-04-10 21:22:21 +02:00
Pāvels Nadtočajevs
bd3a264011
Fix BBCode print with nested `[`.
2025-04-10 19:53:12 +03:00
Thaddeus Crews
c67b9a43e3
Merge pull request #100086 from erodozer/multipart-ext-import
...
Support multi dot extensions in import plugins
2025-04-10 10:18:18 -05:00
Thaddeus Crews
cade15a163
Merge pull request #92475 from AThousandShips/string_replace_char
...
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 10:18:16 -05:00
Thaddeus Crews
fc1dbda769
Merge pull request #105164 from stuartcarnie/apple_pthread
...
Apple: Add pthread implementation of `Thread` class
2025-04-10 10:18:12 -05:00
A Thousand Ships
889410dcda
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 13:08:45 +02:00
bruvzg
aa0ade5b49
[TextEdit / LineEdit] Add support for OEM Alt codes input.
2025-04-10 08:52:19 +03:00
Stuart Carnie
8c8d6de3e7
Apple: Add pthread implementation of `Thread` class
...
This allows Apple platforms to override the default stack size of
a thread in the WorkerThreadPool, which is 512KiB by default.
This must be increased, as SPIRV-Cross, used by the Metal driver, can
use deeply nested stacks, as can debug builds.
2025-04-10 09:35:40 +10:00
Thaddeus Crews
7b74eb1a9b
Merge pull request #105205 from aaronp64/dictionary_has_validated_key
...
Use validated key in `Dictionary::has`
2025-04-09 18:12:02 -05:00
Thaddeus Crews
7a6c3b309f
Merge pull request #105130 from bruvzg/uri_fix_plus
...
Add uri_file_decode to handle + in file names.
2025-04-09 18:11:56 -05:00
nikitalita
2d0ae77719
add GDSOFTCLASS to FileAccess and DirAccess derived classes
2025-04-09 11:52:50 -07:00
aaronp64
117b1c3da1
Use validated key in Dictionary::has
...
Updated Dictionary::has to use validated key when checking variant_map, to handle cases when passed in key is converted to Dictionary's key type.
2025-04-09 12:22:48 -04:00
Pāvels Nadtočajevs
7c4d45ba3b
Add bswap methods to the `PackedByteArray` bindings.
2025-04-09 18:51:50 +03:00
Thaddeus Crews
a8598cd8e2
Merge pull request #71542 from bruvzg/export_project_settings
...
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-09 08:51:47 -05:00
Thaddeus Crews
ec675fc329
Merge pull request #100333 from YYF233333/reduce_list
...
Use `LocalVector` instead of `List` as arg of `Dictionary::get_key_list`
2025-04-09 08:51:45 -05:00
Thaddeus Crews
4c02239c5f
Merge pull request #105180 from bruvzg/thread_crash
...
Fix Thread crash when using invalid callback signature. And invalid message formatting.
2025-04-09 08:51:43 -05:00
Thaddeus Crews
217d1c6d2f
Merge pull request #105178 from bruvzg/endianess_notes
...
Remove misleading and incorrect notes about endianness. Fix FileAccess and StreamPeer not doing what name suggests.
2025-04-09 08:51:42 -05:00
Thaddeus Crews
e6b2a42053
Merge pull request #83027 from rarysson/array-negative-indexes
...
Add negative index to `Array.remove_at` and `Array.insert`
2025-04-09 08:51:40 -05:00
Thaddeus Crews
0563f4f978
Merge pull request #105166 from Ivorforce/get-class-static-stringname
...
Change `get_class_static` to return `StringName`.
2025-04-09 08:51:39 -05:00
Thaddeus Crews
e764068e99
Merge pull request #105159 from adamscott/define_my_int
...
Move `THREADS_ENABLED` check after common imports
2025-04-09 08:51:38 -05:00
Pāvels Nadtočajevs
41a87f06e1
Fix Thread crash when using invalid callback signature. And invalid message formatting.
2025-04-09 11:57:25 +03:00
Pāvels Nadtočajevs
bd98aad3fa
Remove misleading and incorrect notes about endianness. Fix FileAccess and StreamPeer not doing what name suggests.
2025-04-09 11:01:25 +03:00
Lukas Tenbrink
fbe64ffb45
Change `get_class_static` to return `StringName`.
...
Use that static `get_class_static` for `_get_class_namev` to avoid duplication.
2025-04-08 23:25:05 +02:00
Yufeng Ying
f7e4987d0e
Dictionary::get_key_list use LocalVector instead of List.
2025-04-09 02:46:24 +08:00
Adam Scott
b7402b7597
Move `THREADS_ENABLED` check after common imports
2025-04-08 14:24:13 -04:00
bruvzg
c6739f64df
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-08 21:22:37 +03:00
Rarysson Guilherme
fe39ffeb7d
Add negative index to `Array.remove_at` and `Array.insert`
2025-04-08 14:55:39 -03:00
Thaddeus Crews
36991aba34
Merge pull request #104264 from YYF233333/layout/gdvirtual
...
Optimize gdvirtual function layout
2025-04-08 12:32:51 -05:00
Thaddeus Crews
80e7f1a6d7
Merge pull request #105144 from Ivorforce/file-access-crompressed-size
...
Fix `FileAccessCompressed` claiming one byte more than it actually has.
2025-04-08 12:32:49 -05:00
Thaddeus Crews
e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
...
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
Thaddeus Crews
6fe4d8d0f8
Merge pull request #104082 from YYF233333/dict_iter
...
Do not iterate `Dictionary` with `get_key_at_index`
2025-04-08 12:32:45 -05:00
Thaddeus Crews
95dc68c8c6
Merge pull request #105107 from bruvzg/min-max-flag
...
Add separate `minimize_disabled` and `maximize_disabled` window flags.
2025-04-08 12:32:44 -05:00
Thaddeus Crews
5dc7d56b92
Merge pull request #105099 from Ivorforce/object-classname-cache
...
Fix caching of objects' class name pointer in `Object` instances.
2025-04-08 12:32:40 -05:00
Pāvels Nadtočajevs
b106dfd4f9
Base accessibility API.
2025-04-08 20:14:28 +03:00
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
Alex
cd68034e01
Add configuration option to disable `Scroll Deadzone` on Android
2025-04-07 22:15:31 +02:00
Lukas Tenbrink
e7f087b91a
Fix caching of objects' class name pointer in `Object` instances.
...
Use `get_class_name` for `get_class` calls. Merge `get_parent_class_static` into `get_class_static`.
2025-04-07 21:05:21 +02:00
Pāvels Nadtočajevs
f37fb49739
Add separate `minimize_disabled` and `maximize_disabled` window flags.
2025-04-07 18:58:11 +03:00
Yufeng Ying
bbc380b07e
Do not iterate Dictionary with get_key_at_index.
2025-04-07 21:54:13 +08:00
Thaddeus Crews
0fbb22c095
Merge pull request #104432 from YYF233333/dict_iter2
...
Do not iterate `Dictionary` with `Dictionary::keys()`
2025-04-07 08:43:33 -05:00
Thaddeus Crews
45a64319e1
Merge pull request #104771 from Repiteo/ci/pre-commit-bump
...
CI: Bump various pre-commit hooks
2025-04-07 08:43:27 -05:00
Thaddeus Crews
4a3c8a5c58
Merge pull request #104897 from MewPurPur/optimize-color-from-string
...
Optimize Color.html()
2025-04-07 08:43:26 -05:00
Thaddeus Crews
b9665b9ee9
Merge pull request #104991 from nikitalita/fix_inf_neg
...
`VariantWriter::write`: fix writing negative infinity when `p_compat` is true
2025-04-07 08:43:21 -05:00
Thaddeus Crews
5edb235018
CI: Bump various pre-commit hooks
2025-04-07 08:23:35 -05:00
Thaddeus Crews
8a93218aab
Core: Natively convert enum/BitField with Variant
2025-04-05 12:35:34 -05:00
MewPurPur
45b1071e7c
Optimize Color.html()
2025-04-05 14:00:30 +03:00
Yufeng Ying
8ae16699c5
Do not use Dictionary::keys() for Dictionary iteration.
2025-04-05 18:42:13 +08:00
Thaddeus Crews
4b36c0491e
Merge pull request #105020 from YYF233333/opt_get_inheriters
...
Optimize `ClassDB::get_inheriters_from_class`
2025-04-04 17:40:59 -05:00
Thaddeus Crews
046c9f540c
Merge pull request #105030 from Ivorforce/class-is-enabled-object
...
Move `GD_IS_CLASS_ENABLED` and respective include from `class_db.h` to `object.h`, as this is where it's needed.
2025-04-04 17:40:58 -05:00
Lukas Tenbrink
aa5ca4f1a2
Move `GD_IS_CLASS_ENABLED` and respective include from `class_db.h` to `object.h`, as this is where it's needed.
2025-04-04 23:45:35 +02:00
Thaddeus Crews
78922d756a
Core: Decouple `GDCLASS` from ClassDB
2025-04-04 16:21:30 -05:00
Yufeng Ying
4029051bb1
Change ClassDB::get_inheriters_from_class.
2025-04-04 23:47:19 +08:00
Yufeng Ying
057858a0fb
Optimize gdvirtual layout.
...
Co-authored-by: David Snopek <dsnopek@gmail.com>
2025-04-04 22:54:42 +08:00
runzh-crypto
9977abd697
Validate custom directory when project is started
2025-04-04 21:21:42 +08: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
6bd249a4c2
Merge pull request #104850 from Repiteo/core/warning-macros
...
Core: Integrate warning suppression macro helpers
2025-04-03 16:50:22 -05:00
nikitalita
046651e729
`VariantWriter::write`: fix writing negative infinity when p_compat is true
2025-04-03 14:36:34 -07:00
Lukas Tenbrink
e6d166344b
Remove unused `get_inheritance_list_static` from `GDCLASS`.
2025-04-03 17:18:28 +02:00
Thaddeus Crews
207a2b6472
Core: Integrate warning suppression macro helpers
2025-04-03 10:13:46 -05:00
Thaddeus Crews
d0b3e0b474
Merge pull request #104921 from Ivorforce/no-get-valid-parents
...
Remove unused `get_valid_parents_static` functions from `GDCLASS`.
2025-04-03 09:27:54 -05:00
Thaddeus Crews
e5c5cb4ce2
Merge pull request #104906 from Daylily-Zeleen/daylily-zeleen/allow_instantiate_unexposed_editor_plugin_from_gdextension
...
Allow instantiating unexposed `EditorPlugin` from GDExtension.
2025-04-03 09:27:50 -05:00
Rémi Verschelde
35beb07eef
CryptoCore: Use size_t for buffer sizes to fix encoding/sums of 2.0+ GiB files.
...
Fixes #104949 .
2025-04-03 11:29:59 +02:00
Tom
8a3f9846c5
Add missing initializer_list constructor for TypedDictionary
2025-04-03 00:17:44 +01:00
Daylily-Zeleen
1cc879afc0
Allow instantiate unexposed EditorPlugin form GDExtension.
2025-04-02 23:52:14 +08:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
9f222d500d
Merge pull request #104375 from YYF233333/is_empty
...
Replace `size() == 0` with `is_empty()`
2025-04-02 07:37:31 -05:00
Thaddeus Crews
f25fc34439
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:29:08 -05:00
Lukas Tenbrink
be82731f99
Removed unused `get_valid_parents_static` functions from `GDCLASS`.
2025-04-02 13:50:47 +02:00
Yufeng Ying
7a1a970c25
size() <= 0 and size() < 1.
2025-04-02 19:18:44 +08:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08: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
Thaddeus Crews
92002b1c69
Merge pull request #104218 from zaevi/fix_OptimizedTranslation_hash
...
Fix hash issue with OptimizedTranslation caused by signed char
2025-04-01 19:53:37 -05:00
Thaddeus Crews
21956851ac
Merge pull request #104885 from MewPurPur/html-validation-optimization
...
Optimize Color HTML validation
2025-04-01 19:53:32 -05:00
MewPurPur
250cc58388
Optimize HTML color validation
2025-04-01 21:26:21 +03: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
Thaddeus Crews
8f6bb119f4
Merge pull request #100602 from KoBeWi/over_100_changes_in_50_random_files_aka_the_best_kind_of_PR
...
Add templated version of `ObjectDB::get_instance()`
2025-03-31 12:03:47 -05:00
Thaddeus Crews
f704113abe
Merge pull request #104649 from Ivorforce/move-semantics-ref-array-dict
...
Add move semantics to `Ref`
2025-03-31 12:03:44 -05:00
Thaddeus Crews
64f80ca0e9
Merge pull request #104810 from kiroxas/utf8_cleanup
...
Replace `append_utfx` with direct `String::utfx`
2025-03-31 12:03:44 -05: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
Aaron Franke
c1acc839a8
Directly use segment points in Geometry2D/3D function parameters
2025-03-30 16:25:59 -07:00
Kiro
23129a66ed
Replace append_utfx with direct String::utfx
2025-03-30 19:56:38 +02:00
Thaddeus Crews
3b1a481f13
Merge pull request #97843 from detomon/optimize-a-star-grid-2d-solve
...
Reduce allocations when solving path in `AStarGrid2D`
2025-03-30 09:06:02 -05:00
Thaddeus Crews
6fed7a3000
Merge pull request #104745 from BlueCube3310/rgb565-typo-fix
...
Image: Fix typo at `_set_color_at_ofs` with `FORMAT_RGB565`
2025-03-30 09:06:01 -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
Cyril B.
de5c1f9707
Add missing / for center tag in __print_line_rich
2025-03-29 20:21:31 +01:00
BlueCube3310
647b99c6d0
Image: Fix typo at `_set_color_at_ofs` with `FORMAT_RGB565`
2025-03-29 17:51:31 +01:00
Thaddeus Crews
152c14b053
Merge pull request #104597 from bruvzg/path_check
...
Implement `DirAccess.is_equivalent` method.
2025-03-29 10:16:34 -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
Thaddeus Crews
6bab3c07fc
Merge pull request #104746 from zaevi/fix_color_html
...
Fix reversed hex order in `Color::to_html`
2025-03-29 10:16:32 -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
Zae
e7f7823236
Fix reversed hex order in `Color::to_html`
2025-03-29 06:06:09 +08:00
BlueCube3310
dd47d9173e
Image: Improve `is_invisible` function
2025-03-28 22:42:37 +01:00
Rémi Verschelde
afc7398c2b
Merge pull request #104616 from ibrahn/init-cmd-q-pending-and-gles3-skymatdata
...
Fix uninitialized member vars in CommandQueueMT and RasterizerSceneGLES3
2025-03-28 17:30:37 +01:00
Rémi Verschelde
e3063f5675
Merge pull request #104590 from bruvzg/tex_decomp_load
...
Load decompressable texture format if no supported one is found.
2025-03-28 17:30:28 +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
be1333dc0a
Merge pull request #97002 from bruvzg/mbchar_iconv
...
Add methods to decode/encode multibyte encodings.
2025-03-28 17:29:47 +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
bruvzg
48bfe13e4f
Add methods to decode/encode multibyte encodings.
2025-03-28 17:32:34 +02:00
Michael Alexsander
5ad414d046
Allow to compile templates without physics servers
2025-03-28 11:00:44 -03:00
Rémi Verschelde
3fe69cdf74
Merge pull request #104698 from bruvzg/loc_dir
...
Fix editor layout direction change on translation change.
2025-03-28 14:34:52 +01:00
Rémi Verschelde
4a31936bc1
Merge pull request #104693 from mihe/local-vector-move
...
Optimize `LocalVector::push_back` for non-trivial objects
2025-03-28 14:34:49 +01:00
Rémi Verschelde
d8a81e416e
Merge pull request #104668 from monxa/redundant-lock-declaration
...
Remove redundant `ClassDB::locker` declaration
2025-03-28 14:33:45 +01:00
Rémi Verschelde
10799d0b44
Merge pull request #104389 from Ivorforce/color-string-append
...
Optimize `Color::to_html` by allocating less.
2025-03-28 14:32:54 +01: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
Rémi Verschelde
d01ffe4ad2
Merge pull request #103708 from Ivorforce/linear-casts-fast-virtual-casts-bad
...
Optimize `Object::cast_to` by assuming no virtual and multiple inheritance, gaining 7x throughput over `dynamic_cast`.
2025-03-28 14:32:04 +01:00
Rémi Verschelde
666edb3f76
Merge pull request #102440 from dsnopek/classdb-cannot-instantiate-unexposed-classes
...
Prevent instantiating classes that aren't exposed
2025-03-28 14:31:46 +01:00
Rémi Verschelde
e81eb3f1e9
Merge pull request #102354 from YYF233333/style_iterator
...
Use iterator pattern instead of manually traverse `List::Element *`
2025-03-28 14:31:40 +01:00
Rémi Verschelde
4e1e99142d
Merge pull request #102126 from Ivorforce/optimize-get_setting_with_override
...
Optimize `ProjectSettings::get_setting_with_override` / `GLOBAL_GET` by avoiding repeated dict lookups.
2025-03-28 14:31:36 +01:00
Rémi Verschelde
17a8f58a51
Merge pull request #100754 from BlueCube3310/image-cleanup-v4
...
Image: Remove references to defunct `FORMAT_CUSTOM`
2025-03-28 14:31:27 +01:00
Rémi Verschelde
ecda77959c
Merge pull request #99590 from Calinou/version-double-build-name
...
Add `double` to the version full build string when using a double-precision build
2025-03-28 14:31:23 +01:00
Yyf2333
22b5ec17fb
Using iterator pattern instead of List::Element *.
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Lukas Tenbrink
ffa6ef220b
Use `append_` instead of `parse_` for `String` methods.
2025-03-27 17:51:02 +01:00
Pāvels Nadtočajevs
c3921954f2
Fix editor layout direction change on translation change.
2025-03-27 17:35:21 +02:00
kobewi
bc9d0c7835
Add templated version of ObjectDB::get_instance()
2025-03-27 15:43:23 +01:00
Lukas Tenbrink
dd9dc75a83
Optimize `Object::cast_to` by assuming no virtual and multiple inheritance, gaining 8x throughput over `dynamic_cast`.
...
Add `-Wvirtual-inheritance` to compiler warnings as a sanity check.
2025-03-27 15:39:53 +01:00
Mikael Hermansson
5c5b9847da
Optimize `LocalVector::push_back` for non-trivial objects
2025-03-27 14:22:30 +01:00
BlueCube3310
649fa630a7
Image: Remove references to defunct `FORMAT_CUSTOM`
2025-03-26 21:37:26 +01:00
Alexander Montag
b79a6ca3e7
Remove redundant ClassDB::locker declaration
2025-03-26 21:14:11 +01:00
kobewi
75881f8322
Use initializer list in Arrays
2025-03-26 18:38:15 +01:00
Lukas Tenbrink
28d6cf859a
Add move semantics to `Ref`.
2025-03-26 15:23:38 +01:00
Ibrahn Sahir
c9352f06f7
Fix uninitialised member vars in CommandQueueMT and RasterizerSceneGLES3
2025-03-25 17:19:16 +00:00
Pāvels Nadtočajevs
d5cea9bb2e
Implement `DirAccess.is_equivalent` method.
2025-03-25 17:52:15 +02:00
Pedro J. Estébanez
2d885a3163
Sanitize ClassDB locking
2025-03-25 16:50:46 +01:00
Pāvels Nadtočajevs
b384de9013
Load decompressable texture format is no supported one found.
2025-03-25 09:46:19 +02:00
Thaddeus Crews
8f16b86d7e
Core: Include `intrin.h` for MSVC
2025-03-24 15:19:49 -05:00
Thaddeus Crews
7fed5f29ed
Merge pull request #99826 from kiroxas/improveParseUTF8Performance
...
Improve `parse_utf8` performance
2025-03-24 10:00:55 -05:00
Thaddeus Crews
1cb3cfaa8e
Style: Convert namespaces to PascalCase
2025-03-23 19:10:24 -05:00
Thaddeus Crews
8f331ebd9c
Merge pull request #103099 from YeldhamDev/build_res_loader_disable
...
Disable `ResourceFormatLoader/Saver`s of disabled classes
2025-03-23 19:04:01 -05:00
Thaddeus Crews
325c698331
Merge pull request #103647 from aaronp64/dictionary_multiple_lookup
...
Avoid multiple lookups in `Dictionary::operator[]`
2025-03-23 19:04:00 -05:00
Thaddeus Crews
4c9086312d
Merge pull request #103698 from AThousandShips/fix_a_hash_map_construct
...
[Core] Fix `AHashMap` constructors reserving too few elements
2025-03-23 19:03:59 -05:00
Thaddeus Crews
2eec0fc526
Merge pull request #94441 from Repiteo/core/math-namespace
...
Core: Convert `Math` class to namespace
2025-03-23 19:03:55 -05:00
Thaddeus Crews
fd45f42464
Merge pull request #101361 from Repiteo/core/isolate-ref-logic
...
Core: Isolate `Ref` forward declare logic
2025-03-23 19:03:54 -05:00
Thaddeus Crews
d9ef361d12
Core: Isolate `Ref` forward declare logic
2025-03-23 08:22:00 -05:00
Thaddeus Crews
f09ee0171a
Style: Begin integrating simple `.clangd` fixes
2025-03-22 13:24:35 -05:00
Hugo Locurcio
2044bd898a
Add `double` to the version full build string when using a double-precision build
...
This means that `double` is now visible in the command line startup version,
project manager, editor About dialog and at the bottom of the editor.
This is because double-precision mode has a significant impact on how the
editor and projects run.
Similar to `mono` for C# builds, this affects which export templates the editor
looks for, since it needs a different set of export templates.
The export templates manager now indicates that no official double-precision export
template downloads are currently available (although the `dev` status message
takes priority over it).
2025-03-22 19:02:15 +01:00
Michael Alexsander
090358afcf
Disable `ResourceFormatLoader/Saver`s of disabled classes
2025-03-21 14:23:05 -03:00
Thaddeus Crews
581d675eeb
Core: Convert `Math` class to namespace
2025-03-21 10:29:18 -05:00
Rémi Verschelde
3f14e6a1b7
Merge pull request #104374 from aaronp64/array_swap_move
...
Optimize `Array` methods with `SWAP`/`std::move`
2025-03-21 13:04:04 +01:00
Rémi Verschelde
96a5d62507
Merge pull request #104355 from YYF233333/hashmap_iter
...
Optimize `ClassDB::get_direct_inheriters_from_class`
2025-03-21 13:03:53 +01:00
Rémi Verschelde
1f682b6554
Merge pull request #104237 from Ivorforce/optimize-thread-pool-waiting
...
Optimize thread pools by avoiding needless locks and unlocks of the `task_mutex`.
2025-03-21 13:03:37 +01:00
Rémi Verschelde
3ceb84f5b2
Merge pull request #104155 from bleikerja/utf8_to_base64_empty_string_fix
...
Fix `Marshalls.utf8_to_base64` shows `"ret.is_empty()" is true` error for empty string
2025-03-21 13:03:28 +01:00
kobewi
602806101c
Improve error messages for add_property_info()
2025-03-20 22:39:09 +01:00
Pāvels Nadtočajevs
abe413ff8c
Fix icons with non-ASCII file names in project manager.
2025-03-20 16:33:01 +02:00
Lukas Tenbrink
143f8e933e
Optimize `Color::to_html` by allocating less.
2025-03-20 13:42:03 +01: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
aaronp64
3eb4e6c6ff
Optimize Array methods with SWAP/std::move
...
Updated Array::shuffle() to use SWAP instead of copying through temporary variables, which makes shuffling simple types around 2x faster, and refcounted object types around 20x faster.
Also updated multiple methods that insert into/modify the array to move their validated Variant to avoid an extra copy, speed increase varies depending on type and how much else the methods are doing, usually around 5-10% faster.
2025-03-19 12:17:14 -04:00
Yufeng Ying
c37c92b450
Optimize ClassDB::get_direct_inheriters_from_class.
...
Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2025-03-19 23:26:46 +08:00
kobewi
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00
Rémi Verschelde
64bd03269f
Merge pull request #104286 from Ivorforce/localvector-find
...
Harmonize `String`, `Vector` and `LocalVector` `find` and `rfind`.
2025-03-19 12:27:27 +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
65161977e9
Merge pull request #103415 from bruvzg/iv_pools
...
Use single RNG instance for `FileAccessEncrypted` IV generation.
2025-03-19 12:26:38 +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
fdbf6ecc9f
Merge pull request #98408 from rune-scape/stringlikevariantorder-in-place
...
StringLikeVariantOrder: Compare in-place
2025-03-18 14:42:58 -05:00
Thaddeus Crews
5c90aad2d9
Merge pull request #101964 from YYF233333/opt_for_size
...
Don't inline certain functions for smaller binary size
2025-03-18 14:42:37 -05:00
Thaddeus Crews
c8a94993bf
Merge pull request #103961 from bruvzg/win_pos_sync
...
Sync `display/window/size/initial_position_type` and `Window::WINDOW_INITIAL_POSITION_` enum.
2025-03-18 14:42:33 -05:00
rune-scape
0c7d78f455
StringLikeVariantOrder: Compare in-place
2025-03-18 11:21:30 -07:00
Yyf2333
b28d6d1fa3
Don't inline certain functions for smaller binary size.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-03-18 21:40:25 +08:00
Lukas Tenbrink
fde71e0382
Harmonize `String`, `Vector` and `LocalVector` `find` and `rfind`.
...
Use `Span::find` for `LocalVector::find`, accepting negative `p_from`.
Return `-1` for invalid `p_from` values in `rfind`.
Accept negative values for `p_from` in `find`, starting from the back.
2025-03-18 12:37:36 +01:00
Thaddeus Crews
85258ec1a5
Merge pull request #102662 from groud/chunk_tilemap_physics
...
Chunk tilemap physics
2025-03-17 16:03:29 -05:00
Thaddeus Crews
1b631edf67
Merge pull request #104129 from dsnopek/gdextension-get-used-classes
...
GDExtension: Add mechanism to get which classes an extension is using
2025-03-17 16:03:27 -05:00
Thaddeus Crews
f98cddfc71
Merge pull request #101994 from fire/vsk-save-dds-4.4
...
Add DDS image load and save functionality
2025-03-17 16:03:26 -05:00
Thaddeus Crews
bb60b05ca4
Merge pull request #104182 from Ivorforce/small-little-string-function
...
Add missing `String + char *` function, to avoid unnecessary right side allocation to `String`.
2025-03-17 16:03:25 -05:00
Thaddeus Crews
06f0c6369e
Merge pull request #104273 from Ivorforce/fabs-absf
...
Simplify and optimize `Math::absf` implementation to use `::fabs` and `::fabsf`.
2025-03-17 16:03:24 -05:00
Thaddeus Crews
5750d4feca
Merge pull request #104183 from Repiteo/core/zero-constructible-expanded
...
Core: Expand `is_zero_constructible` coverage
2025-03-17 16:03:22 -05:00
David Snopek
2dff9fef37
GDExtension: Add mechanism to get which classes an extension is using
2025-03-17 15:27:14 -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
Thaddeus Crews
4320800621
Core: Expand `is_zero_constructible` coverage
2025-03-17 11:45:26 -05:00
Lukas Tenbrink
8c14766597
Add missing `String + char *` function, to avoid unnecessary right side allocation to `String`.
2025-03-17 17:31:35 +01:00
Thaddeus Crews
b1d13c5173
Merge pull request #103932 from Ivorforce/span-algorithms-header
...
Move `CowData` `find`, `rfind` and `count` to `Span`
2025-03-17 10:52:18 -05:00
Thaddeus Crews
82f284d9fe
Merge pull request #104187 from Ivorforce/file-access-compressed-memcpy
...
Optimize `FileAccessCompressed::get_buffer` by using `memcpy`.
2025-03-17 10:52:16 -05:00
Lukas Tenbrink
24c11dea16
Simplify and optimize `absf` implementation to use `std::fabs`.
2025-03-17 14:50:15 +01:00
Lukas Tenbrink
a9745aac5c
Optimize reverb by removing stray `volatile` from the `undenormalize` function signature.
2025-03-16 15:50:50 +01:00
Lukas Tenbrink
9d30732c5b
Optimize thread pools by avoiding needless locks and unlocks of the `task_mutex`.
2025-03-16 15:33:55 +01:00
Lukas Tenbrink
b67e213b16
Optimize `FileAccessCompressed::get_buffer` by using `memcpy`.
2025-03-16 12:22:06 +01:00
Zae
0013d30c92
Fix hash issue with OptimizedTranslation caused by signed char
2025-03-16 15:21:06 +08:00
Lukas Tenbrink
49e860159a
Move `CowData` `find`, `rfind` and `count` to `Span`.
2025-03-16 03:31:11 +01:00
Lukas Tenbrink
b4f6663afa
Recycle `zstd` decompression context if possible, avoiding repeated allocations.
2025-03-15 15:39:18 +01: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
bleikerja
e6a8c4b43f
Fix Marshalls.utf8_to_base64 shows 'ret.is_empty() is true' error for empty String
2025-03-15 10:31:24 +01:00
K. S. Ernest (iFire) Lee
69b281295c
Add DDS image load and save functionality
...
Save and load DDS from Image class.
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2025-03-14 19:31:43 -07: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
1700a84275
Merge pull request #104049 from Ivorforce/string-dedup-char32
...
De-duplicate `String` single-char constructor
2025-03-14 10:06:12 -05:00
Thaddeus Crews
cf4ebb63a0
Merge pull request #104109 from Ivorforce/resize-zeroed
...
Use `resize_zeroed` instead of `resize` then `fill(0)` in several places.
2025-03-14 10:06:10 -05:00
Thaddeus Crews
4292f2464c
Merge pull request #104113 from aaronfranke/projection-construct
...
Add missing Projection constructor with 16 `real_t` values
2025-03-14 10:06:07 -05:00
Lukas Tenbrink
f4de2cd22a
Use `resize_zeroed` instead of `resize` then `fill(0)` in several places.
2025-03-14 12:09:39 +01:00
Aaron Franke
ced61da848
Add missing Projection constructor with 16 real_t values
2025-03-14 02:57:19 -07:00
Lukas Tenbrink
6759d3b812
Fix "Unicode parsing error" spam when opening editor.
2025-03-14 08:32:26 +01:00
Rémi Verschelde
6ed10dee37
Merge pull request #104060 from bruvzg/resloader_ids
...
Fix `Invalid Task ID` errors in `ResourceLoader`.
2025-03-14 00:08:59 +01:00
Rémi Verschelde
d912dcc26c
Merge pull request #104013 from bruvzg/rload_nowait
...
[ResourceLoader] Do not wait for the main thread during initial reimport.
2025-03-14 00:08:53 +01:00
Rémi Verschelde
e281a9ace2
Merge pull request #102650 from bruvzg/emit_changed_spam
...
Prevent `changed` signal spam on resource reload.
2025-03-14 00:07:59 +01:00
Lukas Tenbrink
626ff950fb
Deduplicate `string::parse_utf32(char32_t)` in favor of just using the `Span` based function.
2025-03-13 15:11:55 +01:00
Thaddeus Crews
c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
...
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 -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
7f6a9380a0
Merge pull request #103999 from YYF233333/unneeded_array_read_only
...
Remove unneeded `read_only` check for `Array` const operator
2025-03-13 08:57:22 -05:00
Thaddeus Crews
e97bb76142
Merge pull request #100314 from Ivorforce/use-string-chr
...
Optimize `String::chr` to avoid calling `strlen`. Use `String::chr` instead of `String(&chr, 1)` where appropriate.
2025-03-13 08:57:20 -05:00
Pāvels Nadtočajevs
d1b63ae16c
Fix `Invalid Task ID` errors in `ResourceLoader`.
2025-03-13 08:41:53 +02:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
kobewi
7d82704f12
Allow to ignore debugger error breaks
2025-03-12 19:05:57 +01: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
74907876d3
Merge pull request #103759 from Ivorforce/zero-constructible
...
Optimize `Array.resize` by using `memset` (through new `is_zero_constructible` type trait)
2025-03-12 10:31:55 -05:00
Thaddeus Crews
19057494db
Merge pull request #100238 from Ivorforce/copy-from-unchecked-unchecked
...
Optimize String `copy_from_unchecked` to actually not check the string.
2025-03-12 10:31:54 -05:00
Thaddeus Crews
3fc5390c8b
Merge pull request #103924 from Ivorforce/span-iteration
...
Add iteration to `Span`.
2025-03-12 10:31:53 -05:00
Lukas Tenbrink
75bc471965
Add `is_zero_constructible` to denote if a type can be semi-trivially constructed with all 0 bytes.
...
Optimize `CowData` and `LocalVector` resize for zero constructible types.
Mark several compatible types as `is_zero_constructible`.
2025-03-12 09:49:24 +01:00
Pāvels Nadtočajevs
16865b6917
[ResourceLoader] Do not wait for the main thread during initial reimport.
2025-03-12 09:18:39 +02:00
Thaddeus Crews
70d7a77a9a
Merge pull request #98653 from Repiteo/scons/pretty-builders
...
SCons: Make builders prettier, utilize `constexpr`
2025-03-11 19:54:47 -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
Thaddeus Crews
19882339f4
Merge pull request #99374 from FeniXb3/colorpicker-picker-shape-accessibility
...
Improve ColorPicker picker shape keyboard and joypad accessibility
2025-03-11 19:54:32 -05:00
Thaddeus Crews
be429eb404
SCons: Make builders prettier, utilize `constexpr`
2025-03-11 18:31:20 -05:00
Yufeng Ying
883ca56517
Remove unneeded read_only check for Array const operator.
2025-03-12 07:22:42 +08:00
Lukas Tenbrink
55a7de93c7
Add iteration to `Span`.
2025-03-11 23:46:25 +01:00
Thaddeus Crews
7893202fba
Merge pull request #103939 from aaronp64/time_vformat
...
Remove outdated `vformat` comments/workarounds in `time.cpp`
2025-03-11 16:54:09 -05:00
Thaddeus Crews
69529ff0aa
Merge pull request #102373 from dsnopek/gdextension-set-script-instance
...
GDExtension: Add interface functions for `Object::set_script_instance()`
2025-03-11 16:53:57 -05:00
Konrad Gadzina
e6f812c056
Modify color in ColorPicker with keyboard or joypad
2025-03-11 22:41:41 +01:00
Thaddeus Crews
e9e4760335
Merge pull request #83538 from bruvzg/size_and_at
...
[FileAccess] Implement `get_size` and `get_access_time` methods.
2025-03-11 14:00:58 -05:00
Michael Alexsander
5c66129e62
Allow to select multiple remote nodes at runtime
2025-03-11 12:35:41 -03:00
Thaddeus Crews
56bc9bc2f4
Merge pull request #102984 from syntaxerror247/volume-buttons
...
Android: enable support for volume button events
2025-03-11 09:34:46 -05:00
Lukas Tenbrink
541e721cac
Change String copy_from_unchecked to actually not check the string, leading to performance optimizations across substr, count, and StringBuilder.
2025-03-11 13:47:47 +01:00
aaronp64
a7d0724b1a
Remove outdated vformat comments/workarounds in Time.cpp
...
Time methods returning Strings with both date and time values included were calling vformat twice, as older vformat implementation limited how many arguments could be passed in. Updated these methods to just call vformat once.
2025-03-11 06:57:30 -04:00
Pāvels Nadtočajevs
d990f594a0
Sync `display/window/size/initial_position_type` and `Window::WINDOW_INITIAL_POSITION_` enum.
2025-03-11 08:33:02 +02:00
Julian
659d1b5d0c
Fix crash caused by trailing spaces
2025-03-11 00:06:08 -04:00
Thaddeus Crews
78c9f8ddd9
Merge pull request #103906 from adamscott/revert-builtin-gui-license-notice
...
Revert "Add built-in GUI to display license notices"
2025-03-10 21:05:58 -05:00
Thaddeus Crews
b404c5d98f
Merge pull request #103936 from Ivorforce/localvector-span
...
Add `Span` conversion to `LocalVector`.
2025-03-10 21:05:53 -05:00
Lukas Tenbrink
f5cb739a18
Add `Span` conversion to `LocalVector`.
2025-03-10 22:30:39 +01:00
Lukas Tenbrink
1818453faa
Make use of `latin1` encoding explicit in `gdextension_interface.cpp`.
2025-03-10 19:33:56 +01:00
Thaddeus Crews
7d46e7d011
Merge pull request #98379 from timothyqiu/alien-thread
...
Translate main thread name in the editor instead of running project
2025-03-10 10:01:11 -05:00
Thaddeus Crews
bea6d4c71d
Merge pull request #103577 from YYF233333/noinline-err-print
...
Prevent inlining error printing functions
2025-03-10 10:01:08 -05:00
Thaddeus Crews
dae32f8ec6
Merge pull request #92737 from AThousandShips/packed_erase
...
[Core] Expose `Packed*Array::erase`
2025-03-10 10:01:06 -05:00
Thaddeus Crews
a13067e61f
Merge pull request #97553 from AThousandShips/semantic_equal
...
[Core] Add `is_same` to types that have float components
2025-03-10 10:01:05 -05: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
Adam Scott
1d325847f3
Revert "Add built-in GUI to display license notices"
...
This reverts commit daa6198925 .
2025-03-10 10:33:12 -04: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
bruvzg
85d3be8070
[FileAccess] Implement `get_size` and `get_access_time` methods.
2025-03-09 16:07:00 +02:00
Thaddeus Crews
cae3d722a3
Merge pull request #99321 from AThousandShips/use_get_slicec
...
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-09 09:05:29 -05:00
Thaddeus Crews
3a0b8da168
Merge pull request #101304 from Ivorforce/string-parse-ascii
...
Add `String::ascii` creator functions, to parse a char buffer as ASCII.
2025-03-09 09:05:28 -05: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
Lukas Tenbrink
b6cfcdeab5
Add `String::ascii` creator functions, to parse a char buffer as ASCII.
...
The function will log errors if any characters above value 127 are found.
2025-03-08 00:01:27 +01:00
Thaddeus Crews
a5dbf3bd49
Merge pull request #103199 from raulsntos/gdextension/version+status
...
GDExtension: Add `status` to `get_godot_version`
2025-03-07 15:12:53 -06:00
Thaddeus Crews
f8ca861e25
Merge pull request #103137 from dsnopek/extension-api-precision
...
GDExtension: Include precision in `extension_api.json`
2025-03-07 15:12:47 -06:00
Thaddeus Crews
3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
...
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews
bb8ef4e052
Merge pull request #101878 from Chubercik/automate_char_range
...
Core: Automate generation of the `char_range.inc` file
2025-03-07 15:12:31 -06:00
Thaddeus Crews
0c6efe572e
Merge pull request #79599 from Calinou/add-license-notices-gui
...
Add built-in GUI to display license notices
2025-03-07 15:12:29 -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
d9125ebebe
Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
...
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 -06:00
Thaddeus Crews
9c07d31fbb
Merge pull request #101618 from aaronfranke/var-parser-neg-ident
...
VariantParser: Fix reading negated identifiers, replace `inf_neg` with `-inf`
2025-03-07 12:06:35 -06:00
A Thousand Ships
5113022dfe
Clean up some uses of `String::substr`
...
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Haoyu Qiu
513dbff72b
Translate main thread name in the editor instead of running project
2025-03-07 19:06:54 +08: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
Thaddeus Crews
c838fe27cd
Merge pull request #99059 from MarcusPaulsson/issue_branch_2
...
Fix String::is_valid_hex_number
2025-03-06 16:36:17 -06:00
Florent Guiocheau
1d416fc2ba
Simplify and fix `Projection`'s getter functions
2025-03-06 16:48:01 +01:00
A Thousand Ships
fad8134dca
[Core] Fix `AHashMap` constructors reserving too few elements
2025-03-06 15:28:37 +01:00
kobewi
c6c1a49bea
Don't edit objects when loading folding
2025-03-06 15:04:00 +01:00
Thaddeus Crews
e6cb2e83b0
Merge pull request #103619 from bruvzg/stdio_binds
...
Add missing default values to the `read_*_from_stdin` binds.
2025-03-05 12:08:09 -06:00
Thaddeus Crews
6cc46e7a38
Merge pull request #103465 from Hot-key/fix-callable-get-argument-count-crash
...
Fix crash when calling `get_argument_count()` on Callable with freed object
2025-03-05 12:07:38 -06:00
Thaddeus Crews
eda3467b6f
Merge pull request #103560 from bruvzg/rd_helper_l
...
[Linux/BSD] Offload RenderingDevice creation test to subprocess.
2025-03-05 12:07:37 -06:00
aaronp64
7007380d0c
Avoid multiple lookups in Dictionary::operator[]
...
Updated Dictionary::operator[] to get reference to value once to avoid multiple HashMap lookups.
2025-03-05 13:07:30 -05:00
Pāvels Nadtočajevs
ff118b63e2
Add missing default values to the `read_*_from_stdin` binds.
2025-03-05 10:23:31 +02:00
Yyf2333
e972ff27f3
Prevent inline error printing functions.
2025-03-05 03:31:07 +08:00
Pāvels Nadtočajevs
6ed12bfc5d
[Linux/BSD] Offload RenderingDevice creation test to subprocess.
2025-03-04 13:18:26 +02:00
Hotkey
7bc030172e
Fix crash when calling get_argument_count() on invalid Callable
...
https://github.com/godotengine/godot/issues/103438
2025-03-04 13:32:34 +09:00
Pāvels Nadtočajevs
53bb897458
Use separate WorkThreadPool for shader compiler.
2025-03-03 22:28:39 +02:00
Pāvels Nadtočajevs
cf18cf1630
Use single RNG instance for `FileAccessEncrypted` IV generation.
2025-03-01 00:02:42 +02:00
Anish Mishra
5ce16dfc69
Android: enable support for volume button events
...
- Enable events KEY_VOLUMEUP and KEY_VOLUMEDOWN on Android.
- Adds a project setting to override volume buttons. It would disable system volume changes when the buttons are used within the project.
2025-02-28 09:47:22 +05:30
Rémi Verschelde
c01b9de703
Merge pull request #103364 from akien-mga/input-deadzone-ui-0.5
...
Input: Change default deadzone back to 0.5 for `ui_*` actions and axis `pressed` state
2025-02-27 22:17:01 +01:00
Rémi Verschelde
672fe2487f
Input: Change default deadzone back to 0.5 for `ui_*` actions and axis `pressed` state
...
Fixes #103360 .
Partial revert of changes in #97281 and #99135 .
2025-02-27 17:30:48 +01:00
Pāvels Nadtočajevs
f9c7d348c3
Add bound checks to `Array`/`Packed*Array` variant call `get` and `set` methods.
2025-02-27 17:54:40 +02:00
Rémi Verschelde
01545c995b
Merge pull request #103298 from bruvzg/comque_race
...
Use atomic flag to prevent `flush_if_pending` from reading unlocked `command_mem`.
2025-02-26 00:27:55 +01:00
David Snopek
e0370b9596
Bind new core `METHOD_FLAG_VIRTUAL_REQUIRED` bitfield
2025-02-25 16:46:50 -06:00
Pāvels Nadtočajevs
bdb5d522d1
Use atomic flag to prevent `flush_if_pending` from reading unlocked `command_mem`.
2025-02-25 23:26:43 +02:00
Max Hilbrunner
3275116304
Rename "file" param for str.path_join() to "path"
2025-02-25 15:58:33 +01:00
Pāvels Nadtočajevs
ab717497ef
[Windows] Offload `RenderingDevice` creation test to subprocess.
2025-02-24 19:40:10 +02:00
Raul Santos
05ffa218f3
GDExtension: Add all `Engine.get_version_info` fields to `get_godot_version`
...
Added in a new `get_godot_version2` function with a new
`GDExtensionGodotVersion2` to avoid breaking compatibility.
2025-02-24 17:37:27 +01:00
David Snopek
bd962dd2c4
GDExtension: Include precision in `extension_api.json`
2025-02-21 13:55:45 -06:00
Anish Mishra
93bababb8c
Android: Inform that sensors must be enabled in ProjectSettings
2025-02-21 23:04:01 +05:30
erodozer
e48fea73e6
Support multi part extensions in import plugins
2025-02-18 13:19:05 -05:00
Thaddeus Crews
24dccd40c1
Merge pull request #99479 from Sauermann/fix-remove-project-conversion
...
Remove temporary project conversion
2025-02-18 07:55:56 -06:00
Pāvels Nadtočajevs
9ae5f09c20
Fix editor UI showing empty string for unknown locales.
2025-02-13 08:07:26 +02:00
Thaddeus Crews
78f1918bd4
Merge pull request #102668 from jkirsteins/janiskirsteins/ios-aspect-fill-splash
...
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 12:56:26 -06:00
Jānis Kiršteins
0e266b0099
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 17:41:18 +01:00
Aaron Franke
4d75c92225
VariantParser: Fix reading negated identifiers, replace `inf_neg` with `-inf`
2025-02-12 02:40:38 -08:00
Jordyfel
e9703ee1aa
Improve documentation of some Resource methods
2025-02-11 21:55:20 +02:00
Gilles Roudière
4765bc883c
Chunk tilemap physics
2025-02-11 16:28:58 +01:00
Thaddeus Crews
a0f10a28a6
Merge pull request #100933 from Synzorasize/fix_100889
...
Fix parsing Resource type as value type of a Dictionary
2025-02-11 09:13:18 -06:00
Pāvels Nadtočajevs
da767ebfa2
Prevent `changed` signal spam on resource reload.
2025-02-11 15:22:49 +02:00
Rémi Verschelde
62d22ffa6b
Merge pull request #98216 from pafuent/fixing_log_rotation
...
Fix file logging log rotation
2025-02-11 10:54:01 +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
Rémi Verschelde
261e7d32d3
Merge pull request #102649 from bruvzg/fb_loc
...
Use fallback locale from project settings instead of hardcoded "en" for TextServer.
2025-02-10 10:50:02 +01:00
Pāvels Nadtočajevs
e9fd760357
Use fallback locale from project settings instead of hardcoded "en" for TextServer.
2025-02-10 08:55:50 +02:00
Hilderin
9457666bba
Fix accessing UID before first scan
2025-02-08 20:04:32 -05: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
Pāvels Nadtočajevs
1bc86c2626
Fix `PackedStringArray.to_byte_array()` to return UTF-8 encoded data instead of pointers.
2025-02-07 10:19:32 +02:00
Rémi Verschelde
161abe7bdd
Merge pull request #102489 from KoBeWi/uid_file_factory_regulations
...
Improve UID file creation condition
2025-02-07 01:39:55 +01:00
kobewi
65509ae4ff
Improve UID file creation condition
2025-02-06 17:08:00 +01:00
bruvzg
a6ff518763
Add ZWSP to the list of space characters.
2025-02-06 10:31:32 +02: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
David Snopek
be81b0685f
Prevent instantiating classes that aren't exposed
2025-02-04 17:09:37 -06:00
David Snopek
7095431aa7
GDExtension: Add interface functions for `Object::set_script_instance()`
2025-02-04 14:47:06 -06:00
Thaddeus Crews
acddf31c39
Merge pull request #101489 from RandomShaper/optimize_classnames_enumeration
...
Optimize classnames enumeration
2025-02-04 09:03:59 -06:00
A Thousand Ships
e825085978
[Core] Add `is_same` to types that have float components
...
Compares `NaN` as equal.
Added to:
* `AABB`
* `Basis`
* `Color`
* `Plane`
* `Projection`
* `Quaternion`
* `Rect2`
* `Transform2D`
* `Transform3D`
* `Vector2`
* `Vector3`
* `Vector4`
And added as a method in `Math`
2025-02-03 19:25:50 +01:00
A Thousand Ships
46b6acdabb
[Core] Expose `Packed*Array::erase`
2025-02-03 19:25:09 +01:00
Pāvels Nadtočajevs
e6e108d091
Implement `get_length()` for pipes.
2025-02-03 16:50:00 +02:00
Thaddeus Crews
4fcd9598de
Merge pull request #102144 from Cwazywierdo/get-euler-epsilon
...
Core: Fix `Basis::get_euler` incorrectly simplifying rotations in some cases.
2025-02-03 08:15:42 -06:00
Thaddeus Crews
699237d243
Merge pull request #102131 from dsnopek/classdb-bind-method-custom-leak
...
Fix memory leak when `ClassDB::bind_method_custom()` fails
2025-01-30 11:39:04 -06:00
lawnjelly
5c6d7bfb98
Change `VariantUtility` to prevent undef `print_verbose`
...
Changes the `VariantUtility` function from `print_verbose` to `_print_verbose`, eliminating the need for undefining the `print_verbose` macro, which caused compilation problems.
2025-01-30 10:29:11 +00:00
Thaddeus Crews
424487869e
Merge pull request #90726 from Chubercik/ucaps-exorcism
...
Update `ucaps.h` to contain proper case matchings
2025-01-29 17:45:14 -06:00
Adam
d56cbd374b
Fix `Basis::get_euler` incorrectly simplifying rotations in some cases.
2025-01-29 16:13:29 -06:00
Lukas Tenbrink
60443b1ae6
Optimize `ProjectSettings::get_setting_with_override` / `GLOBAL_GET` by avoiding repeated dict lookups.
2025-01-29 14:11:15 +01:00
Jakub Marcowski
104857687c
Update `ucaps.h` to contain proper case matchings
2025-01-29 12:37:33 +01:00
Pedro J. Estébanez
318af42020
Include more attributes in the global class names cache
2025-01-29 09:39:50 +01:00
Thaddeus Crews
3c80c14092
Merge pull request #101924 from adamscott/game-editor-non-cached-mouse-mode
...
Delegate handling `mouse_mode` to the `DisplayServer`
2025-01-28 16:08:56 -06:00
David Snopek
e904c0c014
Fix memory leak when `ClassDB::bind_method_custom()` fails
2025-01-28 11:10:35 -06:00
Adam Scott
47f553ae0b
Delegate to the DisplayServer the task of handling mouse_mode
...
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 -05:00
Thaddeus Crews
1aed2f577e
Merge pull request #100904 from kiroxas/fixVariantMSVCWorkaround
...
Fix MSVC Variant Workaround
2025-01-28 09:03:33 -06:00
Hugo Locurcio
daa6198925
Add built-in GUI to display license notices
...
Press Ctrl/Cmd + Shift + L (`ui_toggle_licenses_dialog` built-in action)
to show/hide the notices dialog.
The dialog can be shown via script using
`SceneTree.licenses_dialog_visible = true|false`.
Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
2025-01-27 18:35:04 +01:00
Jakub Marcowski
10485764a7
Automate generation of the `char_range.inc` file
...
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2025-01-23 19:25:59 +01:00
Thaddeus Crews
376b1c9de9
Merge pull request #101752 from MTareqAzim/fix-resource-loader-cache-uid
...
Fix ResourceLoader.has_cached() and ResourceLoader.get_cached_ref() not handling UIDs.
2025-01-22 16:32:24 -06:00
Tareq Anuar
9014cdb596
Fix ResourceLoader.has_cached() and ResourceLoader.get_cached_ref() not handling UIDs.
2025-01-20 20:36:23 +08: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
Travis Wrightsman
72856f304f
Make COPYRIGHT.txt compliant with specification
...
Also fix license header generation by skipping over the new Comment
field in the COPYRIGHT.txt header stanza.
2025-01-17 13:35:15 -08:00
Lukas Tenbrink
512abc38b2
Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition.
2025-01-17 17:31:58 +01:00
Thaddeus Crews
49481c12bc
Merge pull request #98792 from MJacred/fix_remove_joy_mapping
...
Fix `Input::remove_joy_mapping`
2025-01-17 10:16:44 -06:00
Thaddeus Crews
ce88021aa0
Merge pull request #101606 from Ivorforce/stringname-lock-late
...
Lock the `StringName::mutex` after hashing the string, to spend less time hoarding it unnecessarily.
2025-01-16 17:18:04 -06:00
Thaddeus Crews
0c0c45d695
Merge pull request #99494 from RandomShaper/rerefix_res_unrecog
...
ResourceLoader: Report appropriate error code when no suitable loader is found
2025-01-16 17:18:03 -06:00
Thaddeus Crews
ec85334a84
Merge pull request #90425 from tracefree/load-pack-fix
...
Fix "res://" being replaced by resource packs in the editor and on Android
2025-01-16 17:18:02 -06:00
Thaddeus Crews
9bcf5ac9f7
Merge pull request #101560 from darksylinc/matias-union-order
...
Fix union order to simplify empty initializers
2025-01-16 17:17:53 -06:00
Thaddeus Crews
c4f7192a86
Merge pull request #101594 from BlueCube3310/image-channel-mask-fix
...
Fix certain channel masks for Texture previewer
2025-01-16 17:17:46 -06:00
ialex32x
6b225ebe24
Fix index check in MethodBind::get_argument_type
2025-01-16 15:47:50 +08:00
Lukas Tenbrink
dbf189e28f
Lock the `StringName::mutex` after hashing the string, to spend less time hoarding it unnecessarily.
2025-01-15 21:20:48 +01:00
Adam Scott
33e16435f5
Replace some problematic uses of `String::num` to `String::num_int64`
2025-01-15 12:51:51 -05:00
BlueCube3310
271067eb2b
Fix certain channel masks for Texture previewer
2025-01-15 18:40:53 +01:00
Rie
d17ce4c37e
Fix "res://" being replaced by resource packs in the editor and on Android
2025-01-15 11:20:46 +01:00
Matias N. Goldberg
7b2f1e1d09
Fix union order to simplify empty initializers
...
This is a followup to PR #101344 (commit
0e06eb80bc ).
Some of them were not an issue because Godot was initializing all
members, but they were "fixed" just in case since it could become a
problem in the future.
Valgrind was specifically complaining about HashMapData &
GlobalPipelineData.
2025-01-14 19:05:01 -03:00
MJacred
8e75fae49e
Ue an array removed_idx
2025-01-14 12:09:16 +01:00
Rémi Verschelde
f07e3ed551
Merge pull request #100157 from Zylann/texture_preview_channel_selector
...
Add color channel filter to editor texture previews
2025-01-14 12:08:54 +01:00
Pāvels Nadtočajevs
b983b9d9f4
[RTL] Add cell option to control if cell is shrinked to its contents width.
2025-01-13 21:44:06 +02:00
Rémi Verschelde
df0a268472
Merge pull request #101493 from Ivorforce/string-equal-fast
...
Optimize `String` `==`, `ends_with` and `begins_with` by using `memcmp`.
2025-01-13 20:22:48 +01:00
MJacred
f355382ef5
Updating the index after the first mapping record of p_guid requires a second loop
2025-01-13 16:55:26 +01:00
MJacred
e98f3a6bf0
Apply feedback
2025-01-13 16:23:55 +01:00
Lukas Tenbrink
2e600789dd
Optimize `String` `==`, `ends_with` and `begins_with` by using `memcmp`.
2025-01-13 15:23:08 +01:00
MJacred
f7c6a8659a
Apply feedback + Remove unused variable `uid` in parse_mapping()
2025-01-13 11:43:25 +01:00
Marc Gilleron
c7a9d64eaf
Add color channel filter to editor texture previews
2025-01-11 23:27:48 +00:00
David Snopek
696285f23a
Use `MethodInfo::get_compatibility_hash()` to generate the hash for `MethodBind::get_hash()` and other GDExtension hash clean up
2025-01-11 15:57:42 -06:00
Rémi Verschelde
5b52b4b5c4
Merge pull request #101446 from KoBeWi/path_ensuring_never_ends
...
Fix UID path remap
2025-01-11 22:30:25 +01:00
Rémi Verschelde
7c6d0d81c2
Merge pull request #101441 from KoBeWi/what_happened_to_your_uid,_why_is_it_so_invalid
...
Improve missing UID errors
2025-01-11 22:30:18 +01:00
Rémi Verschelde
65af5ae981
Merge pull request #101386 from Ivorforce/vector-append-array-memorysafe
...
Revert regression of memory unsafe `append_array` (same vector into same vector).
2025-01-11 22:30:05 +01:00
Rémi Verschelde
6a8ca81789
Merge pull request #100674 from dsnopek/gdextension-virtual-method-compat
...
GDExtension: Add compatibility system for virtual methods
2025-01-11 22:29:38 +01:00
kobewi
9ad34ecc3e
Fix UID path remap
2025-01-11 22:15:59 +01:00
kobewi
d3d874e0d1
Improve missing UID errors
2025-01-11 21:30:25 +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
David Snopek
39f16e70f8
GDExtension: Add compatibility system for virtual methods
2025-01-10 16:00:05 -06:00
Lukas Tenbrink
2aeca3e885
Optimize `String::chr` to avoid calling `strlen`. Use `String::chr` instead of `String(&chr, 1)` where appropriate.
2025-01-10 18:06:46 +01:00
Lukas Tenbrink
cf145de21e
Revert regression (GH-31736) of memory unsafe append_array (append vector to itself). Add comments to prevent future regressions.
2025-01-10 15:30:36 +01:00
Nazarii
6609caf76e
Use 1.5x growth factor for LocalVector
2025-01-10 15:57:54 +02:00
Rémi Verschelde
2db8f8837e
Merge pull request #101125 from axunes/master
...
macOS: Allow running unpacked game files from .app bundle resources
2025-01-09 11:17:20 +01:00
Rémi Verschelde
a7052a2bd0
Merge pull request #101033 from Ivorforce/string-count-avoid-copy
...
Optimize `_count` by replacing a full copy with a CoW copy for the full-string count case.
2025-01-09 11:17:17 +01:00
Rémi Verschelde
7fe0609118
Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds
...
This restriction was added to fix #7373 back then, which was a symbol conflict
between FreeType's bundled copy of gzip/zlib, and distro packages.
But we also unbundled FreeType's zlib in #69395 so this is no longer an issue.
On the other hand recent issues pointed out that using system-provided icu4c
or harfbuzz can cause issues (#91401 , #100301 ). We still allow it for now but
raise a warning.
2025-01-09 00:28:46 +01:00
Rémi Verschelde
76c8e76560
Merge pull request #101284 from akx/tyops
...
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Rémi Verschelde
b857c2f3e6
Merge pull request #101016 from kiroxas/AddVariantStaticAssert
...
Add static assert checks in `Variant` constructors
2025-01-08 15:53:23 +01: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
axunes
50b90604af
macOS: search for project file in .app resources
2025-01-08 01:59:00 -05:00
Synzorasize
b0845da37d
Fix parsing Resource type as value type of a Dictionary
2025-01-07 18:37:31 -06:00
Rémi Verschelde
0fee2724f0
Merge pull request #100751 from YYF233333/force_regex_with_editor
...
Force build editor with regex module, remove checking code
2025-01-07 23:17:35 +01: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
d9535301ab
Merge pull request #101001 from adamscott/fix-metadata-script
...
Fix Script metadata usage
2025-01-07 10:14:46 +01:00
Rémi Verschelde
91fda4ecaf
Merge pull request #101055 from Ivorforce/variant-to-number-consolidate
...
Consolidate `Variant` int and float conversion functions to reduce duplicate logic.
2025-01-06 22:48:24 +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
e06cac212b
Merge pull request #99893 from kiroxas/avoidUTF8ParsingWhenNotNecessary
...
Avoid duplicated `utf8()` calls
2025-01-06 22:47:12 +01:00
Rémi Verschelde
be4678b836
Merge pull request #95750 from mosquitochang/fix-input-event-get-index
...
Fix `InputMap::event_get_index` to handle unmatched events correctly
2025-01-06 22:46:37 +01:00
Rémi Verschelde
4319d380d1
Merge pull request #94507 from akien-mga/variantparser-improve-error-reporting
...
VariantParser: Ensure all parse errors have an explanation
2025-01-06 22:46:31 +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
Rémi Verschelde
da4f9339ea
Merge pull request #101072 from hpvb/thread-id-optimization
...
Optimize `Thread::get_caller_id()`
2025-01-05 14:52:18 +01:00
Lukas Tenbrink
0e72967244
Consolidate `Variant` int and float conversion functions to reduce duplicate logic.
2025-01-03 20:16:43 +01:00
HP van Braam
873eb21ce8
Optimize Thread::get_caller_id()
...
By making sure that Thread always has a valid caller_id we can remove the
check making the function a straightforward getter instead.
In some quick tests we see a repeatable performance improvement of
somewhere around 0.32 mspf in TPS demo.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2025-01-03 17:33:10 +01:00
Rémi Verschelde
c049d07121
VariantParser: Ensure all parse errors have an explanation
...
Likewise in ResourceFormatText and JSON.
2025-01-03 17:17:37 +01:00
Adam Scott
6db599232e
Fix Script metadata usage
2025-01-03 11:12:37 -05:00
Pedro J. Estébanez
de7e4efef8
Fix RID_Owner synchronization
2025-01-03 17:05:36 +01:00
Ricardo Subtil
b77aa473a1
Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization
2025-01-03 10:50:15 +00:00
Rémi Verschelde
a17a0bc808
Merge pull request #100717 from KoBeWi/icon_uncache
...
Fix icon UIDs in Project Manager
2025-01-03 02:01:24 +01:00
Rémi Verschelde
b34adf29dc
Remove unused OS `_display_driver_id` member
2025-01-03 01:52:25 +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
21e6671740
Merge pull request #100937 from Repiteo/style/clang-format-sync
...
Style: Enforce `AllowShortFunctionsOnASingleLine`
2025-01-03 00:49:44 +01:00
Rémi Verschelde
5ff616736a
Merge pull request #100825 from KoBeWi/colored_eight
...
Add `Color.from_rgba8` and deprecate Color8
2025-01-03 00:49:18 +01:00
Rémi Verschelde
e9da833e6c
Merge pull request #100795 from hpvb/optimize-variant-clear
...
Don't set `Variant::Type` in destructor
2025-01-03 00:49:10 +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
Rémi Verschelde
0d710da96c
Merge pull request #98554 from Calinou/add-property-hint-ranges
...
Add more property hint ranges for project settings
2025-01-03 00:47:59 +01:00
Lukas Tenbrink
b2d881a73a
Optimize `_count` by replacing a full copy with a CoW copy for the full-string count case.
2025-01-02 18:16:06 +01:00
Thaddeus Crews
e06d83860d
Style: Enforce `AllowShortFunctionsOnASingleLine`
2025-01-02 10:09:41 -06: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
Kiro
176e5f42b2
add Static assert checks
2025-01-02 09:02:43 +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
Rémi Verschelde
f2d4dac92e
Thread: Re-add `<new>` include for `std::hardware_destructive_interference_size`
...
Somehow it would still build fine, but would crash when compiled with GCC 12.2
on Debian 12.
Also re-add wrongly removed Mutex include from `thread_safe.h`, where it's used
in macros.
Add IWYU pragma comments to prevent it from mistakenly flagging those as unused.
2025-01-01 22:43:42 +01: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
Kiro
52ee437d7e
try Fixing Variant workaround
2024-12-29 16:35:10 +01:00
kobewi
4e48b19e1f
Add Color.from_rgba8 and deprecate Color8
2024-12-27 11:26:59 +01:00
kobewi
81b1138a7f
Fix icon UIDs in Project Manager
2024-12-26 14:54:09 +01:00
HP van Braam
46c23e1758
Don't set Variant::Type in destructor
...
When profiling Dome Keeper, I found that in physics_process a HashMap
gets cleared a lot, which ends up calling the Variant destructor.
Calling Variant::clear() dominates this operation.
By not uselessly setting the Type to NIL on destruction we save about
50% of time. This is likely because if there is a simple type in the
Variant that doesn't need destructing, but now we write when we should
just drop the Variant altogether.
Since the value of Variant::type should be unobservable after
destruction this doesn't change any outward behavior.
2024-12-25 23:40:19 +01:00
Hugo Locurcio
62c17911ea
Add more property hint ranges for project settings
...
- Tweak property hint ranges for some networking settings to ensure
the minimum values don't break the debugger entirely.
- Ensure shader time rollover is set to at least 1, as 0 causes a division by
zero to occur.
All relevant project settings are now covered by a range hint.
2024-12-23 18:22:32 +01: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
Thaddeus Crews
b97c8b37f6
Merge pull request #98441 from Yelloween10/fix-modifier-mask
...
Fix incorrect `KEY_MODIFIER_MASK` value
2024-12-23 11:15:17 -06:00
Thaddeus Crews
3c304ab7cc
Merge pull request #96076 from AThousandShips/improve_null_check_core_drivers
...
[Core,Drivers] Improve use of `Ref.is_null/valid`
2024-12-23 11:14:58 -06:00
Yufeng Ying
73d85f46c9
Remove unused headers in scene.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
Rémi Verschelde
31c07776f4
Merge pull request #100683 from Ivorforce/localvector-vector-conversion-typesafe-copy
...
Make `LocalVector` -> `Vector` automatic conversion safe for non-trivial types.
2024-12-22 00:10:19 +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
Lukas Tenbrink
0e32f3b957
Make `LocalVector` -> `Vector` automatic conversion safe for non-trivial types.
2024-12-21 10:28:57 +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
c9e99291c1
Merge pull request #100622 from dsnopek/gdextension-compat-hashes
...
Rename `GDExtensionCompatHashes` to make it clear it's only for exceptional situations
2024-12-20 23:57:02 +01:00
Rémi Verschelde
119c99a8d0
Merge pull request #100193 from raulsntos/gdextension/set_class_icon
...
GDExtension: Add method to set the class icon
2024-12-20 23:56:48 +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
Thaddeus Crews
151e7fc687
Merge pull request #100477 from Ivorforce/cowdata-move-insert-n-remove
...
Optimize `CowData` and `LocalVector` functions `.insert` and `.remove_at` by using move semantics.
2024-12-19 20:00:20 -06:00
Thaddeus Crews
1b8a2d930f
Merge pull request #100474 from Ivorforce/cowdata-abstract-realloc
...
Abstract `CowData`'s reallocations into `_realloc` to consolidate duplicate logic.
2024-12-19 20:00:19 -06:00
Thaddeus Crews
fb8d2ee044
Merge pull request #100582 from bruvzg/fix_in_ops
...
[GDScript] Fix `Packed*Array` `OP_IN` using low precision int and float as input.
2024-12-19 20:00:06 -06:00
Thaddeus Crews
416a86f47c
Merge pull request #100434 from Ivorforce/string-copy-from-rename
...
Rename `String::copy_from` functions to their respective encodings (`parse_latin1`, `parse_wstring`, `parse_utf32`).
2024-12-19 19:59:57 -06:00
Thaddeus Crews
bf9ef5f8a5
Merge pull request #100564 from YYF233333/iwyu
...
Remove unused headers in core
2024-12-19 19:59:55 -06:00
Thaddeus Crews
92615f24e7
Merge pull request #100563 from Ivorforce/move-semantics-list
...
Add move semantics (constructor, operator=) to `List`.
2024-12-19 19:59:54 -06:00
Thaddeus Crews
0b01f3cc14
Merge pull request #100560 from Ivorforce/localvector-move-semantics
...
Add `LocalVector` move semantics (constructor and operator=).
2024-12-19 19:59:51 -06:00
Thaddeus Crews
eaa447135c
Merge pull request #95920 from Repiteo/core/initializer-list-templates
...
Core: Expand `std::initializer_list` support in container templates
2024-12-19 19:59:42 -06:00
Thaddeus Crews
a94b559f9b
Merge pull request #100483 from Ivorforce/string-name-move-semantics
...
Add move semantics (constructor, assignment) to `StringName`.
2024-12-19 19:59:34 -06:00
David Snopek
506600a560
Rename `GDExtensionCompatHashes` to make it clear it's only for exceptional situations
2024-12-19 18:08:42 -06:00
Lukas Tenbrink
8483d794ff
Abstract `CowData`'s reallocations into `_realloc` to consolidate duplicate logic.
2024-12-19 17:27:16 +01:00
Lukas Tenbrink
3564e7c231
Add `LocalVector` move semantics (constructor and operator=).
2024-12-19 15:05:05 +01:00
Lukas Tenbrink
19992e3284
Add move semantics (constructor, operator=) to `List`.
2024-12-19 15:04:15 +01:00
Kiro
06efe84bca
Remove duplicate `utf8()` calls
2024-12-19 10:15:46 +01: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
Pāvels Nadtočajevs
eaf2d7c5b0
[GDScript] Fix `Packed*Array` `OP_IN` using low precision int and float as input.
2024-12-18 23:41:27 +02:00
Yufeng Ying
be86ce3103
Apply iwyu suggestion in core.
2024-12-19 00:43:47 +08: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
Rémi Verschelde
d328c00ad3
Merge pull request #99667 from RandomShaper/res_load_verb
...
ResourceLoader: Print load message only when actually loading
2024-12-18 09:53:06 +01:00
Pedro J. Estébanez
6740823e40
ResourceLoader: Print load message only when actually loading
2024-12-18 09:36:16 +01:00
Yelloween
0153cb8c16
Fix incorrect MODIFIER_MASK value
...
Updated key modifier mask and documented API change
Changed the old value
Changed the old value inside the .expected file
Resolved Conflicts
Moved changes to the end
2024-12-18 02:59:29 +03:00
Hugo Locurcio
7a04d85ec3
Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh
...
If an invalid type is supplied (which can still be done from a script),
a warning is printed (along with a workaround for ViewportTexture).
This also adds support for "negative" resource hints such as
"Texture2D,-ViewportTexture" to exclude one or more subclasses
from a class hint.
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-12-17 20:41:12 +01:00
Lukas Tenbrink
a636c04244
Optimize `CowData` and `LocalVector` functions `.insert` and `.remove_at` by using move semantics.
2024-12-17 14:10:10 +01:00
Raul Santos
69f1cc10b6
GDExtension: Add icon path to class creation info
...
Allows GDExtensions to set the icon of a class programmatically, which is useful for extensions that don't use a `.gdextension` file.
2024-12-17 08:43:12 +01:00
MJacred
40832387ce
Fix Input::remove_joy_mapping
...
Erasing a joypad mapping can invalidate other attached joypads and the fallback mapping guid
2024-12-16 20:27:33 +01:00
Thaddeus Crews
24a8c05cbd
Merge pull request #100335 from kiroxas/Improve`ResourceUID--id_to_text`Performance
...
Improve `ResourceUID::id_to_text` performance
2024-12-16 12:10:05 -06:00
Thaddeus Crews
e42c22f359
Merge pull request #100426 from Ivorforce/variant-move-constructor
...
Add move assignment and move constructor to Variant.
2024-12-16 12:09:52 -06:00
Thaddeus Crews
9c9af038d5
Merge pull request #91060 from dalexeev/code-edit-add-doc-tooltips
...
Code Editor: Add documentation tooltips
2024-12-16 12:09:45 -06:00
Thaddeus Crews
7254761a46
Merge pull request #98861 from MJacred/get_joypad_infos_on_windows
...
Get joypad's vendor ID, product ID and name on Windows for XInput devices.
2024-12-16 12:09:44 -06:00
Thaddeus Crews
a7fa0528bb
Merge pull request #100372 from Calinou/os-add-get-version-alias
...
Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
2024-12-16 12:09:40 -06:00
Lukas Tenbrink
8c4e674770
Add move semantics (constructor, assignment) to `StringName`.
2024-12-16 19:02:52 +01:00
Rémi Verschelde
08508d2e01
Merge pull request #99700 from hpvb/scene_tree_editor_performance
...
Improve Scene Tree editor performance
2024-12-16 17:16:00 +01:00
Kiro
e4f8a7f8cf
improveParseUTF8Performance
2024-12-16 09:55:11 +01:00
MJacred
01a2726c59
Get joypad's vendor ID, product ID, and name on Windows
2024-12-15 23:59:11 +01:00
Lukas Tenbrink
df3e9291c6
Rename `String::copy_from` functions to their respective encodings (`parse_latin1`, `parse_wstring`, `parse_utf32`).
2024-12-15 21:46:50 +01:00
Lukas Tenbrink
34fa0bf3ec
Add move assignment and move constructor to Variant.
...
Add `_to_variant` helper functions to `gdvirtual.gen.inc` to work around an MSVC bug.
2024-12-15 14:38:46 +01:00
Kiro
5f401e63b5
Improve `ResourceUID::id_to_text` performance
2024-12-15 10:41:13 +01:00
Danil Alexeev
80d11500b5
Code Editor: Add documentation tooltips
2024-12-15 10:51:33 +03:00
Hugo Locurcio
928982891e
Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
...
Windows 11's major version number is actually 10.x.x, which can be confusing
if you don't know about this quirk. `OS.get_version_alias()` avoids this
by displaying the "branding" version number and the build number as a suffix,
so that individual updates can still be distinguished from each other.
On macOS, `OS.get_version_alias()` returns the version number prepended
with the version name (e.g. Sequoia for macOS 15).
On other operating systems, this returns the same value as `OS.get_version()`.
2024-12-14 18:47:50 +01:00
Rémi Verschelde
68559c4906
Merge pull request #100367 from Ivorforce/swap-move
...
Optimize `SWAP` macro by using move semantics.
2024-12-14 18:25:42 +01:00
Hilderin
4e19ab8afe
Fix connecting a signal with a double click is too difficult
...
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2024-12-14 16:18:34 +03:00
Markus Sauermann
ee2930cad4
Remove temporary project conversion
...
This project conversion should be removed before the next stable release,
because it affects only projects opened during dev-builds.
2024-12-14 00:37:47 +01:00
Lukas Tenbrink
383d933f53
Optimize `SWAP` macro by using move semantics.
2024-12-13 16:19:52 +01:00
Thaddeus Crews
ba2c5c1e61
Merge pull request #100318 from dsnopek/stream-peer-extension-put-partial-data-bug
...
Fix `StreamPeerExtension::put_partial_data()` to call `_put_partial_data()`
2024-12-12 16:13:38 -06:00
Thaddeus Crews
9fba62a938
Merge pull request #100239 from Ivorforce/cowdata-move-constructor
...
Add move constructor and move assignment to `CowData`, `String`, `Char16String`, `CharString`, and `Vector`.
2024-12-12 16:13:30 -06:00
Thaddeus Crews
9c290c4c56
Merge pull request #100033 from Daylily-Zeleen/daylily-zeleen/optimize_callable_to_string
...
Optimize callable's stringify text.
2024-12-12 16:13:23 -06:00
HP van Braam
6f7525c396
Improve Scene Tree editor performance
...
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.
Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.
In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.
We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.
SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.
There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.
This fixes #83460
I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
David Snopek
8c01fc2274
Fix `StreamPeerExtension::put_partial_data()` to call `_put_partial_data()`
2024-12-12 08:31:12 -06:00
Rémi Verschelde
7b15c0622e
Merge pull request #100295 from Ivorforce/string-builder-inplace
...
Optimize `StringBuilder.as_string` by constructing the string in-place and skipping unnecessary checks.
2024-12-12 14:10:21 +01:00
Rémi Verschelde
321bd35317
Merge pull request #100294 from Ivorforce/count-no-realloc
...
Optimize `String.count` and `String.countn` by avoiding repeated reallocations.
2024-12-12 14:10:17 +01:00
Rémi Verschelde
819db4daf5
Merge pull request #99559 from mayoff/OperatorEvaluatorModNZ-ptr_evaluate
...
Fix `Variant` modulo operation
2024-12-12 14:09:59 +01:00
Rémi Verschelde
1e1e862204
Merge pull request #98100 from BlueCube3310/image-cleanup-more
...
Image: More cleanup and reduced code duplication
2024-12-12 14:09:49 +01:00
BlueCube3310
335077a03f
Image: More cleanup and reduced code duplication.
2024-12-12 11:52:59 +01:00
Lukas Tenbrink
76af9537ed
Optimize `StringBuilder.as_string` by constructing the string in-place and skipping unnecessary checks.
...
Co-authored-by: YYF233333 <nbyyf2002@mail.ustc.edu.cn>
2024-12-12 01:35:02 +01:00
Thaddeus Crews
c5e6f6276b
Merge pull request #100110 from DarioSamo/rd-get-data-async
...
Implement `RD::buffer_get_data_async()` and `RD::texture_get_data_async()`
2024-12-11 17:35:29 -06:00
Lukas Tenbrink
ef3eecd34e
Optimize `String.count` and `String.countn` by avoiding repeated reallocations.
2024-12-12 00:28:13 +01:00
Dario
054891de04
Implement buffer_get_data_async and texture_get_data_async.
2024-12-11 11:55:23 -08: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
Lukas Tenbrink
57073ba14e
Add move constructor and move assignment to CowData, String, Char16String, CharString and Vector.
2024-12-11 15:52:15 +01:00
Rémi Verschelde
44dfa7e710
Merge pull request #99895 from mihe/jolt-physics
...
Add Jolt Physics as an alternative 3D physics engine
2024-12-11 14:53:57 +01:00
Mikael Hermansson
d470c2ac6a
Add Jolt Physics as an alternative 3D physics engine
...
Co-authored-by: Jorrit Rouwe <jrouwe@gmail.com>
2024-12-11 13:57:25 +01:00
Thaddeus Crews
ba66c478c0
Merge pull request #100041 from Ivorforce/optimize-string-similarity
...
Optimize String.similarity by avoiding allocation for bigrams.
2024-12-10 14:16:00 -06:00
Thaddeus Crews
3ef8e835c2
Merge pull request #99775 from Ivorforce/string-builder-template-append
...
Optimize StringBuilder by using `LocalVector` instead of `Vector`.
2024-12-10 14:15:58 -06: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
Thaddeus Crews
d108d4f29e
Merge pull request #100147 from esainane/vector-victor
...
Remove apparent contradiction in vector.h header
2024-12-10 14:15:52 -06:00
Thaddeus Crews
78215f3cc6
Merge pull request #100132 from Ivorforce/string-compile-time-strlen
...
Optimize String construction from statically known strings by evaluating `strlen` at compile-time.
2024-12-10 14:15:49 -06:00
Yufeng Ying
bdf24924e6
[Codestyle] Merge identical code piece.
2024-12-11 00:48:00 +08: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
Sai Nane
66b7d5f1b5
Remove apparent contradiction in vector.h header
...
3205a92ad8 was a major commit which removed `PoolVector`, and replaced
most references to `PoolVector` with `Vector` instead. In most cases,
this was appropriate, given that `PoolVector` was being replaced with
`Vector`, as an effective generalist in 64-bit address space layouts.
However, vector.h itself was left with an artifact advising the reader
to use `Vector` instead of `Vector` for large arrays. While this led
to a fascinating deep dive, and hopefully improved some of the
documentation along the way, it's probably best to clean this up for
the next person.
2024-12-10 01:51:30 +00:00
Lukas Tenbrink
a3f48f7047
Optimize String construction from statically known strings allowing `strlen` to be evaluated at compile time, where possible.
2024-12-09 21:47:28 +01:00