Commit graph

875 commits

Author SHA1 Message Date
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
Thaddeus Crews
96d1e61ee6
CI: Fix incorrect executable perms 2024-05-17 10:47:40 -05:00
Rémi Verschelde
bdefe53992
Merge pull request #91909 from KoBeWi/have_fun_reviewing_this
Use Core/Scene stringnames consistently
2024-05-14 12:07:03 +02:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Rémi Verschelde
c1166c5955
Merge pull request #91880 from AThousandShips/curve_tests
[Tests] Expand tests for `Curve2D/3D`
2024-05-13 17:32:22 +02:00
A Thousand Ships
71c99293ed
[Tests] Expand tests for Curve2D/3D 2024-05-12 18:13:39 +02:00
kobewi
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
lawnjelly
b35264ad95 Fix AABB Ray intersection - return inside
* Separates find_intersects from test_intersects for rays, and wraps the former.
* Changes parameter name to "r_intersection_point".
* Fixes broken old version which returned per axis t.
* Returns whether the ray origin is within the AABB.
* Returns intersection point when origin outside.
* Returns "backtracking" intersection point when inside.
* Returns sensible normal when inside.
* Returns valid results on borders.
* Returns robust results dealing with floating point error.

Co-authored-by: Claire Blackshaw <evilkimau@gmail.com>
2024-05-09 20:41:19 +01:00
Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive String::containsn 2024-05-08 12:48:01 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Rémi Verschelde
4c30718102
Merge pull request #91615 from Frozenfire92/remap-doc-nan-note
Add docs note about remap returning undefined when istart == istop
2024-05-08 09:54:20 +02:00
Joel Kuntz
26feefa91c Add notes for remap's return when istart and istop are the same
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
Co-Authored-By: kleonc <9283098+kleonc@users.noreply.github.com>
2024-05-07 19:37:29 -03:00
Wilson E. Alvarez
d4154dbc55
Add const char * overloads to String class
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-05-07 10:53:00 -04:00
A Thousand Ships
09460d33e6
[Core] Fix sharing of typed arrays from constructor 2024-05-07 09:52:17 +02:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Rémi Verschelde
7cdad33311
Merge pull request #91621 from AThousandShips/localvector_has
[Core] Add `LocalVector::has` for convenience
2024-05-06 22:33:45 +02:00
A Thousand Ships
86de59d60a
[Core] Add LocalVector::has for convenience 2024-05-06 18:03:37 +02:00
Shashank C
7a6f8452bd add timer node tests 2024-05-06 09:39:27 +05:30
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde
03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde
25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
MJacred
717513a62d Add is_valid_letter() to TextServer 2024-05-02 21:32:20 +02:00
kit
0162683da4 Fix TextEdit crash with multiple carets disabled 2024-05-02 09:26:08 -04:00
Rémi Verschelde
e19b808a7a
Merge pull request #86978 from kitbdev/multicaret-overhaul
Overhaul multicaret editing and selection in TextEdit
2024-04-30 17:03:04 +02:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of Callable.is_null()
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
kit
773a473807 Overhaul multiple caret editing in TextEdit.
Use a multicaret edit to delay merging overlapping carets until the end.
2024-04-26 14:26:10 -04:00
Rémi Verschelde
a37db390e0
Merge pull request #90229 from Santoss1809/master
Fix error message when removing only child from GraphNode
2024-04-26 11:08:25 +02:00
João Santos
eb9e193477
Fix error message when removing only child from GraphNode
Fixes #89695.
2024-04-26 10:45:45 +02:00
Rémi Verschelde
7b0bd873f0
Merge pull request #91103 from smix8/navregion_test_err
NavigationRegion test suppress warning about visual meshes
2024-04-24 18:55:16 +02:00
smix8
61c099a41f NavigationRegion test suppress warning
Suppresses warning about source geometry parsing from visual meshes in NavigationRegion test.
2024-04-24 11:32:45 +02:00
Rémi Verschelde
17d9c52ad9
Merge pull request #90894 from lyuma/animation_step_30
Set animation step from importers. Increase default step from 10 to 30FPS
2024-04-24 09:59:21 +02:00
killzebug
53a95d6a00 Suppressed expected errors for uncached resources. 2024-04-22 23:50:20 +03:00
Ricardo Buring
8a28f816d0 Replace Clipper1 library by Clipper2 library 2024-04-20 13:37:59 +02:00
Rémi Verschelde
0f7452fedd
Merge pull request #61013 from Calinou/test-add-transform3d
Add rotation unit tests for Transform3D
2024-04-19 16:26:31 +02:00
Lyuma
bb9674c1b1 Set animation step from importers. Increase default step from 10 to 30 FPS. 2024-04-19 03:02:20 -07:00
Rémi Verschelde
9b28cbebfa
Tests: Disable NavigationServer3D async bake test with race condition 2024-04-17 17:30:54 +02:00
A Thousand Ships
abe7ec1543
Fix some build errors with disable_3d=yes 2024-04-16 14:25:36 +02:00
smix8
cbf881432c Update NavigationRegion test rid function
Updates NavigationRegion test rid function from deprecated get_region_rid() to use newer get_rid().
2024-04-16 11:49:23 +02:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
A Thousand Ships
80cb914e06
[Core] Fix incorrect comparison for Array const iterator 2024-04-13 17:32:33 +02:00
Rémi Verschelde
66cf38ec7c
Tests: Remove NavigationRegion3D race condition that fails on CI
As the comment pointed it out, it's a race condition, and evidently no,
"it's [not] fine" ;)
2024-04-13 10:22:44 +02:00
Alex Billedeaux
f421d20280
Add closest_points_between_segments() basis path tests for Geometry2D 2024-04-10 23:49:23 +02:00
titus125
ca3ff2b89e
Add more unit tests for Transform2D 2024-04-10 23:17:15 +02:00
Hugo Locurcio
4e6de25540
Add rotation unit tests for Transform3D
Co-authored-by: Alexander Pruss <alex.pruss@gmail.com>
2024-04-10 22:27:14 +02:00
Hugo Locurcio
3469fb06b6
Add unit tests for GradientTexture1D and GradientTexture2D
Co-authored-by: ArthyChaux <53626057+ArthyChaux@users.noreply.github.com>
2024-04-10 20:48:43 +02:00
Rémi Verschelde
83b916bb00
Fix a doc and a test issue not caught by CI 2024-04-10 18:49:02 +02:00
Pedro J. Estébanez
1b104ffcd8 WorkerThreadPool: Support daemon-like tasks (via yield semantics) 2024-04-10 18:47:42 +02:00
Rémi Verschelde
5bd2af6c38
Merge pull request #90313 from Nazarwadim/unit_tests_oa_hash_map
Add unit tests for `OAHashMap`
2024-04-10 17:49:29 +02:00
A Thousand Ships
64146cb7f3
[Core] Add iteration support to Array 2024-04-10 14:49:34 +02:00
Rémi Verschelde
4b813386d2
Merge pull request #88614 from ramadm/test-camera-2d
Add unit tests for Camera2D
2024-04-10 14:21:43 +02:00
RevoluPowered
65d076b78d
Add unit test for resolve_hostname 2024-04-10 14:19:04 +02:00
nazarii
0c8e1c69f8 Add unit tests for OAHashMap 2024-04-10 07:51:06 +03:00
nazarii
b8caf9b224 Add unit test for Vector2 plane_project 2024-04-05 21:57:01 +03:00
Rémi Verschelde
c5ac5d2308
Merge pull request #90063 from aaronfranke/really-floaty
Fix some uses of `float` and `real_t` in `core/math`
2024-04-04 14:36:57 +02:00
Rémi Verschelde
4abe9183e3
Merge pull request #89926 from Sauermann/fix-button-mask-special-case
Fix a special case for button masks
2024-04-04 14:35:24 +02:00
Rémi Verschelde
ec5cae37d6
Merge pull request #78219 from dalexeev/core-typed-arrays-bin-serialization
Core: Add typed array support for binary serialization
2024-04-04 14:30:22 +02:00
Aaron Franke
158fcf107c
Fix some uses of float and real_t in core/math 2024-03-29 16:44:12 -07:00
Markus Sauermann
48ea019322 Fix a special case for button masks
In certain situations it is possible that in a `Viewport` the same
mouse button is pressed twice in series without releasing it in
between.
In this case, focus stealing should happen to ensure, that the
mouse button is not sent unintentionally to the previously focused
Control node.
2024-03-28 20:22:49 +01:00
Rémi Verschelde
f371b7fb70 Merge pull request #87883 from TontonSancho/text-skip-occurence
Add 'Skip to next (text) occurrence' feature to text editor
2024-03-25 13:15:56 +01:00
Rémi Verschelde
89c70da7bd
Merge pull request #89858 from AThousandShips/utf_fix
[Buildsystem] Fix encoding when reading files
2024-03-25 11:18:54 +01:00
Christophe Andral
c988bec4b3 Add 'Skip to next (text) occurrence' feature to text editor
Adds `ui_text_skip_selection_for_next_occurrence` action and related implementation to text editor.
This action is bound `Ctrl+Alt+D` shorcut.

Used in conjonction with `ui_add_skip_selection_for_next_occurrence`, it gives the user the ability to select many occurrences of a selection
and avoid some of them.
Used without a previous selection, the action jumps to the next occurrence of the current word under the caret.
2024-03-25 11:12:28 +01:00
A Thousand Ships
4933fa8bf5
[Buildsystem] Fix encoding when reading files 2024-03-24 18:02:56 +01:00
A Thousand Ships
bb6305d1c4
[Core] Fix incorrect file sort method 2024-03-24 17:54:57 +01:00
A Thousand Ships
2cbf469912
Fix sorting of files/dirs in dialogs
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +01:00
Danil Alexeev
c30bec7fca
Core: Add typed array support for binary serialization 2024-03-20 11:37:41 +03:00
Rémi Verschelde
a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
Rémi Verschelde
1bbdbbaada
Merge pull request #89242 from RafaelRain18/master
Fix region section not ignoring #region and #endregion when in a string
2024-03-11 14:02:30 +01:00
Rémi Verschelde
b0d07b1bc2
Merge pull request #86936 from akx/env-utf-8
Attempt parsing environment variables as UTF-8
2024-03-11 14:02:22 +01:00
Rafael Chuva
8c36282feb Fix region section not ignoring #region and #endregion when in a string
When using the script editor, if the keywords #region and #endregion where
in a string and ate the start of the line, the editor would not ignore them
and count them as the actual keywords, which when folded, would only fold
until the first #endregion in a string, for example.

By checking if these keywords were in a string, this commit now ensures the
editor ignores strings and fold the section correctly.

Fixes #89115.
2024-03-11 00:04:39 +00:00
A Thousand Ships
59bcc2888c
Add methods to get argument count of methods
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Thaddeus Crews
d9fa40f2df
Enforce \n eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
Pawel Lampe
ab242769b7 Extend NavigationMeshSourceGeometryData[23]D to allow data merging 2024-03-07 19:57:43 +01:00
Rémi Verschelde
d082ce908f
Merge pull request #85390 from TheSofox/merge-all-commit-fix
UndoRedo: Fix `MERGE_ALL` commit from repeating actions
2024-03-06 09:50:13 +01:00
Sofox
f249667dc8 Fixed MERGE_ALL commit from repeating actions 2024-03-05 23:40:26 +00:00
Mika Viskari
3026b566b0 Fix String::begins_with when both strings are empty 2024-03-05 20:46:10 +02:00
Edward Moulsdale
e461496ecb Add unit tests for CryptoKey 2024-03-01 07:17:59 +00:00
Rémi Verschelde
7434f8b4e3
Merge pull request #88959 from akien-mga/pre-commit-clang-17.0.6-black-24.2.0
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-29 13:54:38 +01:00
Rémi Verschelde
1cc9190c70
Merge pull request #81822 from nlupugla/nodepath-slice
Add `NodePath::slice` method
2024-02-29 13:53:34 +01:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0 2024-02-28 14:25:35 +01:00
smix8
35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
Aaron Franke
c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Aaron Franke
1cb531ddb6
Move 2D-only resources to their own folder 2024-02-26 05:22:45 -06:00
A Thousand Ships
3a707b1f54
Fix some additional errors with 3D disabled
* Disabled 2D navigation tests as they do not work
* Disabled tests for primitive meshes
* Unbound some `Mesh` methods that rely on 3D resources
* Unexposed `World3D` as it depends on physics (and isn't useful)
* Unexposed some `Viewport` vrs related properties that had unexposed
  methods
2024-02-23 20:58:56 +01:00
A Thousand Ships
d7a72d72e6
Fix running tests in template builds 2024-02-22 18:05:42 +01:00
A Thousand Ships
f06222e487
[Physics] Fix export with 3D disabled 2024-02-22 16:23:48 +01:00
Danil Alexeev
c0aa88ae4f
Add Unicode support to String.to_*_case() methods 2024-02-22 13:58:46 +03:00
Rama Del Maestro
4f06ddfeae Add unit tests for Camera2D 2024-02-21 16:55:16 -08:00
b
6dbbc24bdf Added ImageTexture unit tests 2024-02-19 11:15:04 -06:00
A Thousand Ships
d5212b4b7d
[Tests] Fix test regression without editor 2024-02-17 18:06:57 +01:00
Muller-Castro
a8bc9f3e78 Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
Silc Lizard (Tokage) Renew
67e38709fd Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport 2024-02-13 18:53:21 +09:00
Rémi Verschelde
251d5b3669
Merge pull request #87715 from Scony/add-is-baking
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
Pawel Lampe
c2cfc0d409 Expose is_baking method in navigation servers and region nodes. 2024-02-05 22:04:22 +01:00
Mel Collins
8406e60522 Add InputEventKey.location to tell left from right
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.

It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Markus Sauermann
689dfd7452 Test global transform when adding detached tree
Global transform should be correct after attaching a detached tree.
2024-01-18 00:25:55 +01:00
Rémi Verschelde
0a7579b161
Fix #if *_ENABLED inconsistencies, should check if defined
Co-authored-by: Caroline Joy Bell <halotroop2288@proton.me>
2024-01-17 10:30:15 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00