summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-6/+6
|/ | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Fix crash when extending non-existing GDScript fileRémi Verschelde2018-09-101-11/+2
| | | | | | Fixes #21682 with a partial revert of #21411. The ~Ref() destructor (from 'scriptres') already takes care of freeing the 'script' resource.
* Fixes several resource leaks in ...Crazy-P2018-08-261-4/+22
| | | | | | | | - gdscript - gdscript_compiler - regex - android/export - gles3/rasterizer (scene and storage)
* Make some debug prints verbose-only, remove othersRémi Verschelde2018-08-241-31/+5
|
* GDScript: Show warning messages only on debuggerGeorge Marques2018-08-211-3/+5
| | | | Don't show on console/output anymore.
* Fix error spam from loading script class iconsWill Nations2018-08-151-1/+1
|
* Add custom icons to script classes.Will Nations2018-08-141-1/+7
|
* Merge pull request #20583 from neikeq/issue-15371Rémi Verschelde2018-08-141-23/+31
|\ | | | | Fix case where exported properties value is lost
| * Fix case where exported properties value is lostIgnacio Etcheverry2018-07-291-23/+31
| | | | | | | | | | | | | | | | | | | | Fixes exported property modified values lost when creating a placeholder script instance with a failed script compilation - Object set/get will call PlaceHolderScriptInstance's new fallback set/get methods as a last resort. This way, placeholder script instances can keep the values for storage or until the script is compiled successfuly. - Script::can_instance() will only return true if a real script instance can be created. Otherwise, in the case of placeholder script instances, it will return false. - Object::set_script(script) is now in charge of requesting the creation of placeholder script instances. It's no longer Script::instance_create(owner)'s duty. - PlaceHolderScriptInstance has a new method set_build_failed(bool) to determine whether it should call into its script methods or not. - Fixed a few problems during reloading of C# scripts.
* | Added system for GDScript warningsGeorge Marques2018-08-101-0/+172
|/ | | | | | | - Count and panel per script. - Ability to disable warnings per script using special comments. - Ability to disable warnings globally using Project Settings. - Option to treat enabled warnings as errors.
* Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam2018-07-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
* Use type information to enable GDScript introspectionGeorge Marques2018-07-201-12/+8
| | | | | This makes the Script API provide accurate information when requesting property or method info.
* Add typed instructions to GDScriptGeorge Marques2018-07-201-1/+5
| | | | | | | - Typed assignment (built-in, native, and script). - Cast (built-in conversion; native and script checks). - Check type of functions arguments on call. - Check type of members on set.
* Move inheritance resolution to the parserGeorge Marques2018-07-201-2/+34
|
* Add typing syntaxGeorge Marques2018-07-201-0/+2
|
* Global class names (and GDScript support for it)Juan Linietsky2018-07-151-0/+45
|
* New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli2018-05-291-0/+3
|
* Refactor RPCMode enum and checksFabio Alessandrelli2018-05-291-5/+5
|
* Revert "RPCMode refactor, more sync modes"Max Hilbrunner2018-05-291-8/+5
|
* New sync keywords in GDScript, NativeScript, MonoFabio Alessandrelli2018-05-261-0/+3
|
* Refactor RPCMode enum and checksFabio Alessandrelli2018-05-261-5/+5
|
* Enable autoload in editorGeorge Marques2018-05-011-0/+9
| | | | | | - Tool scripts will be executed and can be accessed by plugins. - Other script languages can implement add/remove_named_global_constant to make use of this functionality.
* Bind many more properties to scriptsBojidar Marinov2018-01-121-1/+1
| | | | | | | Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Style: Apply new clang-format 5.0 style to all filesRémi Verschelde2017-12-071-3/+3
|
* Made Vector::ptrw explicit for writing, compiler was sometimes using the ↵Juan Linietsky2017-11-251-3/+3
| | | | | | wrong function, leading to unnecesary copy on writes and reduced performance.
* Abstract some method for script systemgeequlim2017-11-171-1/+18
|
* GDScript: Refactor "GD" class prefix to "GDScript"Rémi Verschelde2017-11-161-0/+1911