ec32dae1da
Rename _strlen_clipped to strnlen (and use the system equivalent for char * inputs).
...
Add `strnlen` for `char16_t *` and `wchar_t *`.
2025-05-06 15:17:07 +02:00
01fc9aee6c
Core: Modernize C headers with C++ equivalents
2025-05-02 08:23:01 -05:00
9e9f6c9c35
Merge pull request #105916 from Repiteo/core/msvc-fastfail
...
Core: Use `__fastfail()` in MSVC error macros
2025-04-30 16:51:53 -05:00
304347c3ac
Merge pull request #104055 from Ivorforce/fixed-vector
...
Core: Add `FixedVector` template - a collection that can be used completely on the stack.
2025-04-30 16:51:53 -05:00
baf9d6e150
Merge pull request #105871 from Ivorforce/quick-stringname-fixes
...
Quick `StringName` improvements.
2025-04-30 16:51:52 -05:00
fb08e94c35
Merge pull request #105930 from a-johnston/fuzzy_search_index_field
...
Add original index field to fuzzy search result
2025-04-30 16:51:51 -05:00
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
91362a61da
Simplify StringName to bool conversions.
...
Move `mutex` include of `string_name.h` to `string_name.cpp`.
2025-04-30 16:59:34 +02:00
f8f350a32a
Add GLOBAL_GET cached macros.
...
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com >
2025-04-30 15:08:50 +01:00
e025c9ed11
Add original index field to fuzzy search result
2025-04-29 17:39:59 -07:00
60aae6d856
Merge pull request #86653 from Mickeon/string-format-error
...
Improve error message for `String.format` when using nested Arrays
2025-04-29 16:05:20 -05:00
eb3d0604ba
Merge pull request #105876 from KoBeWi/dynamic_outline
...
Inline static variables (part 1)
2025-04-29 16:05:16 -05:00
d849ebb776
Merge pull request #105896 from piiertho/enhancement/gdextension/fallback-to-default-get-property-state-when-not-overriden
...
Fallback to ScriptInstance::get_property_state when get_property_state is not implemented in ScriptInstanceExtension
2025-04-29 16:05:15 -05:00
347e51e077
Merge pull request #105922 from aaronp64/dictionary_has_all
...
Avoid extra copy/validation of keys in `Dictionary::has_all`
2025-04-29 16:05:14 -05:00
e4bd611e19
Avoid extra copy/validation of keys in Dictionary::has_all
...
Updated Dictionary::has_all to check its HashMap directly for each validated key instead of going through Dictionary::has, to avoid additional copy/validation of each key.
2025-04-29 15:27:12 -04:00
b23a233b5b
Core: Use __fastfail() in MSVC error macros
2025-04-29 12:25:11 -05:00
5af4bef46f
Inline static variables (part 1)
2025-04-29 18:10:44 +02:00
e8c036beeb
Fallback to ScriptInstance::get_property_state when get_property_state is not implemented in ScriptInstanceExtension
2025-04-29 09:43:20 +02:00
44d20b2dc6
Merge pull request #100619 from Ivorforce/cowdata-resize-direct
...
Optimize / refactor `CowData`, combining resize and fork to avoid unnecessary reallocations.
2025-04-28 18:45:54 -05:00
e57427900f
Use BinaryMutex instead of Mutex for StringName.
2025-04-28 17:13:26 +02:00
b7d4426fff
Merge pull request #104269 from lawnjelly/fti_scene_tree4
...
Physics Interpolation - Move 3D FTI to `SceneTree`
2025-04-28 10:01:34 -05:00
751ef44a13
Merge pull request #87714 from KoBeWi/hack_uid()
...
Expose `set_uid()`
2025-04-28 10:01:30 -05:00
f064a415b3
Use PagedAllocator for StringName to accelerate and localize allocations.
2025-04-28 10:38:17 +02:00
6f4cf04fb8
Expose set_uid()
2025-04-28 10:13:43 +02:00
f8a8d6cf04
Merge pull request #105700 from dementive/config-file-get-improvement
...
Improve ConfigFile get_sections and get_section_keys by returning Vector<String>
2025-04-27 19:21:31 -05:00
74fc4dae15
Merge pull request #95585 from HolonProduction/remove-cache
...
ScriptEditor: Remove obsolete completion cache
2025-04-27 19:21:30 -05:00
18f5b668d7
Merge pull request #105817 from Ivorforce/extension-loader-gdclass-fix
...
Fix `GDExtensionLoader` using the wrong super type in `GDSOFTCLASS`.
2025-04-27 19:21:29 -05:00
df78d4a866
Merge pull request #105546 from Splizard/fix_gdextension_tostring
...
Fix GDExtension `Object/Node::to_string` to check `is_valid` before returning the result
2025-04-27 19:21:24 -05:00
1a2a1b07df
Merge pull request #105799 from Repiteo/scons/enum-conversion-warnings
...
SCons: Add enum conversion warning
2025-04-27 19:21:23 -05:00
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
ba0ad482ec
Merge pull request #105760 from Ivorforce/string-name-encapsulate
...
Remove unnecessary `StringName` `idx` cache in `_Data` to reduce its size.
2025-04-27 19:21:15 -05:00
999294d77a
Core: Integrate CharStringT
2025-04-27 09:58:39 -05:00
f2bab45202
Fix GDExtensionLoader using the wrong super type in GDSOFTCLASS.
2025-04-27 10:28:08 +02:00
56bad11517
ScriptEditor: Remove obsolete completion cache
2025-04-26 22:59:10 +02:00
dc9c34f0c6
SCons: Add enum conversion warning
2025-04-26 12:06:20 -05:00
ae04a3a5dd
Physics Interpolation - Move 3D FTI to SceneTree
...
Moves 3D interpolation from server to the client code (`SceneTree`).
Complete rework of 3D physics interpolation, but using the same user API.
2025-04-26 14:13:30 +01:00
e37c6261ea
Merge pull request #105767 from Ivorforce/no-alloc-count
...
Optimize static allocations by removing unused `Memory::alloc_count`.
2025-04-25 18:25:32 -05:00
af7610576a
Remove unused Memory::alloc_count.
2025-04-25 21:44:26 +02:00
3b31636985
Remove unnecessary StringName idx cache in _Data to reduce its size by 4 bytes.
...
Encapsulate `StringName` details in its cpp file.
2025-04-25 19:22:29 +02:00
5c9f93ce03
SCons: Begin decoupling generation & build code
2025-04-25 08:23:01 -05:00
b8e44a0000
Improve ConfigFile get_sections and get_section_keys by returning Vector<String>
2025-04-24 20:10:31 -04:00
28089c40c1
Merge pull request #91006 from reduz/live-backtrace
...
Ability to print and log script backtraces
2025-04-24 17:18:52 -05:00
ca4038f22a
Merge pull request #103336 from dugramen/projecsetting-override-order
...
Keep ProjectSettings overrides right below the original setting
2025-04-24 17:18:46 -05:00
d74ef8cb01
Rename LocalVector.invert() -> LocalVector.reverse() to match the Vector, String and List APIs.
2025-04-24 22:36:32 +02:00
3354c32984
Keep ProjectSettings overrides right below the original setting
2025-04-24 15:00:40 -04:00
d1dcb40d56
Ability to print and log script backtraces
...
Co-authored-by: Mikael Hermansson <mikael@hermansson.io >
2025-04-24 18:54:41 +02:00
931820d33c
Merge pull request #105278 from Ivorforce/reserve-smoke-test
...
Smoke test: Log an error if `reserve()` is called with fewer elements than `size()`
2025-04-23 12:01:28 -05:00
841c29d62c
Merge pull request #104985 from Ivorforce/stringname-always-string
...
Always use `String` as `StringName` backing internally.
2025-04-23 12:01:27 -05:00
7c37188ca1
Smoke test: In collections, log an error if reserve() is called with a number smaller than the current size. Don't log an error if it is called with a number smaller than the current capacity.
2025-04-23 16:47:47 +02:00
a96e8ac62c
Remove old path remaps system
...
Unused in public repositories, deprecated for over 6 years, and the
replacement system is well-tested by now.
2025-04-23 15:48:33 +02:00