91fe434a86
Always use String as StringName backing internally.
2025-04-23 14:57:03 +02:00
dd5460c32a
Style: Declare inline macros as attributes
2025-04-18 12:04:40 -05:00
3c0652699a
Merge pull request #103967 from HolonProduction/window-focus
...
GUI: Fix focus cycle through window
2025-04-16 10:45:17 -05:00
500a2243df
Merge pull request #105428 from mason1920/array-insert-test
...
Test for insertion at array's size
2025-04-16 10:45:14 -05:00
00bd421089
Merge pull request #105222 from kitbdev/fix-mouse-filter-recursive-and-rename
...
Fix and rename mouse filter recursive behavior and focus mode recursive behavior
2025-04-16 10:45:12 -05:00
6b9641d364
Fix focus cycle through window
2025-04-15 20:24:32 +02:00
692a244713
Test for insertion at array's size
2025-04-15 12:08:54 -04:00
501c64a12f
Remove auto misuse cases.
2025-04-14 16:54:57 +03:00
0d267e7b1e
Core: Add dedicated BitField template
2025-04-11 11:53:26 -05:00
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
cad0cd94ef
Merge pull request #105225 from bruvzg/ds_gdsoft
...
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 16:53:42 -05:00
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
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
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
6fce829fce
Merge pull request #105007 from Aziroshin/dev/aziroshin/comment-after-region-not-folding-102382
...
[CodeEdit] Fix folding for comments mixed with code region tags.
2025-04-10 10:18:14 -05:00
fc1dbda769
Merge pull request #105164 from stuartcarnie/apple_pthread
...
Apple: Add pthread implementation of `Thread` class
2025-04-10 10:18:12 -05:00
889410dcda
Add String::replace_char(s) methods for performance and convenience
2025-04-10 13:08:45 +02:00
0497522933
Change DisplayServerMacOS from GDCLASS to GDSOFTCLASS. Add GDSOFTCLASS to other display servers.
2025-04-10 09:18:58 +03:00
d16e8b7ca4
Fix and rename mouse filter recursive behavior
...
and focus mode recursive behavior.
2025-04-09 23:45:03 -04:00
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
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
c6394a1b8b
Merge pull request #104357 from FilipeAlexCosta/control-set-position
...
Fix `Control.set_position` resizes offsets/anchors
2025-04-09 18:11:55 -05:00
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
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
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
f7e4987d0e
Dictionary::get_key_list use LocalVector instead of List.
2025-04-09 02:46:24 +08:00
cba1ee1594
Add THREADS_ENABLED check before RID thread tests
2025-04-08 14:06:56 -04:00
fe39ffeb7d
Add negative index to Array.remove_at and Array.insert
2025-04-08 14:55:39 -03:00
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
b106dfd4f9
Base accessibility API.
2025-04-08 20:14:28 +03:00
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
9abe2e5294
Add uri_file_decode to handle + in file names.
2025-04-07 23:49:17 +03:00
40b7931279
[CodeEdit] Fix folding for comments mixed with code region tags.
...
Co-authored-by: Kit Bishop <kitbdev@gmail.com >
2025-04-07 20:50:54 +02:00
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
b1465b925b
Merge pull request #104976 from Ivorforce/no-inheritance-list
...
Remove unused `get_inheritance_list_static` from `GDCLASS`.
2025-04-03 16:50:20 -05:00
9bbda47794
Merge pull request #104776 from BrotherShort/TextEdit-VScroll-max-tolerance
...
Fix TextEdit VScroll max tolerance
2025-04-03 16:50:14 -05:00
e6d166344b
Remove unused get_inheritance_list_static from GDCLASS.
2025-04-03 17:18:28 +02:00
1077fdb15a
fix TextEdit VScroll max tolerance
...
newline
Co-Authored-By: Kit Bishop <kitbdev@gmail.com >
2025-04-03 21:22:57 +08:00
8a3f9846c5
Add missing initializer_list constructor for TypedDictionary
2025-04-03 00:17:44 +01:00
c9c8556a47
Merge pull request #104862 from smix8/navserver_process
...
Prepare NavigationServer for `process()` and `physics_process()` split
2025-04-02 07:37:32 -05:00
16fd7b6ae1
Prepare NavigationServer for process() and physics_process() split
...
Prepares the NavigationServer API for a split of its functionality between frame process() and stepped physics_process().
2025-04-02 11:01:08 +02:00
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
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
556933306a
Allow to compile templates without navigation features
2025-04-01 11:53:35 -03:00
8a76e31547
Remove bool from Object::notification virtual function; replace with separate functions to avoid branching.
2025-04-01 15:26:32 +02:00
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
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
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
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
ca57fe1db4
Fix #100536 : Control set_position resizes offsets/anchors
...
The set_position method computes the anchors/offsets to match a
rectangle at the given position with size "size_cache". However, when
the Control's combined minimum size is larger than the size obtained
through the offsets and anchors, "size_cache" is set to be as large as
the combined minimum size. Therefore, when position is set while the
combined minimum size is larger than the rectangle given by the anchors
and offsets, it would resize these two fields, which would then stop
the Control from shrinking when its combined minimum size decreased. To
fix this, set_position now uses the size given by the offsets and
anchors instead of the "size_cache" field. This way, the rectangle
denoted by the offsets and anchors is simply moved, without being
resized, enabling the Control to shrink automatically when its combined
minimum size decreases. I also added a test case to ensure that the
Control shrinks correctly after setting its position while it has a
larger custom minimum size than the one obtained through the offsets
and anchors.
2025-03-31 08:50:00 +01:00