| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(cherry picked from commit e8542b06acca3c1bdeee4b528411771f0819f084)
Credits:
Co-authored-by: Skogi <skogi.b@gmail.com>
Co-authored-by: Spartan322 <Megacake1234@gmail.com>
Co-authored-by: swashberry <swashdev@pm.me>
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: radenthefolf <radenthefolf@gmail.com>
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com>
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com>
Co-authored-by: decryptedchaos <nixgod@gmail.com>
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com>
Co-authored-by: Mister Puma <MisterPuma80@gmail.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: SingleError <isaaconeoneone@gmail.com>
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
|
| |
|
|\
| |
| |
| | |
GDScript: Partially allow member lookup on invalid scripts
|
| |
| |
| |
| |
| | |
+ always default initialize static variables
+ dont invalidate script when dependant scripts don't compile/resolve
|
| | |
|
|\ \
| | |
| | |
| | | |
Fix broken built-in script reloading
|
| |/ |
|
|/ |
|
| |
|
|\
| |
| |
| | |
Use Core/Scene stringnames consistently
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| |
| | |
GDScript: Initialize static variables with defaults in-editor
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
GDScript: Implement `get_dependencies()`
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
|
|
|
|
|
|
| |
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
|
| |
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|\
| |
| |
| | |
Allow registering "runtime classes" from GDExtension
|
| | |
|
|\ \
| | |
| | |
| | | |
GDScript: Fix extension comparison for exported scripts
|
| |/ |
|
|/ |
|
|\
| |
| |
| | |
GDScript: Include lambda dependencies
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Improve error message when a GDScript instance fails to be constructed
|
| | |
| | |
| | |
| | | |
Co-authored-by: Slashscreen <SlashScreen@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
KoBeWi/This_commit_message_is_auto-generated._Do_not_modify_it-
Add UID support to GDScript files
|
| |/ / |
|
|\ \ \
| |/ /
|/| |
| | | |
GDScript: Hot-reload changed scripts only
|
| |/ |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
Speed up `GDScript::get_must_clear_dependencies()`
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
|
|\
| |
| |
| | |
Fix updating cached singletons when reloading GDScripts
|
| | |
|
|/ |
|
| |
|