9411bf05a4
GDScript: Adjust type of temporaries when needed
2021-04-16 12:04:08 -03:00
40502a1689
GDScript: Pool temporary values by type on the stack
...
So the stack slots perform less type changes, which is useful for
future optimizations.
2021-04-14 14:35:51 -03:00
d840165a32
Add etcpak library for faster ETC/ETC2/S3TC imports.
...
- `etc` module was renamed to `etcpak` and modified to use the new library.
- PKM importer is removed in the process, it's obsolete.
- Old library `etc2comp` is removed.
- S3TC compression no longer done via `squish` (but decompression still is).
- Slight modifications to etcpak sources for MinGW compatibility,
to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or
system libpng.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2021-04-13 00:12:12 +02:00
cf4079cb5f
Reduce number of addressing modes in GDScript VM
...
There's now only 3 addressing modes: stack, constant, and member.
Self, class, and nil are now present respectively in the first 3 stack
slots. Global and class constants are moved to local constants when
compiling. Named globals is only present on editor to use on tool
singletons, so its use now emits a new instruction to copy the global to
the stack.
This allow us to further optimize the VM later by embedding the
addressing modes in the instructions themselves, which is better done
with less permutations.
2021-04-08 14:29:55 -03:00
7d8e981262
Fix crash on importing empty .fbx file
2021-04-08 02:50:01 -07:00
f7ae5442a6
Merge pull request #47708 from Calinou/doc-websocketclient-secure
...
Document secure wss:// caveats for WebSocketClient
2021-04-08 00:47:04 +02:00
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
73a1253095
Merge pull request #47672 from Blackiris/fix-setter-stackoverflow
...
Fix stack overflow in setter
2021-04-07 23:17:30 +02:00
a56e37545b
Document secure wss:// caveats for WebSocketClient
...
See https://github.com/godotengine/godot/issues/37739 .
2021-04-07 21:32:17 +02:00
e261c2dd9d
Merge pull request #46877 from W4RH4WK/always-dynamically-allocate-property-table
...
Always dynamically allocate PropertyTable
2021-04-07 11:25:38 +02:00
ff9a6c4e39
Check for the use of an empty shape in Bullet Kinematic collisions
2021-04-06 18:40:13 +01:00
43c1c680f0
Fix stack overflow in setter
2021-04-06 19:00:08 +02:00
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
20f18f1621
Fix infinite loop when guessing argument type from parent class
2021-04-05 16:39:41 +02:00
5b2c4ad91c
Merge pull request #47569 from vnen/gdscript-typed-return
...
GDScript: Properly validate return type
2021-04-05 15:16:43 +02:00
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
d83761ba80
Style: Apply clang-tidy's readability-braces-around-statements
2021-04-05 14:09:59 +02:00
9bbe51dc27
Style: Apply clang-tidy's modernize-use-nullptr
2021-04-05 14:05:07 +02:00
65a2888057
Style: Apply clang-tidy's modernize-use-default-member-init
2021-04-05 13:37:27 +02:00
0f0c0e5933
Style: Apply clang-tidy's modernize-use-bool-literals
2021-04-05 13:16:35 +02:00
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
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
77dc4c3cb6
Merge pull request #47636 from qarmin/input
...
Fix crashes in *_input functions
2021-04-05 11:54:08 +02:00
504bc5cc67
Fix crashes in *_input functions
2021-04-05 08:52:21 +02:00
3168c2a513
Fix GDScript variables addresses getting mixed
2021-04-04 19:03:15 +02:00
0fe851da23
Fixes #47607 (forgotten statement in GDNative cleanup)
...
Co-authored-by: geekrelief <geekrelief@gmail.com >
2021-04-04 16:11:16 +02:00
3a0a71fa6a
Fix VisualScriptFunctionState connect to null object crash
2021-04-03 12:13:26 +02:00
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
4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
...
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
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
9cd1e50969
Merge pull request #47250 from BastiaanOlij/check_vulkan_version
...
Obtain supported Vulkan API
2021-03-31 13:45:43 +02:00
e93c9fc4ed
As GLSLang seems to be all or nothing, added our own defines
2021-03-31 21:47:25 +11:00
0d3fa2a125
[Complex Text Layouts] Provide access to glyph contour points.
2021-03-31 09:32:14 +03:00
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
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
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
2b9be53243
GDScript: Implement export of typed arrays
2021-03-30 08:29:38 -03:00
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
3e4ecd9669
GDScript: Show error on invalid initializer expression
2021-03-30 08:29:38 -03:00
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
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
aba03110ba
Merge pull request #46830 from vnen/gdscript-typed-arrays
...
GDScript typed arrays
2021-03-29 16:47:38 +02:00
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
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
454c889e61
Change XRPositionalTracker to a reference and better expose it to GDNative
2021-03-29 23:01:47 +11:00
fd30c36985
Rename Texture.get_data() to get_image()
2021-03-28 13:00:46 +01:00
9761bab753
Add support for _to_string virtual function overwrite in Pluginscript
2021-03-27 21:13:51 +01:00
a6c989bc1b
Obtain supported Vulkan API
2021-03-26 12:06:57 +11:00
3a5929abf3
doc: Sync classref with current source
2021-03-25 12:19:51 +01:00
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