Aaron Franke
15de1d6c35
Use Grisu2 algorithm in String::num_scientific to fix serializing
2025-05-22 09:13:16 -07:00
Thaddeus Crews
d237e31a89
Style: Remove redundant DEBUG_METHODS_ENABLED
...
• Replaced with functionally identical and far more ubiquitous `DEBUG_ENABLED`
2025-05-15 13:09:41 -05: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
0ce3d75c20
Merge pull request #93783 from aaronp64/json_stringify_performance
...
Improve `JSON::stringify` performance
2025-05-07 12:48:28 -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
kit
6d56d2d05e
Fix tests that fail when alone
2025-05-06 13:48:16 -04:00
Thaddeus Crews
acf38b2292
Merge pull request #76560 from aaronfranke/node-set-string-name
...
Change Node `set_name` to use StringName, slightly improves performance
2025-05-02 09:25:25 -05:00
Daniel Kinsman
a0cc41b5ed
Use libjpeg-turbo for improved jpg compatibility and speed
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-05-02 11:47:56 +02:00
Aaron Franke
a404b668a1
Change Node set_name to use StringName
2025-05-01 15:15:19 -07:00
Lukas Tenbrink
1b1ab76a14
Add FixedVector template.
...
This is a high performance `Vector`-like object that can be used if the maximum number of objects is small and known, and the objects are needed only temporarily.
2025-04-30 19:14:08 +02:00
Thaddeus Crews
3947cbe3b2
Merge pull request #104386 from Repiteo/core/cpp-math
...
Core: Replace C math headers with C++ equivalents
2025-04-27 19:21:22 -05:00
Lukas Tenbrink
91fe434a86
Always use String as StringName backing internally.
2025-04-23 14:57:03 +02:00
Thaddeus Crews
ad40939b6f
Core: Replace C math headers with C++ equivalents
...
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
mason1920
692a244713
Test for insertion at array's size
2025-04-15 12:08:54 -04:00
Pāvels Nadtočajevs
501c64a12f
Remove auto misuse cases.
2025-04-14 16:54:57 +03: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
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
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
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
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
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
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
7ae1fa0a33
Merge pull request #105157 from adamscott/test_rid_add_threads_enabled
...
Add `THREADS_ENABLED` check before RID thread tests
2025-04-09 08:51:37 -05:00
Yufeng Ying
f7e4987d0e
Dictionary::get_key_list use LocalVector instead of List.
2025-04-09 02:46:24 +08:00
Adam Scott
cba1ee1594
Add THREADS_ENABLED check before RID thread tests
2025-04-08 14:06:56 -04:00
Rarysson Guilherme
fe39ffeb7d
Add negative index to Array.remove_at and Array.insert
2025-04-08 14:55:39 -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
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
Lukas Tenbrink
e6d166344b
Remove unused get_inheritance_list_static from GDCLASS.
2025-04-03 17:18:28 +02:00
Tom
8a3f9846c5
Add missing initializer_list constructor for TypedDictionary
2025-04-03 00:17:44 +01: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
Lukas Tenbrink
8a76e31547
Remove bool from Object::notification virtual function; replace with separate functions to avoid branching.
2025-04-01 15:26:32 +02:00
Thaddeus Crews
d52b84e472
Merge pull request #103993 from aaronfranke/geometry-segment
...
Directly use segment points in Geometry2D/3D function parameters
2025-04-01 08:01:34 -05:00
Thaddeus Crews
abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
...
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink
fa0a3c9c6e
Add and require GDSOFTCLASS for Object subclasses that want to cast but do not use GDCLASS.
2025-03-31 20:49:50 +02:00
Lukas Tenbrink
ccdc5862e9
Add LocalVector.erase_unordered, mimicking erase but with remove_at_unordered, to remove duplicate logic.
...
`erase_unordered` should be preferred over `erase` where order is not important, for its performance benefits.
Co-authored-by: smix8 <smix8@users.noreply.github.com >
2025-03-31 13:31:53 +02:00
Aaron Franke
c1acc839a8
Directly use segment points in Geometry2D/3D function parameters
2025-03-30 16:25:59 -07: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
Rémi Verschelde
3b90bb56ad
Merge pull request #89782 from KoBeWi/stdArrayList
...
Use initializer list in Arrays
2025-03-28 17:29:40 +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
Lukas Tenbrink
ffa6ef220b
Use append_ instead of parse_ for String methods.
2025-03-27 17:51:02 +01:00
kobewi
75881f8322
Use initializer list in Arrays
2025-03-26 18:38:15 +01:00
Thaddeus Crews
7fed5f29ed
Merge pull request #99826 from kiroxas/improveParseUTF8Performance
...
Improve `parse_utf8` performance
2025-03-24 10:00:55 -05:00
Thaddeus Crews
f6a35e2a6e
Merge pull request #86015 from kitbdev/array-initializer-list
...
Add list initialization to Array, Variant, and TypedArray
2025-03-19 17:46:06 -05:00
kobewi
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00