Yuri Rubinsky
213bd4199b
Fix last_modified_time on scripts
2022-09-12 09:35:46 +03:00
Aaron Franke
10a56981dc
Rename String plus_file
to path_join
2022-08-29 19:38:13 -05:00
Yuri Sizov
980f5f32f4
Make property_*_revert
methods multilevel and expose them for scripting
2022-08-18 00:03:53 +03: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
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
kobewi
c3606cb5f3
Swap arguments of ResourceSaver.save()
2022-07-29 19:53:09 +02:00
Aaron Franke
ac870ab1c8
Move editor paths into the EditorPaths class
2022-07-29 11:07:30 -05: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
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
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
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
Xwdit
152466938f
Fix grouping annotations displayed in document
2022-07-15 12:39:52 +02:00
kobewi
2f777b9a1e
Remove unused hints
2022-07-12 00:44:13 +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
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
Yuri Rubinsky
c9ad370f20
Add a null checking to GDScript::_super_implicit_constructor
2022-06-15 17:28:40 +03: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
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
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
5b02415fd0
Merge pull request #55134 from KoBeWi/script_pillow_or_something
...
Always soft-reload scripts
2022-05-17 15:09:09 +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
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
ShimmyShaman
b3922a42e9
improved error msg for gdscript load_source_code
2022-04-22 16:10:48 +12: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
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
947d7c8329
Fix some issues found by clang sanitizers.
2022-03-31 18:35:56 +03:00
fabriceci
dae97909bd
Restrict the condition when checking if a script is a template
2022-03-23 11:03:44 +01: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
kobewi
98dd04c38c
Fix debugger not opening built-in scripts
2022-03-02 17:57:56 +01:00
Fabio Alessandrelli
994638da4f
[Net] Implement GDScript custom RPC callable.
2022-02-07 13:39:10 +01: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
Anilforextra
adbe948bda
String: Add contains().
2022-02-04 01:28:02 +05:45
trollodel
1d6ac42b2a
Allow setting the PropertyInfo class_name from GDScript
2022-02-01 11:57:14 +01:00
Rémi Verschelde
f0382530a7
Merge pull request #56268 from KoBeWi/ 🚗 complete_setters
2022-01-13 12:40:48 +01: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
fabriceci
9d5b807059
Improve editor template workflow
...
Co-Authored-By: jmb462 <jmb462@gmail.com>
2022-01-02 21:52:09 +01:00
kobewi
c055c912fb
Remove autocomplete_setters_and_getters setting
2021-12-27 00:48:32 +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
Lightning_A
e078f970db
Rename remove()
to remove_at()
when removing by index
2021-11-23 18:58:57 -07:00
kobewi
ca4c63d654
Always soft-reload scripts
2021-11-19 17:45:16 +01:00
kobewi
3b320cd9fe
Show built-in script names in the debugger
2021-11-11 20:47:09 +01: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
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
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