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