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