summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* | Merge pull request #86999 from AThousandShips/init_noteRémi Verschelde2024-02-081-2/+4
|\ \ | | | | | | Improve error message when a GDScript instance fails to be constructed
| * | Improve error message when a GDScript instance fails to be constructedA Thousand Ships2024-01-091-2/+4
| | | | | | | | | | | | Co-authored-by: Slashscreen <SlashScreen@users.noreply.github.com>
* | | Revert "Add UID support to GDScript files"Rémi Verschelde2024-01-291-111/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c7f68a27ec4b825302998eeb5a400f869cd21cf7. We still think GDScript files need UIDs to allow safe refactoring, but we're still debating what form those should take exactly. So far there seems to be agreement that it shouldn't be done via an annotation as implemented here, so we're reverting this one for now, to revisit the feature in a future PR.
* | | Remove unnecessary `this->` expressionsA Thousand Ships2024-01-291-10/+10
| | |
* | | Merge pull request #67132 from ↵Rémi Verschelde2024-01-181-11/+111
|\ \ \ | | | | | | | | | | | | | | | | | | | | KoBeWi/This_commit_message_is_auto-generated._Do_not_modify_it- Add UID support to GDScript files
| * | | Add UID support to GDScript fileskobewi2024-01-171-11/+111
| |/ /
* | | Merge pull request #86676 from rune-scape/sparse-script-reloadYuri Sizov2024-01-171-15/+14
|\ \ \ | |/ / |/| | | | | GDScript: Hot-reload changed scripts only
| * | Hot-reload only changed scriptsrune-scape2024-01-021-15/+14
| |/
* / GDScript: Lambda hotswap fixesrune-scape2024-01-041-91/+38
|/
* Fix missing time for some script functions in profilermsreis2023-12-191-1/+70
| | | | | | | | | Fixes the issue by adding a mechanism by which the functions that were previously disappearing can be profiled too. This is optional with an editor setting, since collecting more information naturally slows the engine further while profiling. Fixes #23715, #40251, #29049
* Merge pull request #85603 from eldidou/speed-up-get-must-clear-dependenciesYuri Sizov2023-12-161-25/+16
|\ | | | | | | Speed up `GDScript::get_must_clear_dependencies()`
| * Speed up GDScript::get_must_clear_dependencies()eldidou2023-12-091-25/+16
| | | | | | | | | | | | | | | | get_must_clear_dependencies() has a N^3*log(N) time complexity, and this can very quickly slow down the quitting process as more gdscripts are added in a project. This change improves it to N^2*log(N). Instead of using all the inverted dependencies, we do the same with all (non-inverted) dependencies, which is N times faster. Fixes #85435
* | Remove unnecessary assignmentsWilson E. Alvarez2023-12-131-2/+1
|/ | | | Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
* Merge pull request #85373 from DmitriySalnikov/update_singletonsRémi Verschelde2023-12-041-0/+13
|\ | | | | | | Fix updating cached singletons when reloading GDScripts
| * Update cached singletons when reloading GDScriptsDmitriySalnikov2023-11-301-0/+13
| |
* | Fix GDScript thread-exit routine assuming thread-enter was calledPedro J. Estébanez2023-11-271-0/+6
|/
* Fixup thread-owned lambda bookkeeping on thread exit (take 2)Pedro J. Estébanez2023-11-231-13/+74
|
* Revert recently added approach to cross-thread lambda survivalPedro J. Estébanez2023-11-221-91/+11
| | | | | | Commits reverted: - 1ed69191483002ee62ec5b4d5adb16d3bc315ef3 - 271511726b02848783904429c8dde857f6266429
* Fix leak in the bookkeeping of GDScript lambdasPedro J. Estébanez2023-11-211-8/+10
|
* Merge pull request #84659 from RandomShaper/fix_lambda_cross_threadRémi Verschelde2023-11-121-13/+91
|\ | | | | | | Fix lambda cross-thread dynamics
| * Fixup thread-owned lambda bookkeeping on thread exitPedro J. Estébanez2023-11-101-13/+91
| |
* | Assign temporary path to preloaded resourceskobewi2023-11-101-0/+5
|/
* GDScript: Lambda hot reloadingrune-scape2023-10-171-0/+40
| | | | Co-authored-by: Adam Scott <ascott.ca@gmail.com>
* Merge pull request #83123 from astillich/82998-propagate-base-class-exportsRémi Verschelde2023-10-161-6/+13
|\ | | | | | | Fix modifying base script exports not propagating to derived scripts
| * Fix editing exports in a base script not propagating the change to the ↵Alexander Stillich2023-10-161-6/+13
| | | | | | | | | | | | opened property editor This patch fixes the user having to navigate away from the selected node which has the derived script attached and back to see the changes of the base script exports reflected in the property editor.
* | Core: Fix `Object::has_method()` for script static methodsDanil Alexeev2023-10-041-0/+4
| |
* | GDScript: Improve highlighting of typesDanil Alexeev2023-10-031-53/+45
|/
* Merge pull request #82186 from dalexeev/gds-fix-property-duplicationYuri Sizov2023-09-281-8/+10
|\ | | | | | | GDScript: Fix duplication of inherited script properties
| * GDScript: Fix duplication of inherited script propertiesDanil Alexeev2023-09-231-8/+10
| |
* | GDScript: Implement pattern guards for match statementGeorge Marques2023-09-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Within a match statement, it is now possible to add guards in each branch: var a = 0 match a: 0 when false: print("does not run") 0 when true: print("but this does") This allows more complex logic for deciding which branch to take.
* | [Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicableA Thousand Ships2023-09-261-2/+2
|/
* Merge pull request #81201 from anvilfolk/rpcRémi Verschelde2023-09-121-16/+0
|\ | | | | | | GDScript: Fix subclass methods not inheriting RPC info
| * GDScript: fix subclass methods not inheriting RPC infoocean (they/them)2023-09-111-16/+0
| |
* | GDScript: Fix `get_*_list()` methods return incorrect infoDanil Alexeev2023-09-041-92/+35
|/
* Fix Object::notification orderMarkus Sauermann2023-08-301-3/+11
| | | | | | | | | | | | | | Previously the `p_reversed` parameter didn't influence the order in a correct way. Also script overridden _notification functions were not called in the correct order. To fix this some `notification` functions had to add a `p_reversed` parameter. This made it necessary to adjust cpp-bindings. Co-authored-by: David Snopek <dsnopek@gmail.com>
* Merge pull request #75778 from KoBeWi/_vpRémi Verschelde2023-08-291-1/+22
|\ | | | | | | Expose `_validate_property()` for scripting
| * Expose _validate_property() for scriptingkobewi2023-08-281-1/+22
| |
* | Add a script method to get its class iconYuri Sizov2023-08-241-7/+7
|/ | | | Co-authored-by: Danil Alexeev <danil@alexeev.xyz>