George Marques
5f77f38573
Add runner for GDScript testing
...
This is meant for testing the GDScript implementation, not for testing
user scripts nor testing the engine using scripts.
Tests consists in a GDScript file and a .out file with the expected
output. The .out file format is: expected status (based on the enum
GDScriptTest::TestStatus) on the first line, followed by either an error
message or the resulting output. Warnings are added after the first
line, before the output (or compiler errors) if the parser pass without
any error.
The test script must have a function called `test()` which takes no
argument. Such function will be called by the test runner. The test
should not have any dependency unless it's part of the test too. Global
classes (using `class_name`) are registered before the runner starts, so
those should work if needed.
Use the command `godot --gdscript-generate-tests
godot-source/modules/gdscript/tests/scripts` to update the .out files
with the current output (make sure the output are the expected values
before committing).
The tests themselves are part of the doctest suite so those can be
executed with `godot --test`.
Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
2021-04-08 09:34:59 -03:00
Lyuma
7d8e981262
Fix crash on importing empty .fbx file
2021-04-08 02:50:01 -07:00
Fabio Alessandrelli
f7ae5442a6
Merge pull request #47708 from Calinou/doc-websocketclient-secure
...
Document secure wss:// caveats for WebSocketClient
2021-04-08 00:47:04 +02:00
Rémi Verschelde
40dff7117a
Merge pull request #47648 from Blackiris/fix-gdscript-editor-hangs
...
Fix infinite loop when guessing argument type from parent class
2021-04-07 23:19:29 +02:00
Rémi Verschelde
73a1253095
Merge pull request #47672 from Blackiris/fix-setter-stackoverflow
...
Fix stack overflow in setter
2021-04-07 23:17:30 +02:00
Hugo Locurcio
a56e37545b
Document secure wss:// caveats for WebSocketClient
...
See https://github.com/godotengine/godot/issues/37739 .
2021-04-07 21:32:17 +02:00
Rémi Verschelde
e261c2dd9d
Merge pull request #46877 from W4RH4WK/always-dynamically-allocate-property-table
...
Always dynamically allocate PropertyTable
2021-04-07 11:25:38 +02:00
Marcel Admiraal
ff9a6c4e39
Check for the use of an empty shape in Bullet Kinematic collisions
2021-04-06 18:40:13 +01:00
Julien Nguyen
43c1c680f0
Fix stack overflow in setter
2021-04-06 19:00:08 +02:00
Bastiaan Olij
81131bd844
Only cleanup meta data if GDNative library is reloadable and we're about to unload it
2021-04-06 11:55:15 +10:00
Julien Nguyen
20f18f1621
Fix infinite loop when guessing argument type from parent class
2021-04-05 16:39:41 +02:00
Rémi Verschelde
5b2c4ad91c
Merge pull request #47569 from vnen/gdscript-typed-return
...
GDScript: Properly validate return type
2021-04-05 15:16:43 +02:00
George Marques
35682d3079
GDScript: Properly validate return type
...
When the type cannot be validated at compile time, the runtime must do a
check to ensure type safety is kept, as the code might be assuming the
return type is correct in another place, leading to crashes if the
contract is broken.
2021-04-05 09:52:05 -03:00
Rémi Verschelde
d83761ba80
Style: Apply clang-tidy's readability-braces-around-statements
2021-04-05 14:09:59 +02:00
Rémi Verschelde
9bbe51dc27
Style: Apply clang-tidy's modernize-use-nullptr
2021-04-05 14:05:07 +02:00
Rémi Verschelde
65a2888057
Style: Apply clang-tidy's modernize-use-default-member-init
2021-04-05 13:37:27 +02:00
Rémi Verschelde
0f0c0e5933
Style: Apply clang-tidy's modernize-use-bool-literals
2021-04-05 13:16:35 +02:00
Rémi Verschelde
33b8f1448e
Merge pull request #47592 from jmb462/fix-VisualScriptFunctionState-connect-to-null-signal-crash
...
Fix VisualScriptFunctionState connect to null object crash (Fix #47572 )
2021-04-05 12:15:58 +02:00
Rémi Verschelde
e0b24467f7
Merge pull request #47627 from Blackiris/fix-gdscript-var-address
...
Fix GDScript variables addresses getting mixed
2021-04-05 11:55:47 +02:00
Rémi Verschelde
77dc4c3cb6
Merge pull request #47636 from qarmin/input
...
Fix crashes in *_input functions
2021-04-05 11:54:08 +02:00
Rafał Mikrut
504bc5cc67
Fix crashes in *_input functions
2021-04-05 08:52:21 +02:00
Julien Nguyen
3168c2a513
Fix GDScript variables addresses getting mixed
2021-04-04 19:03:15 +02:00
Jan Haller
0fe851da23
Fixes #47607 (forgotten statement in GDNative cleanup)
...
Co-authored-by: geekrelief <geekrelief@gmail.com>
2021-04-04 16:11:16 +02:00
jmb462
3a0a71fa6a
Fix VisualScriptFunctionState connect to null object crash
2021-04-03 12:13:26 +02:00
Rémi Verschelde
ed2f51b15f
Merge pull request #47452 from BastiaanOlij/xr_positional_tracker_ref
...
Change XRPositionalTracker to a reference (master)
2021-04-03 10:13:23 +02:00
Rémi Verschelde
4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
...
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
Kyle
618dd892f5
Fix gdnative config file set as null
...
Fixes #
Setting a GDNativeLibrary config file as null or any other object but a ConfigFile will now cause an error.
2021-03-31 15:00:31 -04:00
Rémi Verschelde
9cd1e50969
Merge pull request #47250 from BastiaanOlij/check_vulkan_version
...
Obtain supported Vulkan API
2021-03-31 13:45:43 +02:00
Bastiaan Olij
e93c9fc4ed
As GLSLang seems to be all or nothing, added our own defines
2021-03-31 21:47:25 +11:00
bruvzg
0d3fa2a125
[Complex Text Layouts] Provide access to glyph contour points.
2021-03-31 09:32:14 +03:00
Rémi Verschelde
737f09895d
Merge pull request #47131 from vnen/gdscript-export-fix
...
Fix a few issues with @export in GDScript
2021-03-30 15:12:04 +02:00
Rémi Verschelde
7c14e987b4
Merge pull request #47492 from vnen/gdscript-typed-arrays
...
GDScript: Fix array type check on constants
2021-03-30 14:37:42 +02:00
George Marques
5d9585d83b
GDScript: Fix array type check on constants
...
They mistakenly pointing to the wrong union member (variable instead of
constant).
2021-03-30 09:09:13 -03:00
George Marques
2b9be53243
GDScript: Implement export of typed arrays
2021-03-30 08:29:38 -03:00
George Marques
160c260495
GDScript: Allow export of enum variables
...
Also fix the enum type in variables to be integer.
2021-03-30 08:29:38 -03:00
George Marques
3e4ecd9669
GDScript: Show error on invalid initializer expression
2021-03-30 08:29:38 -03:00
George Marques
577a17980d
Move GDSript annotation application after type-checking
...
This ensures that annotations that rely on the datatype (such as
@export) can validated it timely, allowing compound expressions instead
of only literal values.
2021-03-30 08:29:36 -03:00
Rémi Verschelde
d71eed2865
FBX: Fix first bone getting unnecessary '_1' suffix
...
Fixes #43820 .
Co-authored-by: Gordon MacPherson <gordon@gordonite.tech>
2021-03-29 17:25:12 +02:00
Rémi Verschelde
aba03110ba
Merge pull request #46830 from vnen/gdscript-typed-arrays
...
GDScript typed arrays
2021-03-29 16:47:38 +02:00
Rémi Verschelde
58d302dd5f
Merge pull request #46844 from geekrelief/gdnative_unregister_script_fix
...
fixes #46839 , ensure library_classes is cleared and free funcs are ca…
2021-03-29 16:11:11 +02:00
George Marques
85e316a5d5
Add typed arrays to GDScript
...
- Use `Array[type]` for type-hints. e.g.:
`var array: Array[int] = [1, 2, 3]`
- Array literals are typed if their storage is typed (variable
asssignment of as argument in function all). Otherwise they are
untyped.
2021-03-29 10:45:48 -03:00
Bastiaan Olij
454c889e61
Change XRPositionalTracker to a reference and better expose it to GDNative
2021-03-29 23:01:47 +11:00
Marcel Admiraal
fd30c36985
Rename Texture.get_data() to get_image()
2021-03-28 13:00:46 +01:00
Emmanuel Leblond
9761bab753
Add support for _to_string virtual function overwrite in Pluginscript
2021-03-27 21:13:51 +01:00
Bastiaan Olij
a6c989bc1b
Obtain supported Vulkan API
2021-03-26 12:06:57 +11:00
PouleyKetchoupp
c8dd3c7d80
Heightmap collision shape support in Godot Physics
2021-03-25 16:52:41 -07:00
Rémi Verschelde
3a5929abf3
doc: Sync classref with current source
2021-03-25 12:19:51 +01:00
K. S. Ernest (iFire) Lee
60eb3dd6ad
Always have a name for gltf2 mesh, material and skins.
...
Co-authored-by: Lcbx <luc.courbariaux@gmail.com>
2021-03-24 00:30:22 -07:00
Matthew A. Robinson
be4671534c
Add mutex to protect script bindings
2021-03-23 09:37:27 -04:00
Aaron Franke
a5324787c8
Rename some more global enums (Key, Joy, MIDI)
2021-03-23 07:13:23 -04:00