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
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
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