Tiger Jove
c6c7b508b6
TabBar current tab now stays -1 when adding first tab on deselect_enable
2025-07-07 10:18:49 +02:00
Silver1063
00f5b230be
Fix modifier order in keycode string generation
...
Fix the order in which modifier keys are appended in as_text() and keycode_get_string() to ensure consistent and logical ordering (Ctrl, Alt, Shift, Meta). Refactored keycode_get_string() to use a vector for building the key string, improving readability and maintainability.
2025-07-06 14:23:50 -07:00
A Thousand Ships
f11aff3841
Editor: Restructure editor code
...
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Haoyu Qiu
296aba7dc5
Fix CSV translation not updating after reimport
2025-06-17 17:22:49 +08:00
kit
477a37a594
Fix Resource Duplication test errors
2025-06-15 12:48:03 -04:00
Rémi Verschelde
ce3ebacb3e
Merge pull request #107381 from smix8/ref_iterations_2d
...
Change 2D navigation region and link updates to an async process
2025-06-12 23:32:48 +02:00
Rémi Verschelde
e90fd0b3af
Merge pull request #107444 from Ivorforce/smoke-test-span
...
Add a smoke test for non-empty `nullptr` `Span`
2025-06-12 22:49:12 +02:00
Lukas Tenbrink
2d0ff9774d
Add a smoke test to `Span` in debug builds to recover from non-empty `nullptr` `Span`.
2025-06-12 12:19:21 +02:00
Lukas Tenbrink
b13a0e1834
Rename `String::resize` to `resize_uninitialized`, to better communicate to callers that new characters must be initialized.
2025-06-11 18:13:02 +02:00
smix8
2458370de4
Change 2D navigation region and link updates to an async process
...
Changes 2D navigation region and link updates to an async process.
2025-06-11 00:51:02 +02:00
Rémi Verschelde
74f5b863bc
Merge pull request #106670 from smix8/ref_iterations
...
Change navigation region and link updates to an async process
2025-06-10 16:22:53 +02:00
smix8
877da269d8
Change navigation region and link updates to an async process
...
Changes navigation region and link updates to an async process.
2025-06-10 14:18:47 +02:00
Nick-njh
907fdc6222
Adding tests for Animation Blend Tree
...
Co-Authored-By: kj-art-dev <56623499+kj-art-dev@users.noreply.github.com>
Co-Authored-By: Nick <148664926+nick-njh@users.noreply.github.com>
2025-06-10 13:53:01 +02:00
smix8
0ce53ffc69
Change 2D avoidance callbacks from Vector3 to Vector2
...
Changes 2D avoidance callbacks from Vector3 to Vector2.
2025-06-07 14:21:28 +02:00
Rémi Verschelde
61639d9574
Merge pull request #106996 from Ivorforce/no-oa-hashmap
...
Core: Remove `OAHashMap`, in favour of `AHashMap`
2025-06-05 13:12:34 +02:00
Rémi Verschelde
9f98e922da
Merge pull request #106574 from MisakaRinOwO/New-Tests-for-Sprite2d
...
Add unit tests for Sprite2D
2025-06-05 13:11:52 +02:00
aaronp64
6b2674fe18
Reuse and optimize sorting logic for List, SelfList, and HashMap
...
Added SortList class, and updated List, SelfList, and HashMap sort methods to use it. Sorting is done with merge sort, with an initial check to optimize for already sorted lists, and sorted lists that were appended to.
2025-06-04 10:18:22 -04:00
kj-art-dev
3ce59a5114
Added new unit tests for Sprite2D.
...
Added a new test file and test cases for Sprite2D. Updated test_main.cpp to include the new test file.
2025-06-02 20:47:18 -07:00
Thaddeus Crews
5935356962
Merge pull request #100984 from TokageItLab/bone-constraint
...
Implement `BoneConstraint3D` with `CopyTransform`/`ConvertTransform`/`Aim` Modifiers
2025-06-02 18:51:57 -05:00
Aaron Franke
f6f1df7d73
Add 64-bit versions of core power of 2 functions
2025-06-01 23:11:12 -07:00
Silc Lizard (Tokage) Renew
4a2a95678b
Implement BoneConstraint3D with Copy/ConvertTransfrom & TrackBone mods
2025-06-02 03:42:45 +09:00
Lukas Tenbrink
c3476b8205
Fix `FixedVector` move semantics.
2025-05-31 18:22:16 +02:00
Lukas Tenbrink
963c20565b
Remove `OAHashMap`, in favour of `AHashMap`.
...
The two types had (mostly) the same decisions, but `AHashMap` is a faster implementation, and is more consistent with `HashMap`.
2025-05-31 15:50:10 +02:00
kit
48624a0778
Allow TabBar drag and drop to be overridden
...
Add tab mouse tests
2025-05-27 11:56:37 -04:00
Thaddeus Crews
0f67c3e992
Merge pull request #104522 from Ivorforce/localvector-force-trivial-resize
...
Core: Add `resize_initialized` and `resize_uninitialized` to `Vector` and `LocalVector`
2025-05-27 09:39:27 -05:00
Thaddeus Crews
63dff62948
Merge pull request #100673 from RandomShaper/res_duplicate
...
Overhaul resource duplication
2025-05-27 09:39:25 -05:00
kit
f7c182371e
Remove build_array and build_dictionary from tests
2025-05-26 13:02:01 -04:00
Lukas Tenbrink
4cb8a0c77e
Add `resize_initialized` and `resize_uninitialized` to `Vector`. These functions serve as replacements for `resize`, to make sure the caller understands whether elements need to be initialized 'by hand' after the call.
2025-05-26 18:35:41 +02:00
Thaddeus Crews
5df01a8c5a
Merge pull request #96925 from SaNeOr/fix-#96908
...
Fix spaces converted to tabs in triple quote strings
2025-05-26 11:24:30 -05:00
Pedro J. Estébanez
6841b45552
Add tests for resource duplication
2025-05-26 17:05:04 +02:00
kobewi
e7d31635dd
Don't hard-code test path when deleting test data
2025-05-23 15:29:10 +02:00
Aaron Franke
15de1d6c35
Use Grisu2 algorithm in String::num_scientific to fix serializing
2025-05-22 09:13:16 -07:00
Thaddeus Crews
2bf7ac76cf
Merge pull request #106456 from Repiteo/style/remove-DEBUG_METHODS_ENABLED
...
Style: Remove redundant `DEBUG_METHODS_ENABLED` macro
2025-05-19 08:01:35 -05:00
Pāvels Nadtočajevs
25ae5c8ab4
Revert "Fix #100536 : Control set_position resizes offsets/anchors"
...
This reverts commit ca57fe1db4 .
2025-05-16 14:21:18 +03:00
Thaddeus Crews
da9fb81e1f
Merge pull request #89556 from smntic/single-char
...
Fix words not being selected by endpoints
2025-05-15 14:53:24 -05: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
Thaddeus Crews
56cc2bb68a
Merge pull request #105848 from leandro-benedet-garcia/delete_cache
...
Delete test cache before running it
2025-05-15 10:22:21 -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
kobewi
258062e312
Fix wrong children range when duplicating node
2025-05-12 20:21:40 +02: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
Leandro (Cerberus1746) Benedet Garcia
ed35b9e181
Delete test cache before running it
2025-05-02 14:08:32 -03:00
Thaddeus Crews
f45e6d7462
Merge pull request #88925 from Aziroshin/linear-curve-zero-vector-bug
...
[Curve3D] Fix middle point forward vector when control1=end and…
2025-05-02 09:25:28 -05: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
Aziroshin
1a91570ce9
[Curve3D] Fix middle point forward vector when control1=end and control2=begin; issue #88923
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-05-01 20:54:59 +02: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
Marcos Casagrande
19540a0758
Avoid unnecessary version_get_uniform() calls
2025-04-28 15:05:59 +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
dd5460c32a
Style: Declare inline macros as attributes
2025-04-18 12:04:40 -05: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
Thaddeus Crews
3c0652699a
Merge pull request #103967 from HolonProduction/window-focus
...
GUI: Fix focus cycle through window
2025-04-16 10:45:17 -05:00
Thaddeus Crews
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
Thaddeus Crews
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
HolonProduction
6b9641d364
Fix focus cycle through window
2025-04-15 20:24:32 +02: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
0d267e7b1e
Core: Add dedicated `BitField` template
2025-04-11 11:53:26 -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
Thaddeus Crews
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
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
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
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
Pāvels Nadtočajevs
0497522933
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 09:18:58 +03:00
kit
d16e8b7ca4
Fix and rename mouse filter recursive behavior
...
and focus mode recursive behavior.
2025-04-09 23:45:03 -04: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
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
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
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
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
Aziroshin
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
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
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
Thaddeus Crews
9bbda47794
Merge pull request #104776 from BrotherShort/TextEdit-VScroll-max-tolerance
...
Fix TextEdit VScroll max tolerance
2025-04-03 16:50:14 -05:00
Lukas Tenbrink
e6d166344b
Remove unused `get_inheritance_list_static` from `GDCLASS`.
2025-04-03 17:18:28 +02:00
BrotherShort
1077fdb15a
fix TextEdit VScroll max tolerance
...
newline
Co-Authored-By: Kit Bishop <kitbdev@gmail.com>
2025-04-03 21:22:57 +08:00
Tom
8a3f9846c5
Add missing initializer_list constructor for TypedDictionary
2025-04-03 00:17:44 +01:00
Thaddeus Crews
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
smix8
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
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
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