summaryrefslogtreecommitdiff
path: root/modules/gdscript
AgeCommit message (Collapse)Author
2019-01-25Ensure get script method list also checks base classes, fixes #23384Juan Linietsky
2019-01-23GDScript: do second pass of parsing on releaseGeorge Marques
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.
2019-01-23GDScript: fix default value for autoexported typed varsGeorge Marques
2019-01-23GDScript: read constants from parent scriptsGeorge Marques
This is needed to create export variables from enums defined in a parent class.
2019-01-23GDScript: don't allow calling non-static function from scriptGeorge Marques
2019-01-23GDScript: allow local classes to be used as typesGeorge Marques
2019-01-18GDScript: Fix return value of "lerp" builtinRémi Verschelde
Fixes #25082, fixes #24709.
2019-01-17Merge pull request #25069 from vnen/gdscript-fixesHein-Pieter van Braam
A bit more of GDScript fixes
2019-01-17GDScript compiler: check if subclass exists before comparisonGeorge Marques
Otherwise these checks might trigger the insertion of an empty value, leading to crashes.
2019-01-16GDScript: clarify error message about cyclesGeorge Marques
They may happen with any cyclic dependency, not only with inheritance.
2019-01-16GDScript: fix type-check of indexed valuesGeorge Marques
2019-01-16Merge pull request #25001 from jlahman/gdscript-export-var-fixRémi Verschelde
Fixes export PackedScene "reset to default" throwing errors
2019-01-15Fixes export PackedScene "reset to default" throwing errorsjlahman
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.
2019-01-15GDScript: check for underscore prefix when type-checkingGeorge Marques
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.
2019-01-15GDScript: consider constructors as always existingGeorge Marques
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.
2019-01-15GDScript: allow objects to be keys of dictionariesGeorge Marques
The engine allows this already, so the parser should not fail in this case.
2019-01-15GDScript: don't check types on release buildsGeorge Marques
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.
2019-01-15GDScript autocomplete: don't carry values when guessing from `is`George Marques
Guessing the type from an `is` operator should no be considered an assigment. This would cause crashes in certain scenarios.
2019-01-10Merge pull request #24877 from neikeq/issue-24280Rémi Verschelde
Fix properties being lost when reloading placeholder GDScript instance
2019-01-10Merge pull request #24883 from akien-mga/resourceformat-unregisterRémi Verschelde
Consistency in resource format saver/loader de-registration
2019-01-10Fix broken encrypted scripts during exportAndrii Doroshenko (Xrayez)
Use temporary cache directory instead of editor settings directory in order to resolve encrypted file access needed for encrypting scripts on all platforms.
2019-01-10Consistency in resource format saver/loader de-registrationRémi Verschelde
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.
2019-01-10Fix properties being lost when reloading placeholder GDScript instanceIgnacio Etcheverry
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).
2019-01-05Fix code completion on nodes in current sceneTimo Schwarzer
2019-01-04Merge pull request #24741 from ↵Rémi Verschelde
timoschwarzer/24697-fix-autocomplete-segfault-in-inner-classes Fix segfault when trying to autocomplete in inner classes
2019-01-04Merge pull request #24582 from Xrayez/script-encryptRémi Verschelde
Bring back script encryption in export preset
2019-01-03Fix segfault when trying to autocomplete in inner classesTimo Schwarzer
Fixes #24697
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-24Bring back script encryption in export presetAndrii Doroshenko (Xrayez)
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.
2018-12-16Merge pull request #19501 from Zylann/custom_loadersRémi Verschelde
Added basic support for custom resource savers and loaders
2018-12-15Added basic support for custom resource savers and loadersMarc Gilleron
2018-12-13i18n: Sync translation template with current sourceRémi Verschelde
Also French translation update and misc fixes to source strings.
2018-12-07Fix type-compatibilty check in GDScriptGeorge Marques
Objects and PoolArrays are properly tested for conversion.
2018-12-07Merge pull request #22934 from SeleckyErik/issue-11457Rémi Verschelde
GDscript function str2var now returns null on invalid input
2018-11-28GDscript function str2var now returns input string on invalid inputErik
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.
2018-11-28Fix many errors found by PVS-StudioAaron Franke
Fix errors 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, and 15.
2018-11-27Allow signal connecting even if script is invalid (only when compiled with ↵Juan Linietsky
tools), fixes #17070
2018-11-26Merge pull request #23959 from RandomShaper/fix-dangling-script-fixRémi Verschelde
Fix dangling script fix
2018-11-25Fix crash on signal/resume to dangling targetPedro J. Estébanez
2018-11-24Revert "Fix crash on signal/resume to dangling target"Pedro J. Estébanez
This reverts commit 54bdc1e1f6a7fb85a5b193c9b8ecf0dcf06949e6.
2018-11-23Merge pull request #23740 from ttencate/unused_argument_22139Rémi Verschelde
Prevent unused_argument warning when passing arg to parent constructor
2018-11-22Merge pull request #22953 from DualMatrix/properties_goneRémi Verschelde
Fixed parents export vars not appearing in inspector if parent is class_name.
2018-11-18Merge pull request #23789 from vnen/gdscript-empty-class-bugRémi Verschelde
Check for valid values when checking for class members
2018-11-17Check for valid values when checking for class membersGeorge Marques
- 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.
2018-11-17Allow primitives to be compared to Object types with `is`George Marques
2018-11-16Prevent unused_argument warning when passing arg to parent constructorThomas ten Cate
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
2018-11-11Make enum values not be script constants if enum is namedGeorge Marques
Anonymous enums still creates script constants. Also add a check to see if name used for enum is already defined.
2018-11-10Merge pull request #23639 from neikeq/ggRémi Verschelde
Fix GDScript placeholder fallback
2018-11-10Fix GDScript placeholder fallbackIgnacio Etcheverry
2018-11-06Add missing flag for exported enumKanabenki