Commit Graph

208 Commits

Author SHA1 Message Date
Wilson E. Alvarez 9790b992ba
Fix data race against EditorFileSystem.scanning_changes_done 2024-02-09 07:48:01 -05:00
Adam Scott bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Lyuma fea4165ca8 gltf: fix three bugs which prevented extracted textures from being refreshed.
1. Extracted texture paths in `GLTFDocument::_parse_image_save_image` at the project root started with res:/// which broke cache invalidation
2. md5 hashes were not being written to generator_parameters for new imports, which led Godot to think the file was manually created.
3. `EditorFileSystem::reimport_append` must emit the `resources_reimported` signal in order for the resource cache to be updated.
2023-12-25 01:03:40 -08:00
Stanislav Labzyuk 958699a0c4 Implement project-wide node groups 2023-12-19 18:07:19 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Bartłomiej T. Listwon aae48ac2b6 Prevent overriding file info of another file when reimport creates files 2023-12-08 22:17:51 +01:00
Rémi Verschelde e03f47cb7c
Remove EditorFileDialog warning when skipping project directories
We might need better UX to handle this in EditorFileDialog, showing the
directories as greyed out with a tooltip, but for now this silences a warning
that users have no control over.

We keep the warning only in the initial project scan.
2023-11-12 19:05:05 +01:00
Rémi Verschelde 432c75d6af
Merge pull request #83081 from Rindbee/fix-wrong-split
Fix `EditorFileSystemDirectory::get_file_deps()` may return wrong result
2023-11-09 11:45:21 +01:00
Aaron Franke 58076b9ccb
Implement glTF compat version system for files from older Godot versions 2023-11-03 12:07:25 -05:00
风青山 203f3e700b Fix `EditorFileSystemDirectory::get_file_deps()` may return wrong results
Limit the maxsplit to `8` to get complete `deps`.

`deps` caches the return value of `ResourceLoader::get_dependencies()`,
which is also separated by "::".
"::" is quite popular as a splitter.
2023-10-10 10:51:01 +08:00
Mikael Hermansson 1a80508d0f Remove I/O error popup when failing to load/unload extension 2023-10-06 13:57:53 +02:00
Rémi Verschelde 373c4b22d3
Fix various typos with codespell
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
Yuri Sizov 7aff59f0b6 Merge pull request #78567 from NiskashY/master
Fix reimporting files with non lowercase name extension
2023-07-12 21:02:42 +02:00
NiskashY fc6a6dd0f4 Fix reimporting files with non lowercase name extension 2023-07-12 17:04:01 +02:00
RedworkDE f3f3365abd C#: Fix command line exporting 2023-07-07 20:51:46 +02:00
kobewi 7f18db9d9d Fix filesystem cache split error 2023-06-16 13:13:30 +02:00
Rémi Verschelde 9be0aab790
Merge pull request #75798 from KoBeWi/let's_fix_this_hack_with_yet_another_hack
Make sure script cache is created after reimport
2023-06-12 22:53:35 +02:00
Pedro J. Estébanez ed9dc792df Avoid error spam on first opening of a not yet imported project 2023-05-20 11:45:02 +02:00
kobewi d1a114470c Print a warning when a nested project is detected 2023-05-15 02:04:58 +02:00
Samuele Panzeri 4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
kobewi 680ed7f612 Make sure script cache is created after reimport 2023-04-07 23:34:58 +02:00
Ninni Pipping bd30847e59 Exposing more project settings for documentation 2023-03-15 14:25:40 +01:00
Yuri Sizov e9c7b8d224
Merge pull request #71850 from WesleyElliott/fix-custom-node-export 2023-02-18 12:40:09 +03:00
Juan Linietsky 6cd587c8f4 Prevent recursive importing (hack)
Prevents recursion when importing files due to the ill nature of EditorProgress.
The progress dialog will have to be entirely rewritten after 4.0 is out due to it being a constant source of bugs.
In the meantime, this fixes the problem.

Fixes #53871. Supersedes #73159.
2023-02-13 11:54:32 +01:00
SaracenOne 27f8da7493 Emit reimport signal in reimport_file_with_custom_parameters
method to fix resources not updating when reimported from the
advanced import menu.
2023-02-09 22:26:52 +00:00
Lyuma 5fbcb80170 Use reimport_append api for importing embedded gltf images
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2023-02-06 07:11:45 -08:00
Rémi Verschelde 074113b97d
Merge pull request #72455 from reduz/allow-reimport-appending
Support reimport appending
2023-02-06 15:39:51 +01:00
Juan Linietsky 91c3066c89 Support reimport appending
* Add API: `EditorFileSystem::reimport_append(path)`, thread safe, what can be used from importers when they generate new files within the import process.
* Added a `remap.gen_param` custom value to .import files, which can be used by importers to store data needed to generate this file again or not.

This API is added to allow the GLTF2 importer to properly extract png files as textures.
2023-02-01 12:27:50 +01:00
Rémi Verschelde 38a806e13f
Always create global class list, even if empty
Fixes #72451.
2023-01-31 15:28:53 +01:00
Juan Linietsky 79897dd5bc Restore script class cache if removed
I have no idea why anyone would do this, but this fixes it.

Fixes #72154. Depends on #72444 being merged to function properly.
2023-01-31 11:28:21 +01:00
Rémi Verschelde 0440b3cf0e
Merge pull request #71783 from Bartkk0/parse-check-deleted
Check if file was removed when parsing documentation
2023-01-22 16:08:05 +01:00
Wesley Elliott d0cdaadb32 Use path instead of file name when updating script classes
The _script_class_file_to_path contains a map of paths to classes, but
when updating the script classes for new class names, the file name is
used instead. This meant new classes weren't able to be used in exported
variables until the project is reloaded (as the
_script_class_file_to_path is initially set with the full path)

Fixes #70718
2023-01-22 12:30:55 +02:00
Juan Linietsky dddd8d43f6 Support script global resource name in EditorFileSystem
* Works for binary and text files.
* Makes EditorQuickOpen work with custom resources again.
* Information is cached and easily accessible.

Properly fixes #66179. Supersedes #66215 and supersedes #62417

**WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
2023-01-21 14:19:27 +01:00
Bartkk 292b24bae0 Check if file was removed when parsing documentation 2023-01-21 04:42:44 +01:00
Juan Linietsky c0a81b1a2c Further fixes to global script class parsing
Bugs were introduced on first parse by #71628

This should fix everything remaining. No errors of any type were observed.
2023-01-19 13:52:15 +01:00
Juan Linietsky 5bdc0d97d3 Clean up EditorFileSystem script parsing
* Optimize only update modified/added/removed files.
* Clean up documentation parsing.
2023-01-18 20:56:45 +01:00
Rémi Verschelde 0f0b853c98
Merge pull request #70668 from KoBeWi/never_give_up
Retry loading addons after filesystem scan
2023-01-16 09:47:17 +01:00
Juan Linietsky 07a964fce3 Ability to change a resource UID from API
* Works for text, binary and imported resources
* Allows better clean up of duplicate files.

TODO (future PRs):

* Use this API for assigning new UIDs to copied files.
* Use this API for UID conflict on FS scanning (if more than one file has the same UID, the newer one(s) should get assigned a different UID).
2023-01-09 18:52:00 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
kobewi f2367e0782 Retry loading addons after filesystem scan 2022-12-28 15:40:45 +01:00
Gilles Roudière be1c9d677d Rename all gdnative occurences to gdextension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
Rémi Verschelde f3e6750a7e
Merge pull request #68324 from AThousandShips/group_import_uid
Fix group reimport bug
2022-12-05 18:45:15 +01:00
Rémi Verschelde c950d174cf
Merge pull request #67664 from WindyDarian/fix_dependency_import
Don't try to import unknown dependency from scan
2022-11-29 16:48:27 +01:00
trollodel c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Ninni Pipping 83588aa74e Fix group reimport bug 2022-11-27 16:31:36 +01:00
Windy Darian 0463a445c4 Don't try to import unknown dependency from scan
Only import dependency we know how to import, since custom resource may have .gd in dependency list which doesn't have an importer
2022-10-19 22:17:36 -07:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Rémi Verschelde db7047705b Merge pull request #67124 from KoBeWi/load_before_save
Fallback to ResourceLoader if can't find UID
2022-10-10 17:42:24 +02:00