Age | Commit message (Collapse) | Author |
|
|
|
Some construct (like match) actually depends on the second pass. This
adds some extra checks to not perform specific type-checks on release
since not all type information is available.
|
|
|
|
This is needed to create export variables from enums defined in a parent
class.
|
|
|
|
|
|
Fixes #25082, fixes #24709.
|
|
A bit more of GDScript fixes
|
|
Otherwise these checks might trigger the insertion of an empty value,
leading to crashes.
|
|
They may happen with any cyclic dependency, not only with inheritance.
|
|
|
|
Fixes export PackedScene "reset to default" throwing errors
|
|
When exporting variables from a gdscript, default values of uninitialized variables would never be set. This caused the default value to be Variant::NIL, and when a user tried to reset the variable through the editor, an error would be thrown because too few arguments would be counted(end of argument list for calls are detected by NIL values).
Fixed by simply setting default value to an empty variant of the proper type in gdscript parser.
|
|
Some classes are represented internally with an underscore prefix, so we
need to make sure we match this representation when type-checking,
otherwise the check might fail on a valid scenario.
|
|
There's always a constructor, even if implicit, especially for native
types.
Also don't check for signature match on function call, since this
information is not available in release builds.
|
|
The engine allows this already, so the parser should not fail in this
case.
|
|
A lot of information is missing on release, and the checks might take a
performance hit. Also, having GDScript more lenient on release is
usually desirable.
|
|
Guessing the type from an `is` operator should no be considered an
assigment. This would cause crashes in certain scenarios.
|
|
Fix properties being lost when reloading placeholder GDScript instance
|
|
Consistency in resource format saver/loader de-registration
|
|
Use temporary cache directory instead of editor settings directory
in order to resolve encrypted file access needed for encrypting scripts
on all platforms.
|
|
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()',
and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already
(which shouldn't happen since we're only unregistering things that we previously
registered.
Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative,
missed in #20552 which was last amended before #19501 was merged.
|
|
During reloading in `GDScriptLanguage::reload_all_scripts` a placeholder instance that must remain so is replaced with a new placeholder instance. The state is then restored by calling `ScriptInstance::set` for each property. This does not work if the script is missing the properties due to build/parse failing.
The fix for such cases is to call `placeholder_set_fallback` instead of `set` on the script instance.
I took this chance to move the `build_failed` flag from `PlaceHolderScriptInstance` to `Script`. That improves the code a lot. I also renamed it to `placeholder_fallback_enabled` which is a much better name (`build_failed` could lead to misunderstandings).
|
|
|
|
timoschwarzer/24697-fix-autocomplete-segfault-in-inner-classes
Fix segfault when trying to autocomplete in inner classes
|
|
Bring back script encryption in export preset
|
|
Fixes #24697
|
|
Happy new year to the wonderful Godot community!
|
|
Retrieved working implementation from 2.1 branch and adapted to
existing export preset system.
Added Script tab in export preset to export script as raw text,
compiled, or encrypted (same as in 2.1). The script encryption key is
visually validated. The script export mode and the key is saved per
per preset in `export_presets.cfg`, so it makes sense to ignore this
file in version control system.
Each custom exporting procedure can retrieve an export preset set
during project exporting. Refactored project export dialog a bit to
allow easier code comprehension.
|
|
Added basic support for custom resource savers and loaders
|
|
|
|
Also French translation update and misc fixes to source strings.
|
|
Objects and PoolArrays are properly tested for conversion.
|
|
GDscript function str2var now returns null on invalid input
|
|
str2var used to raise a blocking error when invalid input was passed. Now it logs an error message and
returns the input string. This solution was proposed in #13021.
Closes #11457 and #13021.
|
|
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.
|
|
tools), fixes #17070
|
|
Fix dangling script fix
|
|
|
|
This reverts commit 54bdc1e1f6a7fb85a5b193c9b8ecf0dcf06949e6.
|
|
Prevent unused_argument warning when passing arg to parent constructor
|
|
Fixed parents export vars not appearing in inspector if parent is class_name.
|
|
Check for valid values when checking for class members
|
|
- Check if GDScript was compiled correctly before checking its functions
and properties.
- Check if native class name is actually set before looking for it in
the ClassDB.
|
|
|
|
This requires creating the FunctionNode object a bit sooner, and setting
it as the current_function while parsing the parent constructor call
arguments.
Note that the return type has not yet been parsed at this point, but
that doesn't seem to be a problem.
Fixes #22139
|
|
Anonymous enums still creates script constants.
Also add a check to see if name used for enum is already defined.
|
|
Fix GDScript placeholder fallback
|
|
|
|
|