1
0
Fork 0
Commit Graph

1226 Commits

Author SHA1 Message Date
Rémi Verschelde a7d0464e9e
Merge pull request #95931 from pafuent/adding_packet_peer_tests
Add unit tests for `PacketPeer`
2024-10-01 17:30:36 +02:00
Rémi Verschelde d71d95448c
Merge pull request #95784 from pafuent/adding_stream_peer_buffer_tests
Add unit tests for `StreamPeer` and `StreamPeerBuffer`
2024-10-01 17:30:33 +02:00
Pablo Andres Fuente ff10dee946 Add unit tests for StreamPeer and StreamPeerBuffer
Partially fixes #43440
2024-10-01 12:25:11 -03:00
Pablo Andres Fuente 0a41a715da Add unit tests for PacketPeer
Partially fixes #43440
2024-10-01 12:19:41 -03:00
MATTHEW ESTOPINAL 136e4d5636
Add Unit Test cases for `Sky` 2024-10-01 15:54:53 +02:00
Haoyu Qiu 6516ca6b11 Parse fragment from URL 2024-09-27 19:42:30 +08:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Pablo Andres Fuente 9c0afbb15c Fixing TreeItem get_prev_xxx methods when p_wrap is true
Fixes #85032

The code that fix the issue is courtesy of @Jesusemora, I just added
unit tests for it and did a rebase with the latest changes on master.

Co-authored-by: Jesusemora <32273722+Jesusemora@users.noreply.github.com>
2024-09-23 17:11:02 -03:00
Ricardo Buring 7c4c4b9987 Move Godot Physics 2D into a module; add dummy 2D physics server
If the module is enabled (default), 2D physics works as it did before.

If the module is disabled and no other 2D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 2D physics functionality (and
a warning is printed).

The dummy 2D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-23 17:33:45 +02:00
Rémi Verschelde 4254946de9
Merge pull request #97323 from timothyqiu/drop-unicode-identifier
Fix script editor wrongly replaces and quotes non-ASCII letters
2024-09-23 16:14:08 +02:00
Rémi Verschelde dd71bc2d3b
Merge pull request #95252 from rburing/3d_physics_module
Move Godot Physics 3D into a module; add dummy 3D physics server
2024-09-23 12:27:55 +02:00
Rémi Verschelde 720c236fc0
Merge pull request #90743 from timothyqiu/empty-selection-clipboard
Add TextEdit option to prevent copying without a selection
2024-09-23 12:27:35 +02:00
Haoyu Qiu a751c05b15 Fix script editor wrongly replaces and quotes non-ASCII letters 2024-09-23 00:05:16 +08:00
MrPersonDev 899bb9e96f Fix words not being selected by endpoints 2024-09-21 12:42:03 -07:00
Ricardo Buring 0333648cea Move Godot Physics 3D into a module; add dummy 3D physics server
If the module is enabled (default), 3D physics works as it did before.

If the module is disabled and no other 3D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 3D physics functionality (and
a warning is printed).

The dummy 3D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-21 21:19:45 +02:00
kit f2f34e9c50 Fix TabBar initialization issue and add tests 2024-09-20 18:49:46 -04:00
Rémi Verschelde 6bf8a3e3f8
Merge pull request #95449 from SlashScreen/array_functions
Add callable support for `find` and `rfind` `Array` methods
2024-09-20 16:06:13 +02:00
demolke 0468bea899 Add per-bone meta to Skeleton3D
Individual bones are not represented as `Node`s in Godot, in order to support meta functionality for them the skeleton has to carry the information similarly to how other per-bone properties are handled.
- Also adds support for GLTF import/export
2024-09-16 16:26:15 +02:00
Rémi Verschelde f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Pedro J. Estébanez bb77520599 Object: Add tests about the safety of tail destruction 2024-09-16 09:58:47 +02:00
SaNeOr ed69fd66da fix: Editor, save script file: Triple quote string: spaces are converted into tabs 2024-09-16 10:01:09 +08:00
Markus Sauermann 60aaa017ff Enable Drag and Drop for SubViewports and Windows
Make Drag and Drop an application-wide operation.
This allows do drop on Controls in other Viewports/Windows.

In order to achieve this, `Viewport::_update_mouse_over` is adjusted to
remember the Control, that the mouse is over (possibly within nested
viewports). This Control is used as a basis for the Drop-operation, which
replaces the previous algorithm, which was only aware of the topmost
Viewport.

Also now all nodes in the SceneTree are notified about the Drag and Drop
operation, with the exception of SubViewports that are not children of
SubViewportContainers.
2024-09-15 01:06:02 +02:00
Haoyu Qiu 504e0656bb Add TextEdit option to prevent copying without a selection 2024-09-14 09:39:36 +08:00
Slashscreen 89491f4403 Add callable support for `find` and `rfind` `Array` methods 2024-09-13 00:01:53 -07:00
Rémi Verschelde d1caac5e75
Merge pull request #93856 from timothyqiu/expression-period
Fix parsing of `4.` in Expression
2024-09-11 12:34:39 +02:00
Yaohua Xiong 51b8b74d4b Do not defer PathFollow3D transform updates
Co-authored-by: Yaohua Xiong <xiongyaohua@gmail.com>
2024-09-10 10:35:48 +02:00
Rémi Verschelde df387b20d0
Merge pull request #95650 from LeonStansfield/parallax_2d_tests
Add unit tests for `Parallax2D`
2024-09-06 22:38:25 +02:00
Rémi Verschelde 0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Leon Stansfield 3d13d90185
Add unit tests for Parallax2D
- Added test cases for setting and getting key properties of Parallax2D, including:
  - Scroll scale
  - Repeat size and times
  - Autoscroll
  - Scroll and screen offset
  - Limit begin and end
  - Follow viewport and ignore camera scroll flags
2024-09-06 22:34:51 +02:00
Leon Stansfield 6c4ee85f29
Add unit tests for HeightMapShape3D
Added test cases for constructor and property getters/setters:
- Map width, depth, and data
- Minimum and maximum height
- Update map data from image
2024-09-06 09:54:48 +02:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Rémi Verschelde 139f9989e6
Merge pull request #96565 from Geometror/improve-test-generator
[Tests] `create_test` script: Improve argument description and snake_case name conversion
2024-09-04 17:12:25 +02:00
Rémi Verschelde 9b4a965407
Merge pull request #96564 from Geometror/tests-audio-tag
[Tests] Make `[Audio]` tag consistent with other test environment tags
2024-09-04 17:12:22 +02:00
Rémi Verschelde f69de1c522
Merge pull request #96038 from kitbdev/fix-line-edit-caret-word-mode
Fix LineEdit word mode when there are no more words
2024-09-04 17:12:06 +02:00
Hendrik Brucker ec7ca6bab5 [Tests] Improve argument description and snake_case name conversion of test generator script 2024-09-04 16:04:31 +02:00
Hendrik Brucker 36a0ec166e [Tests] Make `[Audio]` tag consistent with other test environment tags 2024-09-04 15:14:49 +02:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
Rémi Verschelde e004ae7bbe
Merge pull request #85965 from ershn/use_heap_in_astar_path_finding
Improve pathfinding performance by using a heap to store traversable polygons
2024-09-03 11:42:48 +02:00
Ershn c3ee32f106 Use a heap to store traversable polygons for pathfinding 2024-09-01 11:24:14 +09:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
DeeJayLSP d3b51c4efb ResourceImporterWAV: Enable QOA compression by default 2024-08-31 00:42:56 -03:00
Rémi Verschelde ce069e4567
Merge pull request #96291 from miv391/string-unit-tests
Add more unit tests for String `insert` and `join`.
2024-08-30 09:59:47 +02:00
Rémi Verschelde 4c6bac15a3
Merge pull request #92656 from fire/vsk-json-to-native-4.3
Ability to convert native engine types to JSON and back.
2024-08-30 09:58:57 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
K. S. Ernest (iFire) Lee 71bdbcdfb1 Ability to convert native engine types to JSON and back.
Implements support for all engine types in JSON encoding/decoding

Co-Authored-By: Juan <reduzio@gmail.com>
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-08-29 10:57:15 -07:00
demolke c409e6d722 Import/export GLTF extras to node->meta
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.

- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
Mika Viskari 3153e9afda Added more unit tests for String insert and join. 2024-08-29 20:05:44 +03:00
A Thousand Ships cd4221c1e2
[Tree] Fix error when removing child from `Tree`
New `last_child` member was not properly updated
2024-08-28 12:40:26 +02:00
Rémi Verschelde db24ed4ead
Merge pull request #94995 from Repiteo/scons/raw-cstrings
SCons: Add method to generate raw cstrings
2024-08-28 00:12:47 +02:00
Rémi Verschelde 8931177d47
Merge pull request #93824 from wheatear-dev/test-option-button
Add unit tests for `OptionButton`
2024-08-28 00:11:30 +02:00
Rémi Verschelde b523add340
Merge pull request #93381 from Luis-Wong/test-button
Add button unit test
2024-08-28 00:11:11 +02:00
Rémi Verschelde a7c6136644
Merge pull request #90501 from Calinou/test-add-gradienttexture
Add unit tests for GradientTexture1D and GradientTexture2D
2024-08-28 00:10:37 +02:00
Rémi Verschelde 4f02b37f70
Merge pull request #95218 from MylesScholz/unit-tests
Add unit tests for `StyleBoxTexture`
2024-08-27 22:27:39 +02:00
Rémi Verschelde 9e1c63a051
Merge pull request #94748 from aaronp64/tree_perf
Improve `Tree` performance
2024-08-27 22:27:30 +02:00
Rémi Verschelde 2215f8f908
Merge pull request #91654 from 2nafish117/node2d-helper-tests
Add unit tests for Node2D helper methods
2024-08-27 22:27:14 +02:00
Haoyu Qiu 8bf4ecc026 Add `String.is_valid_unicode_identifier()`
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde 80935234f4
Merge pull request #93134 from AThousandShips/default_bind_check
[Tests] Ensure all default method arguments can be encoded
2024-08-26 23:28:29 +02:00
kit 3da4f457d0 Fix LineEdit word mode when there are no words 2024-08-24 12:28:18 -04:00
Aaron Franke 7db24a9ad5
Simplify and fix Rect2/AABB get_support function 2024-08-19 23:55:31 -07:00
Rémi Verschelde db5003519a
Merge pull request #89554 from smnast/backspace-unfold
Fix backspace always unfolding previous line
2024-08-19 16:04:34 +02:00
Rémi Verschelde 49e5fbfbd2
Merge pull request #95184 from jsjtxietian/shader-include-relative
Fix `String::simplify_path` handling of relative paths to parent dir (`../`), fixes relative shader includes
2024-08-17 00:46:11 +02:00
kit 93a81dd7aa Fix TextEdit caret movement at start of wrapped lines 2024-08-16 15:52:03 -04:00
A Thousand Ships 61998b1a05
[Tests] Ensure all default method arguments can be encoded
Checks that all arguments of bound methods can be encoded in extensions, checking non-empty or non-null cases for containers and objects
2024-08-16 19:57:03 +02:00
Rémi Verschelde 803dfcc3cb
Merge pull request #95613 from timothyqiu/split-empty
Fix `split_floats` behavior when spaces are used as separators
2024-08-16 14:36:40 +02:00
Haoyu Qiu f483c3aafa Fix split_floats behavior when spaces are used as separators 2024-08-16 17:30:44 +08:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
Aaron Franke 5ced75aeb1
Fix Vector4, Vector4i, and Projection missing from ClassDB tests 2024-08-14 02:59:59 -07:00
MylesScholz cdaba941d5 StyleBoxTexture unit tests
Capitalization fix in test_style_box_texture.h

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>

Newline fix in test_style_box_texture.h

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-08-08 11:36:34 -07:00
jsjtxietian 6cf9af2817 Fix error when use relative #include in .gdshader / .gdshaderinc file 2024-08-08 11:59:14 +08:00
unknown be072de73c add unit tests for Node2D helper methods 2024-08-05 22:10:19 +05:30
Thaddeus Crews 0163705640
SCons: Add method to generate raw cstrings 2024-07-31 14:22:04 -05:00
ze2j 90c77c1f68 Fix compilation failure in test_graph_node.h with disable_exceptions=false 2024-07-27 15:00:58 +02:00
aaronp64 040f241f39 Improve Tree performance
Added TreeItem::last_child to avoid needing to iterate through all children to get to the end.  This mainly helps in cases where one TreeItem has many children (1000s), and new children are added to the end, as each add had to iterate through all previously added children.
2024-07-26 11:32:45 -04:00
Luis-Wong 77331d132b Created button test for is_hovered() method. 2024-07-26 00:05:46 -04:00
Raul Santos c3a054fa0b
Fix PathFollow tests, Add forward vector test to PathFollow3D 2024-07-20 19:09:42 +02:00
Hugo Locurcio 0445ccf428
Fix Image CowData crash when baking large lightmaps
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.

VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
Edward Moulsdale 80ba71c395 Add tests for OptionButton 2024-07-18 19:37:01 +01:00
A Thousand Ships 832695eb2c
[Tests] Fix various unit tests on minimal builds 2024-07-18 15:17:28 +02:00
A Thousand Ships ea2e6be0a6
[Tests] Fix some invalid error messages
These used `utf8().get_data()` when they should be passed as `String`
2024-07-10 15:57:52 +02:00
Haoyu Qiu ee9cea521d Fix parsing of `4.` in Expression 2024-07-02 20:53:52 +08:00
Rémi Verschelde d4fdf16353
Merge pull request #92806 from mihe/headless-input
Add input event callback to `DisplayServerHeadless`
2024-07-01 18:28:41 +02:00
A Thousand Ships 17929a3443
[Tests] Fix unit tests in template builds 2024-06-29 18:35:50 +02:00
Rémi Verschelde 3f4bcfeef1
Merge pull request #93607 from kitbdev/fix-text-edit-move-lines
CodeEdit: Fix move lines up/down viewport and selection issues
2024-06-27 17:08:23 +02:00
Rémi Verschelde 3d8562d775
Merge pull request #89197 from AThousandShips/arr_typed_fix
[Core] Fix sharing of typed arrays from constructor
2024-06-26 18:15:09 +02:00
kit a7da814c6b CodeEdit Fix move lines up/down viewport and selection issues 2024-06-25 15:31:20 -04:00
kobewi 74cc9e8d93 Fix storing of Node Array properties 2024-06-21 15:49:48 +02:00
Rémi Verschelde fe61f94c7e
Merge pull request #92810 from KoBeWi/redirect_tests_to_dev/null
Use subfolder for temporary test files
2024-06-13 17:19:20 +02:00
gaven fb485e3552
Add unit test cases for ImageTexture3D 2024-06-12 10:32:09 +02:00
Rémi Verschelde 19affb60d1
Merge pull request #92850 from permelin/fix-navigationserver3d-get_closest_point_to_segment-use_collision
Fix `NavigationServer3D.get_closest_point_to_segment()` with `use_collision`
2024-06-07 23:30:42 +02:00
Rémi Verschelde c2d983553b
Merge pull request #91390 from kitbdev/add-selection-unhide-carets
Unhide carets in add selection for occurrence and fix error
2024-06-07 23:29:23 +02:00
Per Melin 9b191f669c Fix NavigationServer3D.get_closest_point_to_segment() with use_collision 2024-06-07 14:24:39 +02:00
Mikael Hermansson f92b196099 Add input event callback to `DisplayServerHeadless` 2024-06-05 20:34:35 +02:00
kobewi 5514b2c70c Use subfolder for temporary test files 2024-06-05 20:31:42 +02:00
kobewi be111004dd Fix default NodePaths saved in scene 2024-06-03 13:10:23 +02:00
Rémi Verschelde 972181d701
Merge pull request #90506 from Calinou/test-transform2d-add-more-tests
Add more unit tests for Transform2D
2024-05-29 22:13:35 +02:00
Adriano Orioli edd2e6e37f
make InstancePlaceholder in charge of node reference resolution 2024-05-28 11:51:49 +02:00
MrPersonDev 2860b99077 Fix backspace always unfolding previous line 2024-05-27 13:30:19 -07:00
kit 948f09632e Unhide carets in add selection for occurrence 2024-05-27 15:30:18 -04:00
Paulo Poiati a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 -03:00
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
kit cb17798df3 Add Array and Variant list inializer 2024-05-02 15:35:17 -04: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
A Thousand Ships b4191bf8f6
[Core] Fix `AABB.encloses` failing on shared upper bound
This differs from `Rect2(i)` and was fixed for those classes in the past
2024-01-12 17:58:42 +01:00
Rémi Verschelde 6226388bac
Merge pull request #86874 from AThousandShips/no_3d_fix
Fix some build errors with `disable_3d=yes`
2024-01-08 11:59:31 +01:00
Rémi Verschelde c10d268974
Merge pull request #86787 from ryevdokimov/code-spell-check
Fix various spelling errors across engine solution
2024-01-08 11:55:55 +01:00
Rémi Verschelde b88535fe23
Merge pull request #85178 from HolonProduction/completion-tests
Add unit test runner for autocompletion
2024-01-08 11:51:03 +01:00
Aarni Koskela a4c5dae8cb Attempt to parse environment variables as UTF-8 2024-01-07 19:53:43 +02:00
A Thousand Ships c6a1ae7875
Fix some build errors with `disable_3d=Yes`
* Some tests were incorrectly included
* SCU builds with animation
* Animation `switch`
2024-01-07 00:44:33 +01:00
HolonProduction af4cbaf751 Add unit test runner for autocompletion 2024-01-05 17:49:51 +01:00
Rémi Verschelde b88eddb682
Merge pull request #78378 from 0xafbf/curve-evaluate-correct-transform
Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D
2024-01-04 16:38:38 +01:00
Robert Yevdokimov f9826a1dd7 Fix various spelling errors 2024-01-04 09:56:43 -05:00
Rémi Verschelde 8ac674287c
Merge pull request #80819 from sepTN/test-packed-scene-v3
Improve PackedScene unit test by covering more methods
2024-01-04 14:24:46 +01:00
Rémi Verschelde 22e880ad20
Merge pull request #83163 from Chubercik/vectorXi_dist_methods
Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-03 09:58:36 +01:00
EddieBreeg 8747c67d9e
Fix potential integer underflow in rounded up divisions
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.

Fixes #80358.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Yuri Sizov 02bc2a37dd Merge pull request #86118 from TheSofox/complex-undo-select-fix
Fix so undoing complex operations in `TextEdit` will restore selections
2023-12-20 15:07:52 +01:00
Yuri Sizov 40e7192393 Merge pull request #85191 from HolonProduction/off-by-one-code-edit
Fix updating delimiter cache of `CodeEdit` when typing on the first line
2023-12-20 15:07:44 +01:00
Sofox 4b82cacc21 Fix so undoing complex operations in TextEdit will restore selections. 2023-12-20 00:12:52 +00:00
Yuri Sizov 921c400db6 Merge pull request #84826 from chocola-mint/master
Add unit tests for Camera3D
2023-12-19 13:01:19 +01:00
HolonProduction d5847fa54e Fix updating delimiter cache of `CodeEdit` when typing on the first line 2023-12-18 14:07:46 +01:00
nlupugla cd221c1816 Added NodePath::slice method. 2023-12-13 13:30:28 -05:00
Rémi Verschelde b952b007b1
Merge pull request #84782 from rsburke4/image-fix
Prevent crash on conversion of invalid data in `Image`
2023-12-12 00:17:42 +01:00
rsburke4 dec2269bca Added error to catch conversion on invalid image 2023-12-10 15:06:22 -05:00
Yuri Sizov 6269341461 Merge pull request #85054 from miv391/highlight-minimap-error-lines
Highlight error lines in minimap
2023-12-08 18:45:54 +01:00
Yuri Sizov 47cd07aa13 Merge pull request #85666 from miv391/more-unit-tests-for-string-to-number-conversions
Add more C++ unit tests for String to number conversions
2023-12-08 16:58:29 +01:00
Yuri Sizov b3c20bcf1e Merge pull request #83229 from aaronfranke/basis-is-ortho
Fix Basis `is_orthogonal` and `is_rotation` methods, add `is_orthonormal`
2023-12-08 16:58:03 +01:00
Mika Viskari 609eb8bc01 Highlight error lines in minimap 2023-12-07 16:26:08 +02:00
Aaron Franke 7ee273723d
Fix Basis is_orthogonal and is_rotation methods, add is_orthonormal 2023-12-06 13:12:05 -06:00
Aaron Franke 6ee9edb946
Reduce minimum capsule/cylinder mesh rings to 0 2023-12-05 22:27:23 -06:00
Mika Viskari 5e40124d4d Add more C++ unit tests for String to number conversions 2023-12-02 20:54:48 +02:00
Pawel Lampe a4b3546577 Fix memory leak in 'NavigationServer3D' involving static obstacles 2023-11-17 21:20:14 +01:00
CHM 2e35ecce9c Add tests for Camera3D 2023-11-13 19:04:50 +08:00
kit d24d73ba31 Make mouse-enter/exit notifications match mouse event propagation
`NOTIFICATION_MOUSE_ENTER` and `NOTIFICATION_MOUSE_EXIT` now includes
the areas of children control nodes if the mouse filters allow it.

In order to check if a Control node itself was entered/exited, the newly
introduced `NOTIFICATION_MOUSE_ENTER_SELF` and
`NOTIFICATION_MOUSE_EXIT_SELF` can be used.

Co-authored-by: Markus Sauermann <6299227+Sauermann@users.noreply.github.com>
2023-11-09 09:11:59 -05:00
Andrés Botero acae382010 Changed the way the rotation of a curve at a point is evaluated to match PathFollow2D 2023-10-28 01:23:38 -05:00
SilicDev c0808d5083 fix assignment to vec2 tests 2023-10-25 20:57:45 +02:00
Rémi Verschelde 3e8dc9df0a
Merge pull request #83286 from bronsonholden/fix-text-edit-hscroll-jitter
Remove vertical scrollbar padding from line width calc
2023-10-17 16:12:58 +02:00
Rémi Verschelde 897ff71156
Merge pull request #76244 from kgrubbs22/variant-test-updates
Added Unit Tests for Variant for Operator Overloading
2023-10-16 10:37:40 +02:00
Bronson Holden b15dd3e145 Add test justifying change to expected horizontal scroll position 2023-10-13 12:22:50 -07:00
Danil Alexeev 881fe67d94
Code Editor: Fix regression with using doc comments for code regions 2023-10-13 09:38:03 +03:00
Jakub Marcowski cb954c6bab Implement `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to` 2023-10-12 13:46:49 +02:00
Adam Scott 25cbb682f5
Fix code completion override of home and end keys 2023-10-06 14:48:45 -04:00
Rémi Verschelde c2b916751d
Merge pull request #82786 from theraot/donotreplacestartingdigitwithunderscore
Do not replace starting digit with underscore when making identifier
2023-10-05 12:29:42 +02:00
kobewi 09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde aa554e8278
Merge pull request #82694 from BrianMacIntosh/master
"Whole Words" search can detect word boundaries inside the search term.
2023-10-05 10:08:58 +02:00
Alfonso J. Ramos 5cd7ca0ccc Do not replace starting digit with underscore when making identifier 2023-10-04 08:05:04 -05:00
Rémi Verschelde b11309ddb6
Merge pull request #81633 from matorin57/code-completion-popup
Avoid resetting the code completion popup excessively
2023-10-03 17:20:49 +02:00
Brian MacIntosh 676627e1d1 "Whole Words" search can detect word boundaries inside the search term.
For example, searching for ".func" will now match in "a.func" even with Whole Words enabled.
2023-10-02 13:47:59 -07:00
etti 3a39de4e2f Add rotate_toward and angle_difference to GDScript and C# 2023-10-01 22:19:42 +02:00
Rémi Verschelde 3ec673085b
Merge pull request #79523 from aaronfranke/is-conformal
Add `is_conformal` method to Basis and Transform2D
2023-09-26 13:44:41 +02:00
Rémi Verschelde 7dccb9e039
Merge pull request #80796 from smix8/navgenerator_2d_4.x
Add 2D navigation mesh baking
2023-09-26 08:17:58 +02:00
PucklaMotzer09 d2e651f403 Add Duplicate Lines shortcut to CodeTextEditor
This keyboard shortcut has been made with inspiration from the VS Code keyboard shortcut editor.action.copyLinesDownAction. It duplicates all selected lines and inserts them below no matter where the caret is within the line.
2023-09-25 23:41:31 +02:00
smix8 0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
Aaron Franke bcfb2c0089
Simplify Geometry3D tests 2023-09-25 01:54:22 -05:00
DESKTOP-UT43QTQ\Garrigan-Desktop 303d0994e9 Avoid resetting the code completion popup excessively 2023-09-20 15:49:25 -05:00
Ryan Hitchman 734b9d2379 Fix Curve3D baking up vectors for nontrivial curves.
The code was modified in 42aa539 to have a different basis vector, but
this line was missed and caused up vectors to invert sometimes.

Fixes #81879
2023-09-18 18:50:36 -06:00
Rémi Verschelde 77623d0a36
Merge pull request #81354 from MJacred/textedit_pixel_pos_fix
Fix `TextEdit.get_rect_at_line_column returning` negative pos even though cursor is in viewable area of the control
2023-09-18 10:37:59 +02:00
Yuri Sizov 721cac4a38 Merge pull request #81456 from AThousandShips/test_fix
Fix errors when testing `Resource`
2023-09-14 15:21:37 +02:00
Aaron Franke 56806ffeed
Add `is_conformal` method to Basis and Transform2D 2023-09-13 17:20:30 -05:00
Rémi Verschelde 38ca83e16f
Merge pull request #81464 from AcatXIo/fix-sign-nan
Fix `SIGN(NAN)` returning 1
2023-09-12 12:01:39 +02:00
Rémi Verschelde 5c43e4c1ef
Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Jean-Michel Bernard 67dce301aa Add code region folding to CodeEdit 2023-09-11 18:36:40 +02:00
MJacred 6170381bd7 Fix TextEdit.get_rect_at_line_column returning negative pos even though cursor is in viewable area of the control 2023-09-11 12:32:36 +02:00
AcatXIo 7d69a5ba50 Fix sign(NAN) returning 1.
Fixes #79036. sign(NAN) now returns 0.
This should not impact performance much in any way.
Adds a test for the NAN case. Updates the documentation to clarify the new behavior.
2023-09-09 11:30:11 +02:00
A Thousand Ships 7726ed6740 Fix errors when testing `Resource`
Replaces `get_meta` with `has_meta` for cases where the meta is expected
to be empty.
2023-09-09 08:20:05 +02:00
Aaron Franke 22e2696767
Add unit tests for type_convert Variant utility function 2023-09-08 10:13:22 -05:00
Rémi Verschelde 11518665b7
Codestyle: Don't use auto where not warranted
We allow using auto for lambdas or complex macros where a return type
may change based on the parameters. But where the type is clear, we
should be explicit.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-09-07 16:15:18 +02:00
Rémi Verschelde d013fc3f03
Merge pull request #81304 from ajreckof/Change-precedence-in-rules-to-make-location-after-proper-casing-
Change precedence in rules to make location after proper casing.
2023-09-07 13:52:08 +02:00
Yuri Sizov 58126e479c Introduce the concept of global theme contexts
This commit adds the default theme context, which replaces
the need to manually check the project and the default theme
all the time; simplifies related code.

It also adds framework for custom theme contexts, to be used
by the editor. Custom contexts can be attached to any node,
and not necessarily a GUI/Window node. Contexts do no break
theme inheritance and only define which global themes a node
uses as a fallback.

Contexts propagate NOTIFICATION_THEME_CHANGED when one of their
global themes changes. This ensures that global themes act just
like themes assigned to individual nodes and can be previewed
live in the editor.
2023-09-06 19:40:43 +02:00
ajreckof 19632eaf50 Change precedence in rules to make location after proper casing. 2023-09-05 16:16:21 +02:00
Yuri Sizov 95b00b11b0 Merge pull request #81328 from bruvzg/str_minus_zero
[String] Fix string conversion for -0.0 float values.
2023-09-05 15:14:36 +02:00
Yuri Sizov 14cfed57b5 Merge pull request #81326 from bruvzg/font_update
Update and properly list versions of the built-in fonts.
2023-09-05 15:14:30 +02:00
bruvzg 2b3bbde6da
[String] Fix string conversion for -0.0 float values. 2023-09-05 11:32:55 +03:00
bruvzg ab33613a13
Update and properly list versions of the built-in fonts. 2023-09-05 08:17:24 +03:00
Yuri Sizov 4328ffcc79 Fix ThemeDB initialization in tests
Also fixes class name shadowing in Viewport/Window tests.
2023-09-04 18:07:16 +02:00
Jcrespo 528a76486c Add inverse hyperbolic functions `asinh()`, `acosh()` & `atanh()`
GDScript has the following built-in trigonometry functions:

- `sin()`
- `cos()`
- `tan()`
- `asin()`
- `acos()`
- `atan()`
- `atan()`
- `sinh()`
- `cosh()`
- `tanh()`

However, it lacks the hyperbolic arc (also known as inverse
hyperbolic) functions:

- `asinh()`
- `acosh()`
- `atanh()`

Implement them by just exposing the C++ Math library, but clamping
its values to the closest real defined value.
For the cosine, clamp input values lower than 1 to 1.
In the case of the tangent, where the limit value is infinite,
clamp it to -inf or +inf.

References #78377
Fixes godotengine/godot-proposals#7110
2023-09-01 01:27:56 +02:00
Rémi Verschelde 8edc0b43b9
Merge pull request #78634 from Sauermann/fix-notification-order
Fix `Object::notification` order
2023-08-30 08:44:36 +02:00
Markus Sauermann c4705a590b Fix Object::notification order
Previously the `p_reversed` parameter didn't influence the order
in a correct way.
Also script overridden _notification functions were not called in
the correct order.

To fix this some `notification` functions had to add a `p_reversed`
parameter.

This made it necessary to adjust cpp-bindings.

Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-30 00:15:55 +02:00
clayjohn 0045dc204c Revert "Implement loading DDS textures at run-time"
This reverts commit 34ab1c8a36.
2023-08-29 14:25:16 +02:00
kobewi 67db4693eb Expose _validate_property() for scripting 2023-08-28 15:18:48 +02:00
Rémi Verschelde 75bc6866a4
Merge pull request #81037 from AThousandShips/openxr_register
Ensure OpenXR classes are declared properly
2023-08-28 12:09:47 +02:00
Rémi Verschelde 2c0a74a149
Merge pull request #80105 from Sauermann/fix-global-transform
Fix global transform validity for `Node2D` and `Control`
2023-08-28 12:03:53 +02:00
A Thousand Ships c23bd8b143 Ensure OpenXR classes are declared properly
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-08-28 09:37:04 +02:00
Pawel Lampe 0954ed0283 Suppress expected errors in navi-related unit tests, #80616 2023-08-22 19:33:38 +02:00
Septian a31120b6f6 Improve PackedScene unit test by covering more methods 2023-08-20 20:56:27 +07:00
bruvzg 07d859de25
[TextServer] Fix issues with character breaks, add more tests. 2023-08-19 11:49:34 +03:00
Rémi Verschelde b51ee8b029
Merge pull request #80650 from bruvzg/comp_char_fix
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
2023-08-18 17:24:54 +02:00
Rémi Verschelde c3fd8752d2
Merge pull request #80612 from akien-mga/scons-disable-exception-handling
SCons: Disable C++ exception handling
2023-08-16 16:56:07 +02:00
Rémi Verschelde 20e24bd2bb
Merge pull request #78529 from Chaosus/string_reverse
Add `String.reverse` method
2023-08-16 16:53:40 +02:00
Rémi Verschelde 3907e53ff6
SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:23:34 +02:00
Rémi Verschelde a7dc4c22a9
Merge pull request #80334 from Sauermann/fix-window-out-of-viewport-events
Fix nodes receiving mouse events in black bars of `Window`
2023-08-16 09:12:42 +02:00
bruvzg 5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +03:00
Rémi Verschelde efdff9cbc2
Fix GCC -Wmaybe-uninitialized warnings 2023-08-14 14:35:35 +02:00
Rémi Verschelde 8dabb4c80d
Merge pull request #80423 from sepTN/test-packed-scene-v2
Improve PackedScene unit test for complex scene
2023-08-10 14:54:22 +02:00
Rémi Verschelde b78d52b693
Merge pull request #75694 from YuriSizov/editor-hot-singleton-interfaces-in-your-area
Make `EditorInterface` accessible as a singleton
2023-08-10 14:53:35 +02:00
Yuri Sizov 951ea2415b Make EditorInterface accessible as a singleton
- EditorPlugin.get_editor_interface() is removed as redundant.
2023-08-09 16:01:31 +02:00
Rémi Verschelde 821579e804
Merge pull request #80422 from AThousandShips/shader_test_fix
Remove use of `std::string` in test
2023-08-09 15:20:36 +02:00
Rémi Verschelde 835957b1fc
Merge pull request #79980 from bruvzg/fix_test_str_errs
[String] Fix Unicode parsing error message encoding and related JSON tests.
2023-08-09 15:20:16 +02:00
Markus Sauermann 59c13fea5d Fix nodes receiving mouse events in black bars of `Window`
Previously for InputEvents there was no distinction between
Window-area and Viewport-area.
This was problematic in cases where stretching was used and the Window
contained black bars at the sides of the Viewport.
This PR separates the area of Window and Viewport regarding InputEvents.
2023-08-09 12:34:22 +02:00
Ninni Pipping 6ca1432daf Remove use of `std::string` in test
Avoiding using the standard library here
2023-08-09 10:04:53 +02:00
Septian 56d7ff6e93 Improve PackedScene unit test for complex scene 2023-08-09 00:28:53 +07:00
Markus Sauermann 152572ac38 Fix global transform validity for `Node2D` and `Control`
Set global transform to invalid when changing transform
2023-08-08 12:22:55 +02:00
Johan Aires Rastén 6e1f68109b Support shader preprocessor concatenation symbol 2023-08-08 10:56:20 +02:00
Rémi Verschelde 169a28bd0f
Merge pull request #80362 from Calinou/string-use-unicode-compiletime
Use compile-time Unicode string conversion
2023-08-07 14:55:58 +02:00
Rémi Verschelde 3532661a66
Merge pull request #79440 from sepTN/test-packed-scene
Add unit tests for PackedScene
2023-08-07 14:46:38 +02:00
Rémi Verschelde 432405a3e1
Merge pull request #79342 from RedworkDE/localize-win-path
Fix `ProjectSettings::localize_path` for Windows paths
2023-08-07 14:45:48 +02:00
Rémi Verschelde 66e40e402a
Merge pull request #79331 from azuloo/translation-server-test-suite
Add a test suite for TranslationServer
2023-08-07 14:45:24 +02:00
Rémi Verschelde 40f116f489
Merge pull request #73477 from Sauermann/fix-viewport-picking-unittest
Add Unit tests for viewport.cpp Physics 2D Picking
2023-08-07 14:43:13 +02:00
Rémi Verschelde faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Hugo Locurcio e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
Markus Sauermann 9014e9e424 Add Unit tests for viewport.cpp Physics 2D Picking 2023-08-07 09:06:19 +02:00
Septian cd94f9ad08 Add unit tests for PackedScene 2023-08-06 23:51:31 +07:00
Markus Sauermann 1e9d241809 Actually store safe-rect in embedder
`sw` is a copy and not a reference.
Add unit-test for this case.
2023-08-02 17:51:52 +02:00
Marcin Nowak 34ab1c8a36 Implement loading DDS textures at run-time 2023-07-31 21:31:26 +02:00
bruvzg 84a6f0d232 [String] Fix Unicode parsing error message encoding and related JSON tests. 2023-07-28 12:27:01 +03:00
Pedro J. Estébanez f34d580861 Revert "Implement parallel foreach() for easier multithreading"
This reverts commit e28868e30c.
2023-07-27 13:41:27 +02:00
Yuri Sizov d50c52652f Merge pull request #79805 from kumikumi/fix-subviewport-cursor
Prevent SubViewportContainer overriding Subviewport's cursor with its own cursor
2023-07-26 18:40:30 +02:00
Yuri Sizov 53ba9ccb19 Merge pull request #72346 from myaaaaaaaaa/disconnect-order
Avoid sorting CallableCustomMethodPointers by their actual address values
2023-07-26 18:39:08 +02:00
RedworkDE aee1e50b48 Fix `ProjectSettings::localize_path` for Windows paths 2023-07-26 16:18:31 +02:00
Mikko Ankkala 96b26574b9 Don't override SubViewport's cursor with SubViewportContainer's cursor
Add a warning for having a non-default value of `mouse_default_cursor_shape` in SubViewportContainer

Add test
2023-07-23 22:27:55 +03:00
Yuri Sizov b8a29f71e5 Merge pull request #79444 from Miguel0312/TestInputEvent
Add a test suite to InputEvent
2023-07-21 17:54:35 +02:00
Yuri Sizov 8ac00453d9 Merge pull request #78667 from Scony/add-advanced-navserver-tests
Add advanced `NavigationServer3D` tests
2023-07-21 17:15:22 +02:00
Pawel Lampe 1612466803 Add advanced 'NavigationServer3D' tests 2023-07-17 19:56:02 +02:00
Miguel Pereira c2ad5ca435 Added tests to InputEvent 2023-07-17 17:48:34 +02:00
Yuri Sizov 3d04a22d7c
Merge pull request #79103 from AThousandShips/array_slice_range
Fix range error for `Array.slice`
2023-07-17 16:48:48 +02:00
Hendrik Brucker a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
Yuri Sizov a7583881af Merge pull request #68460 from Geometror/split_texture_src
Extract and reorganize texture resource classes
2023-07-14 21:28:06 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Maxim Kulkin 058604f5b8 Fix crash when saving resources with circular references
When saving resources, marking of already seen resources was
done too late, causing infinite loop traversing referenced resources
and eventual stack overflow. The change marks traversed resource
before descending to it's children, thus when this resource is
encountered again, it is already marked as seen and traversal stops.
2023-07-14 19:20:04 +02:00
Yuri Sizov 7e9d63ebd9 Merge pull request #78480 from Scony/add-more-navserver-tests
Add more basic tests for `NavigationServer3D`
2023-07-14 18:49:03 +02:00
Yuri Sizov 2a595c26d9 Merge pull request #72784 from myaaaaaaaaa/parallel-foreach
Implement parallel `foreach()` for easier multithreading
2023-07-14 18:48:49 +02:00
Yuri Sizov e88934cb74 Merge pull request #74238 from bitsawer/fix_image_convert
Fix `Image.convert()` overwriting custom mipmaps
2023-07-12 17:15:39 +02:00
Yuri Sizov f6d568b9e4 Merge pull request #66170 from RedMser/json-fix-invalid-escapes
Disallow invalid escape sequences in `JSON.parse`
2023-07-12 15:08:29 +02:00
azuloo dd0bd90865 Add a test suite for TranslationServer 2023-07-11 14:30:53 +03:00
MewPurPur cc5500f7de Fix erroneous pad_zeros warning 2023-07-08 16:16:01 +03:00
Ninni Pipping 7752a0d8d1 Fix range error for `Array.slice` 2023-07-07 23:19:42 +02:00
RedMser 427b293c7d Disallow invalid escape sequences in JSON.parse 2023-06-30 21:28:36 +02:00
Rémi Verschelde 100082b3ac
Merge pull request #74760 from lassade/unicode-err-uses-replacement-char
Don't append non unicode scalar values on the string, instead use the unicode replacement char
2023-06-22 18:30:04 +02:00
Pawel Lampe 766afce7ea Add more basic 'NavigationServer3D' tests 2023-06-21 19:46:38 +02:00
Yuri Roubinski 230385b587 Add `String.reverse` method 2023-06-21 20:40:48 +03:00
angel-721 ab4e89ecde
Add HTTPClient unit tests 2023-06-21 11:53:55 +02:00
Rémi Verschelde d252f43a86
Merge pull request #78449 from Scony/add-agent-n-map-navserver-tests
Add `agent` and `map` tests for 'NavigationServer3D'
2023-06-21 10:19:24 +02:00
Pawel Lampe e1bdde911c Add `agent` and `map` tests for 'NavigationServer3D'
This commits fixes a bug in `free()` function as well.
2023-06-20 17:48:06 +02:00
myaaaaaaaaa 5cc961627d Avoid sorting CallableCustomMethodPointers by their actual address values 2023-06-20 08:40:01 -04:00
Rémi Verschelde cce100a840
Merge pull request #75459 from kleonc/node-fix-find-children
Fix recursive `Node.find_children`
2023-06-19 22:33:46 +02:00
Rémi Verschelde 867ea7fe59
Merge pull request #74730 from MarioLiebisch/fix-74726
Fix read-only dictionaries adding missing keys
2023-06-19 21:38:38 +02:00
andybarcia 553f4f8dce
Improve error reporting when parsing CSV translation file
Fixes #46682.

Also fix unit test suite to separate generic FileAccess CSV testing
from using CSV as translation. And add more CSV translation tests.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-19 12:47:44 +02:00
Rémi Verschelde 1a62f1e4fc
Merge pull request #74741 from vnen/variant-not-for-everyone
Allow boolean operators for all Variant types
2023-06-18 16:28:10 +02:00
Rémi Verschelde 6fb391bc23
Fix various typos with codespell
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Rémi Verschelde 95a9089fdd
Merge pull request #74813 from bruvzg/text_edit_autowrap
[TextEdit] Expose all auto-wrap modes.
2023-06-15 16:08:21 +02:00
Pawel Lampe b54c3e7e5e Add initial 'NavigationObstacle' and 'NavigationRegion' tests 2023-06-14 22:24:37 +02:00
Rémi Verschelde ae896bbd85
Merge pull request #78156 from Maran23/node-tests-processing-priority
Tests for the node (physics) processing and process priority
2023-06-13 10:27:40 +02:00
bruvzg 75e6ec8874
[TextEdit] Expose all auto-wrap modes. 2023-06-13 10:28:27 +03:00