George Marques
a47d4d57ca
GDScript: Allow void functions to return calls to other void functions
2023-01-31 11:37:30 -03:00
Dmitrii Maganov
5909f9f075
GDScript: Fix issues with typed arrays
2023-01-31 11:54:41 +02:00
Dmitrii Maganov
011b3895db
GDScript: Fix vararg method calls with exact arguments
2023-01-30 19:38:07 +02:00
George Marques
ba9491f870
Merge pull request #70948 from vnen/gdscript-ptr-method-name-in-debug
2023-01-23 12:24:15 -03:00
George Marques
80e06b29e7
GDScript: Add names for disassembling function pointers
...
When instructions use function pointers, it's not possible to retrieve
their original names in the disassembly. This stores the names in
vectors (in debug builds) so they can be shown.
2023-01-23 11:04:31 -03:00
George Marques
9462ae4783
GDScript: Remove function of continue
for match statement
...
The keyword is confusing and rarely is used in the intended way. It is
removed now in favor of a future feature (pattern guards) to avoid
breaking compatibility later.
2023-01-22 18:45:24 -03:00
Adam Scott
48e041458f
Fix cyclic reference errors while reducing identifiers.
...
Co-authored-by: Dmitrii Maganov <vonagam@gmail.com>
2023-01-15 19:19:25 -05:00
George Marques
75515e4303
Merge pull request #70987 from vonagam/fix-parameter-conversion-assign
2023-01-12 11:34:13 -03:00
Rémi Verschelde
509da86205
Merge pull request #69590 from anvilfolk/enums
...
GDScript enum fixes & refactor
2023-01-09 23:10:37 +01:00
ocean (they/them)
366ec895b1
Assorted enum and native type fixes
2023-01-09 11:08:07 -05:00
George Marques
a3816434a6
GDScript: Don't use the NIL address to hold return value of functions
...
This prevents that the NIL address is filled with another value, which
causes problems for some instructions that read from NIL.
2023-01-09 09:20:18 -03:00
Dmitrii Maganov
a8c2f8a0e1
GDScript: Fix missing conversion for default argument values
2023-01-06 11:49:06 +02:00
Dmitrii Maganov
10e364bf43
GDScript: Fix array as default value for parameter
2023-01-06 06:25:55 +02:00
Dmitrii Maganov
a1d06749f1
Unify typing of variables, constants and parameters in GDScript
2023-01-06 01:10:04 +02:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01: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
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
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
b6aa4840d8
Fix usage of Enum as constant
2022-12-28 23:04:40 +02: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
rune-scape
e1c63fee86
GDScript: Fix built-in script and other find_class
bugs
2022-12-15 14:56:23 -05: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
ocean (they/them)
c8293a73b4
Add GDScript member initializer implicit type conversion
2022-12-11 16:55:02 -05: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
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
d531869a7c
GDScript: Fix subclass script path issues
2022-12-01 20:43:27 -05:00
Yuri Rubinsky
8d2506e811
Reset unassigned local variables to null in the loops
2022-11-28 19:45:24 +03:00
Adam Scott
4e60689695
Fix cyclic reference base being loaded but not valid (which is ok)
2022-11-27 15:50:19 -05:00
Adam Scott
5704055d30
Fix cyclic references in GDScript 2.0
2022-11-18 16:41:31 -05:00
Rune
61df8f4484
GDScript Compiler: regression fix
2022-11-15 22:20:49 -06:00
Rune
bce6f1792e
GDScript compiler subclass bugfixes
2022-11-13 02:29:21 -08:00
Yuri Rubinsky
f11b66b084
Fix named enums to use int64 type
2022-11-08 11:20:28 +03: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
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
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
cdemirer
52781535a3
Check for parameters shadowing class members
2022-07-18 00:28:27 +03:00
Yuri Sizov
f85bafaa11
Add grouping annotations for class properties in GDScript
2022-07-05 22:01:40 +03:00
cdemirer
a0608bd891
Fix set chain bug with jump_if_shared
2022-06-28 18:45:27 +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
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
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
bruvzg
860e24683f
Make enum/constant binds 64-bit.
2022-06-17 16:36:26 +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
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
Yuri Rubinsky
5d95a5a024
Fix crash when extending inner class in GDScript
2022-05-18 16:53:24 +03:00