Rémi Verschelde
8203e09330
Merge pull request #70859 from vonagam/fix-preload-native-type
...
GDScript: Fix wrong native type for preloaded class
2023-01-03 23:22:23 +01:00
Rémi Verschelde
26bed8aa85
Merge pull request #70875 from MewPurPur/stop-highlighting-invalid-node-refs
...
Stop NodeRef highlighting if you start with a number
2023-01-03 16:17:13 +01:00
VolTer
52cfd4551d
Stop highlighting node refs if they are invalid identifiers
2023-01-03 16:00:16 +02:00
Rémi Verschelde
4e360ac612
Merge pull request #70702 from vnen/gdscript-error-on-assign-void
...
GDScript: Error when assigning return value of void function
2023-01-03 12:23:00 +01:00
Rémi Verschelde
e4c1103af4
Merge pull request #70656 from vonagam/fix-void-returns
...
GDScript: Disallow return with value in void functions
2023-01-03 12:20:33 +01:00
Rémi Verschelde
a797fa3b3d
Merge pull request #70503 from rune-scape/inner-class-docs
...
Inner classes get their docs back
2023-01-03 12:15:44 +01:00
Dmitrii Maganov
961b4ac5f5
GDScript: Fix wrong native type for preloaded class
2023-01-03 05:45:06 +02:00
Juan Linietsky
7211e041df
Optimizations for GDScript VM
...
* Removed instruction argument count and instruction prefetching. This is now done on the fly. Reduces jumps.
* OPCODE_DISPATCH now goes directly to the next instruction, like in Godot 3.x.
I have nothing I can use to test performance, so if anyone wants to lend a hand and compare with master (both on debug and release), it would be very welcome.
2023-01-02 23:44:19 +01:00
Adam Scott
c3f12592da
Cache script when reloading even if there's errors.
2023-01-01 14:09:17 -05:00
George Marques
8a98110e3e
Merge pull request #62688 from cdemirer/assignments-and-types
...
Fixes https://github.com/godotengine/godot/issues/62650
2022-12-30 16:38:35 -03:00
George Marques
bc739a4687
GDScript: Make using return of void function an error
...
Remove the `VOID_ASSIGNMENT` warning since those cases will be errors
now.
2022-12-30 13:35:38 -03:00
George Marques
33afa82fb0
Merge pull request #70613 from vonagam/fix-enum-as-constant
...
Fixes https://github.com/godotengine/godot/issues/54018
Fixes https://github.com/godotengine/godot/issues/70213
Fixes https://github.com/godotengine/godot/issues/70495
2022-12-30 12:10:50 -03:00
George Marques
0c15844551
GDScript: Error when assigning return value of void function
...
This also makes built-in method calls empty the return value when the
method is void, to avoid keeping returning a garbage value in such case.
2022-12-30 12:08:58 -03:00
Dmitrii Maganov
056066ee95
GDScript: Fix false name conflicts for unnamed enums
2022-12-29 22:04:13 +02:00
Dmitrii Maganov
9507f65e25
GDScript: Disallow return with value in void functions
2022-12-29 03:06:13 +02:00
Dmitrii Maganov
b6aa4840d8
Fix usage of Enum as constant
2022-12-28 23:04:40 +02:00
Dmitrii Maganov
f67aa3e46d
GDScript: Fix return type of constructor call for extending class
2022-12-27 23:02:12 +02:00
cdemirer
bbb21c3fd5
Fix type adjustment skipped when value is considered both not hard and not variant
2022-12-25 17:11:30 +03:00
Ekaterina Vaartis
60692b4e45
Implement export_multiline support for Array[String] and Dictionary
...
For arrays, specifically check if it's a string array and pass the
type on to the editor. For dictionaries, save the hint on the type and
use it later to draw the multiline editor, except for when adding a
string key, because that doesn't make much sense. All string values
however will be drawn as multiline.
2022-12-25 01:46:57 +03:00
rune-scape
1b77993257
Inner classes get their docs back
2022-12-23 17:39:24 -05:00
Rémi Verschelde
ae4c025da9
Merge pull request #69991 from rune-scape/cast-type
...
GDScript: Fix cast producing null
2022-12-23 09:22:21 +01:00
Rémi Verschelde
edfa1e8665
Merge pull request #70220 from adamscott/fix-external-enum
...
Fix external enums not assignable as constants
2022-12-23 09:20:50 +01:00
Rémi Verschelde
e1657bd2a7
Merge pull request #70440 from rune-scape/null-again
...
Fix GDScript analyzer null literal
2022-12-22 16:02:19 +01:00
Rémi Verschelde
801ef6614d
Merge pull request #70138 from anvilfolk/signals
...
Add MethodInfo to signal datatype
2022-12-22 16:02:11 +01:00
rune-scape
3228fdb88a
Fix GDScript analyzer null literal
2022-12-22 06:02:34 -05:00
Yuri Rubinsky
abaedb54f1
Remove unused code paragraph from gdscript_editor.cpp/complete_code
2022-12-22 11:10:11 +03:00
ocean (they/them)
d93dbab054
Add MethodInfo to signal datatype
2022-12-21 22:49:51 -05:00
ocean (they/them)
fb418685a0
Unify GDScriptAnalyzer in-editor and runtime autoload checks
2022-12-20 19:01:28 -05:00
Aaron Franke
6590e1fd8a
Make script annotations placed before class_name and extends
2022-12-19 22:01:29 -06:00
Yuri Rubinsky
78d296d7ca
Add a note for `inst_to_dict` to prevent using it on built-in instances
2022-12-19 19:12:00 +03:00
Rémi Verschelde
e780dc332a
Merge pull request #70275 from rune-scape/autoload-subscript-regression
...
Fix autoload subscript regression
2022-12-19 01:12:35 +01:00
rune-scape
9f6ad59da7
Fix autoload subscript regression
2022-12-18 18:36:41 -05:00
Rémi Verschelde
e9f3e7111f
Merge pull request #70237 from quentinguidee/refactor/fix-comma-instead-of-semicolon
...
Fix use of comma instead of semicolon
2022-12-18 16:55:10 +01:00
Quentin Guidée
e0f1e02cc7
Fix use of comma instead of semicolon
...
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com>
2022-12-17 20:17:04 -05:00
Adam Scott
7fc814f697
Fix external enums not assignable as constants
...
- Add external enums test
- Rename external inner class test
- Clean up `GDScriptAnalyzer::reduce_identifier_from_base` class
behavior
2022-12-17 17:59:38 -05:00
Adam Scott
1bbb2b4159
Fix outer class lookup
2022-12-17 17:57:00 -05:00
Adam Scott
2fefcf7329
Fix inner class constant assignment
2022-12-17 12:03:03 -05:00
Rémi Verschelde
8d52eea52b
Merge pull request #70000 from rune-scape/find-more-classes
...
GDScript: Fix built-in script `find_class` bugs
2022-12-17 16:30:34 +01:00
rune-scape
213c94b42f
Fix enum value regression
2022-12-16 22:48:25 -05:00
Rémi Verschelde
f18f2740da
Merge pull request #70131 from rune-scape/preload-type-regression
...
Fix preload type regression
2022-12-16 00:31:26 +01:00
stmSi
2a341a6321
Fixed GDScript crashed when two consecutive unary operators are analysed
2022-12-16 04:45:53 +06:30
rune-scape
17e03c29d6
Fix preload type regression
2022-12-15 16:47:13 -05:00
rune-scape
e1c63fee86
GDScript: Fix built-in script and other `find_class` bugs
2022-12-15 14:56:23 -05:00
Adam Scott
3684fd249e
Fix `GDScript::_get_gdscript_from_variant()` crash
...
The crash would happen, theoretically, when getting the type of a invalid
variant.
2022-12-15 12:29:01 -05:00
Rémi Verschelde
6debf86d51
Merge pull request #69471 from rune-scape/rune-out-of-order
...
GDScript: Out of order member resolution
2022-12-15 07:56:23 +01:00
rune-scape
2dfc6d5b69
GDScript: Allow out of order member resolution
2022-12-14 21:44:05 -05:00
rune-scape
7d0d6aa16f
GDScript: Fix cast producing null
2022-12-12 19:57:26 -05:00
rune-scape
08449ab16e
Fix String type compatibility being too permissive
2022-12-12 07:27:41 -05:00
Rémi Verschelde
1bfaa73e14
Merge pull request #69416 from anvilfolk/default-val
...
Add GDScript implicit type conversion for member variables with initializers
2022-12-11 23:58:22 +01:00
ocean (they/them)
c8293a73b4
Add GDScript member initializer implicit type conversion
2022-12-11 16:55:02 -05:00
Rémi Verschelde
8410e7c9c6
Merge pull request #66733 from MewPurPur/unary-op-warnings
...
Fix unary op warnings never showing
2022-12-11 22:33:58 +01:00
kobewi
7c6b659bd7
Add PropertyInfo overload for GLOBAL_DEF
2022-12-11 21:36:48 +01:00
Rémi Verschelde
05097ded0a
Merge pull request #69897 from poohcom1/fix/function-return-completion
...
Fix autocomplete on functions returning variants
2022-12-11 15:18:24 +01:00
rune-scape
98e1a2031d
Fix subscript of preloaded script
2022-12-11 07:59:43 -05:00
poohcom1
1845d927dc
Fix autocomplete on functions returning variants
...
- When guessing return type, check type hints before last return value
2022-12-11 14:17:27 +07:00
Adam Scott
0139bd04b2
Fix `GDScriptCache::clear()` crash when clearing packed scenes
2022-12-10 19:10:12 -05:00
Rémi Verschelde
8f6f244680
Merge pull request #69587 from adamscott/fix-constant-base-typing-in-extended-class
...
Fix constants scope in extended or inner GDScript classes
2022-12-10 21:58:50 +01:00
Adam Scott
beaef88abd
Remove debug macro for GDScriptLanguage script_list
2022-12-10 14:09:04 -05:00
Adam Scott
65a49bad5a
Fix constant base typing in extended GDScript class
2022-12-10 13:39:45 -05:00
Adam Scott
ff544df926
Fix `GDScriptCache` to not remove scripts/scenes individually when clearing
2022-12-10 12:48:07 -05:00
Rémi Verschelde
1ac7e5a334
Merge pull request #69518 from rune-scape/rune-analyze-values
...
GDScript: Preload should make native type
2022-12-10 11:29:50 +01:00
Rémi Verschelde
f6ea295bb1
Merge pull request #69467 from rune-scape/rune-subclass-script-path
...
GDScript: Fix subclass script path issues
2022-12-10 10:21:19 +01:00
Rémi Verschelde
907298d673
Merge pull request #68747 from rune-scape/rune-stringname-unification
...
GDScript: Unify StringName and String
2022-12-09 18:06:48 +01:00
Adam Scott
da65b61edb
Fix autocomplete crash as it would infinite loop
2022-12-08 23:40:17 -05:00
Adam Scott
59c6642f2a
Add missing packed scene cache clear inside `GDScriptCache::clear()`
2022-12-07 15:29:18 -05:00
Yuri Rubinsky
b229a19688
Fix lookup to docs for variables initialized with `get_node`
2022-12-07 15:16:04 +03:00
Rémi Verschelde
9bd7ad53f7
Merge pull request #69506 from adamscott/move-gdscript-uninit-to-finalize
...
Move GDScript uninitialization to `GDScriptLanguage::finish()`
2022-12-06 16:11:21 +01:00
Adam Scott
88f3045301
Move GDScript uninitialization to `GDScriptLanguage::finalize()`
...
Co-authored-by: Ricardo Buring <ricardo.buring@gmail.com>
Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2022-12-06 09:35:39 -05:00
Rémi Verschelde
18f7461db8
Merge pull request #69606 from red1939/bug/vscode_crash
...
Keep GDScriptAnalyzer alive for whole parse()
2022-12-06 11:00:51 +01:00
Rémi Verschelde
85602efef6
Merge pull request #69639 from Chaosus/gds_fix_completion
...
Fix completion for the raw `get_node` call
2022-12-06 11:00:15 +01:00
Bartosz Bielecki
2af4f7f762
Keep GDScriptAnalyzer alive for whole parse()
...
Analyzed data is allocated by Parser but kept as a reference in the cache
which in turn is held by the Analyzer. If Analyzer goes away Parser is left
with a tree of dangling references.
Code is analogous to all other usages of Analyzer + Parser pair.
2022-12-06 10:01:18 +01:00
Yuri Rubinsky
20660bb23a
Fix completion for the raw `get_node` call
2022-12-06 10:42:44 +03:00
rune-scape
e79be6ce07
Unify String and StringName
2022-12-05 21:46:47 -05:00
Dmitrii Maganov
97280279ee
Fix incomplete shadowing of member properties by parameters
2022-12-06 00:22:56 +02:00
rune-scape
6f8ffd5591
GDScript: preload should make native type
2022-12-04 05:36:17 -05:00
Adam Scott
7bcaa9df9e
Fix missing parent class name identifier crash
2022-12-02 21:30:19 -05:00
rune-scape
d531869a7c
GDScript: Fix subclass script path issues
2022-12-01 20:43:27 -05:00
Yuri Sizov
bf9cf7d034
Merge pull request #69166 from souplamp/icon-annotation-not-working
...
Update docs to clarify `@icon` only works with global script classes
2022-12-02 03:04:23 +03:00
kobewi
e9a3e49086
Cleanup function state connections when destroying instance
...
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2022-12-02 00:20:11 +01:00
souplamp
369c7d2422
Update docs to mention `@icon` only works with global script classes
...
Update the docs to clarify that the `@icon` annotation does not work
when only attaching a script to a node, and clarify that the script itself
must be a globally accessible script type.
2022-12-01 12:52:58 -06:00
Rémi Verschelde
4821de146e
Merge pull request #69423 from KoBeWi/parenture
...
Improve parent signature error
2022-12-01 18:10:31 +01:00
Rémi Verschelde
2d96f63e09
Merge pull request #68481 from dalexeev/gds-fix-dyn-arg-def-val
...
GDScript 2.0: Fix shift due to skip of non-constant default argument values
2022-12-01 18:09:25 +01:00
kobewi
d1e4146462
Improve parent signature error
2022-12-01 15:16:16 +01:00
Rémi Verschelde
eb555d7559
Merge pull request #69303 from Chaosus/gds_fix_loops
...
Reset unassigned local variables to null in the loops
2022-12-01 10:21:21 +01:00
VolTer
bfc093c53f
Fix unary op warnings never showing
2022-12-01 01:09:10 +01:00
Rémi Verschelde
c868e0b4b9
Merge pull request #69269 from red1939/red1939/master
...
Acknowledge that a CLASS kind of a DataType might not have an identifier
2022-11-30 10:49:09 +01:00
Bartosz Bielecki
e10b0c5d98
Acknowledge that a CLASS kind of a DataType might not have an identifier
2022-11-30 09:26:50 +01:00
trollodel
c90d0bd84f
Use forward-declarations in big editor classes
2022-11-29 09:59:43 +01:00
Yuri Rubinsky
8d2506e811
Reset unassigned local variables to null in the loops
2022-11-28 19:45:24 +03:00
Rémi Verschelde
4555ccdf98
Merge pull request #69224 from adamscott/fix-PackedScene-reload_from_file
...
Add `PackedScene::reload_from_file()` override
2022-11-28 16:53:36 +01:00
Adam Scott
a34a26eb66
Add PackedScene::reload_from_file() override
2022-11-28 10:23:02 -05:00
Yuri Rubinsky
afbea19a22
Fix lookup code to pass functions with the same name as built-ins
2022-11-28 15:53:14 +03:00
Rémi Verschelde
166066d9f7
Merge pull request #69259 from adamscott/fix-cyclic-reference-base-issue
...
Fix cyclic reference base being loaded but not valid (which is ok)
2022-11-28 11:45:11 +01:00
Adam Scott
4e60689695
Fix cyclic reference base being loaded but not valid (which is ok)
2022-11-27 15:50:19 -05:00
rune-scape
847c9bd248
GDScript: Avoid using `get_global_class_native_base`
2022-11-27 03:55:53 -05:00
Rémi Verschelde
c7ceb94e37
Merge pull request #69079 from adamscott/fix-singleton-scene-cyclic-load
...
Fix singleton scene cyclic loading
2022-11-25 19:29:57 +01:00
Adam Scott
69bb7e5b11
Fix singleton scene cyclic loading
2022-11-25 12:43:55 -05:00
Rémi Verschelde
8b7efd2306
Merge pull request #69134 from jquinl/export_range_int_fix
...
GDScript: Properly respect `int` type hint for `@export_range`
2022-11-24 23:30:40 +01:00
unknown
5fd382c2ab
GDScript: Properly respect `int` type hint for `@export_range`
...
Fixes #69104 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-11-24 22:14:05 +01:00
clayjohn
075cea1077
Ensure class name is printed in STATIC_CALLED_ON_INSTANCE warning
2022-11-24 12:06:11 -08:00
Rémi Verschelde
910d6d8e62
GDScript: Only check if ignoring warnings in debug build
2022-11-24 11:50:32 +01:00
Adam Scott
2918689ff1
[godot#68977] Fix constants parameters
2022-11-23 08:15:54 -05:00
Rémi Verschelde
4abbb2d684
GDScript: Don't warn about RETURN_VALUE_DISCARDED by default
...
This happens too often with normal usage of the API.
The warning can still be useful to find actual bugs where discarding the return
value wasn't intentional, but this should stay enabled manually, at least until
we either improve the API to remove false positives, or improve the warning (e.g.
to only warn about unused return value on const functions).
2022-11-22 15:01:24 +01:00
Rémi Verschelde
0b2dc0f017
Merge pull request #68970 from Chaosus/gds_fix_lambda_signal
...
Fix using signals in lambda functions
2022-11-22 10:00:05 +01:00
Yuri Rubinsky
f6c8c140f0
Fix using signals in lambda functions
2022-11-22 11:22:41 +03:00
Rémi Verschelde
c474e2f639
Merge pull request #68987 from adamscott/fix-godot#61386-autoload-scenes-implicit-types
...
Fix autoload scenes implicit types
2022-11-22 08:31:36 +01:00
Rémi Verschelde
17b0c862ff
Merge pull request #68972 from adamscott/fix-godot#68971-cached-scene
...
Fetch cached scene if it exists in `GDScriptCache::get_packed_scene()`
2022-11-22 08:31:24 +01:00
Rémi Verschelde
28039094b3
Merge pull request #68911 from souplamp/return-value-discarded-error
...
Clarify what happens when return value is discarded in GDScript warning text
2022-11-22 08:30:51 +01:00
Adam Scott
eb62d241c0
[godot#61386] Fix autoload scenes implicit types
2022-11-21 23:39:31 -05:00
souplamp
5bdd883dfd
change RETURN_VALUE_DISCARDED GDScript warn text
...
changed RETURN_VALUE_DISCARDED GDscript warning text to mention how the return value of a function is discarded; update GDScript parser warning test to include new warning text.
2022-11-21 15:04:04 -06:00
Adam Scott
e86e15571f
[godot#68971] Fetch cached scene if it exists in `GDScriptCache`
2022-11-21 15:57:45 -05:00
Yuri Rubinsky
4a8276a773
Fix GDScript completion crash
2022-11-21 16:34:03 +03:00
Rémi Verschelde
190226098b
Merge pull request #68929 from adamscott/add-rename-check
...
Add `GDScriptCache::move_script` check before executing logic
2022-11-20 23:25:30 +01:00
Rémi Verschelde
15df1ffa9b
Merge pull request #68927 from rune-scape/rune-cache-parse-error
...
GDScript: Cache scripts after parse error
2022-11-20 23:25:19 +01:00
Adam Scott
98ceb7ecf5
Add move_script check before executing logic
2022-11-20 15:21:57 -05:00
rune-scape
5ef971da1a
GDScript: Cache scripts after parse error
2022-11-20 13:06:14 -05:00
Rémi Verschelde
f042a4e566
GDScript: Fix setting to disable all warnings
...
The boolean was never set with the value from the project settings.
Fixes #64559 .
2022-11-20 18:54:09 +01:00
rune-scape
a6410878db
Fix empty text in editor
2022-11-20 03:17:16 -05:00
Adam Scott
6d7c8533d5
Remove fix leftover that caused cyclic load issues
2022-11-18 23:37:00 -05:00
Rémi Verschelde
5f73d55dfb
Merge pull request #68854 from anvilfolk/highlight-var
...
Add error highlighting for duplicate variables/constants
2022-11-18 23:08:11 +01:00
Rémi Verschelde
80b3813b15
Merge pull request #67714 from adamscott/fix-preload-cyclic-references-part2
...
Fix cyclic references in GDScript 2.0
2022-11-18 23:08:01 +01:00
Adam Scott
5704055d30
Fix cyclic references in GDScript 2.0
2022-11-18 16:41:31 -05:00
ocean (they/them)
ef2aeca5df
Add error highlighting for duplicate variables/constants
2022-11-18 15:20:26 -05:00
ocean (they/them)
13be0ab733
Fix ability to overload "script" variable
2022-11-17 17:21:12 -05:00
Yuri Rubinsky
95a85c9058
Merge pull request #68717 from rune-scape/rune-compiler-regression
...
Fixes https://github.com/godotengine/godot/issues/68716
2022-11-16 08:32:00 +03:00
Rune
61df8f4484
GDScript Compiler: regression fix
2022-11-15 22:20:49 -06:00
Rémi Verschelde
2d3197c525
Merge pull request #65372 from Mickeon/fix-treat-warnings-as-errors
...
Fix "Treat Warnings as Errors" Project Setting doing nothing
2022-11-15 16:25:25 +01:00
Yuri Rubinsky
e2b60798fe
Merge pull request #68663 from Chaosus/gds_fix_completion
2022-11-15 18:21:20 +03:00
Rémi Verschelde
80dbcfd995
Merge pull request #68657 from Sauermann/fix-redundant-initialization
...
Remove redundant non-trivial Variant types initializations
2022-11-14 23:23:54 +01:00
Yuri Rubinsky
65d14679e7
Fix completion popup for the variables created with `get_node` call
2022-11-14 23:27:59 +03:00
Markus Sauermann
3b14f0334c
Remove redundant Variant-types initializations
2022-11-14 19:35:19 +01:00
Rémi Verschelde
4d9adfea23
Merge pull request #65712 from Chaosus/gds_fix_completion
...
fix https://github.com/godotengine/godot/issues/64477
2022-11-14 17:20:54 +01:00
Rune
bce6f1792e
GDScript compiler subclass bugfixes
2022-11-13 02:29:21 -08:00
Danil Alexeev
0f8e28f818
GDScript 2.0: Fix shift due to skip of non-constant default argument values
2022-11-10 19:22:52 +03:00
Yuri Rubinsky
f11b66b084
Fix named enums to use int64 type
2022-11-08 11:20:28 +03:00
RobertMasek
79234d8916
Add case for COMPLETION_PROPERTY_METHOD
2022-11-05 21:39:45 -05:00
Rémi Verschelde
7eb44fa47d
Merge pull request #68125 from kleonc/range-fix-single-arg-optimized-type-mismatch
...
[GDScript] Fix type mismatch in optimized single arg `range`
2022-11-02 14:18:24 +01:00
Rémi Verschelde
b3c2db954f
Merge pull request #68136 from qarmin/projection_not_equal
...
Support for checking that Projection is(not) null
2022-11-02 14:17:29 +01:00
Rémi Verschelde
7c0e46f1c1
Merge pull request #68040 from adamscott/fix-property-getter-return-type
...
Fix property getter with custom return type
2022-11-02 14:16:37 +01:00
kleonc
c268e3a235
GDScript Fix type mismatch in optimized single arg `range`
2022-11-02 13:20:47 +01:00
Rafał Mikrut
d7d130295e
Support for checking that Projection is(not) null
2022-11-01 20:49:52 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
...
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
1e0edc48b5
Merge pull request #67826 from Chaosus/gds_fix_enum
...
Fix enum type to use int64_t instead of int in GDScript
2022-10-31 13:10:28 +01:00
Rémi Verschelde
f4f98c4ecb
Merge pull request #67055 from GuilhermeGSousa/custom-node-export
...
Added custom node export
2022-10-31 11:11:07 +01:00
Rémi Verschelde
213ba46672
Merge pull request #68065 from zCubed3/fix_min_max_crash
...
`GDScriptAnalyzer` Fix math utilities crashing when invalid args are passed
2022-10-31 10:59:27 +01:00
Rémi Verschelde
b43cc96535
Merge pull request #62695 from Spartan322/relax-constant-asserts
...
Allow non-constant string message for assert
2022-10-31 10:44:56 +01:00
zCubed3
b7f0ab13a4
Fix math utility functions crashing when invalid args passed
2022-10-30 15:18:03 -07:00
Adam Scott
26f0afdce2
[godot#68001] Fix property getter with custom return type
2022-10-29 20:38:26 -04:00
Yuri Rubinsky
9e04531938
Fix enum type to use int64_t instead of int in GDScript
2022-10-25 09:06:08 +03:00
Wei Guo
d0edd36f80
Fix built-in script path of GDScript
2022-10-25 03:41:18 +08:00
Max Hilbrunner
13138b307b
Merge pull request #67656 from MewPurPur/instance 🧹
...
Fix minor mistakes throughout the documentation
2022-10-21 18:19:32 +02:00
VolTer
05a9637d5d
Fix small mistakes throughout much of the documentation
2022-10-21 00:20:59 +02:00
Max Hilbrunner
cb36006f9e
Merge pull request #67100 from Mickeon/doc-peeves
...
Tweak `@GDScript` documentation overall
2022-10-19 21:45:35 +02:00
Micky
a34cf161aa
Tweak `@GDScript` documentation overall
...
- Made use of [param] more frequently,
- Link to other classes' documentation more often, improve the examples.
- Made the writing style closer to how the rest of the documentation is formatted.
- Ensure these are called "functions", not "methods".
- Add [b]Warning:[/b] where more appropriate than [b]Note:[/b]
Most notably, removed " It must be a static string, so format strings can't be used.", as this behavior is actually a bug.
2022-10-18 22:54:46 +02:00
kobewi
e48c5daddf
Unify usage of GLOBAL/EDITOR_GET
2022-10-18 19:01:48 +02:00
João Martins
a0c4002520
Clarified reason why a resource cannot be loaded.
2022-10-16 17:27:00 -04:00
clayjohn
0a51bb4ca5
Add STATIC_CALLED_ON_INSTANCE warning to highlight
...
when static functions are called directly from objects
2022-10-14 10:43:42 -07:00
Guilherme Sousa
5d06843fcf
Added custom node export
2022-10-14 17:31:00 +02:00
Rémi Verschelde
343bb9c07f
Merge pull request #67361 from clayjohn/GDScript-unused-return-warning
...
Implement RETURN_VALUE_DISCARDED warning in GDscript
2022-10-14 10:19:55 +02:00
clayjohn
be1e9acb7c
Implement RETURN_VALUE_DISCARDED warning in GDscript
2022-10-13 11:56:45 -07:00
Rune
624af7e032
GDScript: fix highlighting '.' after global class name
2022-10-11 22:18:19 -07:00
Rémi Verschelde
62b066dbd6
Fix more MSVC C4702 (unreachable code) warnings
2022-10-07 14:43:59 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
VolTer
ac1761c8cd
Fix outdated keywords autocompletion
2022-10-06 23:47:19 +02:00
Rémi Verschelde
9cd62741bb
Merge pull request #66839 from aaronfranke/editor-prop-hide-slider
...
Fix `hide_slider` vs `no_slider` inconsistency in editor property code
2022-10-05 08:47:06 +02:00
Rémi Verschelde
52f5a58c38
Merge pull request #66873 from akien-mga/script-tweak-error-invalid-script-type
...
GDScript/C#: Tweak error message for invalid script type for object
2022-10-05 08:38:52 +02:00
Rémi Verschelde
8590721450
Merge pull request #66885 from atirut-w/lsp-doc-fix
...
LSP: Fix GDScript doc comments
2022-10-05 08:31:56 +02:00
Atirut Wattanamongkol
f2522adb89
LSP: Fix GDScript doc comments
2022-10-05 11:25:52 +07:00
Hugo Locurcio
6afbf0bd5a
Improve dictionary printing to avoid confusion with arrays
...
- Add leading and trailing spaces within dictionaries, as the `{}`
characters are hard to distinguish from `[]` on some fonts.
This is especially helpful with empty arrays and dictionaries.
2022-10-04 20:33:40 +02:00
Rémi Verschelde
5bf95518fd
GDScript/C#: Tweak error message for invalid script type for object
...
See #66870 .
2022-10-04 12:56:49 +02:00
Rindbee
ab0314938e
Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated documents before saving
...
Implement `GDScriptTextDocument::willSaveWaitUntil` to clean up outdated documents before saving,
then update the document in `GDScriptTextDocument::didSave`.
2022-10-04 15:38:57 +08:00
Aaron Franke
094e8db97c
Fix hide_slider vs no_slider inconsistency in editor property code
2022-10-03 13:40:31 -05:00
Yuri Rubinsky
321251a133
Merge pull request #66759 from Chaosus/gds_fix_param_completion
2022-10-03 17:44:20 +03:00
Rémi Verschelde
6609f1b09f
Merge pull request #66709 from MewPurPur/fix-unary-operators-being-STILL-broken
...
Fix more highlighting bugs
2022-10-03 09:30:01 +02:00
VolTer
2d48bf0b88
Fix more highlighting bugs
2022-10-02 17:44:39 +02:00
Yuri Rubinsky
7822378293
Fix completion of parameters in function call (2)
2022-10-02 13:30:15 +03:00
Yuri Rubinsky
6f75b0d79b
Merge pull request #64717 from Chaosus/gds_fix_param_completion
2022-09-30 18:34:33 +03:00
Yuri Rubinsky
5d4853f8ca
Fix completion of parameters in function call
2022-09-30 15:42:05 +03:00
Rémi Verschelde
166df0896c
Fix typos with codespell
...
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
2022-09-30 14:23:36 +02:00
Rémi Verschelde
f47979f087
Merge pull request #66242 from akien-mga/scons-unify-tools-target
2022-09-30 12:28:50 +02:00
Hugo Locurcio
530e31d4a3
Document `print_stack()` and `get_stack()` requiring a debugger connection
2022-09-28 12:24:39 +02:00
Rémi Verschelde
cb39d7d08b
Merge pull request #65074 from MewPurPur/booleans-highlighting-fix
...
Fix highlighting after value keywords
2022-09-27 09:58:58 +02:00
Rémi Verschelde
39facb35a0
SCons: Unify tools/target build type configuration
...
Implements https://github.com/godotengine/godot-proposals/issues/3371 .
New `target` presets
====================
The `tools` option is removed and `target` changes to use three new presets,
which match the builds users are familiar with. These targets control the
default optimization level and enable editor-specific and debugging code:
- `editor`: Replaces `tools=yes target=release_debug`.
* Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_debug`: Replaces `tools=no target=release_debug`.
* Defines: `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_release`: Replaces `tools=no target=release`.
* Defines: `-O3`/`/O2`
New `dev_build` option
======================
The previous `target=debug` is now replaced by a separate `dev_build=yes`
option, which can be used in combination with either of the three targets,
and changes the following:
- `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`),
enables generating debug symbols, does not define `NDEBUG` so `assert()`
works in thirdparty libraries, adds a `.dev` suffix to the binary name.
Note: Unlike previously, `dev_build` defaults to off so that users who
compile Godot from source get an optimized and small build by default.
Engine contributors should now set `dev_build=yes` in their build scripts or
IDE configuration manually.
Changed binary names
====================
The name of generated binaries and object files are changed too, to follow
this format:
`godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]`
For example:
- `godot.linuxbsd.editor.dev.arm64`
- `godot.windows.template_release.double.x86_64.mono.exe`
Be sure to update your links/scripts/IDE config accordingly.
More flexible `optimize` and `debug_symbols` options
====================================================
The optimization level and whether to generate debug symbols can be further
specified with the `optimize` and `debug_symbols` options. So the default
values listed above for the various `target` and `dev_build` combinations
are indicative and can be replaced when compiling, e.g.:
`scons p=linuxbsd target=template_debug dev_build=yes optimize=debug`
will make a "debug" export template with dev-only code enabled, `-Og`
optimization level for GCC/Clang, and debug symbols. Perfect for debugging
complex crashes at runtime in an exported project.
2022-09-26 16:31:46 +02:00
Rémi Verschelde
a587c0a45a
Merge pull request #66366 from asmaloney/script-fix-redundant-if
...
_parse_function()
2022-09-26 15:50:46 +02:00
Rindbee
412e87349a
Fix out of sync when the script is edited externally via lsp
...
Previously, external editing via lsp would modify the modified time of the script,
which caused the internal display of the script to not be refreshed when refocusing
the engine.
Now saving the script externally via lsp will automatically refresh the internal
display.
2022-09-25 23:30:35 +08:00
Rémi Verschelde
15ac442247
Merge pull request #63224 from Rindbee/update-GDScript-cache
...
Load/update GDScript from disk on load if cache mode is CACHE_MODE_IGNORE
2022-09-25 11:28:45 +02:00
Andy Maloney
127e2333f4
Remove redundant "if" condition in GDScriptCompiler::_parse_function()
...
Looking at the original PR, I believe this is the original intent, but it now means that previously dead code is now executed.
2022-09-24 12:30:43 -04:00
Rindbee
f1a4041f52
Load/update GDScript from disk on load if cache mode is CACHE_MODE_IGNORE
2022-09-24 16:06:36 +08:00
Francois Belair
03e41d21e0
Prevent null crash when datatype not resolved
2022-09-23 11:13:57 -04:00
Rémi Verschelde
0aea7f2f0f
Merge pull request #62411 from willnationsdev/gdres-gdscript
...
Add GDScript resource export.
2022-09-18 10:53:42 +02:00
willnationsdev
339aba1656
Add GDScript resource export.
2022-09-17 17:10:30 -05:00
I Woithe
4c785ae3f8
Spelling correction: change "no" to "not"
2022-09-17 21:02:54 +09:30
Abdelhafidh Belalia
4dca9975e7
Fix GDScript `preload` fails in standalone build unless files are present in directory
...
Fixes #56343 .
2022-09-15 13:52:37 +02:00
Rémi Verschelde
b2875d1acc
Merge pull request #65643 from voylin/fix_recurring_check_in_gdscript_cache.cpp
2022-09-13 10:45:50 +02:00
Rémi Verschelde
967938d15e
Merge pull request #65637 from Jummit/assert-example
2022-09-13 10:40:53 +02:00
Yuri Rubinsky
b20aed2812
Fix completion for variables initialized by `get_node` call
2022-09-12 19:54:55 +03:00
Yuri Rubinsky
213bd4199b
Fix last_modified_time on scripts
2022-09-12 09:35:46 +03:00
Voylin
e5814c3f81
Fix for recurring check in gdscript_cach.cpp
2022-09-11 16:56:49 +09:00
Jummit
899b73e01d
Remove outdated assert example
2022-09-11 07:55:03 +02:00
Micky
dd26ecdd31
Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
...
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
Micky
19571a8f44
Fix "Treat Warnings as Errors" Project Setting not working
2022-09-05 18:42:46 +02:00
Rémi Verschelde
e64eb120a8
Merge pull request #65264 from MewPurPur/all-hail-icon-annotation
2022-09-02 23:15:31 +02:00
VolTer
126901cfce
Remove old syntax for custom class icon
2022-09-02 22:06:47 +02:00
Hugo Locurcio
f7292dbeb3
Rename `or_lesser` range property hint to `or_less`
...
"less" should be used for quantity, rather than "lesser".
Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Rémi Verschelde
181019cea5
Merge pull request #65135 from reduz/export-customization-plugins
2022-09-01 23:43:39 +02:00
Juan Linietsky
ef17c4668a
Add support for scene/resource customization in export plugins
...
EditorExportPlugin adds a set of callbacks to allow customizing scenes, resources or subresources in all files exported:
* Can take scene files, resource files and subresources in all of them.
* Uses a cache for the converted files if nothing changes, so this work only happens if a file is modified.
* Uses hashing to differentiate export configuration caches.
* Removed the previous conversion code to binary, as this one uses existing stuff.
This API is useful in several scenarios:
* Needed by the "server" export platform to get rid of textures, meshes, audio, etc.
* Needed by text to binary converters.
* Needed by eventual optimizations such as shader precompiling on export, mesh merging and optimization, etc.
This is a draft, feedback is very welcome.
2022-09-01 11:16:00 +02:00
Rémi Verschelde
73021d491a
Merge pull request #65163 from MewPurPur/reuse-function-logic-for-global-funcs
...
Fix a case in global function highlighting
2022-09-01 09:18:39 +02:00
Rémi Verschelde
8812f0c896
Merge pull request #64444 from timothyqiu/action-completion
...
Fix action name completion for `Input`
2022-09-01 08:20:20 +02:00
VolTer
54bb9c3dd5
Fixed a case for global function highlighting
2022-08-31 23:12:23 +02:00
Rémi Verschelde
10aec9057c
Merge pull request #63411 from Calinou/improve-null-object-dictionary-print
...
Improve null and object printing to avoid confusion with arrays
2022-08-31 17:37:08 +02:00
Rémi Verschelde
818af96189
Merge pull request #64130 from A-Lamia/root_uri_decode
2022-08-31 17:06:55 +02:00
Rémi Verschelde
6843a484ff
Merge pull request #65065 from Atlinx/fix/65010_enum-doesnt-show-up
2022-08-31 16:51:53 +02:00
Hugo Locurcio
291d3aaabe
Improve null and object printing to avoid confusion with arrays
...
- Use different syntax for object printing to avoid confusion with arrays.
- Print null as `<null>` to avoid confusion with a string `"null"`.
- Display `<empty>` in editor resource pickers to avoid confusion
with array-based properties.
2022-08-31 15:31:49 +02:00
VolTer
ff362f8586
Add missing values to binary operator highlighter check exceptions
2022-08-31 08:51:26 +02:00
Lamia
2ff69d6181
fix: add uri_decode to root_uri #63388
2022-08-31 13:48:37 +10:00
Atlinx
6b5640c88c
Fix inferred GDScript enum values not appearing in inspector
...
"enum_values" originally wasn't being forwarded to the new type inside "reduce_identifier_from_base", which caused hint strings derived from the new type to be blank, which ultimately caused an empty enum dropdown menu.
2022-08-30 17:40:38 -04:00
Rémi Verschelde
432b25d364
Merge pull request #65066 from aaronfranke/str-path-join
2022-08-30 10:01:11 +02:00
Aaron Franke
10a56981dc
Rename String `plus_file` to `path_join`
2022-08-29 19:38:13 -05:00
VolTer
1342b8ccd6
Follow-up fixes to number highlighting
2022-08-29 20:54:56 +02:00
Rémi Verschelde
c3332018fb
Merge pull request #65003 from MewPurPur/fix-number-coloring
2022-08-29 15:20:32 +02:00
VolTer
a33ed6c046
Fix number highlighting
2022-08-29 11:35:46 +02:00
Rémi Verschelde
f7f8af232c
Merge pull request #64885 from Mickeon/rename-tooltip-hint
...
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-28 17:43:01 +02:00
Rémi Verschelde
09086b0bb0
Merge pull request #64651 from MewPurPur/fix-globalfunc-highlighting
...
Add new highlighting color for `@GDScript` and `@GlobalScope` functions
2022-08-27 18:44:14 +02:00
Micky
ef5b9a06a9
Rename `hint_tooltip` to `tooltip_text` & setget
...
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`
Updates documentation, too.
2022-08-27 01:35:01 +02:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Micky
59e11934d8
Rename `str2var` to `str_to_var` and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
fabriceci
f8cc88fab3
Restore RigidBody2/3D, SoftBody names in physics
2022-08-26 12:26:25 +02:00
Rémi Verschelde
85ed9eac6f
Merge pull request #64857 from MewPurPur/tweak-stringname-color
2022-08-25 22:44:22 +02:00
VolTer
88ad758b41
Added highlighting color for GDScript and GlobalScope functions
2022-08-25 17:00:16 +02:00
VolTer
73bbc61eb4
Tweaked StringName highlighting color
2022-08-25 08:32:14 +02:00
kobewi
f7f4873ed0
Replace Array return types with TypedArray 3
2022-08-24 12:53:36 +02:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Max Hilbrunner
79717dcb46
Merge pull request #64170 from YuriSizov/docs-annotations-in-technicolor
...
Add documentation for all annotations
2022-08-20 00:57:01 +02:00
Yuri Sizov
7895a66cf2
Merge pull request #64334 from YuriSizov/core-bind-property-revert-methods
...
Make `property_*_revert` methods multilevel and expose them for scripting
2022-08-19 20:41:41 +03:00
Yuri Sizov
a0995182fe
Add documentation for all annotations
2022-08-19 15:06:39 +03:00
Max Hilbrunner
6f273d2156
Merge pull request #63326 from MewPurPur/binary-highlighting-fix
...
Fix highlighting of multiple operators
2022-08-19 01:27:02 +02:00
Yuri Sizov
980f5f32f4
Make `property_*_revert` methods multilevel and expose them for scripting
2022-08-18 00:03:53 +03:00
Haoyu Qiu
660c700f9c
Fix action name completion for `Input`
2022-08-15 23:28:49 +08:00
VolTer
2e6108d181
Improve binary operator highlighting
2022-08-14 15:49:07 +02:00
Rémi Verschelde
345dd9f0fb
Merge pull request #62934 from Xwdit/script_doc_arg_def_var
2022-08-10 16:31:45 +02:00
Rémi Verschelde
a946768151
Merge pull request #63015 from Xwdit/fix_gds_editor_tooltip_arg_type
2022-08-10 16:31:32 +02:00
Xwdit
f265f175e3
Fix script documentation method argument default values
...
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2022-08-10 15:07:21 +02:00
Xwdit
e25c86bf5d
Fixed incorrect type display of function argument in GDScript editor tooltips
2022-08-10 15:06:21 +02:00
Xwdit
7e262310a2
Fixed incorrect type display of void return in GDScript editor tooltips
2022-08-10 15:05:47 +02:00
Yuri Rubinsky
df85c9871f
Prevent global functions from overriding completion of subscript
2022-08-10 11:51:53 +03:00
Rémi Verschelde
f8383a7c72
Merge pull request #64099 from A-Lamia/lsp_uri_path_fixes
2022-08-08 23:04:33 +02:00
Yuri Sizov
c5d7115038
Rename the argument tag to param in XML documentation
2022-08-08 22:34:31 +03:00
Rémi Verschelde
862dedcefe
Merge pull request #64076 from raulsntos/doc-fixes
...
Add `@GDScript.type_exists` documentation, Fix typo in weakref documentation
2022-08-08 19:15:25 +02:00
Raul Santos
e47ba81050
Add `@GDScript.type_exists` documentation
2022-08-08 15:40:32 +02:00
Yuri Sizov
1362bc22bd
Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript
2022-08-08 16:36:01 +03:00
Lamia
42a16ef76e
fix: modifies workspace->root_uri so that p_uri is symmetrical to other operating systems. #63388
2022-08-08 22:40:13 +10:00
Rémi Verschelde
7801ad0531
Merge pull request #64046 from AntonioDell/bugfix/63715-infer-preloaded-const-types
2022-08-08 08:55:37 +02:00
Antonio Dell'Annunziata
f81a166ab8
fix(gdscript): Infer type from preload const
...
When resolving the type of the attribute from the variant, the result_type.kind was overritten for no reason.
It is assumed that this only needs to be done, if the variant value is not valid to have any kind here.
Solves #63715
2022-08-07 16:09:24 +02:00
Rémi Verschelde
e3876899d3
Merge pull request #63919 from Faless/scons/4.x_easy_deps
2022-08-07 16:09:02 +02:00
Rémi Verschelde
77d3ac700d
Merge pull request #63712 from object71/fix-export-issues
2022-08-06 14:27:17 +02:00
Fabio Alessandrelli
951a1016d3
[Scons] Implement module dependency sorting.
...
Modules can now call:
env.module_add_dependencies(name: str, deps: list, optional: bool)
To add required or optional dependencies during the "can_build" step.
Required dependencies will be checked and the module will be not be
enabled when they are missing, printing a warning to notify the user.
2022-08-04 20:00:19 +02:00
Hristo Stamenov
0e1f7e9f89
Removed faulty function update after get_property_list.
...
The function tried to rearrange properties but that lead to problems with duplication or deleted properties. Implemented the logic that that function did inside the get_property_list both for tool scripts and non-tool scripts.
2022-08-03 21:45:16 +03:00
Rémi Verschelde
33258d850c
Merge pull request #61315 from lawnjelly/variant_bucket_pools
...
Variant memory pools
2022-08-02 15:54:18 +02:00
Rémi Verschelde
f04004b24c
Merge pull request #55450 from Calinou/script-editor-improve-light-theme-syntax-colors
2022-08-01 00:08:25 +02:00
Hugo Locurcio
0a24d40836
Improve script editor's light theme syntax colors for better readability
...
New colors were hand-picked to have a better contrast rate,
while still following the general coloring of the previous light theme.
This improves the light theme's accessibility, especially in outdoor
environments with direct sunlight.
2022-07-31 23:40:48 +02:00
Yuri Sizov
9f55bd971e
Extract EditorResourceConversionPlugin into its own source files and clean up editor includes
2022-07-31 21:14:15 +03:00
kobewi
c3606cb5f3
Swap arguments of ResourceSaver.save()
2022-07-29 19:53:09 +02:00
Rémi Verschelde
ba3734e69a
Merge pull request #63603 from aaronfranke/editor-paths
...
Move editor paths into the EditorPaths class
2022-07-29 19:31:59 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
...
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Aaron Franke
ac870ab1c8
Move editor paths into the EditorPaths class
2022-07-29 11:07:30 -05:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Antonio Dell'Annunziata
7b975b50dc
fix(gdscript): Fix infinite loop on type inferernce from super method calls
...
When infering the type from a `super()` call, the gdscript_editor didn't use the base class to search for the original implementation of the method, but instead searched in the extending class.
This caused the same function to be analyzed for type inference which created the infinite loop.
Solves #63592
2022-07-29 10:22:55 +02:00
Rémi Verschelde
14d021287b
Merge pull request #63049 from Faless/mp/4.x_as_module
2022-07-28 20:46:31 +02:00
Antonio Dell'Annunziata
e03b7b1935
fix(gdscript): Fix out of bounds crash after reloading member variables
...
The crash happens because the members Vector is resized, while the member_indices_cache still has the old indices saved.
On deleting a member from the script this can result to a cached index of 1 while the members Vector size is only 1.
2022-07-28 18:52:29 +02:00
Rémi Verschelde
fb086d44cf
Merge pull request #63560 from V-Sekai/named_global_crashfix
2022-07-28 09:03:01 +02:00
SaracenOne
1307577932
Prevent hard crash in GDScriptVM when a named global can not be found.
2022-07-27 23:37:42 +01:00
Edward
67e34f6120
inconsistent str() error fix
...
inconsistent str() error fix
2022-07-27 14:16:05 -04:00
Lamia
3fa943fe23
LSP: Sanitizes protocol URI `file:///c%3A` in file path
...
Fixes #63205 .
2022-07-28 02:25:05 +10:00
Rémi Verschelde
663195f36a
Merge pull request #63325 from EIRTeam/typed_array_fix
2022-07-27 12:39:20 +02:00
Aaron Franke
e53ae13178
Split up editor export code into multiple files
2022-07-26 08:28:19 -05:00
Fabio Alessandrelli
ca7d572908
[Net] Modularize multiplayer, expose MultiplayerAPI to extensions.
...
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
2022-07-26 09:31:12 +02:00
kobewi
e4a961b86a
Fix Vector4 parse error
2022-07-26 01:49:57 +02:00
Rémi Verschelde
90019676b0
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection
2022-07-25 11:13:27 +02:00
Xwdit
5d49df8d97
Fix missing method qualifiers in script doc
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-24 23:00:19 +02:00
reduz
455c06ecd4
Implement Vector4, Vector4i, Projection
...
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
Álex Román Núñez
1b10f744e0
Fix typed array returns returning the incorrect contained type
...
Fixes #59485 and #60218
2022-07-22 20:34:19 +02:00
Dallon Feldner
07ddc8b3b8
Don't print redundant errors when parsing GDScript
...
The error macros print a generic error, which isn't necessary, and could be confusing to end users.
2022-07-22 09:30:52 -05:00
Rémi Verschelde
ea3d355f0a
Merge pull request #62433 from KoBeWi/ 🌈
2022-07-21 16:36:34 +02:00
Rémi Verschelde
fa2dcc7ace
Merge pull request #47935 from HaSa1002/doc-loading-run-time
2022-07-20 22:33:49 +02:00
kobewi
df5655fdca
Highlight ^NodePath and &StringName differently
2022-07-19 20:20:30 +02:00
Rémi Verschelde
d2df09d02b
Merge pull request #63037 from cdemirer/fix-non-global-autoload-code-completion-crash
2022-07-18 16:13:29 +02:00
cdemirer
e9a5beeb01
Fix crash while trying to autocomplete non-global Autoload
2022-07-18 16:35:25 +03:00
Rémi Verschelde
4e9d3130f5
Merge pull request #63024 from Xwdit/fix_grouping_annotation_in_doc
2022-07-18 15:29:11 +02:00
Rémi Verschelde
aace87e0d0
Merge pull request #63123 from zerc/fix_doc_class_description
2022-07-18 14:56:55 +02:00
Vladimir Savin
585eee2a48
GDScript: Fix brief/long description doc comments.
2022-07-18 13:34:07 +01:00
George L. Albany
8035f1e36f
Allow non-constant string message for assert
2022-07-18 00:53:31 -04:00
cdemirer
52781535a3
Check for parameters shadowing class members
2022-07-18 00:28:27 +03:00
Xwdit
152466938f
Fix grouping annotations displayed in document
2022-07-15 12:39:52 +02:00
Rémi Verschelde
184f62cb46
Merge pull request #60458 from KoBeWi/Deprecated-hint,-unused-
2022-07-14 00:20:30 +02:00
George Marques
dc5a6362c1
Merge pull request #62895 from KoBeWi/callables_exist_you_know
2022-07-13 09:30:08 -03:00
George Marques
ad11d264b7
Merge pull request #62901 from cdemirer/prevent-unnecessary-additional-parser-error
2022-07-13 09:24:36 -03:00
George Marques
d51aac1137
Merge pull request #62900 from cdemirer/fix-parser-stuck-in-an-error-loop
2022-07-13 09:18:21 -03:00
George Marques
87ef6f554b
Merge pull request #62918 from cdemirer/parser-properly-set-node-extents
2022-07-13 09:08:28 -03:00
George Marques
01f910517d
Merge pull request #62922 from YuriSizov/gdscript-annotation-defaults
2022-07-13 09:06:20 -03:00
George Marques
bf1ef0498e
Merge pull request #62578 from MinusKube/editor-print-crash
...
Fix GDScript parser sometimes crashing when issuing warning for unreachable pattern
2022-07-13 08:44:40 -03:00
kobewi
2f777b9a1e
Remove unused hints
2022-07-12 00:44:13 +02:00
Yuri Sizov
316f78a037
Add default argument bindings to GDScript annotations
2022-07-11 23:02:55 +03:00
cdemirer
12b9572121
Parser: Properly set node extents
2022-07-11 21:31:15 +03:00
cdemirer
5a906a33d9
Prevent unnecessary additional parser error
2022-07-11 03:32:28 +03:00
cdemirer
4f36b2df2a
Fix parser stuck in an error loop
2022-07-11 02:42:40 +03:00
kobewi
e9344f5154
Remove outdated code path
2022-07-10 20:48:33 +02:00
bruvzg
0c5431644d
Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose.
2022-07-07 11:07:18 +03:00
Rémi Verschelde
09e12ba9b4
Sync GDScript doc template for new annotations
2022-07-06 16:37:40 +02:00
Rémi Verschelde
f0eb3ac5d3
Merge pull request #62701 from cdemirer/for-variable-conflict
2022-07-06 16:02:49 +02:00
Rémi Verschelde
fdff28e1a2
Merge pull request #62699 from cdemirer/fix-autocomplete-var-assigned-same-statement
2022-07-06 15:57:19 +02:00
Rémi Verschelde
4c56885bc0
Merge pull request #62690 from cdemirer/fix-infinite-guess-recursion
2022-07-06 15:54:16 +02:00
Rémi Verschelde
4873886830
Merge pull request #62760 from cdemirer/fix-annotation-initializer-conflict
...
Fix priority of annotated type vs initializer type
2022-07-06 15:47:56 +02:00
Rémi Verschelde
635d447a69
Merge pull request #62713 from YuriSizov/docs-scripting-annotations
2022-07-06 15:31:19 +02:00
Rémi Verschelde
ea61cd3b32
Merge pull request #62707 from YuriSizov/gdscript-group-those-props
2022-07-06 15:24:07 +02:00
cdemirer
f280975bf1
Fix priority of annotated type vs initializer type
2022-07-06 04:25:44 +03:00
reduz
5ac42cf576
Implement a BitField hint
...
Allows to specify the binder that an enum must be treated as a bitfield.
2022-07-05 22:13:37 +02:00
Yuri Sizov
f85bafaa11
Add grouping annotations for class properties in GDScript
2022-07-05 22:01:40 +03:00
Yuri Sizov
a9098e6147
Add support for documenting built-in annotations
2022-07-04 20:21:39 +03:00
lawnjelly
b221eab426
Variant memory pools
...
Memory pools via PagedAllocator for Transform2D, Transform3D, Basis and AABB.
2022-07-04 12:01:46 +01:00
cdemirer
dbdf0174b4
Do error when for variable conflicts with a variable in scope
2022-07-04 12:30:39 +03:00
cdemirer
3a827349bf
Fix autocomplete for variable which is assigned to in the current statement
2022-07-04 10:08:41 +03:00
cdemirer
bd518f6b11
Fix infinite recursion when guessing type of variable which is being assigned to
2022-07-04 02:49:36 +03:00
MinusKube
92367bad4e
Fix GDScript parser sometimes crashing when issuing warning for unreachable pattern
2022-07-01 02:05:00 +02:00
Rémi Verschelde
b730d2ee09
Merge pull request #60675 from voylin/Add-BBCode-support-for-printing-output
...
Adding print_rich() for printing with BBCode
2022-06-28 23:35:53 +02:00
Rémi Verschelde
f6072c9c98
Merge pull request #62485 from cdemirer/fix-set-chain-jump-if-shared
...
Fix chain assignment bug with jump_if_shared
2022-06-28 19:13:35 +02:00
cdemirer
a0608bd891
Fix set chain bug with jump_if_shared
2022-06-28 18:45:27 +03:00
Voylin
c6291bcd8a
Adding print_rich for printing with BBCode
2022-06-29 00:41:29 +09:00
Rémi Verschelde
622b656c40
Merge pull request #53135 from briansemrau/fix-ref-leak
2022-06-28 17:26:44 +02:00
Rémi Verschelde
4c14bf7482
Merge pull request #62470 from vnen/gdscript-export-nodes
...
GDScript: Enable exporting nodes to the inspector
2022-06-28 08:07:00 +02:00
Rémi Verschelde
b863c40356
Merge pull request #62468 from V-Sekai/core-const-expressions
...
Add a const call mode to Object, Variant and Script.
2022-06-28 01:08:24 +02:00
George Marques
9490146a16
GDScript: Enable exporting nodes to the inspector
...
Also fix an small issue in the property editor for NodePath trying to
use the meta property when not needed.
2022-06-27 18:42:52 -03:00
Rémi Verschelde
c4a426d6ec
Merge pull request #62462 from vnen/gdscript-setter-chaining
...
GDScript: Fix setter being called in chains for shared types
2022-06-27 23:25:53 +02:00
K. S. Ernest (iFire) Lee
9ddebc0c22
Add a const call mode to Object, Variant and Script.
...
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).
This mode ensures only const functions can be called, making it safe to use from the editor.
Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27 13:33:06 -07:00
George Marques
511a4b761c
GDScript: Fix setter being called in chains for shared types
...
When a type is shared (i.e. passed by reference) it doesn't need to be
called in a setter chain (e.g. `a.b.c = 0`) since it will be updated in
place.
This commit adds an instruction that jumps when the value is shared so
it can be used to skip those cases and avoid redundant calls of setters.
It also solves issues when assigning to sub-properties of read-only
properties.
2022-06-27 12:09:51 -03:00
Rémi Verschelde
dd3de622d8
Merge pull request #62372 from MarcusElg/nosliderrename
...
Rename @export_range's noslider option to no_slider
2022-06-25 14:03:44 +02:00
George Marques
cf015673d3
GDScript: Use implicit method for @onready variables
...
Initialize them with the implicit method so they're not related to the
overriding of the `_ready` method of the script but instead are always
set.
2022-06-24 14:49:21 -03:00
George Marques
81cac4907f
GDScript: Don't add implicit constructor to the list of functions
...
So it's not shown on docs or when listing the methods. This also avoids
being able to call it using the `call()` function.
2022-06-24 14:48:46 -03:00
Marcus Elg
6c1ac9f3be
Rename export_range's noslider option to no_slider
2022-06-24 10:45:34 +02:00
Rémi Verschelde
471050e6a7
Merge pull request #62342 from reduz/methodinfo-varargs
...
Implement varargs in Methodinfo
2022-06-23 22:49:16 +02:00
reduz
dd8c0522a6
Implement varargs in Methodinfo
...
Variadic templates are an awful thing. Implements #62233 using them in MethodInfo so less changes are required.
2022-06-23 14:50:38 +02:00
Black Cat
5c365713ca
Do not reset return value in release build
2022-06-22 20:55:09 +04:00
reduz
141c375581
Clean up Hash Functions
...
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Marcus Elg
46bbbd9770
Allow autocompletion of "noslider" in export_range
2022-06-19 17:11:49 +02:00
bruvzg
860e24683f
Make enum/constant binds 64-bit.
2022-06-17 16:36:26 +03:00
Rémi Verschelde
78944fef82
Merge pull request #61510 from Calinou/script-tweak-stack-overflow-message
2022-06-17 13:03:05 +02:00
Raul Santos
525b5e0e16
Fix EditorScenePostImport templates for C#
2022-06-16 19:29:59 +02:00
Johannes Witt
8c7d4996c9
Document how to load Images and MP3 files at run-time
2022-06-16 13:18:36 +02:00
Rémi Verschelde
d82c227e2b
Merge pull request #61486 from jtnicholl/import_script_templates
...
Add script templates for EditorScenePostImport
2022-06-15 21:07:42 +02:00
Jonathan Nicholl
912d8e23ca
Add script templates for EditorScenePostImport
2022-06-15 12:41:37 -04:00
Yuri Rubinsky
c9ad370f20
Add a null checking to `GDScript::_super_implicit_constructor`
2022-06-15 17:28:40 +03:00
Hugo Locurcio
cceeb671db
Improve stack overflow error message in GDScript and VisualScript
...
Stack overflow errors are generally the result of infinite recursion
within a script.
2022-06-15 16:20:01 +02:00
George Marques
68b86220c8
Merge pull request #57513 from trollodel/gdscript_get_propertyinfo_classname
...
Allow setting the PropertyInfo class_name from GDScript custom properties
2022-06-15 10:48:01 -03:00
George Marques
1aa6e33bf5
Merge pull request #59358 from strank/debug-inner-classes
2022-06-15 10:37:18 -03:00
Rémi Verschelde
9839761e24
Merge pull request #59482 from kurtlachmann/lsp_better_parentheses
2022-06-15 15:31:35 +02:00
George Marques
67156aa4c2
Merge pull request #61666 from nathanfranke/fix-match-bind
...
gdscript: use correct error for unused bind match, suppress with underscore
2022-06-15 10:21:34 -03:00
George Marques
15740c37a3
Merge pull request #57151 from cdemirer/fix-match-array-dict-pattern-logic-error
...
Fix logic errors in match-statement Array & Dictionary patterns
2022-06-14 21:30:05 -03:00
strank
2079e19899
Extend test_compiler to also disassemble inner classes
2022-06-12 16:30:04 -04:00
Nathan Franke
3d61246bc4
use correct error for unused bind match, suppress with underscore
2022-06-03 13:28:33 -05:00
Rémi Verschelde
c881f607a9
Merge pull request #61463 from vnen/gdscript-await-stack
...
GDScript: Fix stack overflow when using multiple `await`
2022-05-31 12:44:50 +02:00
Rémi Verschelde
68bf4eb100
Merge pull request #61440 from vnen/gdscript-scene-unique-nodes
...
GDScript: Support `%` in shorthand for `get_node`
2022-05-31 12:36:37 +02:00
George Marques
eba3e0a9fc
GDScript: Support `%` in shorthand for `get_node`
...
The `%` is used in scene unique nodes. Now `%` can also be used instead
of `$` for the shorthand, besides being allowed generally anywhere in
the path as the prefix for a node name.
2022-05-27 13:46:18 -03:00
George Marques
328aadc0ef
GDScript: Fix stack overflow when using multiple `await`
2022-05-27 09:31:37 -03:00
Rémi Verschelde
f2a7bb6b51
Merge pull request #59943 from jordigcs/gdscript_warning_enums
...
Add enum values (Ignore, Warn, Error) to GDScript warnings
2022-05-26 00:52:01 +02:00
Rémi Verschelde
410b6b5f7d
Merge pull request #55099 from dalexeev/desc-by-blank-line
...
Use blank line instead of `@desc:` for doc comments
2022-05-25 19:14:43 +02:00
Rémi Verschelde
e465b72b9b
Merge pull request #61389 from snailrhymer/lookup-fix
2022-05-25 18:38:29 +02:00
Danil Alexeev
320cf5d84c
Use blank line instead of `@desc:` for doc comments
2022-05-25 19:01:41 +03:00
SnailRhymer
3a87d1acae
Make Lookup Symbol recognize assert and preload in the script editor
2022-05-25 16:41:10 +01:00
Rémi Verschelde
6369e495fd
Merge pull request #61279 from Trioct/fix-typed-array-assignment
2022-05-25 17:28:22 +02:00
Trioct
bcbfa641ec
Fix const typed array assignment
2022-05-25 09:02:11 -05:00
SnailRhymer
688a62d841
Fix lookup_code to properly handle symbols at start of assignments
2022-05-25 11:45:57 +01:00
George Marques
24bcbe971a
GDScript: Don't show redundant await warning on unknown types
...
Also avoid it when the type is known to be a signal.
2022-05-24 14:37:50 -03:00
George Marques
1b76a9d705
GDScript: Fix lambda captures in default argument values
2022-05-23 21:38:31 -03:00
George Marques
969f1980d2
GDScript: Fix `if` after lambda being seen as ternary
2022-05-23 21:13:25 -03:00
George Marques
0a28b4cd94
GDScript: Do not allow standalone lambdas
...
They cannot be accessed in this case, so an error is shown to avoid
misleading the uses, especially in case of named lambdas.
2022-05-23 12:25:03 -03:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
Rémi Verschelde
cdc5da7460
Merge pull request #61025 from Chaosus/gds_fix_extend_crash
2022-05-18 16:17:18 +02:00
Rémi Verschelde
e22255edaf
Merge pull request #55201 from Scony/fix-unreachable-code-false-positive
2022-05-18 16:04:12 +02:00
Yuri Rubinsky
5d95a5a024
Fix crash when extending inner class in GDScript
2022-05-18 16:53:24 +03:00
Rémi Verschelde
5b02415fd0
Merge pull request #55134 from KoBeWi/script_pillow_or_something
...
Always soft-reload scripts
2022-05-17 15:09:09 +02:00
Rémi Verschelde
c41f62c3df
Merge pull request #61003 from vnen/gdscript-await-stack-fix
2022-05-16 14:10:29 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
George Marques
102c312497
GDScript: Fix stack manipulation for `await`
...
The stack now contains three special addresses that should no be copied
to the state, since it contains references that creates cycles. They can
be recreated when the function is resumed.
This commit also removes the clearing of stack from the
GDScriptFunctionState destructor, since it should be cleared when the
function exits. The state stack should only be cleared manually if the
instance is freed before the state resumes (which is already being
done). Otherwise this would destruct the stack twice, causing crashes.
2022-05-13 20:15:34 -03:00
JoJoX
8870e1c75d
Fix first value update
2022-05-12 19:11:33 -04:00
Yuri Rubinsky
a439832035
Fix signal completion in GDScript editor
2022-05-12 16:10:48 +03:00
reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Yuri Rubinsky
be8eb6625e
Fix incorrect precedence of pow operator in GDScript
2022-05-12 10:09:51 +03:00
Yuri Roubinsky
dbd7a31507
Implement exponential operator (**) to GDScript/Expressions
2022-05-11 16:30:37 +03:00
Rémi Verschelde
9963ae3553
Merge pull request #59863 from cdemirer/fix-match-multiple-bind-single-pattern
...
Fix issues with multiple bind patterns in match statement
2022-05-11 14:18:02 +02:00
Rémi Verschelde
c171f675c8
Merge pull request #60229 from Dorodri/improve-gdscript-range-description
2022-05-11 14:17:39 +02:00
Rémi Verschelde
505e15c523
Merge pull request #60732 from CalebJohn/matching_signature_regression_test
2022-05-11 14:15:48 +02:00
Rémi Verschelde
f4ece7e736
Merge pull request #60609 from nathanfranke/string-quotes
2022-05-06 08:59:08 +02:00
Rémi Verschelde
84f64ddde9
Merge pull request #60723 from reduz/refactor-module-initialization
2022-05-04 19:08:43 +02:00
reduz
de0ca3b999
Refactor module initialization
...
* Changed to use the same stages as extensions.
* Makes the initialization more coherent, helping solve problems due to lack of stages.
* Makes it easier to port between module and extension.
* removed the DRIVER initialization level (no longer needed).
2022-05-04 17:34:51 +02:00
CalebJohn
06a2d83e30
Add regression test for gdscript valid function signature
...
Previously, there was an issue where the gdscript analyzer incorrectly
riased a validation error for code that had a default Dictionary, Array,
or custom type.
2022-05-03 12:46:09 -07:00
Nathan Franke
58fcad20ef
quote strings inside arrays and dictionaries
2022-05-03 13:37:13 -05:00
Hugo Locurcio
180e5d3028
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
...
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
c273ddc3ee
Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`
...
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
Eduardo Rodrigues
b2841ce194
Improve description for GDScript built-in range
...
Rewrites the definition of how the function works.
Reworks the style of the examples and adds a negative range example.
Changes the while loop to a range loop in the array backwards example.
2022-04-30 15:17:17 -03:00
Markus Sauermann
a793960a10
Fix cppcheck const parameters
...
Convert method signature parameters to const where it is possible
# Conflicts:
# drivers/gles3/rasterizer_canvas_gles3.cpp
# drivers/gles3/rasterizer_canvas_gles3.h
# editor/plugins/animation_state_machine_editor.cpp
# editor/plugins/animation_state_machine_editor.h
2022-04-28 11:35:39 +02:00
Rémi Verschelde
f626e8ef91
Merge pull request #60396 from vnen/gdscript-self-lambda
2022-04-27 13:11:24 +02:00
Rémi Verschelde
3dd550e1ca
Merge pull request #59613 from PastMoments/dict-arr-const-fix
2022-04-27 12:45:30 +02:00
Rémi Verschelde
cb5f3a39b9
Merge pull request #60418 from ShimmyShaman/master
2022-04-26 11:11:08 +02:00
Rémi Verschelde
bef00b2b0d
Merge pull request #60445 from nathanfranke/minor-changes
...
small changes: improve OS.get_name classref, misc/scripts fixes, remove trailing quote
2022-04-25 23:10:48 +02:00
George Marques
01d13ab2c1
GDScript: Allow using self in lambdas
2022-04-24 21:49:02 -03:00
Nathan Franke
1304d72fc1
improve OS.get_name classref, misc/scripts fixes, remove trailing quote
2022-04-22 17:13:08 -05:00
ShimmyShaman
b3922a42e9
improved error msg for gdscript load_source_code
2022-04-22 16:10:48 +12:00
Yuri Roubinsky
540fca147d
Fix typo in `GDScript::range` doc
2022-04-20 19:38:49 +03:00
PastMoments
b3704e664d
Fixes GDScript define nested dictionary and array as constants #50285
2022-04-19 08:57:23 -04:00
Rémi Verschelde
7032b111ce
Merge pull request #60007 from aaronfranke/gds-op-adj-tr3d
...
GDScript: Rename OPCODE_TYPE_ADJUST_TRANSFORM to have a 3D suffix
2022-04-15 08:17:27 +02:00
bruvzg
4bf99f4af2
Narrow FileAccess scope to prevent deadlocks.
2022-04-12 10:54:39 +03:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted.
2022-04-11 13:28:51 +03:00
George Marques
cdbd6056ef
GDScript: Fix method call on singletons
2022-04-08 12:20:57 -03:00
Aaron Franke
f3eca5abef
GDScript: Rename OPCODE_TYPE_ADJUST_TRANSFORM to have a 3D suffix
2022-04-07 23:32:56 -05:00
David Maziarka
1f62965d26
Add built-in Variant types to autocompletion list
...
Co-authored-by: Gustav <gusan092@student.liu.se>
2022-04-07 11:10:19 -05:00
Rémi Verschelde
4d0fdf2e98
Merge pull request #59947 from vnen/gdscript-static-methods-classdb
2022-04-06 20:57:34 +02:00
George Marques
4710e2b278
GDScript: Add support for static method calls in native types
2022-04-06 14:14:38 -03:00
jordi
14bad75206
Add enum values (Ignore, Warn, Error) to GDScript warnings
2022-04-06 10:57:33 -05:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
Rémi Verschelde
db8e6bd83f
Merge pull request #59885 from Jayman2000/autoload-inheritance-message
2022-04-04 23:56:20 +02:00
Jason Yundt
1cc7e7ec33
Improve autoload inheritance error message
...
Autoloaded scripts should always inherit from Node. When you run a
project that tries to autoload a script which doesn’t inherit from Node,
then Godot gives an error.
Before this change, the error said “Script does not inherit a Node”.
That error message is a little bit misleading. If a class inherits a
Node, then one of its superclasses has a Node. If a class inherits
_from_ Node, then one of its superclasses is Node. This change corrects
that mistake.
Fixes #59884 .
2022-04-04 15:51:02 -04:00
Rémi Verschelde
f8ab79e68a
Zero initialize all pointer class and struct members
...
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
cdemirer
3c5b9d1be3
Fix issues with multiple bind patterns in match statement
2022-04-04 15:47:08 +08:00
Rémi Verschelde
c630c2001d
Merge pull request #59633 from EricEzaM/better-code-complete-update
...
Improve sorting of Code Completion options.
2022-04-03 12:34:00 +02:00
Eric M
4ab605d14d
Improve sorting of Code Completion options.
...
Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
2022-04-01 20:39:09 +10:00
bruvzg
947d7c8329
Fix some issues found by clang sanitizers.
2022-03-31 18:35:56 +03:00
Rémi Verschelde
a647fb3e62
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Rémi Verschelde
5ba3b993d5
Merge pull request #59694 from vnen/gdscript-better-call-super
2022-03-30 17:58:11 +02:00
George Marques
be718285f7
GDScript: Fix issues with completion and `super` calls
...
- Make call errors use the call node instead of the calle, which will be
empty on super calls.
- Don't allow `super()` to be used within lambdas.
2022-03-30 11:58:29 -03:00
Yuri Roubinsky
0584387918
Fix autocompletion of static methods in built-in types in GDScript
2022-03-30 17:40:41 +03:00
Rémi Verschelde
c9b75431f3
Refactor GDScript/C# script templates logic to be editor-only
...
Not a full refactor as it still goes through ScriptLanguage so it's hacky,
but at least it can now compile without this.
2022-03-28 16:21:00 +02:00
Rémi Verschelde
143d13717b
Merge pull request #59553 from reduz/script-extension-support
2022-03-28 13:35:21 +02:00
Juan Linietsky
ed14ff5a08
Revert "Sort autocomplete/code completion options in a better way"
2022-03-28 13:31:32 +02:00
Rémi Verschelde
795304e34f
Merge pull request #59612 from YeldhamDev/style_and_grace
2022-03-28 11:36:27 +02:00
Rémi Verschelde
7fe5bece45
Merge pull request #58931 from EricEzaM/proposals/4189-better-code-completion
...
Sort autocomplete/code completion options in a better way
2022-03-28 08:56:27 +02:00
Rémi Verschelde
c422dc5feb
Merge pull request #59064 from Chaosus/gds_fix_narrowing_conv_warning
...
Prevent NARROWING_CONVERSION warning for `int(float)` function in GDScript
2022-03-28 08:55:52 +02:00
Michael Alexsander
42df9ed059
Make script templates follow the GDScript style guide
2022-03-28 01:32:12 -03:00
reduz
360dea5348
Add GDExtension support to Script
...
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core
This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Kurt Lachmann
bbb07ff8cb
Use insertText from the internal autocompletion
...
* GDScriptLanguage::complete_code already adds parentheses to function calls, and does this a lot smarter than the language server right now.
* Instead of the previous naive approach we now reuse the same logic as the internal editor.
* For this to have any effect we also have to send the `insertText` field already during the completionRequest and not only during resolve.
2022-03-24 20:24:47 +01:00
Eric M
f9e1c094a2
Improve sorting of Code Completion options.
...
Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
2022-03-24 22:24:14 +10:00
Rémi Verschelde
d7d528c15f
Merge pull request #59065 from fabriceci/script-template-condition-too-wide
2022-03-23 12:13:07 +01:00
fabriceci
dae97909bd
Restrict the condition when checking if a script is a template
2022-03-23 11:03:44 +01:00
Yuri Roubinsky
c14043b166
Prevent NARROWING_CONVERSION warning for int(float) function in GDScript
2022-03-22 09:17:00 +03:00
Yuri Rubinsky
6cba2143de
Merge pull request #59056 from Chaosus/gds_fix_extends_crash
2022-03-22 08:27:03 +03:00
Yuri Rubinsky
7befa7234d
Merge pull request #58971 from Chaosus/gds_multiline_annotation
2022-03-22 08:25:37 +03:00
Rémi Verschelde
188fa0c846
Merge pull request #59194 from Chaosus/gds_export_flags_limit_error
...
Add an error emitting when the `@export_flags` arg count is exceeded
2022-03-21 21:21:49 +01:00
Yuri Roubinsky
8a6ab899ec
Add an error emitting when the `@export_flags` arg count is exceeded
2022-03-16 17:12:15 +03:00
Yuri Roubinsky
5a99aa3b3a
Fix default value count checking for inherited function
2022-03-14 18:00:42 +03:00
Yuri Roubinsky
d009d96a92
Prevent crash due to empty error message on empty extends in GDScript
2022-03-12 09:46:51 +03:00
Yuri Roubinsky
85488f12f3
Allow making multiline annotations in GDScript
2022-03-10 10:56:14 +03:00
reduz
21637dfc25
Remove VARIANT_ARG* macros
...
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-03-09 18:39:13 +01:00
Yuri Roubinsky
4fee0e3b7d
Fix `VisualShaderNodeCustom` script template
2022-03-09 09:45:20 +03:00
Rémi Verschelde
8c3d8b12ed
Merge pull request #58853 from V-Sekai/default-arg-values
2022-03-07 10:40:42 +01:00
K. S. Ernest (iFire) Lee
2eaadb1b52
Restore building web platform by enclosing resolve_function_signature.
2022-03-07 00:35:11 -08:00
Rémi Verschelde
53cf5eff9a
Merge pull request #58847 from KoBeWi/editor_settings_mess
2022-03-07 08:38:15 +01:00
kobewi
2057ea2883
Remove duplicate editor settings definitions
2022-03-06 22:05:49 +01:00
George Marques
1ebcb58e69
GDScript: Check if method signature matches the parent
...
To guarantee polymorphism, a method signature must be compatible with
the parent. This checks if:
1. Return type is the same.
2. The subclass method takes at least the same amount of parameters.
3. The matching parameters have the same type.
4. If the subclass takes more parameters, all of the extra ones have a
default value.
5. If the superclass has default values, so must have the subclass.
There's a few test cases to ensure this holds up.
2022-03-06 11:16:20 -03:00
strank
7d48afa96d
Add test cases for accessing parent elements from child class
2022-03-04 12:41:20 -05:00
Rémi Verschelde
79bbe57244
Merge pull request #56830 from strank/parent-signals
2022-03-04 17:29:49 +01:00
Rémi Verschelde
bb8c4acdc9
Merge pull request #58185 from V-Sekai/explicit_variant_assignment_fix
2022-03-04 14:56:38 +01:00
Rémi Verschelde
e133adeb8c
Merge pull request #58201 from V-Sekai/debugger_locals
2022-03-04 14:50:56 +01:00
Rémi Verschelde
4bbd7417c4
Merge pull request #58320 from mphe/fix_object_typed_arrays
2022-03-04 14:49:06 +01:00
Rémi Verschelde
a4195a3ea8
Merge pull request #58250 from V-Sekai/typed_array_fix
2022-03-04 14:48:40 +01:00
Rémi Verschelde
d31aaed172
Merge pull request #58626 from groud/fix_gdscript_analyser_crash
2022-03-04 14:15:59 +01:00
Rémi Verschelde
9b94a1dc4a
Merge pull request #58670 from KoBeWi/internal_debugger
2022-03-04 10:44:56 +01:00
Max Hilbrunner
57838fc0ee
Merge pull request #58262 from Sauermann/fix-range-doc
...
Describe usage of float in range documentation
2022-03-03 13:12:29 +01:00
kobewi
98dd04c38c
Fix debugger not opening built-in scripts
2022-03-02 17:57:56 +01:00
cdemirer
3afe50c2fa
Fix logic errors in match-statement Array & Dictionary Patterns
2022-03-02 19:05:18 +08:00
Gilles Roudière
7ae988ce5e
Fix a crash in GDScriptAnalyzer when a script class's file is not found
2022-02-28 12:20:00 +01:00
Rémi Verschelde
e3b70f3582
Merge pull request #58244 from V-Sekai/typed_fail_case_return
2022-02-23 14:12:14 +01:00
Rémi Verschelde
95783f7bfc
Merge pull request #58415 from V-Sekai/cyclic_assignment_gdscript_fixes
2022-02-23 12:09:44 +01:00
Chris Bradfield
849d34ba8e
Rename motion_velocity to velocity
2022-02-22 23:31:33 -08:00
SaracenOne
b6aa4ed55d
Fixes cyclic detection from variables assigning themselves to themselves in autocomplete, and restricts initialization of variables from other variables which have not been declared above it in class body
2022-02-22 01:21:21 +00:00
Marvin Ewald
cea0630fef
Fix typed arrays for Object based types
...
Fixes https://github.com/godotengine/godot/issues/53771 .
2022-02-19 16:27:06 +01:00
SaracenOne
ae0026bc7b
Make 'is_attribute' false during parse error to prevent crash
2022-02-18 12:52:46 +00:00
Markus Sauermann
bac8e451c0
Describe usage of float in range documentation
2022-02-18 00:59:22 +01:00
SaracenOne
ab2a8bd1d8
Fix using typed arrays based on script classes
2022-02-17 17:34:53 +00:00
SaracenOne
62d87fbd8b
Return a correctly typed variant in case of a function error to prevent hard crashes
2022-02-17 15:45:19 +00:00
SaracenOne
657b9b6596
Fix local variables not showing when breaking on final line
2022-02-16 18:12:38 +00:00
Jakob Bouchard
6553f5c242
Convert _notification methods to switch - Chunk C
2022-02-16 13:03:05 -05:00
SaracenOne
d45c3cdd1d
Fix error when assigning to an explicitly annotated variant from an ambiguous source
2022-02-16 13:25:27 +00:00
Hugo Locurcio
b68dd2e189
Add an XML schema for documentation
...
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.
Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
strank
dcf19f8914
Fix "Identifier not found" compiler error when accessing inherited signals or functions as callables.
2022-02-11 20:45:04 -05:00
Rémi Verschelde
317cd0b19a
Refactor some object type checking code with `cast_to`
...
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
Fabio Alessandrelli
086256431a
[Net] Add type check to GDScriptRPCCallable.
...
It will print an error when using an RPC defined on an object which does
not extend Node.
2022-02-07 13:39:45 +01:00
Fabio Alessandrelli
994638da4f
[Net] Implement GDScript custom RPC callable.
2022-02-07 13:39:10 +01:00
Rémi Verschelde
6a56314eab
Merge pull request #57748 from fabriceci/rename-script-template-variable
2022-02-07 13:22:23 +01:00
fabriceci
e81ccaf270
rename jump force to jump velocity
2022-02-07 11:46:30 +01:00
Yuri Roubinsky
a6e280c5de
Add some more fixes to visual shader
2022-02-07 11:28:42 +03:00
Hugo Locurcio
de45534fed
Highlight "namespace" as a GDScript keyword in the syntax highlighter
...
Like "trait" and "yield", "namespace" is currently not implemented
but is still reserved for future use.
2022-02-04 17:46:13 +01:00
Rémi Verschelde
89eb6d372d
Merge pull request #57591 from vnen/gdscript-enum-fixes
2022-02-04 13:49:15 +01:00
bruvzg
244db37508
Cleanup and move char functions to the `char_utils.h` header.
2022-02-04 11:35:01 +02:00
Anilforextra
adbe948bda
String: Add contains().
2022-02-04 01:28:02 +05:45
George Marques
ceafdf347e
GDScript: Treat enum values as int and enum types as dictionary
...
Since enums resolve to a dictionary at runtime, calling dictionary
methods on an enum type is a valid use case. This ensures this is true
by adding test cases. This also makes enum values be treated as ints
when used in operations.
2022-02-03 13:32:34 -03:00
George Marques
b013c0d544
GDScript: Allow tests to run on release builds
...
- Fix compilation issues by disabling warnings on release builds. This
also strips warnings from expected result before the comparison to
avoid false mismatches.
- Add a `#debug-only` flag to tests. Must be the first line of the test
script. Those won't run with release builds. Can be used for test
cases that rely on checks only available on debug builds.
2022-02-03 13:32:33 -03:00
George Marques
ad6e2e82a9
GDScript: Consolidate behavior for assigning enum types
...
This makes sure that assigning values to enum-typed variables are
consistent. Same enum is always valid, different enum is always
invalid (without casting) and assigning `int` creates a warning
if there is no casting.
There are new test cases to ensure this behavior doesn't break in
the future.
2022-02-03 13:32:16 -03:00
trollodel
1d6ac42b2a
Allow setting the PropertyInfo class_name from GDScript
2022-02-01 11:57:14 +01:00
bruvzg
8e79c5fb8d
Add support for the escaped UTF-16 and UTF-32 Unicode characters in the scripts and expressions.
2022-01-30 20:16:04 +02:00
Rémi Verschelde
e6caaf4c80
Merge pull request #57205 from TechnoPorg/variant-template-cast
...
Allow method binds to take Object subclasses as arguments
2022-01-27 23:46:37 +01:00
Rémi Verschelde
899cd34426
Merge pull request #57281 from Rubonnek/rename-subsequence
2022-01-27 11:03:13 +01:00
Wilson E. Alvarez
3eb5e0ac50
Rename String::is_subsequence_ofi to String::is_subsequence_ofn
2022-01-26 18:03:56 -05:00
cdemirer
28ac4d8b7d
Fix crash with non-constant keys in match statement Dictionary pattern
2022-01-26 04:10:07 +08:00
TechnoPorg
051ef479c9
Allow method binds to take Object subclasses as arguments
...
This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object.
This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary.
A few small changes also had to be made to other files, due to the changes cascading down all the includes.
2022-01-25 09:03:36 -07:00
K. S. Ernest (iFire) Lee
b69b526b7c
GDScript cache crashfix.
2022-01-22 17:42:54 -08:00
Rémi Verschelde
e1706be25d
Merge pull request #57052 from KoBeWi/nosort
2022-01-23 00:27:01 +01:00
Rémi Verschelde
b5f524d4c0
Merge pull request #55433 from V-Sekai/prev_operand_nullptr_check
...
Check for nullptr expression in parse_precedence function
2022-01-22 20:31:45 +01:00
Rémi Verschelde
182a36db47
Merge pull request #55214 from Scony/fix-gdscript-crash-2
...
Fix GDScript parser crash on 'dollar mixed with assignment' expression
2022-01-22 20:30:54 +01:00
kobewi
f056cb8ebc
Don't sort printed Dictionary
2022-01-22 13:45:02 +01:00
Pedro J. Estébanez
7b0ed2aa5e
Rename Variant::is_ref() to is_ref_counted()
2022-01-20 18:46:25 +01:00
Rémi Verschelde
846c14eee9
Merge pull request #56739 from strank/master
...
GDScript: Fix parsing default parameter values from function calls
2022-01-17 21:38:01 +01:00
Rémi Verschelde
4cfade6212
Merge pull request #55995 from Xwdit/enum_fix
...
Fix enum int comparison
2022-01-17 20:20:16 +01:00
Rémi Verschelde
91909ef801
Merge pull request #55625 from cdemirer/fix-type-guessing-and-gdscript-parser-printing
...
Fix `--test gdscript-parser` crash
2022-01-17 20:17:02 +01:00
Rémi Verschelde
12ab19fa26
Merge pull request #55616 from cdemirer/master
...
Fix nested ternary-if codegen
2022-01-17 20:16:26 +01:00
Paulb23
fffeecfd68
Improvments for SyntaxHighlighters
...
- Fix immedate Funcion in lamba highlight
- Highlight signals as one colour
- Highlight node paths as one colour
- Highlight escape chars in strings
2022-01-15 15:39:55 +00:00
Rémi Verschelde
3efa6644c4
Merge pull request #55541 from KoBeWi/outcognito_scripts
2022-01-14 21:04:13 +01:00
luz paz
858bcd5058
Fix various typos
...
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inh,inout,leapyear,lod,nd,numer,ois,ony,paket,ro,seeked,sinc,switchs,te,uint,varn,vew`
2022-01-13 23:20:01 -05:00
strank
960a26f6c0
GDScript: Fix parsing default parameter values from function calls
2022-01-13 19:28:39 -05:00
Rémi Verschelde
f0382530a7
Merge pull request #56268 from KoBeWi/ 🚗 complete_setters
2022-01-13 12:40:48 +01:00
kobewi
f524ddebd5
Make script type distinguishable by icon
2022-01-13 12:29:05 +01:00
SaracenOne
64d8b3aef2
Assign member type when parsing setters to prevent
...
'Compiler bug: unresolved assign' errors
2022-01-11 11:23:17 +00:00
Rémi Verschelde
b3513cffc5
Merge pull request #56326 from NNesh/fix/unknown_default_value_callable
...
Extended the _make_arguments_hint function to get default values for function arguments in hint
2022-01-10 21:29:13 +01:00
NNesh
374baff747
Fixed <unknown> text for callable default value for a function arguments hint
...
Format switch
Added a case for constant subscripts
Fixed default value hinting for the enum type
Removed is_null checking for value
Added a case for dictionary
2022-01-10 23:22:35 +05:00
Rémi Verschelde
49482966ec
Merge pull request #55715 from nathanfranke/enum-ordered
2022-01-10 17:19:52 +01:00
Rémi Verschelde
1989120d3f
Merge pull request #56194 from cdemirer/fix-operation-result-type-inference
2022-01-10 17:18:32 +01:00
Rémi Verschelde
4acc819f9b
Merge pull request #56232 from V-Sekai/invalid_explicit_variant_assign_fix
2022-01-10 17:12:56 +01:00
Rémi Verschelde
cc7f634066
Merge pull request #56260 from cdemirer/fix-type-mutation-upon-assignment-with-operation
2022-01-10 17:12:34 +01:00
Rémi Verschelde
c8b4fe3b8d
Merge pull request #56287 from cdemirer/fix-member-property-only-getter-cant-be-set
2022-01-10 17:12:06 +01:00
Rémi Verschelde
1fd5954962
Merge pull request #56288 from cdemirer/fix-member-property-getter-dont-update-subscript-chain-root
2022-01-10 17:10:57 +01:00
Rémi Verschelde
8f8c3f4b4c
Merge pull request #56342 from NNesh/fix/class-completion
2022-01-10 17:07:08 +01:00
Rémi Verschelde
b3d208385f
Merge pull request #56409 from cdemirer/fix-unexpected-copying-when-parameter-is-typed
2022-01-10 17:03:47 +01:00
Ger Hean
609964848d
Fix leak when function returning self type
...
Leak is caused by cyclic reference
2022-01-10 02:14:48 +08:00
NNesh
1a1ee43e3e
Fixed completion showing for class members
2022-01-08 01:49:18 +05:00
Rémi Verschelde
393a44b275
Merge pull request #55213 from Scony/fix-gdscript-crash
2022-01-06 20:54:03 +01:00
bruvzg
c69e0d16bc
Fix multiple missing UTF-8 decoding.
2022-01-06 14:35:22 +02:00
Yuri Roubinsky
21cfcaa129
Add a GDScript template for `VisualShaderNodeCustom`
2022-01-06 12:06:33 +03:00
Rémi Verschelde
6d4ed65f4c
Merge pull request #56483 from vnen/gdscript-warning-annotation
...
Add annotation to ignore warnings
2022-01-05 09:05:56 +01:00
George Marques
fd643c903d
GDScript: Add annotation to ignore warnings
2022-01-04 09:32:43 -03:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Rémi Verschelde
98b3ba1842
Merge pull request #53957 from fabriceci/new-template-workflow
2022-01-03 20:40:33 +01:00
cdemirer
3033e0f8a2
Fix gdscript-parser crash
...
Fixes gdscript-parser crashing while printing empty identifiers.
2022-01-03 08:47:18 +08:00
fabriceci
9d5b807059
Improve editor template workflow
...
Co-Authored-By: jmb462 <jmb462@gmail.com>
2022-01-02 21:52:09 +01:00
luz paz
a124f1effe
Fix various typos
...
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
cdemirer
511e699fee
Fix unexpected Packed Array copying when parameter is typed
2022-01-02 05:43:52 +08:00
cdemirer
bb9469aa65
Fix member properties with getters don't update as subscript chain root
2021-12-28 07:52:44 +08:00
cdemirer
e8305e17ff
Fix member properties with only getters can't be set
2021-12-28 07:51:18 +08:00
kobewi
c055c912fb
Remove autocomplete_setters_and_getters setting
2021-12-27 00:48:32 +01:00
cdemirer
067b4c8c07
Fix type mutation upon compound assignment
2021-12-27 03:32:22 +08:00
SaracenOne
b22c805dbe
Fix 'Compiler bug: unresolved assign' on explicitly annotated variants.
2021-12-25 00:53:57 +00:00
cdemirer
455cc07f90
Fix operation result type inference
2021-12-23 20:45:24 +08:00
Nathan Franke
b5b75cad43
Use OrderedHashMap for enum_values
2021-12-16 21:49:42 -08:00
Xwdit
0430e26e6d
Fix enum int comparison
...
Fix enum int comparison
2021-12-16 16:14:14 +01:00
Gilles Roudière
ab8119b5f6
Avoid a crash in the gdscript analyser
2021-12-14 15:54:25 +01:00
Yuri Roubinsky
566895732c
Fix shadowed global identifier warning duplication
2021-12-13 11:54:23 +03:00
Rémi Verschelde
f19a1e28c8
Revert "Fix auto reload scripts on external change"
2021-12-10 22:40:20 +01:00
cdemirer
1cf3f382ba
Fix "Lookup Symbol" on global class members
...
"Lookup Symbol" on global class members now does switch to the relevant script.
2021-12-10 19:56:46 +08:00
Rémi Verschelde
bdf8340e59
Merge pull request #43181 from nathanfranke/string-empty
...
Replace String comparisons with "", String() to is_empty()
2021-12-10 08:56:31 +01:00
Rémi Verschelde
012b2b5385
Merge pull request #55700 from Razoric480/raz/lsp-extraneous-code
2021-12-09 13:12:49 +01:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Rémi Verschelde
1a8741aaca
Merge pull request #49473 from cptchuckles/fix-auto-reload-scripts
2021-12-09 10:06:22 +01:00
Francois Belair
ad01201f34
Remove extraneous return to LSP
2021-12-07 12:37:11 -05:00
Rémi Verschelde
be975e5d18
Merge pull request #55624 from Razoric480/raz/cs-lsp-signal
2021-12-06 17:46:25 +01:00
Nathan Franke
de7873c2d8
Auto-Increment Debugger Port
...
Note: This PR also changes the port of the GDScript Language Server from 6008 to 6005. This opens enough ports above the debug port (6007) for this change to be useful.
2021-12-04 15:25:13 -06:00
Francois Belair
66f1b4bf66
Prevent LSP adding signal func to non GDScripts
2021-12-04 10:58:05 -05:00
cdemirer
6204d956b8
Fix nested ternary-if codegen ( #55582 )
2021-12-04 10:12:02 +08:00
Raul Santos
c3fb5ff359
Fix typo in `gdscript_parser`
2021-12-03 21:47:27 +01:00
Rémi Verschelde
7da392bcc5
Don't return reference on copy assignment operators
...
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this
can lead to confusing code and subtle bugs.
According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B) , C++
allows any arbitrary return type, so this is standard compliant.
This could be re-assessed if/when we have an actual need for a behavior more
akin to that of the C++ STL, for now this PR simply changes a handful of
cases which were inconsistent with the rest of the codebase (`void` return
type was already the most common case prior to this commit).
2021-11-30 16:26:29 +01:00
SaracenOne
3eec759e87
Check for nullptr expression in parse_precedence function
2021-11-29 11:29:15 +00:00
Yuri Roubinsky
ce48604eb7
Enchance descriptions of @GlobalScope/@GDScript
2021-11-25 14:24:09 +03:00
Lightning_A
e078f970db
Rename `remove()` to `remove_at()` when removing by index
2021-11-23 18:58:57 -07:00
Rémi Verschelde
3ba2d17d2f
Merge pull request #54949 from Chaosus/fix_warning
2021-11-23 15:15:36 +01:00
kobewi
4682f22293
Improve various texts
2021-11-23 12:20:57 +01:00
Pawel Lampe
1a15a3adf6
Fix GDScript parser crash on 'dollar mixed with assignment' expression
...
fixes #53696
2021-11-21 21:18:46 +01:00
Pawel Lampe
4a5d98c987
Fix godot crash on null expression, fixes #53862
2021-11-21 20:58:52 +01:00
Pawel Lampe
86c0e38e8f
Fix 'unreachable-code' false-positive, fixes #55154
2021-11-21 15:53:21 +01:00
kobewi
ca4c63d654
Always soft-reload scripts
2021-11-19 17:45:16 +01:00
Rémi Verschelde
6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference
2021-11-15 13:02:21 +01:00
Yuri Roubinsky
3396b25489
Allow using built-in names for variables, push warnings instead
2021-11-13 21:47:24 +03:00
Rémi Verschelde
88c4380737
Modules: Make sure to include modules_enabled.gen.h where needed
2021-11-12 13:42:58 +01:00
kobewi
3b320cd9fe
Show built-in script names in the debugger
2021-11-11 20:47:09 +01:00
bruvzg
74b9892f7a
[GDScript] Check string literals for Unicode direction control characters.
2021-11-11 15:41:59 +02:00
Rémi Verschelde
e8870ddefc
Merge pull request #54676 from Chaosus/gds_restrict_names
2021-11-10 15:20:44 +01:00
Rémi Verschelde
92ae349668
Merge pull request #54358 from Shawak/feature-allow-root-node-paths-without-quote
2021-11-10 15:19:17 +01:00
Maximilian
c7a8e047cc
Allow using $/root node paths
...
format
fix shadowing
use match instead of comparison
Update gdscript_parser.cpp
2021-11-09 18:46:28 +01:00
Hugo Locurcio
605784f019
Remove hash symbol in front of opcode error messages in GDScript
...
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
2021-11-09 12:20:16 +01:00
Rémi Verschelde
236fd3305b
Merge pull request #54473 from briansemrau/no-debug-functions-on-thread
2021-11-08 19:37:48 +01:00
Yuri Roubinsky
95f6f3c756
Prevent identifiers from naming as built-in funcs and global classes
2021-11-08 21:35:31 +03:00
Rémi Verschelde
78ed2c05a2
Merge pull request #54118 from Pineapple/dont-ignore-type-mismatch-in-setter-master
2021-11-08 19:26:27 +01:00
Francois Belair
4995a477ff
Fix LSP crash when parsing signal symbols.
...
If the number of parameters was less than the number of class members, the LSP would cause godot to crash because it was using the index for class members instead of the index for signal parameters.
Fixes #54720 .
2021-11-07 12:20:25 -05:00
Hugo Locurcio
c012fbc8b2
Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Rémi Verschelde
5efb11926d
Merge pull request #54346 from mhilbrunner/used-what-instead-of-what
2021-11-02 08:48:58 +01:00
Brian Semrau
d3051b2637
GDScript gracefully handle debug functions from separate thread
2021-11-01 12:13:25 -04:00
Aaron Franke
6772ebcea0
Move the docs for constructors and operators out of methods section
2021-10-29 12:34:57 -05:00
Rémi Verschelde
f7d852b532
Merge pull request #54350 from akien-mga/clang-format-dont-align-operands
2021-10-28 17:10:52 +02:00
Rémi Verschelde
6b090e325a
Merge pull request #53526 from KoBeWi/super_print
2021-10-28 15:47:52 +02:00
Rémi Verschelde
3a6be64c12
clang-format: Various fixes to comments alignment from `clang-format` 13
...
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Max Hilbrunner
626ca50676
Improve GDScript indentation error message
2021-10-28 13:01:53 +02:00
reduz
d03b7fbe09
Refactored Node3D rotation modes
...
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis
Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
Bartłomiej T. Listwon
42cce2891f
Don't ignore the type mismatch in setter function
2021-10-22 12:44:33 +02:00
Marcel Admiraal
87a4ba492e
Remove unimplemented methods
2021-10-21 18:44:25 +01:00
Rémi Verschelde
4387f9645b
Merge pull request #52940 from groud/toast_notification
2021-10-19 09:57:13 +02:00
Benjamin Navarro
560d9a4cc0
Fix incorrect debug check for setters
...
the check read the return type of the setter, which doesn't exist and
lead to a segmentation fault. Now we check the first function parameter.
Probably a bad copy/paste of the getter case
2021-10-18 09:01:16 +02:00
opl-
ad14b80e2a
Fix name used instead of doc for GDScript signals
2021-10-17 05:54:27 +02:00
Rémi Verschelde
08d1ce718d
Merge pull request #53856 from vnen/gdscript-setter-crash
2021-10-15 21:35:42 +02:00
George Marques
b0725a3b7d
GDScript: Avoid crash if missing setter signature
2021-10-15 15:53:24 -03:00
Rémi Verschelde
3f888966c0
Merge pull request #53843 from vnen/gdscript-typed-array-subscript-constant
...
Fix inferred typed array marked as constant
2021-10-15 16:49:29 +02:00
George Marques
540821a264
GDScript: Fix inferred typed array marked as constant
2021-10-15 10:40:50 -03:00
George Marques
84abb9a76c
GDScript: Fix typing for await expression
...
Don't grab the type of the awaited value unless it's constant (which
makes it synchronous) or call (which always use the proper return type).
2021-10-14 20:30:06 -03:00
George Marques
749d89ae38
GDScript: Remove error when coroutine is called without await
...
In the case the call happens as a statement, since the return value
isn't used in this case.
2021-10-14 20:12:01 -03:00
George Marques
056a54db7b
GDScript: Properly return value with await on non-coroutine
...
If the keyword `await` is used without a coroutine, it should still
return the value synchronally.
2021-10-14 19:58:10 -03:00
George Marques
d36213bab8
GDScript: Make sure calls don't use return when not needed
2021-10-14 19:55:45 -03:00
Rémi Verschelde
472ff40f71
Merge pull request #53807 from vnen/dont-share-arrays-and-dicts
2021-10-14 20:42:22 +02:00
George Marques
4c14051b3f
Zero Dictionary and Array variants when changing type with reset
...
So they don't reference to the old values anymore and instead refer to
a new value.
2021-10-14 11:22:17 -03:00
George Marques
bf322bacdd
Merge pull request #53726 from briansemrau/gd-outer-class
...
GDScript 2.0: Access outer scope classes
2021-10-14 10:12:52 -03:00
Gilles Roudière
0587e5e018
Implement toast notifications in the editor
2021-10-14 13:30:54 +02:00
Brian Semrau
0ff0f64cd4
GDScript: Access outer scope classes
2021-10-13 22:39:12 -04:00
Rémi Verschelde
e4288bf728
Merge pull request #53720 from vnen/gdscript-typed-array-custom-class
2021-10-12 16:51:50 +02:00
George Marques
34288b24a6
GDScript: Fix typed array with custom classes
2021-10-12 10:41:04 -03:00
George Marques
45f546c1d8
GDScript: Make setter parameter type same as variable type
2021-10-12 09:39:23 -03:00
Yuri Roubinsky
188e08307e
Merge pull request #53647 from Chaosus/gds_fix_builtin_functions_autocompletion
2021-10-11 20:29:43 +03:00
Yuri Roubinsky
e270d1cce3
Fix autocompletion of built-in functions in GDScript
2021-10-11 19:06:17 +03:00
George Marques
a6414b34e9
Merge pull request #53430 from DavidSichma/typed_safe_setter
...
Made typed member setters safe
2021-10-11 11:16:19 -03:00
George Marques
f930d54140
Merge pull request #53103 from ZuBsPaCe/gdscript-analyze-properties-fix
...
GDScript: Report property type errors
2021-10-11 11:01:39 -03:00
Yuri Sizov
41e271af6e
Remove redundant String operation from GDScript enum exports
2021-10-11 02:11:32 +03:00
mashumafi
575d4e00b6
Enhance and cleanup stringify for Vector
2021-10-09 06:19:25 +00:00
David Sichma
d28f2ee7a5
Only emit typed member setters if safe to do so
...
Instructions are now only emitted if input type matches expected type.
Otherwise usual setter fallback.
2021-10-08 23:54:55 +02:00
ZuBsPaCe
551ceb590b
GDScript: Report property type errors
...
Inline getters & setters are now FunctionNodes.
Their names are set in the parser, not in the compiler.
GDScript-Analyzer will now run through getter and setter.
Also report wrong type or signature errors regarding getset properties.
Added GDScript tests for getters and setters.
#53102
2021-10-08 22:06:15 +02:00
Max Hilbrunner
5733c13f53
Merge pull request #53536 from Faless/mp/4.x_rpc_config
...
[Net] Add call_local argument to Node.rpc_config.
2021-10-08 14:15:01 +02:00
George Marques
b010f96c89
Merge pull request #53336 from briansemrau/gdscript-i'm-not-my-own-local-class
...
[GDScript 2.0] fix script base class self-assignment
2021-10-08 09:10:19 -03:00
Fabio Alessandrelli
54ec66a700
[Net] Rename RPCConfig.sync to call_local.
...
For consistency with the other user facing changes.
2021-10-08 12:39:09 +02:00
George Marques
3a856b4fcc
GDScript: Use getter return type for the property type
...
The PropertyInfo hints are more relevant for the inspector. The getter
return type is more reliable and less likely to be incorrect and it is
what's going to be called in the end.
2021-10-07 20:22:19 -03:00
Rémi Verschelde
49e7e049ab
Merge pull request #53422 from KoBeWi/add_LUA_to_Godot
2021-10-07 23:37:37 +02:00
George Marques
082f624ef4
GDScript: Fix method ptrcall on release
2021-10-07 15:08:21 -03:00
kobewi
31012fd060
Change print_line() to use any number of Variants
2021-10-07 16:28:22 +02:00
Rémi Verschelde
6eb2094d4d
Merge pull request #53494 from mhilbrunner/stop-drop-and-dont-lie
...
Fix outdated no_call_local, use call_remote
2021-10-07 08:29:25 +02:00
George Marques
dfe3a2fad0
GDScript: Set status on parsing steps beforehand
...
To avoid potential dependency cycles. If any happens it will not get
into infinite recursion anymore and errors will cascade later on.
2021-10-06 21:24:27 -03:00
Max Hilbrunner
44b68f08b4
Fix outdated no_call_local, use call_remote
2021-10-06 23:51:57 +02:00
Rémi Verschelde
98b81ad35c
Merge pull request #53479 from vnen/gdscript-subscript-object-self
2021-10-06 19:48:23 +02:00
Rémi Verschelde
ba0a103e29
Merge pull request #53478 from vnen/gdscript-avoid-hard-inference
2021-10-06 19:31:56 +02:00
George Marques
1f55bd190c
GDScript: Allow subscript on self and object types
2021-10-06 12:01:34 -03:00
George Marques
6bdb28f5e4
GDScript: Avoid hard errors on inferred types
...
Since inference isn't always correct, they are now treated as unsafe
instead of errors.
This also removes inferred type when a variable is reassigned. Since
it's not aware of branching, the types might become invalid in a later
context.
2021-10-06 11:42:19 -03:00
George Marques
d6c799006a
GDScript: Make all warnings enabled in test generation
...
The test generation doesn't initialize the language (since it's already
initialized in main), but it still needs the warning enabled so it
matches the actual tests.
2021-10-06 11:39:00 -03:00
Rémi Verschelde
862994a8ef
doc: Update links to latest documentation after content reorganization
2021-10-06 13:48:48 +02:00
kobewi
9e5fdbc79d
Fix LUA-style assignment in Dictionary
2021-10-05 12:17:13 +02:00
Brian Semrau
c18a27a9cd
GDScript fix wrong base class assignment
2021-10-04 20:38:08 -04:00
George Marques
7725ebf3d2
GDScript: Use path cache when checking preloaded scripts
...
The path itself might not always be set in some cases, especially when
the script is just created and is already in the resource cache. Using
get_path() in this case gets the correct resource path.
This also adds a null check for safety in case the path is incorrect or
missing, to avoid a crash in the engine.
2021-10-04 20:48:39 -03:00
George Marques
84956fee4b
GDScript: Fix member assignment with operation
...
It was wrongly updating the assigned value with the result of the
operation.
2021-10-04 14:09:54 -03:00
Rémi Verschelde
bb201c5887
Merge pull request #53303 from akien-mga/53295-gdscript-completion-quote-style
2021-10-04 17:17:27 +02:00
Rémi Verschelde
4a4995524c
Merge pull request #53338 from briansemrau/gdscript-handle-for-with-null-list
2021-10-04 17:11:43 +02:00
Rémi Verschelde
b85dfd990e
GDScript completion: Handle quote style ad-hoc to remove editor dependency
...
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.
Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04 16:16:05 +02:00
kobewi
cb28469281
Allow void as return type for constructors
2021-10-03 21:16:54 +02:00
Brian Semrau
dc046e5cbe
GDScript Check for null list in `for` loop
2021-10-02 13:53:56 -04:00
Fabio Alessandrelli
366e374f76
Merge pull request #53290 from Faless/mp/4.x_opts_names
...
[Net] Rename RPC constants and annotation arguments.
2021-10-01 21:35:08 +02:00
Fabio Alessandrelli
24a949ea11
[Net] Rename RPC constants and annotation arguments.
...
any -> any_peer
sync -> call_local
ordered -> unreliable_ordered
Multiplayer.RPC_MODE_ANY -> RPC_MODE_ANY_PEER
Multiplayer.TRANSFER_MODE_ORDERED -> TRANSFER_MODE_UNRELIABLE_ORDERED
2021-10-01 18:14:38 +02:00
Francois Belair
572979d011
Fix empty line hover; fix open non-res:// script
2021-10-01 11:26:26 -04:00
Rémi Verschelde
06c1b40b84
Merge pull request #38397 from Calinou/doc-range-backwards-example
2021-10-01 11:58:30 +02:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Hugo Locurcio
810d8f06b7
Add an example on iterating an array backwards
...
This closes https://github.com/godotengine/godot-docs/issues/3472 .
2021-09-30 20:29:57 +02:00
Rémi Verschelde
d2b8560d7a
Revert "GdScript: Use reduced constant expression result when doing binary operations. Fixes #50293"
...
This reverts commit 6207708607
.
It broke a GDScript test (which didn't exist back when the PR was made,
so was missed prior to the merge).
It choked on:
```
prints("a", test_instance.a, test_instance.a == Named.VALUE_A)
```
With:
```
Invalid operands "VALUE_A (enum value)" and "int" for "==" operator.
```
2021-09-30 18:57:59 +02:00
Rémi Verschelde
7f8e50801e
Merge pull request #51818 from MarianoGnu/gdscript2-enum-fixes
2021-09-30 18:35:49 +02:00
Rémi Verschelde
27d4e2f09f
Merge pull request #53216 from vnen/gdscript-builtin-type-not-id
2021-09-29 17:04:24 +02:00
George Marques
72c07708e8
GDScript: Don't allow builtin type names as identifiers
2021-09-29 11:23:16 -03:00
George Marques
991f4d8527
GDScript: Fix assignment with operation for properties
2021-09-29 10:54:16 -03:00
Rémi Verschelde
c1f59139b4
Merge pull request #53092 from Razoric480/lsp-report-_init
2021-09-29 15:47:31 +02:00
Francois Belair
7468dd65a5
Make LSP report _init instead of Object::new
2021-09-29 08:42:01 -04:00
Rémi Verschelde
ea0a9e6ed3
Merge pull request #52800 from akien-mga/gdscript-remove-exp_range
2021-09-29 13:33:59 +02:00
Brian Semrau
6141ce2cb8
GDScript Don't double-reference Refs returned from native function
2021-09-28 12:40:23 -04:00
Pedro J. Estébanez
0fa574c051
Fix check for freed object during cast
2021-09-27 19:35:26 +02:00
Pedro J. Estébanez
ee238b2a4d
Fix inverted error messages about null object
2021-09-27 13:58:46 +02:00
Francois Belair
044daf9b8d
Remove duplicate WorkspaceEdit from LSP
2021-09-25 15:17:19 -04:00
Rémi Verschelde
14dcb97556
Merge pull request #50378 from Razoric480/apply-edit-40
2021-09-25 20:43:17 +02:00
Rémi Verschelde
0abe464162
Merge pull request #52849 from KoBeWi/know_no_binds
2021-09-25 00:10:56 +02:00
kobewi
7bf5fc709e
Remove binds from Signal.connect
2021-09-24 17:07:33 +02:00
Rémi Verschelde
679f70c1e1
Merge pull request #52906 from vnen/gdscript-show-error-on-yield
2021-09-21 20:36:39 +02:00
Rémi Verschelde
b3b4860d2e
Merge pull request #52905 from vnen/gdscript-single-line-declaration
2021-09-21 20:35:36 +02:00
George Marques
262d6c6bef
GDScript: Show specific error when "yield" is used
...
To help people porting code, it gives a hint to use "await" instead of a
generic error.
2021-09-21 14:38:14 -03:00
George Marques
e5ebc9710d
GDScript: Allow classes declaration to be done in single line
...
Incidentally, allow multiple statements in single line functions when
using semicolon as a terminator.
2021-09-21 14:14:46 -03:00
George Marques
bab0afc821
GDScript: Allow multiple lines in signal parameters declaration
2021-09-21 13:40:39 -03:00
George Marques
5107f9190b
GDScript: Remove conversion assign mistakenly done when unneeded
2021-09-21 11:58:57 -03:00
Yuri Roubinsky
26e3b3908d
Merge pull request #52852 from Chaosus/gds_fix_constants
...
Prevent local constant default value from incorrect overriding by a global constant in GDScript autocompletion
2021-09-21 16:44:46 +03:00
Rémi Verschelde
b458feba24
Merge pull request #51655 from RevoluPowered/improve-gdscript-code-editor-performance
...
Improve GDScript Editor performance
2021-09-21 15:18:17 +02:00
Rémi Verschelde
82c12060b2
Merge pull request #52718 from Calinou/gdscript-add-integration-tests-2
2021-09-21 14:13:24 +02:00
Gordon MacPherson
1881b3adc5
Improve GDScript Editor and Improve latency
...
Improvements:
- GDScript Highlighter is faster by 25% as keys are smaller (hashes instead of strings)
- Removes message queue from _apply_settings_change to allow resize to work correctly
- Some performance fixes are pending still
Note: this resolves the code editor behaving badly when resizing in debug builds
2021-09-21 13:56:47 +02:00
Yuri Roubinsky
05331a5bb9
Prevent local constant default value from incorrect override by a global
2021-09-21 08:40:50 +03:00
Aaron Franke
d54f2ad7ca
Don't generate empty doc sections and reduce code duplication
2021-09-20 20:59:33 -05:00
John J. Donna II
be6da39b8a
LSP: Add support for custom host setting
...
You can now configure host in the `language_server` settings in the editor
settings.
2021-09-20 13:09:51 +02:00
Rémi Verschelde
ae3b26da7b
GDScript: Remove reference to remove `@export_exp_range`
...
It was removed in 75688772b3
to be replaced
by `@export_range` with an `"exp"` hint string.
2021-09-17 22:54:43 +02:00
Rémi Verschelde
424ddcba37
Merge pull request #52792 from vnen/gdscript-subscript-missing-index
2021-09-17 20:16:29 +02:00
Rémi Verschelde
7762e8b1c1
Merge pull request #52788 from vnen/gdscript-compare-with-null
2021-09-17 19:35:55 +02:00
George Marques
651319de11
GDScript: Properly catch error when missing index in subscript
2021-09-17 14:31:51 -03:00
George Marques
455e142d37
Allow comparing equality between builtin types and null
2021-09-17 12:33:52 -03:00
George Marques
b8fdeb6467
Merge pull request #51671 from RandomShaper/fix_gdscript_crash
...
Fix some GDScript bugs
2021-09-17 12:29:40 -03:00
George Marques
4e69341c01
GDScript: Avoid inferred types from giving hard errors
2021-09-17 11:52:30 -03:00
Hugo Locurcio
c6ca09dc6f
Add more integration tests to the GDScript test suite
...
This also fixes a typo in the `bitwise_float_right_operand.gd` test.
2021-09-15 19:57:39 +02:00
Rémi Verschelde
a4187c9235
Merge pull request #52706 from vnen/gdscript-ternary-operator-crash
...
GDScript: Show error when missing expression after ternary else
2021-09-15 17:20:52 +02:00
Rémi Verschelde
ed11d03b56
Merge pull request #52705 from vnen/gdscript-error-unary-no-arg
...
GDScript: Show error on unary operators without argument
2021-09-15 16:43:38 +02:00
George Marques
107af38fd1
GDScript: Show error when missing expression after ternary else
2021-09-15 11:43:36 -03:00
George Marques
a5c299630d
Merge pull request #50456 from Blackiris/fix-extends-parent-relative
...
Fix extends with relative path to parent script
2021-09-15 11:12:24 -03:00
George Marques
d49046938a
GDScript: Show error on unary operators without argument
2021-09-15 11:08:59 -03:00
George Marques
5a612d61b9
Merge pull request #49765 from Blackiris/fix-assignment-with-operator-on-type-member
...
Fix assignment with operator on type member
2021-09-15 10:56:20 -03:00
Rémi Verschelde
c23823ac54
Merge pull request #52582 from jmb462/Prevent-non-explicit-inferring-parameter-from-null
2021-09-15 15:50:42 +02:00
George Marques
5d31ce4b16
GDScript: Allow string keys on Lua-style dictionaries
...
Which is useful when the key isn't a valid identifier, such as keys with
spaces or numeric keys.
2021-09-15 09:56:24 -03:00
Rémi Verschelde
32f8f74d83
Merge pull request #48029 from Calinou/gdscript-add-integration-tests
...
Add dozens of new integration tests to the GDScript test suite
2021-09-15 14:00:41 +02:00
Rémi Verschelde
1c7aec9d9c
Merge pull request #51094 from RandomShaper/error_cast_freed_object
...
Complain if casting a freed object in a debug session
2021-09-14 21:48:10 +02:00
Pedro J. Estébanez
ddc7d7ee66
Complain if casting a freed object in a debug session
...
The idea is to give the user a chance to realize a mistake that will cause a crash in a release build (or with no debugger attached).
2021-09-14 21:07:00 +02:00
Hugo Locurcio
c0083c0f90
Add dozens of new integration tests to the GDScript test suite
...
This also ignores `.out` files in the file format static checks.
2021-09-14 18:42:08 +02:00
ThreeRhinosInAnElephantCostume
2c71134aa4
Fix an undefined behaviour
2021-09-13 22:59:28 +02:00
Rémi Verschelde
f6022d2aa8
Merge pull request #52362 from vnen/gdscript-lambda-completion-crash
...
GDScript: Do not complete lambda arguments from parent class
2021-09-13 21:13:40 +02:00
Rémi Verschelde
45d9df2e63
Merge pull request #52632 from vnen/autoload-global-script-class-conflict
...
Disallow class names to be the same as global names
2021-09-13 21:10:50 +02:00
Rémi Verschelde
ffe8412291
Merge pull request #52323 from vnen/gdscript-singleton-interdependence-fix
...
Fix loading of interdependent autoloads
2021-09-13 21:10:34 +02:00
George Marques
e9186cfebf
Fix GDScript test cases
2021-09-13 15:02:01 -03:00
Rémi Verschelde
0c2ab55a58
Merge pull request #52100 from vnen/gdscript-access-outer-constants
...
GDScript: Allow access to outer constant and enum values
2021-09-13 18:04:35 +02:00
Rémi Verschelde
4059cf2f02
Merge pull request #52068 from ThreeRhinosInAnElephantCostume/fixgdscript
...
Fix parse error on statement-less files with only newlines, add a warning for empty files.
2021-09-13 17:30:31 +02:00
George Marques
2e5fa124f4
Disallow class names to be the same as global names
...
Also forbid autoloads to have the same name as global script class.
2021-09-13 10:51:29 -03:00
jmb462
b9219bedf7
Prevent non explicit inferring parameter from null
2021-09-11 21:11:10 +02:00
ThreeRhinosInAnElephantCostume
e99730340b
Fix error on parsing statement-less GDScript files,
...
add an empty file warning,
add relevant tests.
2021-09-11 20:38:15 +02:00
Pedro J. Estébanez
10c9c2ccd4
Avoid crash after a parsing error in GDScript
2021-09-11 11:35:25 +02:00
Pedro J. Estébanez
7c79e361f5
Fix parameter type resolution in GDScript
2021-09-11 11:35:25 +02:00
Pedro J. Estébanez
d72f12a561
Implement iterator variable typing in GDScript
2021-09-11 11:35:25 +02:00
ZuBsPaCe
1d1aa7a02f
GDScript: Removed spurious UNASSIGNED_VARIABLE warning for locals
...
Variable->assignment needs to be incremented when assigned a value.
Also fixed and improved unit test 'variable_declaration.gd'.
Fixes #52551
2021-09-10 22:26:50 +02:00
George Marques
6423e891a6
Merge pull request #52063 from KoBeWi/double_comma_of_doom
...
Fix crash with consecutive commas in Dictionary
2021-09-10 11:24:51 -03:00
George Marques
6da061faf5
Merge pull request #49897 from Blackiris/fix-dollar-point-crash-on-editor
...
Fix crash when writing $. in the editor
2021-09-10 10:55:11 -03:00
George Marques
0b484c5f5f
Merge pull request #51456 from SaracenOne/super_init_fix
...
Call _init on base class if one does not exist.
2021-09-10 10:40:32 -03:00
kobewi
c7452a9940
Fix crash with consecutive commas in Dictionary
2021-09-10 15:38:24 +02:00
George Marques
11e457e594
Merge pull request #51593 from KoBeWi/if
...
Prevent crash when awaiting in a getter/setter
2021-09-10 10:36:25 -03:00
George Marques
1234c2bdd9
Merge pull request #52081 from ThreeRhinosInAnElephantCostume/fixmatchfreeze
...
Fix gdscript pattern matching expressions
2021-09-10 09:28:18 -03:00
Max Hilbrunner
886ad727f8
Merge pull request #52267 from williamd67/lookup-symbol-builtin-functions
...
Show help for built-in functions (@GlobalScope)
2021-09-07 21:05:09 +02:00
Fabio Alessandrelli
bf9aae09ba
[Net] Move multiplayer to core subdir, split RPCManager.
...
Move multiplayer classes to "core/multiplayer" subdir.
Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.
Move the RPC handling code to its own class (RPCManager).
Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-07 11:14:30 +02:00
Julien Nguyen
a92d2c447b
Fix extends with relative path to parent script
2021-09-05 00:11:04 +02:00
Max Hilbrunner
8c82e305ba
Merge pull request #52329 from ZuBsPaCe/gdscript-unused-private-class-variable-fix
...
GDScript: Fix for UNUSED_PRIVATE_CLASS_VARIABLE
2021-09-03 10:04:11 +02:00
ZuBsPaCe
c76ad6b158
GDScript: Count usages of member variables.
...
Otherwise private member variables will always lead to UNUSED_PRIVATE_CLASS_VARIABLE.
2021-09-03 07:44:46 +02:00
ThreeRhinosInAnElephantCostume
15ccd83ada
Added tests for expression matching
2021-09-03 06:59:13 +02:00
Jonathan Gollnick
b0c807c75a
Fix auto reload scripts on external change
2021-09-02 20:28:02 -05:00
George Marques
da9daf4c3a
GDScript: Do not complete lambda arguments from parent class
...
Since lambdas are not overriding methods from the parent class, they
should not try to check inheritance for signature matching.
2021-09-02 19:54:55 -03:00
SaracenOne
84852585b9
Check for GDScript member and class naming conflicts in a variety of conditions.
2021-09-02 07:16:06 +01:00
George Marques
3d13588057
GDScript: Fix loading of interdependent autoloads
...
Move the autoload resolution to runtime by loading it into the stack
with an extra instruction. This allows an autoload to use another
autoload singleton independent of load order.
2021-09-01 16:06:30 -03:00
Juan Linietsky
bcd73fc00a
Merge pull request #52240 from Rubonnek/rename-rel-path
...
Rename `String::is_rel_path` to `String::is_relative_path`
2021-08-30 20:45:45 -03:00
William Deurwaarder
b2f858870d
Show help for built-in functions (@GlobalScope)
2021-08-30 21:51:56 +02:00
Wilson E. Alvarez
d11c1afc04
Rename String::is_rel_path to String::is_relative_path
2021-08-29 20:41:29 -04:00
Fabio Alessandrelli
fafddbc143
[GDScript] [Net] Allow mixing rpc annotation paramters.
...
The strings no longer needs to be in order.
The last parameter (channel), still requires all the other parameters to
be present.
2021-08-30 00:54:38 +02:00
Fabio Alessandrelli
64b9f30b92
[Net] Rename RPC "puppet" to "auth" (authority). Drop "master".
...
This commit completely removes the RPC_MODE_MASTER ("master" keyword),
and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword).
This commit also renames the "Node.[get|set]_network_master" methods to
"Node.[get|set]_network_authority".
This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY.
RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by
any puppet peer on the master, while RPC_MODE_PUPPET meant that it would
be callable by the master on any puppet.
Beside proving to be very confusing to the user (referring to where it
could be called instead of who can call it) the RPC_MODE_MASTER is quite
useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with
the exception that the network master cannot. While this could be useful
to check in some case, in such a function you would anyway need to check
in code who is the caller via get_rpc_sender_id(), so adding the check
there for those rare cases does not warrants a dedicated mode.
2021-08-30 00:54:38 +02:00
Hugo Locurcio
4f9509e6ba
Merge pull request #52085 from williamd67/fix-await-without-argument
...
Print error message when await is not followed by signal or coroutine
2021-08-28 23:01:34 +02:00
Max Hilbrunner
5d2c4faa89
Merge pull request #52164 from mhilbrunner/gd-style-fixup
...
GDScript test style fix
2021-08-28 20:16:17 +02:00
William Deurwaarder
e77338978f
Print error message when await is not followed by signal or coroutine
...
When await was not followed by a signal or coroutine the GDScript parser would
crash.
This fix will check if await is followed by a signal or coroutine in case that
isn't true (element == nullptr) then an error message is printed.
2021-08-28 17:29:35 +02:00
K. S. Ernest (iFire) Lee
d04aa9a114
Merge pull request #52122 from V-Sekai/autoload_list
...
Use sorted map for autoloads in ProjectSettings to preserve order.
2021-08-27 14:41:40 -07:00
Max Hilbrunner
f126634434
GDScript test style fix
2021-08-27 21:11:46 +02:00
Max Hilbrunner
4e67e9bca6
Merge pull request #52090 from balloonpopper/bug52060
...
Correct null and boolean values being capitalised by the str command
2021-08-27 21:05:47 +02:00
Hugo Locurcio
33773a24dc
Merge pull request #52105 from ldmnt/master
2021-08-27 19:28:59 +02:00