summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #98301 from aaronp64/gdscript_validate_propertyThaddeus Crews2024-10-291-3/+3
|\ | | | | | | Avoid unnecessary `Dictionary` conversions in `GDScriptInstance::validate_property`
| * Avoid unnecessary Dictionary conversions in GDScriptInstance::validate_propertyaaronp642024-10-181-3/+3
| | | | | | | | Updated GDScriptInstance::validate_property to only convert PropertyInfo to Dictionary if _validate_property function is found.
* | Merge pull request #96499 from beev1s/shallow-script-cache-errorThaddeus Crews2024-10-251-0/+20
|\ \ | | | | | | | | | Fix resource loader not resolving shallow loaded scripts through dependencies
| * | Fixed resource loader using not fully loaded scriptsMoritz Burgdorff2024-09-141-0/+20
| | |
* | | Merge pull request #98356 from dustdfg/gdscript_endif_readability_commentsClay John2024-10-241-4/+4
|\ \ \ | | | | | | | | Add some comments to `#endif's` where it helps readability
| * | | Add some comments to #endif's where it will easier lifeYevhen Babiichuk (DustDFG)2024-10-211-4/+4
| | |/ | |/| | | | | | | | | | | | | | | | Also added some new line to improve readability Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com> Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
* | | Merge pull request #97374 from rune-scape/get-native-static-callableThaddeus Crews2024-10-241-2/+9
|\ \ \ | |/ / |/| | | | | GDScriptNativeClass: Allow getting static function as callable
| * | GDScriptNativeClass: Allow getting static function as callablerune-scape2024-09-231-2/+9
| | |
* | | GDScript: Add missing static default initialization for typed dictionariesDanil Alexeev2024-10-111-1/+7
|/ /
* | Merge pull request #96024 from Ryan-000/expose_get_rpc_configRémi Verschelde2024-09-161-1/+1
|\ \ | | | | | | | | | Expose `get_rpc_config` and `get_node_rpc_config`
| * | Expose get_rpc_config and get_node_rpc_configRyan2024-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add documentation Update doc/classes/Node.xml change name of get_node_rpc_config to get_rpc_config Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com> Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
* | | Fix script properties reload from external editorHilderin2024-09-141-0/+5
| | |
* | | Merge pull request #96330 from rune-scape/little-regressionRémi Verschelde2024-09-041-1/+1
|\ \ \ | |_|/ |/| | | | | GDScript: Fix small mistake in script valid checks
| * | GDScript: Fix small mistake in script valid checksboywaste2024-08-301-1/+1
| |/
* | Core: Сheck `r_error` after calling `callp()`Danil Alexeev2024-08-301-6/+7
| |
* | Fix editor needs restart after adding GDExtensionsHilderin2024-08-291-3/+50
| |
* | Merge pull request #94012 from KoBeWi/reload_everything_to_update_one_lineRémi Verschelde2024-08-281-2/+15
|\ \ | |/ |/| | | Allow live reloading of built-in scripts
| * Allow live reloading of built-in scriptskobewi2024-07-061-2/+15
| |
* | gdscript: Only include profiling variables when DEBUG is enabledAlistair Leslie-Hughes2024-08-121-0/+3
| |
* | Speed up `GDScriptLanguage::finish`Mikael Hermansson2024-07-181-4/+15
|/
* Merge pull request #92609 from rune-scape/rune-relax-gds-guardsRémi Verschelde2024-06-281-125/+99
|\ | | | | | | GDScript: Partially allow member lookup on invalid scripts
| * GDScript: partially allow some functions on invalid scriptsrune-scape2024-06-021-125/+99
| | | | | | | | | | + always default initialize static variables + dont invalidate script when dependant scripts don't compile/resolve
* | Fix synchronization of global class nameHilderin2024-06-251-1/+1
| |
* | Merge pull request #92177 from KoBeWi/literally_wtfRémi Verschelde2024-06-181-1/+1
|\ \ | | | | | | | | | Fix broken built-in script reloading
| * | Fix broken script reloadingkobewi2024-05-201-1/+1
| |/
* / Fix mismatched external parser with binary exportsHilderin2024-06-141-2/+10
|/
* GDScript: fix segfault on invalid scriptrune-scape2024-05-171-0/+48
|
* Merge pull request #91909 from KoBeWi/have_fun_reviewing_thisRémi Verschelde2024-05-141-2/+3
|\ | | | | | | Use Core/Scene stringnames consistently
| * Use Core/Scene stringnames consistentlykobewi2024-05-131-2/+3
| |
* | Revert "GDScript: Implement get_dependencies()"Rémi Verschelde2024-05-131-7/+2
|/ | | | | | | | | | | | | This reverts commit dc73440f899e6f32de748787e946ad762771fda0. This commit in some form is needed to fix handling of dependencies on export, but as it's also used for import, it's exposing some pre-existing issues which we need to solve first. So reverting for now to give ourselves time to iron this out for a future Godot release. Fixes #91726.
* Add shorthand for using singleton string nameskobewi2024-05-111-3/+3
|
* Merge pull request #91472 from vnen/gdscript-default-static-variables-non-toolRémi Verschelde2024-05-031-0/+24
|\ | | | | | | GDScript: Initialize static variables with defaults in-editor
| * GDScript: Initialize static variables with defaults in-editorGeorge Marques2024-05-021-0/+24
| | | | | | | | | | | | | | | | | | | | | | When the script is not marked as `@tool` the static constructor is not called and thus the variables contain `null` by default. But since some validated operations requires a valid value, this would cause a crash. This commit solves this by initializing the static variables with a default value based on their types in the editor, when they are not marked as `@tool`, so if some `@tool` script access them, they will have a valid typed value, avoiding the crash.
* | GDScript: Call implicit ready on base script firstGeorge Marques2024-05-021-10/+13
|/ | | | | | | It is generally expected that the base class is called before the inherited clas. This commit implements this behavior for the implicit ready function (`@onready` annotation) to make it consistent with the expectations.
* Merge pull request #90860 from vnen/gdscript-get-dependenciesRémi Verschelde2024-04-291-2/+7
|\ | | | | | | GDScript: Implement `get_dependencies()`
| * GDScript: Implement get_dependencies()George Marques2024-04-181-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | The parser and analyzer now track the dependencies of the script and return the list when the resource loader ask for them. What is considered a dependency: - Any `preload()` call. - The base script this one extends. - Any identifier, including types, that refers to global scripts. - Any autoload singleton reference.
* | GDScript: invalidate GDScriptParserRef when reloadingrune-scape2024-04-181-4/+12
|/
* Add methods to get argument count of methodsA Thousand Ships2024-03-101-0/+34
| | | | | | | | Added to: * `Callable`s * `Object`s * `ClassDB` * `Script(Instance)`s
* GDScript: Fix paths in `ResourceFormatLoaderGDScript::load()`Danil Alexeev2024-02-291-2/+2
|
* Enhance cache modes in resource loadingPedro J. Estébanez2024-02-261-1/+2
| | | | | | | - Unify documentation, hoping to clear misconcepctions about about propagation of the cache mode across dependant loads. - Clarify in docs that `CACHE_MODE_REPLACE` now also works on the main resource (from #87008). - Add two recursive modes, counterparts of `CACHE_MODE_REPLACE` and `CACHE_MODE_IGNORE`, since it seems some need them (see #59669, #82830). - Let resources, even loaded with one of the ignore-cache modes, get a path, which is useful for tools.
* GDScript: Canonicalize script path in FQCNDanil Alexeev2024-02-261-9/+4
|
* Merge pull request #82554 from dsnopek/gdextension-placeholdersRémi Verschelde2024-02-201-1/+1
|\ | | | | | | Allow registering "runtime classes" from GDExtension
| * Allow registering "runtime classes"David Snopek2024-02-201-1/+1
| |
* | Merge pull request #88365 from dalexeev/gds-fix-gdc-exportRémi Verschelde2024-02-151-0/+12
|\ \ | | | | | | | | | GDScript: Fix extension comparison for exported scripts
| * | GDScript: Fix extension comparison for exported scriptsDanil Alexeev2024-02-151-0/+12
| |/
* / Add const lvalue ref to core/* container parametersMuller-Castro2024-02-141-1/+1
|/
* Merge pull request #81629 from rune-scape/more-gdscript-depsRémi Verschelde2024-02-121-26/+29
|\ | | | | | | GDScript: Include lambda dependencies
| * GDScript: Include lambda dependenciesrune-scape2023-12-261-26/+29
| |
* | GDScript: Enable compression on exportGeorge Marques2024-02-081-1/+1
| | | | | | | | | | | | | | | | Besides the regular option to export GDScript as binary tokens, this also includes a compression option on top of it. The binary format needs to encode some information which generally makes it bigger than the source text. This option reduces that difference by using Zstandard compression on the buffer.
* | GDScript: Reintroduce binary tokenization on exportGeorge Marques2024-02-081-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds back a function available in 3.x: exporting the GDScript files in a binary form by converting the tokens recognized by the tokenizer into a data format. It is enabled by default on export but can be manually disabled. The format helps with loading times since, the tokens are easily reconstructed, and with hiding the source code, since recovering it would require a specialized tool. Code comments are not stored in this format. The `--test` command can also include a `--use-binary-tokens` flag which will run the GDScript tests with the binary format instead of the regular source code by converting them in-memory before the test runs.