summaryrefslogtreecommitdiff
path: root/modules/gdscript
AgeCommit message (Collapse)Author
2022-05-31Merge pull request #61463 from vnen/gdscript-await-stackRémi Verschelde
GDScript: Fix stack overflow when using multiple `await`
2022-05-31Merge pull request #61440 from vnen/gdscript-scene-unique-nodesRémi Verschelde
GDScript: Support `%` in shorthand for `get_node`
2022-05-27GDScript: Support `%` in shorthand for `get_node`George Marques
The `%` is used in scene unique nodes. Now `%` can also be used instead of `$` for the shorthand, besides being allowed generally anywhere in the path as the prefix for a node name.
2022-05-27GDScript: Fix stack overflow when using multiple `await`George Marques
2022-05-26Merge pull request #59943 from jordigcs/gdscript_warning_enumsRémi Verschelde
Add enum values (Ignore, Warn, Error) to GDScript warnings
2022-05-25Merge pull request #55099 from dalexeev/desc-by-blank-lineRémi Verschelde
Use blank line instead of `@desc:` for doc comments
2022-05-25Merge pull request #61389 from snailrhymer/lookup-fixRémi Verschelde
2022-05-25Use blank line instead of `@desc:` for doc commentsDanil Alexeev
2022-05-25Make Lookup Symbol recognize assert and preload in the script editorSnailRhymer
2022-05-25Merge pull request #61279 from Trioct/fix-typed-array-assignmentRémi Verschelde
2022-05-25Fix const typed array assignmentTrioct
2022-05-25Fix lookup_code to properly handle symbols at start of assignmentsSnailRhymer
2022-05-24GDScript: Don't show redundant await warning on unknown typesGeorge Marques
Also avoid it when the type is known to be a signal.
2022-05-23GDScript: Fix lambda captures in default argument valuesGeorge Marques
2022-05-23GDScript: Fix `if` after lambda being seen as ternaryGeorge Marques
2022-05-23GDScript: Do not allow standalone lambdasGeorge Marques
They cannot be accessed in this case, so an error is shown to avoid misleading the uses, especially in case of named lambdas.
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-18Merge pull request #61025 from Chaosus/gds_fix_extend_crashRémi Verschelde
2022-05-18Merge pull request #55201 from Scony/fix-unreachable-code-false-positiveRémi Verschelde
2022-05-18Fix crash when extending inner class in GDScriptYuri Rubinsky
2022-05-17Merge pull request #55134 from KoBeWi/script_pillow_or_somethingRémi Verschelde
Always soft-reload scripts
2022-05-16Merge pull request #61003 from vnen/gdscript-await-stack-fixRémi Verschelde
2022-05-16Replace most uses of Map by HashMapreduz
* 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-13GDScript: Fix stack manipulation for `await`George Marques
The stack now contains three special addresses that should no be copied to the state, since it contains references that creates cycles. They can be recreated when the function is resumed. This commit also removes the clearing of stack from the GDScriptFunctionState destructor, since it should be cleared when the function exits. The state stack should only be cleared manually if the instance is freed before the state resumes (which is already being done). Otherwise this would destruct the stack twice, causing crashes.
2022-05-12Fix first value updateJoJoX
2022-05-12Fix signal completion in GDScript editorYuri Rubinsky
2022-05-12Add a new HashMap implementationreduz
Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
2022-05-12Fix incorrect precedence of pow operator in GDScript Yuri Rubinsky
2022-05-11Implement exponential operator (**) to GDScript/ExpressionsYuri Roubinsky
2022-05-11Merge pull request #59863 from cdemirer/fix-match-multiple-bind-single-patternRémi Verschelde
Fix issues with multiple bind patterns in match statement
2022-05-11Merge pull request #60229 from Dorodri/improve-gdscript-range-descriptionRémi Verschelde
2022-05-11Merge pull request #60732 from CalebJohn/matching_signature_regression_testRémi Verschelde
2022-05-06Merge pull request #60609 from nathanfranke/string-quotesRémi Verschelde
2022-05-04Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde
2022-05-04Refactor module initializationreduz
* Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
2022-05-03Add regression test for gdscript valid function signatureCalebJohn
Previously, there was an issue where the gdscript analyzer incorrectly riased a validation error for code that had a default Dictionary, Array, or custom type.
2022-05-03quote strings inside arrays and dictionariesNathan Franke
2022-05-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
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-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-04-30Improve description for GDScript built-in rangeEduardo Rodrigues
Rewrites the definition of how the function works. Reworks the style of the examples and adds a negative range example. Changes the while loop to a range loop in the array backwards example.
2022-04-28Fix cppcheck const parametersMarkus Sauermann
Convert method signature parameters to const where it is possible # Conflicts: # drivers/gles3/rasterizer_canvas_gles3.cpp # drivers/gles3/rasterizer_canvas_gles3.h # editor/plugins/animation_state_machine_editor.cpp # editor/plugins/animation_state_machine_editor.h
2022-04-27Merge pull request #60396 from vnen/gdscript-self-lambdaRémi Verschelde
2022-04-27Merge pull request #59613 from PastMoments/dict-arr-const-fixRémi Verschelde
2022-04-26Merge pull request #60418 from ShimmyShaman/masterRémi Verschelde
2022-04-25Merge pull request #60445 from nathanfranke/minor-changesRémi Verschelde
small changes: improve OS.get_name classref, misc/scripts fixes, remove trailing quote
2022-04-24GDScript: Allow using self in lambdasGeorge Marques
2022-04-22improve OS.get_name classref, misc/scripts fixes, remove trailing quoteNathan Franke
2022-04-22improved error msg for gdscript load_source_codeShimmyShaman
2022-04-20Fix typo in `GDScript::range` docYuri Roubinsky