Commit Graph

965 Commits

Author SHA1 Message Date
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
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
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